Mark Russinovich è un noto ingegnere software noto, prima ancora di entrare in Microsoft, per la sua Sysinternals Suite. Si tratta di una collezione di oltre 70 strumenti gratuiti per la gestione, il monitoraggio e il debug dei sistemi Windows. Sysmon è uno degli strumenti più potenti in assoluto che, una volta installato sulla macchina, rimane residente sul sistema registrandone le attività.
Sysmon fornisce informazioni dettagliate su processi, connessioni di rete e modifiche apportate sul sistema. Raccogliendo gli eventi via via generati (il programma funziona in coppia con il Registro degli eventi di Windows) ed effettuandone una successiva analisi, è possibile identificare eventuali anomalie o attività sospette ascrivibili all’azione di malware o di utenti malintenzionati.
Nel 2006, Russinovich è entrato a far parte di Microsoft quando l’azienda ha acquisito la sua Sysinternals. Da allora, ha continuato a lavorare per Microsoft come Technical Fellow, concentrandosi sullo sviluppo di tecnologie e strumenti per la sicurezza e l’affidabilità dei sistemi operativi Windows. Ha svolto un ruolo importante nello sviluppo e nell’evoluzione di Azure, la piattaforma di cloud computing Microsoft.
Lo sviluppo di Sysmon e degli altri strumenti, tuttavia, non si ferma e anzi a giugno 2023 Russinovich e Thomas Garnier hanno rilasciato la major release 15 della nota utilità. L’unico “difetto” di Sysmon è un po’ la carenza di documentazione.
Sysmon è in grado di rilevare la creazione di nuovi file eseguibili
Per impostazione predefinita, Sysmon monitora eventi di base in Windows come la creazione e la chiusura dei processi. Tuttavia, è possibile creare file di configurazione avanzati che aiutano a monitorare molti altri comportamenti, come l’eliminazione dei file, le modifiche agli appunti di Windows, la cancellazione di file. L’utilità è anche capace di intervenire per neutralizzare determinate azioni, ad esempio la rimozione dei file memorizzati sul sistema.
In passato abbiamo visto che Sysmon consente di monitorare e archiviare i file cancellati sul sistema o fare cose come il monitoraggio delle informazioni che transitano negli Appunti di Windows.
L’elenco completo delle direttive utilizzabili nel file di configurazione del programma, può essere visualizzato digitando sysmon -s
dalla riga di comando.
Sysmon v15 supporta la nuova opzione FileExecutableDetected
che, appunto, aiuta a rilevare quando sul sistema sono creati nuovi file eseguibili. Per utilizzare la direttiva al fine di rilevare la comparsa di nuovi eseguibili creati nelle cartelle C:\ProgramData
e C:\Users
, è possibile utilizzare il seguente file di configurazione:
<Sysmon schemaversion="4.90"> <!-- Cattura tutti gli hash --> <HashAlgorithms>MD5,SHA256</HashAlgorithms> <EventFiltering> <!-- Registra creazione di nuovi file eseguibili --> <FileExecutableDetected onmatch="include"> <TargetFilename condition="begin with">C:\ProgramData\</TargetFilename> <TargetFilename condition="begin with">C:\Users\</TargetFilename> </FileExecutableDetected> </EventFiltering> </Sysmon>
Salvando il file come sysmon.conf
, è quindi possibile indicare a Sysmon di utilizzare le indicazioni ivi contenute:
sysmon -i sysmon.conf
Tutti gli eventi (nel caso della creazione di un nuovo file eseguibile si tratta di un evento con ID = 29) sono automaticamente memorizzati nella sezione Registri applicazioni e servizi, Microsoft, Windows, Sysmon, Operational del registro degli eventi. Quest’ultimo si avvia premendo Windows+R
quindi digitando eventvwr.msc
e premendo il tasto Invio.
L’applicazione diventa un processo protetto in Windows
Poiché Sysmon è comunemente utilizzato per rilevare comportamenti dannosi, è nell’interesse degli aggressori manomettere o disabilitare il software. Con la nuova major release appena pubblicata, il programma viene finalmente eseguito ricorrendo a un processo protetto.
Il processo protetto funziona utilizzando un ambiente di esecuzione isolato: esso esclude le interferenze con altri processi o applicazioni. Dopo che l’avvio come processo protetto, Windows utilizza il meccanismo integrato per la verifica dell’integrità del codice evitando qualunque modifica non autorizzata.
Servendosi ad esempio di Process Explorer, task manager all’ennesima potenza sviluppato sempre da Russinovich, è possibile verificare che Sysmon viene effettivamente caricato come processo protetto. Cliccando due volte sul nome del suo processo, si trova infatti l'”etichetta” PROTECTED_ANTIMALWARE_LIGHT
, il cui significato è ben descritto nell’articolo Sandboxing Antimalware Products for Fun and Profit.