Punti deboli nel software potenziato

Nell'ultimo decennio, Microsoft, il bersaglio preferito di molti aggressori online, ha rafforzato il proprio sistema operativo, adottando tecnologie progettate per rendere più difficile per gli aggressori trovare e sfruttare le vulnerabilità. Apple e molti altri produttori di software hanno seguito l'esempio, introducendo misure di sicurezza aggiuntive simili per i loro sistemi operativi.





Eppure la scorsa settimana, durante il concorso Pwn2Own a CanSecWest , una conferenza sulla sicurezza a Vancouver, Canada, i ricercatori della sicurezza hanno dimostrato che i produttori di software devono fare di più per proteggere i loro programmi. Utilizzando vulnerabilità precedentemente sconosciute, i ricercatori sono stati in grado di compromettere Safari di Apple, Internet Explorer 8 di Microsoft e Firefox di Mozilla, aggirando le ultime tecnologie di sicurezza in atto nel sistema operativo sottostante.

Queste cose lo rendono difficile, lo fanno davvero, dice Charles Miller, uno dei principali analisti di Valutatori indipendenti della sicurezza e il ricercatore che ha aggirato la sicurezza del browser Safari di Apple e del sistema operativo Mac OS X Snow Leopard sottostante. Ma, qualunque cosa accada, un attaccante determinato può trovare un modo per entrare.

I risultati del concorso Pwn2Own sottolineano un'ovvietà sulla sicurezza: i difensori devono avere sempre ragione, ma gli aggressori devono avere ragione solo una volta. Gli exploit sono davvero creativi; ecco perché sono difficili, Aaron Portnoy, capo del team di ricerca sulla sicurezza per Punto di non ritorno , la società di sicurezza che sponsorizza il concorso Pwn2Own.



A partire dalla sua Trustworthy Computing Initiative nel 2002, Microsoft ha iniziato a implementare una serie di tecnologie di sicurezza in Windows. Innanzitutto, l'azienda ha protetto lo stack, lo spazio di memoria logica utilizzato dai programmi per contenere temporaneamente i dati. Una tecnologia chiamata flag /GS (dopo lo switch software utilizzato nel compilatore dell'azienda) ha impedito agli aggressori di inserire il proprio codice nello stack. Ma nel 2003, David Litchfield, un ricercatore indipendente, ha dimostrato un modo per aggirare la protezione. Microsoft ha reagito implementando altre due tecnologie: SafeSEH per affrontare l'attacco utilizzando gestori di eccezioni strutturate (SEH) e address space layout randomization (ASLR), per rendere più difficili da sfruttare vulnerabilità simili in futuro. I ricercatori hanno, tuttavia, trovato il modo di aggirare entrambe queste protezioni.

Più di recente, Microsoft ha lanciato un'altra tecnologia, la protezione dell'esecuzione dei dati (DEP), che impedisce gli attacchi che sovrascrivono la memoria con il codice e quindi tentano di eseguire quel codice. Ma all'inizio di quest'anno, un ricercatore indipendente, Dion Blazakis, ha mostrato un attacco, noto come spruzzatura JIT, che utilizza vulnerabilità in altri programmi, in particolare Adobe Flash e Java di Sun, per aggirare tali protezioni.

Queste tecniche di sfruttamento sono un prodotto caldo in questo momento, afferma Portnoy. Se hai un modo per aggirare la sicurezza (del sistema operativo), allora sei un gradino sopra la maggior parte delle persone qui.



Neanche Apple è stata immune. La società ha continuato a rilasciare più tecnologie di sicurezza nel proprio sistema operativo e Snow Leopard include sia ASLR che DEP, secondo Miller.

Microsoft riconosce che i bug del software esisteranno sempre e afferma che l'obiettivo è rendere meno dannoso lo sfruttamento di tali vulnerabilità. Oggi, altre misure, tra cui ulteriori protezioni dello stack, ASLR e DEP, rendono più difficile trovare e sfruttare le vulnerabilità.

Se queste tecniche non fossero disponibili, vedresti molti più exploit di quelli che stiamo vedendo ora, afferma HD Moore, chief security officer di Rapid7 e il direttore del Progetto Metasploit , che racchiude le tecniche di sfruttamento in un framework di facile utilizzo per i ricercatori sulla sicurezza.



La ricerca su protezioni aggiuntive è in corso e un candidato principale è il sandboxing, una tecnica in cui il codice non attendibile viene eseguito in aree protette di memoria e spazio di elaborazione e non è consentito influenzare altre parti del computer o del dispositivo. Il linguaggio di programmazione Java e l'ambiente di runtime hanno reso popolari le sandbox, ma solo di recente i programmi hanno utilizzato le sandbox in modo più esteso. I produttori di browser stanno cercando di eseguire il loro codice in una sandbox e Chrome di Google, che è sopravvissuto al concorso Pwn2Own senza essere violato, esegue il codice in una sandbox.

Moore afferma che i sandbox hanno i loro limiti. I sandbox sono davvero ottimi per proteggere da una vulnerabilità in un'applicazione che diventa un exploit del sistema operativo, dice, ma è utile solo se i dati che stai cercando di proteggere non sono accessibili. In molti casi, il programma potrebbe aver bisogno di accedere a dati sensibili o di sistema, e quindi il sandboxing non aiuta più, dice.

Alla fine, i produttori di software hanno reso i loro programmi più difficili da sfruttare, afferma Miller. Mentre ha trovato quasi 20 vulnerabilità in software popolari, come i programmi creati da Adobe, Apple e Microsoft, meno di una manciata potrebbe essere sfruttata su un sistema aggiornato, dice. È un compromesso, ammette Miller. Ogni volta che aggiungi una di queste (protezioni), rallenta il sistema o rende più difficile lo sviluppo. L'obiettivo è rendere il software difficile da sfruttare, e l'hanno fatto.



nascondere