protection, exploit

Avira Scout e le tecnologie di attenuazione degli exploit

Tecnologie di attenuazione degli exploit e Avira Scout

Esistono due tecnologie molto interessanti per attenuare gli exploit: l’ASLR (casualizzazione del layout dello spazio indirizzi) e la DEP (prevenzione dell’esecuzione dei dati). Poco più avanti spiegherò come funzionano. A ogni modo, sono state studiate dagli informatici, integrate negli attuali compilatori dai relativi team e attivate nel processo di costruzione dal team di Chromium. Per godere di questo tipo di sicurezza nel nostro Avira Scout basato su Chromium basta fare una cosa molto semplice: non toccarla!

Quando le tecnologie ASLR e DEP vengono abilitate durante il processo di costruzione, esse modificano gli indicatori nell’intestazione degli eseguibili portabili (PE) dei file compilati. Scrivere uno script che verifichi che tutto si sia svolto correttamente appena prima che una nuova versione di Scout venga pubblicata non dovrebbe essere troppo complicato. Così abbiamo mandato il nostro padawan Lars alla ricerca di uno script che venisse eseguito dopo la costruzione, ma subito prima della pubblicazione e verificasse la corretta configurazione di ASLR e DEP nella fase di compilazione.

Come un vero padawan, non si è fermato fino a che non ha compiuto il proprio dovere. Ciò significa che non è più possibile pubblicare una versione di Avira Scout nella quale le tecnologie ASLR/DEP non siano almeno al livello al quale si trovano in Google Chrome. Le tecnologie ASLR/DEP garantite sono disponibili con Scout basato su Chromium 49.

ASLR e DEP: a che cosa servono?

Lasciate che provi a semplificarlo il più possibile: quando gli hacker sfruttano una vulnerabilità di un software (per esempio Avira Scout), tali tecnologie iniettano un codice di programmazione binario specifico nell’heap. La manipolazione del puntatore a una funzione / dell’indirizzo di risposta reindirizzerà l’esecuzione a tale codice.

Se l’obiettivo dell’hacker è quello di controllare il flusso dei programmi, richiamare le funzioni esistenti e unirle in modo che, per esempio, inneschino “Esegui il download dall’URL http://foo.bar”, quindi “Esegui il file scaricato”,

l’attenuazione degli exploit complica il raggiungimento di tale obiettivo, ma purtroppo non lo rende impossibile (non appena gli hacker svilupperanno nuovi stratagemmi rientreranno in gioco, ma il gioco si è fatto più complicato e gli exploit saranno meno affidabili).

ASLR (casualizzazione del layout dello spazio indirizzi):

quando parti di un eseguibile (per esempio un file .exe o .dll) vengono caricate in una memoria, esse non vengono caricate ogni volta nello stesso indirizzo, ma in indirizzi causali. Questo complica notevolmente il reperimento delle funzioni  che l’hacker vuole unire insieme, perché il pirata non sa dove cercarle all’interno della memoria.

DEP (prevenzione dell’esecuzione dei dati):

alcune parti della memoria sono contrassegnate come dati (possono essere modificate mentre il programma è in funzione, ma non eseguite, e costituiscono la memoria “heap”) e altre come codice (possono essere eseguite). Il concetto è chiaro. La tecnologia DEP impedisce semplicemente che il flusso di esecuzione venga reindirizzato verso l’heap.

Come già spiegato in precedenza, la combinazione di questi due metodi è in grado di annientare la maggior parte degli exploit (ma non tutti), quindi è qualcosa di cui non è più possibile fare a meno.

Compito

Se mai dovessi sviluppare un software, verifica che nel tuo compilatore sia possibile attivare le tecnologie ASLR e DEP!

TL;DR:

mai disabilitare le funzionalità di sicurezza esistenti. Per nessuna ragione.

Questo articolo è disponibile anche in: IngleseTedescoFrancese

I use science to protect people. My name is Thorsten Sick and I do research projects at Avira. My last project was the ITES project where I experimented with Sandboxes, Sensors and Virtual Machines. Currently I am one of the developers of the new Avira Browser