Windows Vista e ASLR

31/05/2006 Mooseek

Condividi su Facebook Condividi su X Condividi su LinedIn Condividi su Telegram Condividi su WhatsApp Condividi su Flipboard Condividi su Pinterest Condividi su Tumblr Condividi via SMS Condividi via Email Condividi Ora

Windows Vista offrirà  numerose nuove funzionalitè  di sicurezza che aiuteranno a proteggere gli utenti da attacchi di ogni tipo; una di queste, una nuova funzione di protezione contro i buffer overrun exploit, chiamata Address Space Layout Randomization (ASLR), ha debuttato, attiva di default, in Windows Vista Beta 2. Michael Howard, program manager del team Software Security di Microsoft, ha recentemente commentato la nuova funzionalitè  ASLR sul suo blog ufficiale.

ASLR non costituisce un rimedio universalmente efficace per i codici non sicuri. Tuttavia quando usata in combinazione con altre tecnologie offre una utile difesa in quanto fa apparire il sistema operativo “diverso” ai codici malware rendendo cosè¬ più difficile condurre un attacco.



Ogni volta che si avvia un PC con Windows Vista Beta 2 il codice di sistema viene caricato in differenti location della memoria. Questo consente di prevenire un comune tipo di attacco conosciuto come “return-to-libc“, in cui il codice exploit tenta di richiamare una funzione di sistema, come per esempio la funzione socket() di wsock32.dll per aprire un socket o LoadLibrary di kernel32.dll per caricare wsock32.dll al primo posto. ASLR si occupa di spostare nella memoria gli entry point di queste funzioni in modo che si trovino in location non prevedibili. Nel caso di Windows Vista Beta 2 una DLL o un EXE possono essere caricati in una qualsiasi di 256 posizioni, il che significa che un attacker ha un 1/256 delle probabilitè  di indovinare l’indirizzo da attaccare. In sostanza ASRL rende più difficile (anche se non impossibile) il funzionamento dei codici exploit d’attacco.

In Windows Vista ASLR si combina ad altre funzionalitè  di sicurezza relative al codice, tra queste:

/GS (Controllo protezione buffer). Questa opzione del Visual C++ (attivata per impostazione predefinita) indica al compilatore di inserire codice per il rilevamento di sovraccarico nelle funzioni a rischio di violazione. In caso di sovraccarico, l’esecuzione viene interrotta. Si tratta di una sorta di “paracadute di riserva” per lo sviluppatore, poichè© rileva alcuni degli attacchi più comuni alle applicazioni e li rende più difficili da realizzare. Quando si attiva la protezione l’applicazione viene terminata. Praticamente tutti i binari di Windows Vista sono compilati con /GS.

/SAFESEH (immagine con gestori delle eccezioni sicuri). Questa opzione del linker, indica al linker di inserire nell’immagine di output una tabella contenente l’indirizzo di ogni gestore eccezioni. In fase di esecuzione il sistema operativo utilizza questa tabella per garantire che vengano eseguiti esclusivamente i gestori eccezioni autorizzati. Questo consente di evitare l’esecuzione di gestori eccezioni introdotti da eventuali utenti malintenzionati mediante un attacco in fase di esecuzione. In tal caso infatti il sistema terminerà  il processo.

Data Execution Protection (aka NX). La funzionalitè  “protezione esecuzione programmi” agisce a livello hardware ed è specifica di alcuni processori che impediscono l’esecuzione di codice nelle regioni di memoria contrassegnate per l’archiviazione dei dati. La maggior parte dei buffer overrun arrivano in una applicazione come dati, e questi dati vengono poi eseguiti. Data Execution Protection, conosciuta anche come NX (No eXecute) o DEP, contrassegna tutte le posizioni di memoria di un processo come non eseguibili, a meno che la posizione non contenga esplicitamente codice eseguibile. Alcuni tipi di attacco si basano su tentativi di inserire ed eseguire codice da posizioni di memoria non eseguibili. DEP contribuisce a evitare tali attacchi, intercettandoli e generando un’eccezione.

Function Pointer Obfuscation. Durante un attacco di buffer overrun ad una vulnerabilitè , l’obiettivo di un attacker è normalmente quello di modificare e dirottare il normale flusso di esecuzione del codice. I pointer delle funzioni persitenti diventano gli obiettivi dell’attacco sia perchè persistono da maggiore tempo sia perchè© puntano a funzioni che vengono richiamate allo stesso punto del codice. In Windows Vista numerosi long-lived pointer sono codificati e vengono decodificati solo quando il pointer risulta necessario.

Microsoft ha recentemnte reso disponibile anche un completo whitepaper, Microsoft Windows Vista Security Advancements, che descrive tutte le nuove funzionalitè  di sicurezza di Windows Vista.



Articolo apparso su:tweakness.net

Autore: Mooseek
Articolo creato il: 31/05/2006
Categoria: Sviluppo
Tags:
Commenti: 0 Commenti

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Altri Articoli

Ecco la raccolta completa dei Siti, le Risorse e i Blogs dedicati al Mondo dei Libri

Una raccolta dedicata a tutti gli appassionati del mondo dei libri che sono sempre alla ricerca di nuove storie, idee e racconti per grandi abbuffate di lettura. Chi meglio dei blog o dei siti web dedicati possono raccontarci questo mondo? Ed ancora… anche voi siete assetati di nuovi libri? Ma come poter essere aggiornati sulle […]

08-06-26 Continua

Ashampoo Home Design 11, disponibile gratuitamente per i nostri lettori di Mooseek

Grazie alla collaborazione tra noi di Mooseek e la software house Ashampoo è oggi possibile avere Home Design 11 in download gratuito. Questa occasione ci offre uno strumento completo per progettare planimetrie, ambienti interni e modelli abitativi in un unico ambiente 2D e 3D. Il software si rivolge a chi desidera realizzare progetti domestici in […]

07-06-26 Continua

Calcolo Stipendio Netto 2026: gli 11 Migliori Servizi Online per Simulare la Tua Busta Paga

Determinare quanto rimane effettivamente in tasca dopo le trattenute fiscali è essenziale per chiunque lavori in Italia, dove IRPEF a tre scaglioni, contributi INPS al 9,19%, detrazioni per lavoro dipendente e addizionali locali complicano i calcoli manuali. Questi 11 servizi online aggiornati al 2026 offrono simulatori gratuiti che partono dalla RAL per mostrare netto mensile, […]

04-06-26 Continua

65.000 Codici Gratis per Live Aquarium 4K Disponibili Fino al 15 Luglio 2026

Ashampoo, in collaborazione con Digital Illusions Software, ha lanciato un’iniziativa straordinaria per tutti gli appassionati di natura e tecnologia: 65.000 chiavi prodotto di Live Aquarium 4K vengono distribuite gratuitamente a chiunque voglia trasformare il proprio desktop in un acquario digitale mozzafiato. L’offerta è attiva da subito e resterà valida fino al 15 luglio 2026, oppure […]

03-06-26 Continua

Cherri: Il Linguaggio di Programmazione per Siri Shortcuts

Cherri (pronunciato “cherry”) è un linguaggio di programmazione open source dedicato a Siri Shortcuts, progettato per compilare direttamente uno Shortcut valido e firmato, pronto per essere eseguito su tutti i dispositivi Apple. Che Cos’è Cherri e Qual È il Suo Obiettivo Principale Cherri nasce con uno scopo preciso: rendere possibile la creazione e la manutenzione […]

02-06-26 Continua

10 Migliori Siti per Scoprire e Celebrare il 2 Giugno: Festa della Repubblica Italiana

Il 2 giugno rappresenta uno dei momenti più significativi della storia italiana: nel 1946, attraverso un referendum a suffragio universale, il popolo italiano scelse la Repubblica come forma istituzionale del proprio Stato. Per chi desidera approfondire questa ricorrenza, esplorare eventi, storia e iniziative culturali, il web offre risorse preziose e diversificate. Wikipedia – La Storia […]

01-06-26 Continua

Tutti gli Articoli