Process injection significa, per definizione, inserire codice dannoso nei processi in esecuzione. La tecnologia è utilizzata per eludere le tecniche di rilevamento cosicché i processi percepiti come sani infettino i sistemi, eseguendo oltre ai codici innocenti anche i codici dannosi iniettati dai pirati informatici. Eseguendo codice arbitrario, gli aggressori possono così infiltrarsi nei sistemi, accedere a reti e risorse arrivando a elevare i propri privilegi. Gli esperti approfondiscono come l’iniezione di processo si inserisce in un attacco, quali sono le specifiche tecniche di iniezione e come prevenirle.
In che cosa consiste l’iniezione di processi malevoli
Gli attacchi informatici possono generalmente essere suddivisi in due parti:
- Gli aggressori violano il perimetro di un’organizzazione. Ciò include tecniche come il phishing, lo scardinamento delle password (qui l’articolo di approfondimento su come generare password sicure) e lo sfruttamento di software obsoleto o vulnerabile.
- La seconda fase di un attacco comporta lo spostamento all’interno della rete per aumentare i privilegi, rubando o crittografando dati sensibili. Durante questa seconda fase di un attacco, gli attori delle minacce spesso devono affrontare sistemi di rilevamento e risposta aziendali. Per bypassarli utilizzano una serie di tecniche tra cui l’iniezione di processo.
Process injection: come funziona
La process injection, come accennato, è una tecnica di evasione della difesa. Dal momento che il codice malware è nascosto all’interno di un programma legittimo, le stringhe dannose sono difficili da rilevare. La process injection si basa sui privilegi integrati nel processo legittimo o del programma in cui viene iniettato il codice dannoso. Questi processi o programmi legittimi sono spesso inclusi nella lista consentita e quindi non devono essere sottoposti a ulteriori controlli. Le iniezioni di processi eludono anche:
- il loro rilevamento da parte di qualsiasi antivirus
- il controllo delle applicazioni
- i sistemi di rilevamento e risposta degli endpoint in esecuzione sulla rete proprio perché i processi infetti sono considerati legittimi
Quali sono i processi che gli hacker insidiano
Gli aggressori comunemente prendono di mira i processi che sono legittimamente necessari a Windows ed eseguiti su ogni sistema, come svchost.exe, un processo di servizio condiviso o rundll32.exe, un file binario utilizzato per caricare le librerie a collegamento dinamico (DLL). Questi processi in genere hanno un livello di privilegi più elevato rispetto a un normale utente su un laptop, quindi gli aggressori li prendono di mira per ottenere il controllo completo del dispositivo. Attacchi sofisticati possono iniettare codice dannoso in più processi attivi, per segmentare i moduli e offuscarsi ulteriormente.
Project injection: una lista delle sotto-tecniche
L’iniezione di processo riguarda tutti i sistemi operativi, inclusi Linux, Windows e macOS. Gli attacchi possono essere suddivisi in diverse sottotecniche. Il framework Mitre ATT&CK evidenzia le seguenti tecniche di process injection:
- DLL injection
- portable execution injection
- thread execution hijacking
- ptrace system calls
- proc memory
- extra window memory injection
- process hollowing
- process doppelgänging
- virtual dynamic shared object hijacking
- listplanting
Indipendentemente dalla tecnica, i risultati finali sono gli stessi: il sistema è compromesso, l’attacco non è stato rilevato e l’organizzazione vittima non può isolare la macchina interessata per impedire agli aggressori di ottenere un ulteriore accesso alla rete.
Come prevenire o mitigare l’iniezione di processo
La chiave per mitigare l’iniezione di processo è la prevenzione e il rilevamento durante la prima fase di un attacco. Una volta che gli aggressori sono alla seconda fase di attacco, iniettando processi con codice dannoso, hanno già ottenuto l’accesso alla rete. Per impedire agli aggressori di violare con successo la rete, utilizzare le seguenti difese:
- firewall
- access control
- software antimalware
- strumenti di SIEM
- intrusion prevention systems
A causa della natura e della varietà degli attacchi di process injection, non esiste un approccio di prevenzione valido per tutti. Sicuramente è opportuno utilizzare prodotti per la sicurezza degli endpoint che bloccano il comportamento comune di iniezione dei processi. La gestione degli accessi con privilegi può anche limitare i processi a cui è possibile accedere e quindi inserire il codice.
L’importanza del rilevamento della project injection
Una volta avvenuta l’iniezione di processo, il rilevamento, il contenimento e l’isolamento della minaccia sono prioritari. Sebbene la process injection sia progettata per eludere il rilevamento, la tecnologia crea una traccia all’interno dei registri di sistema (log management) che può essere rilevata dagli strumenti di rilevamento e risposta gestiti e altri sistemi di sicurezza.
Dal momento che si tratta solo una delle tante tecniche utilizzate dagli aggressori per eludere il rilevamento, è importante che i responsabili della sicurezza correlino l’attività degli eventi in SIEM, MDR (Managed Detection and Response) e altri strumenti e servizi per rilevare anomalie e altre prove di intrusione.