Come rilevare i rootkit in Windows 10 (Guida approfondita)

I rootkit vengono utilizzati dagli hacker per nascondere malware persistente e apparentemente non rilevabile all'interno del tuo dispositivo che ruberà silenziosamente dati o risorse, a volte nel corso di più anni. Possono anche essere utilizzati in modalità keylogger in cui le tue battute e le comunicazioni vengono monitorate fornendo allo spettatore informazioni sulla privacy.  

Questo particolare metodo di hacking ha avuto maggiore rilevanza prima del 2006, prima che Microsoft Vista richiedesse ai fornitori di firmare digitalmente tutti i driver dei computer. La Kernel Patch Protection ( KPP ) ha indotto gli autori di malware a modificare i loro metodi di attacco e solo di recente, a partire dal 2018, con l' operazione di frode pubblicitaria di Zacinlo(Zacinlo ad fraud operation) , i rootkit sono tornati sotto i riflettori.

I rootkit precedenti al 2006 erano tutti specificamente basati sul sistema operativo. La situazione Zacinlo , un rootkit della famiglia di malware Detrahere(Detrahere malware) , ci ha fornito qualcosa di ancora più pericoloso sotto forma di rootkit basato su firmware. Indipendentemente da ciò(Regardless) , i rootkit rappresentano solo l'uno per cento circa di tutta la produzione di malware rilevata annualmente. 

Anche così, a causa del pericolo che possono presentare, sarebbe prudente capire come funziona il rilevamento dei rootkit che potrebbero essersi già infiltrati nel sistema.

Rilevamento dei rootkit in Windows 10 ( In-Depth )

Zacinlo era effettivamente in gioco da quasi sei anni prima di essere scoperto come bersaglio della piattaforma Windows 10 . Il componente rootkit era altamente configurabile e si proteggeva dai processi ritenuti pericolosi per la sua funzionalità ed era in grado di intercettare e decrittografare le comunicazioni SSL .

Crittografava e archiviava tutti i suoi dati di configurazione all'interno del registro di Windows(Windows Registry) e, mentre Windows si stava spegnendo, si riscriveva dalla memoria al disco utilizzando un nome diverso e aggiornava la sua chiave di registro. Questo lo ha aiutato a eludere il rilevamento da parte del tuo software antivirus standard.

Ciò dimostra che un software antivirus o antimalware standard non è sufficiente per rilevare i rootkit. Tuttavia, ci sono alcuni programmi antimalware di alto livello che ti avviseranno di sospetti di un attacco rootkit. 

I 5 attributi chiave di un buon software antivirus(The 5 Key Attributes Of a Good Antivirus Software)

La maggior parte dei principali programmi antivirus odierni eseguirà tutti e cinque questi metodi notevoli per rilevare i rootkit.

  • Analisi basata sulle firme(Signature-based Analysis) : il software antivirus confronterà i file registrati con le firme note dei rootkit. L'analisi cercherà anche modelli comportamentali che imitano alcune attività operative di rootkit noti, come l'uso aggressivo delle porte.
  • Rilevamento delle intercettazioni(Interception Detection) : il sistema operativo Windows utilizza tabelle di puntatori per eseguire comandi noti per richiedere l'azione di un rootkit. Poiché i rootkit tentano di sostituire o modificare qualsiasi cosa considerata una minaccia, questo avviserà il tuo sistema alla loro presenza.
  • Confronto dei dati multi-sorgente(Multi-Source Data Comparison) : i rootkit(Rootkits) , nel tentativo di rimanere nascosti, possono alterare alcuni dati presentati in un esame standard. I risultati restituiti dalle chiamate di sistema di alto e basso livello possono rivelare la presenza di un rootkit. Il software può anche confrontare la memoria di processo caricata nella RAM con il contenuto del file sul disco rigido.
  • Controllo di integrità(Integrity Check) – Ogni libreria di sistema possiede una firma digitale che viene creata nel momento in cui il sistema è stato considerato “pulito”. Un buon software di sicurezza può controllare le librerie per qualsiasi alterazione del codice utilizzato per creare la firma digitale.
  • Confronti del registro(Registry Comparisons) : la maggior parte dei programmi software antivirus li ha in base a una pianificazione preimpostata. Un file pulito verrà confrontato con un file client, in tempo reale, per determinare se il client è o contiene un eseguibile non richiesto (.exe).

Esecuzione di scansioni rootkit(Performing Rootkit Scans)

L'esecuzione di una scansione del rootkit è il miglior tentativo per rilevare l'infezione da rootkit. Molto spesso non ci si può fidare del proprio sistema operativo per identificare un rootkit da solo e rappresenta una sfida per determinarne la presenza. I rootkit sono spie maestre, che coprono le loro tracce quasi ad ogni turno e sono in grado di rimanere nascosti in bella vista.

Se si sospetta che si sia verificato un attacco di virus rootkit sul computer, una buona strategia per il rilevamento sarebbe spegnere il computer ed eseguire la scansione da un sistema noto pulito. Un modo infallibile per individuare un rootkit all'interno della tua macchina è attraverso un'analisi di dump della memoria. Un rootkit non può nascondere le istruzioni che fornisce al tuo sistema mentre le esegue nella memoria della macchina.

Utilizzo di WinDbg per l'analisi del malware(Using WinDbg For Malware Analysis)

Microsoft Windows ha fornito il proprio strumento di debug multifunzione che può essere utilizzato per eseguire scansioni di debug su applicazioni, driver o sul sistema operativo stesso. Eseguirà il debug del codice in modalità kernel e modalità utente, aiuterà ad analizzare i dump di arresto anomalo ed esaminerà i registri della CPU .

Alcuni sistemi Windows verranno forniti con WinDbg già in bundle. Quelli senza dovranno scaricarlo da Microsoft Store . WinDbg Preview è la versione più moderna di WinDbg , che fornisce immagini più facili da vedere, finestre più veloci, scripting completo e gli stessi comandi, estensioni e flussi di lavoro dell'originale.

Come minimo, puoi usare WinDbg per analizzare una memoria o un crash dump, incluso un Blue Screen Of Death ( BSOD ). Dai risultati, puoi cercare gli indicatori di un attacco malware. Se ritieni che uno dei tuoi programmi possa essere ostacolato dalla presenza di malware o stia utilizzando più memoria di quella necessaria, puoi creare un file dump e utilizzare WinDbg per analizzarlo.

Un dump della memoria completo può occupare molto spazio su disco, quindi potrebbe essere meglio eseguire un dump in modalità kernel o un dump di (Kernel-Mode)memoria(Memory) ridotta . Un dump in modalità kernel conterrà tutte le informazioni sull'utilizzo della memoria da parte del kernel al momento dell'arresto anomalo. Un dump di piccola memoria(Memory) conterrà informazioni di base su vari sistemi come driver, kernel e altro, ma in confronto è minuscolo.

I dump di memoria(Memory) piccola sono più utili per analizzare il motivo per cui si è verificato un BSOD . Per rilevare i rootkit, sarà più utile una versione completa o del kernel.

Creazione di un file di dump in modalità kernel(Creating A Kernel-Mode Dump File)

Un file di dump in modalità kernel(Kernel-Mode) può essere creato in tre modi:

  • Abilita il file di dump dal Pannello(Control Panel) di controllo per consentire al sistema di bloccarsi da solo
  • Abilita il file dump dal Pannello(Control Panel) di controllo per forzare l'arresto anomalo del sistema
  • Usa uno strumento debugger per crearne uno per te

Andremo con la scelta numero tre. 

Per eseguire il file di dump necessario, devi solo inserire il seguente comando nella finestra dei comandi di (Command)WinDbg .

Sostituisci FileName con un nome appropriato per il file dump e "?" con una f . Assicurati che la "f" sia minuscola, altrimenti creerai un tipo diverso di file dump.

Una volta che il debugger ha fatto il suo corso (la prima scansione richiederà parecchi minuti), sarà stato creato un file dump e sarai in grado di analizzare i tuoi risultati.

Comprendere cosa stai cercando, come l'utilizzo della memoria volatile ( RAM ), per determinare la presenza di un rootkit richiede esperienza e test. È possibile, anche se non consigliato per un principiante, testare le tecniche di rilevamento del malware su un sistema attivo. Per fare ciò ci vorrà ancora una volta esperienza e conoscenza approfondita sul funzionamento di WinDbg in modo da non distribuire accidentalmente un virus vivo nel tuo sistema.

Ci sono modi più sicuri e più adatti ai principianti per scoprire il nostro nemico ben nascosto.

Metodi di scansione aggiuntivi(Additional Scanning Methods)

Anche il rilevamento manuale e l'analisi comportamentale sono metodi affidabili per rilevare i rootkit. Il tentativo di scoprire la posizione di un rootkit può essere un grosso problema, quindi, invece di prendere di mira il rootkit stesso, puoi invece cercare comportamenti simili a rootkit.

È possibile cercare i rootkit nei bundle di software scaricati utilizzando le opzioni di installazione avanzate(Advanced) o personalizzate(Custom) durante l'installazione. Quello che dovrai cercare sono tutti i file sconosciuti elencati nei dettagli. Questi file devono essere eliminati oppure è possibile eseguire una rapida ricerca online per eventuali riferimenti a software dannoso.

I firewall e i relativi rapporti di registrazione sono un modo incredibilmente efficace per scoprire un rootkit. Il software ti avviserà se la tua rete è sotto controllo e dovrebbe mettere in quarantena tutti i download irriconoscibili o sospetti prima dell'installazione. 

Se sospetti che un rootkit possa essere già sulla tua macchina, puoi immergerti nei rapporti di registrazione del firewall e cercare qualsiasi comportamento insolito.

Revisione dei rapporti di registrazione del firewall(Reviewing Firewall Logging Reports)

Ti consigliamo di rivedere i rapporti di registrazione del firewall correnti, creando un'applicazione open source come IP Traffic Spy con funzionalità di filtraggio dei registri del firewall, uno strumento molto utile. I rapporti ti mostreranno cosa è necessario vedere in caso di attacco. 

Se si dispone di una rete di grandi dimensioni con un firewall di filtraggio in uscita autonomo, IP Traffic Spy non sarà necessario. Dovresti invece essere in grado di vedere i pacchetti in entrata e in uscita verso tutti i dispositivi e le workstation sulla rete tramite i registri del firewall.

Che tu sia in un ambiente domestico o di una piccola impresa, puoi utilizzare il modem fornito dal tuo ISP o, se ne possiedi uno, un firewall o un router personale per richiamare i registri del firewall. Potrai identificare il traffico per ogni dispositivo connesso alla stessa rete. 

Potrebbe anche essere utile abilitare i file di registro di Windows Firewall . (Windows Firewall Log)Per impostazione predefinita, il file di registro è disabilitato, il che significa che non vengono scritte informazioni o dati.

  • Per creare un file di registro, apri la funzione Esegui(Run) premendo il Windows key + R .
  • Digita wf.msc nella casella e premi Invio(Enter) .

  • Nella finestra Windows Firewall e sicurezza avanzata(Advanced Security) , evidenziare "Windows Defender Firewall con sicurezza avanzata(Advanced Security) su computer locale" nel menu a sinistra. Nel menu all'estrema destra in "Azioni", fai clic su Proprietà(Properties) .

  • Nella nuova finestra di dialogo, vai alla scheda "Profilo privato" e seleziona Personalizza(Customize) , che si trova nella sezione "Registrazione".

  • La nuova finestra ti consentirà di selezionare la dimensione di un file di registro da scrivere, dove desideri che il file venga inviato e se registrare solo i pacchetti persi, la connessione riuscita o entrambi.

  • (Dropped)I pacchetti eliminati sono quelli che Windows Firewall(Windows Firewall) ha bloccato per tuo conto.
  • Per impostazione predefinita, le voci del registro di Windows Firewall memorizzeranno solo gli ultimi 4 MB di dati e possono essere trovate in %SystemRoot%\System32\LogFiles\Firewall\Pfirewall.log
  • Tieni presente che l'aumento del limite di dimensioni sull'utilizzo dei dati per i registri può influire sulle prestazioni del tuo computer.
  • Premere OK al termine.
  • Quindi, ripeti gli stessi passaggi che hai appena eseguito nella scheda "Profilo privato", solo questa volta nella scheda "Profilo pubblico".
    • I log verranno ora generati sia per le connessioni pubbliche che per quelle private. Puoi visualizzare i file in un editor di testo come Blocco note(Notepad) o importarli in un foglio di calcolo.
    • È ora possibile esportare i file di registro in un programma di analisi del database come IP Traffic Spy per filtrare e ordinare il traffico per una facile identificazione.

Tieni d'occhio qualsiasi cosa fuori dall'ordinario nei file di registro. Anche il minimo errore di sistema può indicare un'infezione da rootkit. Qualcosa sulla falsariga di un utilizzo eccessivo della CPU o della larghezza di banda quando non stai eseguendo nulla di troppo impegnativo, o per niente, può essere un indizio importante.



About the author

Sono un ingegnere software esperto, con oltre 10 anni di esperienza nello sviluppo e nella manutenzione di applicazioni Microsoft Office. Ho una forte passione per aiutare gli altri a raggiungere i loro obiettivi, sia attraverso il mio lavoro come ingegnere del software che attraverso le mie capacità di parlare in pubblico e di networking. Sono anche estremamente esperto in hardware e driver della tastiera, avendo sviluppato e testato molti di loro io stesso.



Related posts