
Uno dei tipi di attacco più comuni è la generazione di un processo malevolo all'interno di un albero di processi apparentemente legittimi. Un sospetto può sorgere dal percorso del file eseguibile: frequentemente il malware utilizza le cartelle AppData o Temp, un comportamento che non è tipico per i programmi legittimi. A onor del vero, va detto che alcune utilità di aggiornamento automatico vengono eseguite in AppData, quindi controllare solo il percorso di avvio non è sufficiente per affermare che un programma sia malevolo.
Un ulteriore fattore di legittimità è la firma crittografica: molti programmi originali sono firmati dal fornitore. Si può utilizzare l'assenza di firma come metodo per identificare elementi sospetti all'avvio. Ma ancora una volta, esiste malware che utilizza certificati rubati per firmarsi da solo.
È possibile anche controllare i valori degli hash crittografici MD5 o SHA256, che possono corrispondere a programmi malevoli precedentemente identificati. Si può eseguire un'analisi statica esaminando le firme nel programma (tramite regole Yara o prodotti antivirus). Inoltre, c'è l'analisi dinamica (eseguire il programma in un ambiente sicuro e monitorarne il comportamento) e il reverse engineering.
I segnali di un processo malevolo possono essere numerosi. In questo articolo parleremo di come abilitare l'audit degli eventi pertinenti in Windows, esamineremo i segnali su cui si basa la regola integrata per identificare un processo sospetto. InTrust è per la raccolta, analisi e archiviazione di dati non strutturati, con già centinaia di reazioni preimpostate per diversi tipi di attacchi.
Quando si avvia un programma, esso viene caricato nella memoria del computer. Il file eseguibile contiene istruzioni per il computer e librerie ausiliarie (ad esempio, *.dll). Quando un processo è già in esecuzione, può creare ulteriori thread. I thread consentono al processo di eseguire insiemi diversi di istruzioni contemporaneamente. Ci sono molti modi in cui il codice malevolo può penetrare nella memoria e avviarsi, vediamo alcuni di essi.
Il modo più semplice per avviare un processo dannoso è costringere l'utente a lanciarlo direttamente (ad esempio, da un allegato di posta elettronica) e poi utilizzare la chiave RunOnce per avviarlo ad ogni accensione del computer. Qui si può anche includere il malware "senza file", che memorizza script PowerShell nelle chiavi di registro, che vengono eseguiti in base a un trigger. In questo caso, lo script PowerShell è il codice dannoso.
Il problema con l'avvio esplicito di software dannoso è che è un approccio noto e facilmente rilevabile. Alcuni malware adottano tecniche più astute, ad esempio utilizzando un altro processo per avviarsi in memoria. Di conseguenza, il processo può creare un altro processo eseguendo un'istruzione informatica specifica e indicando l'eseguibile (.exe) da avviare.
Un file può essere specificato utilizzando il percorso completo (ad esempio, C:Windowssystem32cmd.exe) o parziale (ad esempio, cmd.exe). Se il processo sorgente non è sicuro, può consentire l'esecuzione di programmi non legittimi. Un attacco potrebbe apparire così: il processo avvia cmd.exe senza indicare il percorso completo, l'aggressore colloca il proprio cmd.exe in un luogo tale che il processo lo avvii prima di quello legittimo. Dopo aver avviato il software dannoso, questo può a sua volta avviare un programma legittimo (ad esempio, C:Windowssystem32cmd.exe) affinché il programma sorgente continui a funzionare correttamente.
Una variante del precedente attacco è l'iniezione di DLL in un processo legittimo. Quando un processo viene avviato, trova e carica librerie che ne espandono le funzionalità. Utilizzando l'iniezione di DLL, l'aggressore crea una libreria dannosa con lo stesso nome e API di quella legittima. Il programma carica la libreria dannosa, che a sua volta carica quella legittima e, se necessario, richiama quest'ultima per eseguire operazioni. La libreria dannosa funge quindi da proxy per la buona libreria.
Un altro modo per inserire codice dannoso nella memoria è integrarlo in un processo non sicuro già in esecuzione. I processi ricevono dati da varie fonti, leggendo da rete o file. Di solito, effettuano un controllo per assicurarsi della legittimità dei dati in ingresso. Tuttavia, alcuni processi non hanno adeguate protezioni durante l'esecuzione delle istruzioni. In questo tipo di attacco non esiste alcuna libreria su disco o file eseguibile contenente codice dannoso. Tutto è memorizzato in memoria insieme al processo sfruttabile.
Ora esaminiamo il metodo per attivare la raccolta di eventi simili in Windows e la regola in InTrust che implementa la protezione contro tali minacce. Innanzitutto, attiviamolo tramite la console di gestione di InTrust.

La regola utilizza le funzionalità di tracciamento dei processi dell'OS Windows. Sfortunatamente, attivare la raccolta di questi eventi non è affatto ovvio. È necessario modificare 3 diverse impostazioni della group policy:
Configurazione computer > Criteri > Impostazioni Windows > Impostazioni di sicurezza > Criteri locali > Politica di audit > Audit del tracciamento dei processi

Configurazione computer > Criteri > Impostazioni Windows > Impostazioni di sicurezza > Configurazione avanzata della politica di audit > Politiche di audit > Tracciamento dettagliato > Audit della creazione di processi

Configurazione computer > Criteri > Modelli amministrativi > Sistema > Audit della creazione di processi > Includi riga di comando negli eventi di creazione processi

Dopo aver attivato, le regole di InTrust consentono di rilevare minacce precedentemente sconosciute che mostrano comportamenti sospetti. Ad esempio, si possono identificare il malware Dridex. Grazie al progetto HP Bromium, si conosce la struttura di tale minaccia.

Nella sua catena di azioni, Dridex utilizza schtasks.exe per creare un'attività pianificata. L'utilizzo di questo specifico strumento da linea di comando è considerato un comportamento piuttosto sospetto, simile all'esecuzione di svchost.exe con parametri che puntano a cartelle utente o con parametri simili a comandi come "net view" o "whoami". Ecco un frammento della relativa :
detection:
selection1:
CommandLine: '*svchost.exe C:Users\*Desktop\*'
selection2:
ParentImage: '*svchost.exe*'
CommandLine:
- '*whoami.exe /all'
- '*net.exe view'
condition: 1 of themIn InTrust, tutto il comportamento sospetto è incluso in una sola regola, poiché la maggior parte di queste azioni non sono specifiche per una minaccia particolare, ma piuttosto sospette nel complesso e vengono utilizzate nel 99% dei casi per scopi poco nobili. Questo elenco di azioni include, ma non si limita a:
- Processi in esecuzione da posizioni insolite, come le cartelle temporanee degli utenti.
- Un processo di sistema ben noto con un'eredità sospetta: alcune minacce possono cercare di utilizzare il nome dei processi di sistema per rimanere inosservate.
- Esecuzioni sospette di strumenti di amministrazione, come cmd o PsExec, quando utilizzano credenziali di sistema locale o un'eredità sospetta.
- Operazioni sospette di shadow copying: un comportamento comune dei ransomware prima della crittografia del sistema, uccidono i backup:
— Tramite vssadmin.exe;
— Tramite WMI. - Dump del registro di interi rami del registro.
- Movimento orizzontale di codice malevolo con avvio remoto di processi utilizzando comandi come at.exe.
- Operazioni sospette con gruppi locali e operazioni di dominio usando net.exe.
- Operazioni sospette del firewall utilizzando netsh.exe.
- Manipolazioni sospette delle ACL.
- Utilizzo di BITS per l'exfiltrazione dei dati.
- Manipolazioni sospette di WMI.
- Comandi di script sospetti.
- Tentativi di dump dei file di sistema sicuri.
La regola unificata funziona molto bene per rilevare minacce come RUYK, LockerGoga e altri ransomware, malware e toolkit per la criminalità informatica. La regola è stata verificata dal venditore in ambienti operativi per minimizzare i falsi positivi. E grazie al progetto SIGMA, la maggior parte di questi indicatori produce un numero minimo di eventi rumorosi.
Poiché in InTrust questa è una regola di monitoraggio, puoi eseguire uno script di risposta come reazione a una minaccia. Puoi utilizzare uno degli script integrati o crearne uno tuo, e InTrust lo distribuirà automaticamente.

Inoltre, è possibile controllare tutti i dati telemetrici associati all'evento: script PowerShell, esecuzione di processi, manipolazioni delle attività programmate, attività amministrative WMI e utilizzarli per retrospettive in caso di incidenti di sicurezza.

In InTrust ci sono centinaia di altre regole, alcune delle quali:
- Identificazione di un attacco di downgrade di PowerShell — quando qualcuno utilizza intenzionalmente una vecchia versione di PowerShell, poiché nella versione precedente non c'era la possibilità di audit.
- Identificazione del login con privilegi elevati — quando gli account che sono membri di un determinato gruppo privilegiato (ad esempio, amministratori di dominio) accedono in modo interattivo ai workstation, accidentalmente o a causa di incidenti di sicurezza.
InTrust consente di utilizzare le migliori pratiche di sicurezza sotto forma di regole predefinite di rilevamento e risposta. E se si ritiene che qualcosa debba funzionare in modo diverso, è possibile creare una copia della regola e configurarla come necessario. È possibile inviare una richiesta per un pilota o ricevere distribuzioni con licenze temporanee tramite il nostro sito web.
Seguiteci nel nostro , dove pubblichiamo brevi note e link interessanti.
Leggi altri nostri articoli sul tema della sicurezza informatica:
(articolo popolare)
Fonte: habr.com
