Exploit prevention
Exploit Prevention (EP), componente di primaria importanza della protezione multilivello Next Generation di Kaspersky, prende specificamente di mira il malware concepito per sfruttare le vulnerabilità del software. Questa funzionalità è stata progettata per aggiungere un ulteriore livello di protezione per le tecnologie e i programmi più frequentemente bersagliati dal cybercrimine. EP fornisce un metodo particolarmente efficace e non intrusivo per rilevare e bloccare sia gli exploit noti che quelli sconosciuti. EP è parte integrante delle funzionalità sviluppate da Kaspersky per il rilevamento basato sui comportamenti.
Le "kill chain" degli exploit si compongono di varie fasi. Gli exploit web-based, ad esempio, utilizzano spesso gli attacchi di tipo drive-by download. L'infezione inizia nel momento in cui la potenziale vittima visita un sito web compromesso, nel quale è stato iniettato codice Javascript dannoso. Dopo vari controlli, la vittima viene infine rediretta su una landing page contenente un exploit Flash, Silverlight o Java, oppure un exploit a livello di browser web. Per quanto riguarda le vulnerabilità individuate in Microsoft Office o Adobe Reader, il vettore dell'infezione iniziale può invece essere un'e-mail di phishing o un allegato dannoso.
Una volta eseguita la fase di distribuzione iniziale, i cybercriminali sfruttano una o più vulnerabilità del software, con il preciso intento di ottenere il controllo del flusso di esecuzione del processo. Dal momento che nel sistema operativo vengono in genere integrate precise attività di sicurezza in termini di mitigazione delle minacce, spesso non risulta possibile l'esecuzione diretta di codice arbitrario: gli autori degli attacchi devono quindi eludere, in primo luogo, tali strumenti di difesa. Se lo sfruttamento della vulnerabilità ha esito "positivo", i malintenzionati possono eseguire uno shellcode: tale codice arbitrario determina infine l'esecuzione del payload nocivo. I payload possono essere scaricati sotto forma di file; in alternativa, vengono persino caricati ed eseguiti direttamente dalla memoria di sistema.
L'obiettivo finale di un attacker è quello di lanciare l'esecuzione del payload e dare quindi inizio all'attività dannosa, indipendentemente dal modo in cui vengono effettuati gli step iniziali. Il lancio di un'altra applicazione o un ulteriore thread di esecuzione può rivelarsi particolarmente sospetto, soprattutto se è noto il fatto che l'app in questione è priva di una simile funzionalità.
La tecnologia Exploit Prevention monitora tali azioni ed è in grado di sospendere il flusso di esecuzione di un'applicazione, effettuando ulteriori analisi per verificare la legittimità del tentativo di azione. Per determinare se l'azione è stata eseguita da un exploit occorre verificare all'attività del programma che ha avuto luogo prima dell'avvio del codice sospetto (modifiche intervenute in particolari aree di memoria, oppure la fonte stessa del tentativo di lancio del codice).
Inoltre, EP applica una serie di efficaci misure di mitigazione per far fronte alla maggior parte delle tecniche di attacco utilizzate dagli exploit, tra cui Dll Hijacking, Reflective Dll Injection, Heap Spray Allocation, Stack Pivoting e via dicendo. Questi indicatori comportamentali aggiuntivi, forniti da un meccanismo di monitoraggio a livello di esecuzione facente parte del componente dedicato all'analisi comportamentale, consentono alla tecnologia in questione di bloccare in tutta sicurezza l'esecuzione del payload nocivo.