Tecnologia anti-rootkit e funzionalità di remediation
Il rootkit è un programma dannoso che mette in atto diverse tecniche per nascondere un codice maligno, e che contrasta i tentativi di remediation da parte dell'antivirus. La tecnologia anti-rootkit, parte della protezione multi-layer Next Generation di Kaspersky, rileva le infezioni attive di questi programmi rootkit e corregge i sistemi infettati.
Nella maggior parte dei casi, il rootkit comprende un driver (o una catena di driver), funziona in modalità kernel ed esegue tutte le seguenti funzionalità, o perlomeno alcune di esse:
- Occultamento di file archiviati (disco rigido), chiavi e valori del registro di Windows, processi di sistema, moduli caricati, memory regions (in caso di malware fileless), attività di rete, settori del disco, altri oggetti e artefatti
- Azioni di contrasto nei confronti di attività di modifica e/o eliminazione del rootkit da parte dell'antivirus, in caso di rilevamento del malware in questione; ripristino dei rootkit modificati
- Possibilità di accesso al kernel del sistema operativo da parte di codice dannoso e applicazioni nocive (allo scopo di terminare i processi antivirus), iniezione di codice malevolo nei processi legittimi, intercettazione del traffico di rete (sniffing), intercettazione della sequenza dei tasti premuti dall'utente (keylogging), ecc.
Gli autori di programmi malware sono interessati a far funzionare il loro codice malevolo per lunghi periodi di tempo sull'host preso di mira, anche nel caso in cui, su quest'ultimo, sia in esecuzione il software antivirus. Per raggiungere il loro obiettivo, devono necessariamente ricorrere all'utilizzo di varie tecniche, al fine di ostacolare il rilevamento e la remediation dell'infezione attiva. Più precisamente, possono utilizzare metodi del sistema operativo sia documentati, sia non documentati. È ben noto che i rootkit adottano approcci di vario genere riguardo all'intercettazione in modalità utente e in modalità kernel; fanno ugualmente ampio uso delle manipolazioni di oggetti (DKOM) e di tecniche volte a eludere i driver del filtro e le funzioni di callback, ecc. Per assicurare la propria persistenza all'interno del sistema-vittima, i rootkit devono avviare la loro esecuzione nelle fasi iniziali del boot del sistema operativo, in modo da infettare i settori di avvio, come il Master Boot Record (MBR) e il Volume Boot Record (VBR). Un rootkit che dispone di simili funzionalità è chiamato bootkit.
Le tecnologie anti-rootkit sviluppate da Kaspersky
- Ricerca dell'infezione attiva nella memoria di sistema del sistema operativo
- Scansione di tutte le possibili posizioni utilizzate per la funzione di autorun
- Remediation in caso di rilevamento di infezioni attive, ripristino alla fase iniziale dell'avvio del sistema operativo
- Neutralizzazione delle infezioni attive durante l'installazione del prodotto sul sistema compromesso
Questa complessa tecnologia di protezione multi-modulo implementa due diversi tipi di approccio per il rilevamento e la neutralizzazione dell'infezione attiva: esatto e generico I prodotti Kaspersky utilizzano entrambi gli approcci.
Approccio esatto: le procedure di rilevamento e neutralizzazione intendono prendere di mira particolari tecniche rootkit, come l'occultamento della presenza o le azioni di contrasto nei confronti della remediation da parte dell'antivirus. Questo approccio consente di ottenere in breve tempo un'efficace protezione dai rootkit, in modo da far fronte alle epidemie di malware in corso; si ha in tal modo maggior tempo a disposizione per sviluppare un approccio più generico.
Approccio generico: La funzionalità anti-rootkit analizza i processi attivi, i moduli di sistema, la memoria, gli oggetti di autorun e fornisce l'accesso al codice del malware ad altri componenti antivirus, quali emulatore, motore AV, euristica statica, euristica basata sul comportamento potenziata dal modello ML, ecc. In caso di attivazione di uno qualsiasi dei componenti elencati, l'anti-rootkit disinfetta il sistema.
Componenti anti-rootkit
- Protezione dell'installer: contrasta l'infezione attiva durante l'installazione del prodotto di sicurezza sul sistema-vittima
- Accesso di basso livello al disco, accesso di basso livello al registro, contenimento: forniscono un accesso di basso livello al disco rigido e al registro di Windows, bypassando vari metodi di intercettazione dell'accesso. È inoltre prevista l'implementazione di tecniche adibite al contenimento dell'infezione attiva nel periodo in cui vengono eseguite le attività di remediation
- Cleaner della fase di avvio: neutralizza l'attività del rootkit nella fase iniziale di avvio del sistema operativo
- Scanner della memoria di sistema: modulo adibito alla ricerca dei rootkit nella memoria di sistema e alle relative attività di remediation
- Parser del file system, parser del registro: analizza numerosi formati di file system e registro Windows
- Scanner delle aree critiche: modulo preposto alla scansione degli oggetti di autorun e alle relative attività di remediation; beneficia dei moduli qui sopra descritti.
I rootkit che si nascondono nel firmware rappresentano una forma di minaccia in continua espansione nel corso di questi ultimi anni. Si tratta di un tipo di malware molto pericoloso, visto che lancia la propria esecuzione nelle prime fasi dell'avvio del sistema operativo; il codice malevolo è pertanto in grado di rimanere nel sistema anche dopo l'eventuale formattazione del disco e il successivo riavvio del sistema operativo. I primi rootkit UEFI sono stati scoperti nel 2015. Negli anni successivi sono stati rilevati numerosi attacchi APT, peraltro riusciti, in cui i cybercriminali erano ricorsi all'utilizzo di questa specifica tipologia di rootkit.
Per contrastare una simile minaccia, il nostro set di tecnologie anti-rootkit dispone di un apposito scanner del firmware, in grado di analizzare il contenuto del BIOS ROM nel momento in cui è in esecuzione lo scanner delle aree critiche. Questa tecnologia funziona sia con i sistemi avviati in modalità UEFI, sia con quelli in modalità legacy (BIOS).
Lo scanner del firmware opera nel modo seguente:
- Il contenuto del BIOS ROM viene acquisito tramite un driver speciale.
- Lo scanner ispeziona il dump utilizzando l'analisi euristica specifica per il rilevamento dei rootkit.
- Se viene rilevato codice malevolo, l'utente riceve una notifica di avviso che mostra la posizione del malware (memoria di sistema) e la modalità in cui è stato avviato il sistema ("MEM:Rootkit.Multi.EFI.a" è il verdetto per la modalità UEFI, "MEM:Rootkit.Multi.BIOS.a" per quella legacy).
- Per questo tipo di infezione non viene eseguita una remediation automatica, dal momento che la riscrittura del BIOS ROM è un'operazione potenzialmente pericolosa ed è inoltre dipendente dal genere di piattaforma. Se viene rilevato un rootkit bisogna contattare il nostro servizio di supporto tecnico, per ottenere le indispensabili istruzioni sul modo in cui riscrivere manualmente il BIOS ROM. Nel peggiore dei casi, occorrerà probabilmente sostituire la scheda madre.
Avviso di rilevamento di un rootkit UEFI da parte di Kaspersky Internet Security
Lo scanner sviluppato da Kaspersky per l'analisi del firmware rileva tutti i rootkit UEFI già noti, compresi Hacking Team (VectorEDK), Lojax (DoubleAgent) e Finfish. Gli euristici dedicati vengono aggiornati regolarmente, sulla base degli studi effettuati riguardo ai nuovi rootkit scoperti dagli esperti Kaspersky e dagli specialisti che operano presso altri vendor. Lo scanner del firmware viene impiegato in tutti i nostri principali prodotti (Kaspersky Anti-Virus, Kaspersky Internet Security, Kaspersky Total Security, Kaspersky Endpoint Security for Business, ecc.).