Sandbox
La tecnologia sandbox
La sandbox è un avanzato sistema utilizzato per il rilevamento del malware: esegue un oggetto sospetto in una macchina virtuale (VM) con sistema operativo dotato di funzionalità complete e rileva l'attività dannosa dell'oggetto analizzando il comportamento dello stesso. Se l'oggetto compie azioni nocive in una VM, la sandbox lo rileva come malware. Le VM sono di fatto isolate dalla reale infrastruttura IT aziendale.
Le sandbox analizzano il comportamento di un oggetto durante la sua esecuzione: ciò le rende particolarmente efficaci nei confronti del malware in grado di eludere l'analisi statica. Allo stesso tempo, la sandbox è più sicura rispetto ad altri sistemi impiegati nell'ambito dell'analisi comportamentale, in quanto non si corre il rischio di eseguire un oggetto sospetto all'interno dell'effettiva infrastruttura aziendale.
Kaspersky Sandbox
Abbiamo sviluppato la nostra sandbox già alcuni anni fa. Nella nostra infrastruttura, è uno degli strumenti utilizzati per l'analisi del malware, la ricerca e la creazione di database antivirus. La sandbox fa ugualmente parte della soluzione Kaspersky Anti-Targeted Attack Platform e della sofisticata piattaforma Kaspersky Threat Intelligence. Consente di classificare file e URL come dannosi o benigni e fornisce informazioni sulla loro attività, particolarmente utili per la creazione di regole e algoritmi di rilevamento.
Caratteristiche e funzionalità della sandbox
- La sandbox si basa sulla virtualizzazione hardware, che la rende veloce e stabile.
- Le VM sono disponibili per:
- Sistema operativo Windows (tutte le versioni personal computer a partire da Windows XP, tutte le versioni server a partire da Windows Server 2003),
- Android OS (x86, architettura del processore ARM).
- La sandbox monitora l'interazione tra processo analizzato e sistema operativo. Nei casi sospetti, la sandbox opera ancor più in profondità.
- La sandbox consente di individuare gli exploit sin dalle prime fasi del tentativo di sfruttamento delle vulnerabilità prese di mira. Rileva il comportamento tipico degli exploit, come l'utilizzo della catena ROP, l'heap spray, lo stack pivoting, le modifiche apportate ai token di sicurezza, le modifiche sospette a livello di protezione della memoria e molto altro ancora. La sandbox è in grado di rilevare persino gli exploit di tipo avanzato, utilizzati negli attacchi mirati.
Tipi di oggetti che si possono eseguire
- Windows: qualsiasi file, ad esempio: *.exe, *.dll, oggetti .NET, file MS Office, PDF.
- Android: APK (DEX).
- URL: la sandbox esplora un URL e rileva gli eventi seguenti: download, JavaScript, esecuzione di Adobe Flash e altri ancora.
Flusso operativo nel rilevamento del malware
- La sandbox riceve una richiesta per la scansione di un oggetto (un file o un URL) da un altro componente della soluzione di sicurezza, con le relative istruzioni: il sistema operativo e la configurazione necessaria per l'esecuzione dell'oggetto, i parametri di esecuzione di quest'ultimo, altre applicazioni di terze parti installate nella VM, il limite di tempo previsto per l'effettuazione del test, ecc.
- L'oggetto testato viene eseguito.
- La sandbox raccoglie gli artefatti durante l'intervallo di tempo specificato. Se l'oggetto interagisce con altri processi, o URL di cui è nota la reputazione, viene "catturato" dalla sandbox.
- La sandbox analizza gli artefatti e fornisce il proprio verdetto al sistema richiedente: malware od oggetto benigno. La sandbox aggiunge al verdetto i dati relativi all'oggetto analizzato (ID, caratteristiche, log, dettagli sul comportamento), che possono risultare di aiuto per l'effettuazione di ulteriori analisi, senza che si riveli necessario inviare una nuova richiesta alla sandbox.
Artefatti raccolti dalla sandbox
- Log di esecuzione dell'applicazione (chiamate di funzioni API con i relativi parametri, eventi di esecuzione)
- Dump di memoria
- Dump dei moduli caricati
- Modifiche del file system, registro
- Traffico di rete (file PCAP)
- Screenshot (per un audit più agevole e per l'analisi manuale, se necessaria)
- Artefatti relativi all'attività degli exploit
Funzionalità antievasione
Una delle caratteristiche peculiari del malware attualmente in circolazione consiste nel cercare di rilevare ed eludere l'attività della sandbox. In effetti, nel momento in cui "si accorge" di essere in esecuzione all'interno di una sandbox, il malware può saltare qualsiasi attività dannosa, oppure cancellare se stesso dai dischi, terminare il proprio processo o utilizzare qualche altra tecnica di evasione.
Un design più semplice in termini di monitoraggio a livello di hardware sandboxing (ad es. funzioni API di hooking) lascerebbe chiare tracce, indicanti l'osservazione in corso di un processo sospetto. Abbiamo quindi implementato altre tecniche di monitoraggio, non intrusive, in grado di non lasciare alcuna traccia visibile all'oggetto sottoposto a scansione. La sandbox controlla CPU e RAM, ma non modifica il funzionamento del processo, la memoria, le librerie di sistema su disco e in memoria: in sostanza, non lascia alcuna traccia di monitoraggio.
Teniamo sotto stretto controllo anche le nuove tecniche di evasione e ottimizziamo il funzionamento della nostra sandbox in modo da contrastarle efficacemente. Ecco alcuni esempi in proposito:
Evasione A: L'ambiente sandbox è tipico di alcune sandbox sviluppate da noti brand. Il malware lo riconosce ed elude il rilevamento.
Antievasione A: La nostra sandbox randomizza l'ambiente VM prima dell'avvio della macchina virtuale.
Evasione B: Il malware è in grado di rilevare l'ambiente sandbox a causa della mancanza di attività da parte dell'utente. Alcuni malware vengono di fatto eseguiti solo nel caso in cui l'utente debba inserire una password contenuta in un messaggio e-mail, oppure cliccare su una procedura guidata, o svolgere altre attività di tipo "umano". Molte sandbox non emulano tutto questo: il malware, quindi, non entra in azione.
Antievasione B: La nostra sandbox emula le azioni dell'utente: movimenti del mouse, scorrimento dei documenti che vengono aperti. Allo stesso modo, fa molte cose che gli utenti fanno quando attivano involontariamente il malware.
Attacchi rivelati con Kaspersky Sandbox
Esempi di nuove ondate di attacchi mirati scoperti nel 2016-2017 grazie alle sandbox implementate nei prodotti Kaspersky operanti nelle infrastrutture IT: Sofacy (Ott 2017), Zero.T (Ott, Nov 2016, Apr 2017), Enfal (Set, Ott, Nov 2016), Freakyshelly (Ott 2016), NetTraveller (Ago 2016), CobaltGoblin (Ago 2016), Microcin (Giu 2016) e altri ancora.
Prodotti correlati
Kaspersky Anti Targeted Attack Platform
Cybersecurity Services
Kaspersky Endpoint Detection and Response
Related Technologies
Article
“A simple example of a complex cyberattack” captured by Sandbox
Article
Vulnerable driver: lesson almost learned. How not to use a driver to execute code with kernel privileges.
Article
A Modern Hypervisor as a Basis for a Sandbox