Con lo scopo di evitare attacchi oggi molto comuni, Microsoft ha deciso di lanciare, con il Service Pack 2 per Windows XP, la tecnologia Data Execution Prevention (DEP). Essenzialmente la memoria viene protetta a livello hardware impedendo, per esempio, ad applicazioni maligne, di inserire del codice all’interno di aree di memoria riservate ai dati in modo da poterlo successivamente eseguire. Oggi non esiste infatti un meccanismo che consenta di verificare se la prossima istruzione che deve essere eseguita appartenga ad un’area della memoria che dovrebbe contenere dati o codice. Il Service Pack 2 si appoggia alla tecnologia NX (No eXecute) già integrata nei nuovi processori a 64 bit di AMD e negli Intel Itanium. DEP marca tutte le locazioni di memoria associate ad un determinato processo come non eseguibili a meno che le stesse celle non contengano codice. Qualora si tenti di accedere ad una cella di memoria “dati”, NX bloccherà l’operazione sollevando un’eccezione (status access violation) quindi terminerà il processo “incriminato”.
Tutti coloro che utilizzano processori “tradizionali” (per esempio, i “classici” Pentium 4 o gli Athlon a 32 bit) che non includono la tecnologia NX, non possono attivare la funzionalità DEP potendo fidare soltanto sulla protezione implementata a livello software. Tale tecnica è denominata “sandboxing”.
Microsoft ha confermato di essere al lavoro per investigare sull’analisi recentemente condotta di un ricercatore russo, esperto in sicurezza informatica. Secondo quanto affermato da Alexander Anisimov, autore dell’indagine, i meccanismi di protezione introdotti con il Service Pack 2 di Windows XP potrebbero essere “scavalcati” eseguendo così codice arbitario, potenzialmente pericoloso, sul sistema. Aree di memoria di dimensioni minori od uguali a 1016 byte potrebbero così divenire accessibili in scrittura, bypassando il “fortino-DEP”.
Microsoft, da parte sua, insiste nel dichiarare che non si tratta di una vulnerabilità di sicurezza: le funzionalità volte alla protezione della memoria, quelle di “sandboxing” e la tecnologia DEP sono state concepite per complicare notevolmente la vita a coloro che vogliono sferrare attacchi a sistemi Windows mediante l’esecuzione di software maligni. Il grimaldello preferito è il “buffer overrun”: il concetto consiste nell’inserire codice eseguibile ostile in aree di memoria che un programma sta utilizzzando per gestire dei dati. Se il programma non è sviluppato correttamente, potrebbe considerare il contenuto di quell’area di memoria come una istruzione da eseguire anziché come un dato. Il “buffer overrun” è uno dei metodi più utilizzati da parte degli aggressori per eseguire codice arbitrario sulle macchine-vittima.
Prese di mira le funzionalità di protezione di Windows XP SP2
Con lo scopo di evitare attacchi oggi molto comuni, Microsoft ha deciso di lanciare, con il Service Pack 2 per Windows XP, la tecnologia Data Execution Prevention (DEP).