Due Tecniche (e un Tool) per Neutralizzare gli Zero-Day

exploit

Uno degli attacchi informatici più pericolosi è lo zero-day, ovvero un  attacco per il quale non esiste ancora un rimedio. Per mitigare gli effetti di questi attacchi, sono state elaborate diverse tecniche e alcuni strumenti.

Vediamone due, le più potenti: DEP e ASLR, tenendo presente che in questo articolo indicherò col termine attacker colui che tenta di accedere in modo non autorizzato ad un computer, ovvero l’hacker, ma anche un  attacco automatizzato, un malware; col termine payload un codice, una serie di azioni, che l’attacker compie dopo aver ottenuto l’‘accesso non autorizzato al sistema.

DEP (Data Execution Prevention)

Lo scopo di ogni exploit letale è l’esecuzione di codice arbitrario, ovvero la possibilità dell’intruso (o del malware) di eseguire codice a piacere sulla macchina target e ottenere così il pieno controllo. L’attacker ha bisogno di spazio in memoria dove poter memorizzare ed eseguire il codice iniettato tramite la vulnerabilità zero-day (payload); in genere questo spazio viene individuato in aree di memoria del processo adibite ad immagazzinare dati. Se l’attacker riesce ad iniettare il payload in questa zona, e riesce poi a dirottare il flusso del programma verso quest’area, avrà il controllo totale.

Ma qui entra in scena il DEP (Data Execution Prevention): il programma può essere compilato per essere immune da questi attacchi facendo in modo che le aree di  memoria contenenti dati non possano essere utilizzate per contenere codice eseguibile; nel caso in cui si tentasse di eseguire codice in questa zona si otterrebbe un errore e un blocco del programma. Proteggendo la memoria dati tramite DEP, l’attacker, se anche riuscisse a introdurre un payload. non sarebbe comunque in grado di eseguirlo.

ASLR (Address Space Layout Randomization)

Address Space Layout Randomization serve per togliere punti di riferimento fissi all’attacker, rendendo l’ambiente più ostile. Quando un programma e le sue dipendenze vengono caricate in memorida, vengono caricate sempre agli stessi indirizzi; questa situazione è ideale per l’attacker, perchè può muoversi in un territorio conosciuto, utilizzando risorse ad indirizzi prevedibili.

Con l’introduzione di ASLR, lo scenario cambia: ad ogni riavvio del sistema, gli indirizzi degli spazi di memoria del programma e delle sue dipendenze sono diverse, cosa che rende l’esecuzione dell’exploit problematica, riducendo drasticamente le probabilità di successo dell’attacco.

Sebbene queste tecniche siano potenti e abbiano messo indubbiamente il bastone tra le ruote dei creatori di malware, entrambe possono essere aggirate; comunque lo sviluppo di malware ed exploit che funzionino nel mondo reale e non solo in laboratorio è diventato più complesso.

Microsoft ha realizzato un tool gratuito in grado di rendere efficaci queste tecniche sui sistemi basati su Windows, si tratta di EMET (Enhanced Mitigation Experience Toolkit). E’ un ottimo strumento da aggiungere al proprio arsenale e da affiancare all’antivirus, per mitigare le minacce sconosciute, non ancora neutralizzate dagli aggiornamenti.