Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Internet Explorer 10: le nuove funzionalità di sicurezza

Internet Explorer 10 prosegue sulla strada dei miglioramenti in ambito di sicurezza apportati da Internet Explorer 8 in poi, andando a competere con Chrome.
Internet Explorer 10 prosegue sulla strada dei miglioramenti in ambito di sicurezza apportati da Internet Explorer 8 in poi, andando a competere con Chrome.
Link copiato negli appunti

I moderni sistemi operativi "made in Redmond" utilizzano la tecnologia UAC, User Account Control, che obbliga utenti (e processi) a girare con il minimo dei privilegi e ad elevare gli stessi solamente quando i programmi ne abbiano reale necessità (al fine di modificare file in %SystemRoot% o %ProgramFiles%, modificare alcune chiavi del registro e via discorrendo).

Quando sia necessario un "salto di qualità" dei privilegi assegnati al processo in esecuzione o da eseguire, il sistema dà avviso all'utente loggato: gli utenti standard dovranno inserire la password di amministrazione, mentre gli utenti appartenenti al gruppo degli amministratori dovranno solamente dare conferma (il popup di avviso è studiato in modo da essere non "scavalcabile", grazie alle medesime tecnologie che vedremo più avanti).

La differenziazione dei permessi evita che un browser possa essere veicolo di infezioni system-wide

La differenziazione dei permessi evita che un browser, il quale gira ora con permessi molto più bassi che nel passato, possa, se attaccato con successo, essere veicolo di infezioni system-wide: per modificare i file "vitali" del sistema servono appunto permessi di amministrazione.

Allo stesso modo, però, tale "suddivisione di responsabilità" non può evitare il danneggiamento o furto dei dati presenti nella HOME dell'utente stesso, per i quali il browser avrebbe normalmente i permessi di fare ciò che vuole. Internet Explorer e Google Chrome hanno allo scopo introdotto, da tempo, una modalità protetta che relega alcuni processi browser a permessi minori che quelli dello stesso utente che li ha lanciati, evitando quindi ogni tipo di compromissione dei file presenti nella HOME.

Livelli di integrità e modalità protetta

Ogni processo, file, cartella e chiave di registro di Windows Vista e successivi è caratterizzato da un livello di integrità (integrity level), che può essere basso (low), medio (medium), alto (high) e di sistema (system).

Un processo a basso livello di integrità non può accedere ad oggetti con livello di integrità più elevato; non può quindi accedere a file, chiavi di registro e cartelle che appartengano all'utente, anche se questi ha lanciato il processo medesimo, poiché a livello d'integrità superiore. I programmi che funzionino con questa logica potranno, quindi, solamente leggere e scrivere da/in un'apposita area del filesystem, la cosidetta sandbox.

Internet Explorer è stato il primo programma a far uso di questi meccanismi di sicurezza, gira di default in "modalità protetta" per la zona Internet, e risulta quindi ingabbiato in una sandbox

Internet Explorer è stato il primo programma a far uso di questi meccanismi di sicurezza, gira di default in "modalità protetta" per la zona Internet, e risulta quindi ingabbiato in una sandbox, che gli permette solamente azioni di lettura e scrittura da e verso oggetti con il medesimo livello di integrità (confinati in cartelle temporanee); in tal modo, se tutto funziona a dovere, sarà impossibile per tale browser installare, se bucato, malware sia nel sistema che nella cartella dell'utente, lanciare processi che possano leggere dati dell'utente oppure interagire con altre applicazioni da questi lanciate.

Ad Internet Explorer, infine, è permesso di sconfinare dalla sandbox solo se è l'utente che lo ha lanciato a confermare l'azione; ciò presuppone la suddivisione del programma in più processi o thread con diversi livelli di integrità e l'esistenza di un canale sicuro di comunicazione tra essi.

A modalità protetta attiva, i processi a basso livello di integrità in IE prendono il nome di content process (ad essi fanno capo l'interpretazione del codice HTML/JavaScript, i controlli ActiveX, le toolbar e via discorrendo) e quello a medio livello che coordina i content è il manager process; proprio questi ultimi hanno subito importanti modifiche nell'ultima versione del browser.

ASLR e DEP

User Account Control e modalità protetta da soli potrebbero non bastare, e sono necessarie tecniche ulteriori per proteggere il sistema operativo nel caso in cui si riesca a "scavalcare" il browser. Vediamo quali sono le altre due caratteristiche implementate in Windows che rendono ancor più sicura la navigazione con IE:

Address Space Layout Randomization (ASLR)

La "casualizzazione" dello spazio degli indirizzi, è una misura di protezione che consiste nel rendere (parzialmente) casuale l'indirizzo delle aree di memoria in cui ogni programma, e di conseguenza gli oggetti e le funzioni del medesimo, vanno a caricarsi. In questo modo un attacco informatico che miri all'esecuzione di codice malevolo è costretto a cercare gli indirizzi del codice e dei dati che gli servono prima di poterli usare. ASLR è stata introdotta in Windows Vista e risulta, a detta di Microsoft, più solida in Windows 8, come vedremo di seguito.

Data Execution Prevention (DEP)

È una tecnologia che impedisce al sistema di eseguire codice se esso si trova in una regione di memoria non eseguibile (dati); impedisce quindi lo sfruttamento di certi exploit che iniettino il codice da eseguire mediante tecniche di buffer overflow: esse mirano a piazzare istruzioni nello stack del programma (sovrascrivendo le sue strutture dati) e alla loro esecuzione mediante l'opportuna modifica dell'indirizzo di ritorno di function, handler di eccezioni o altro. DEP/NX (NoeXecute) è stato introdotto in Internet Explorer 8 e chiaramente rimane attivo anche Internet Explorer 10, senza sostanziali modifiche.

I miglioramenti alla modalità protetta: l'Enhanced Protected Mode

In Internet Explorer 10 i processi manager girano sempre a 64 bit (chiaramente ci riferiamo alle sole versioni a 64 bit di Windows che altrettanto ovviamente girano solo sui processori a 64 bit), mentre i content process vedono differenze a seconda del modo d'uso: la "Windows Store experience" impone che essi girino a 64 bit (del resto, non vi sono add-on da caricare) e il Desktop mode permette, per motivi di compatibilità con il parco software esistente, la modalità a 32 bit, a meno che non si attivi manualmente l'Enhanced Protected Mode; in tal caso, per le zone Internet e Restricted, anche i content process saranno a 64 bit. Ma soprattutto gireranno nell'AppContainer.

Figura 1. Advanced Protected Mode

Advanced Protected Mode

Windows 8, migliorando la logica dei livelli di integrità (in termini di "finezza di grana" dei relativi permessi), introduce un nuovo meccanismo di isolamento dei processi, chiamato AppContainer, che impone altresì le seguenti limitazioni:

  • non c'è modo per un qualunque processo in EPM di ricevere connessioni di rete e funzionare quindi da servizio (ciò è ad uso degli add-on, dacché l'implementazione di JavaScript per il browser non contempla simili possibilità);
  • i processi in Enhanced Protected Mode non possono connettersi a servizi in ascolto sulla stessa macchina, in localhost, quindi.

Queste restrizioni sono state introdotte per prevenire alcuni tipi di attacchi che hanno sfruttato, nel passato, l'assoluta mancanza di protezione offerta dalla modalità protetta circa l'uso dei socket di rete.

Enhanced Protected Mode e plugin

Se la "vecchia" modalità protetta permetteva la convivenza di plugin di terze parti, l'EPM non ama, invece, quelli non disegnati esplicitamente per essa, con la logica conseguenza, come si deve tra prime donne, di dover scegliere tra una cosa o l'altra. Google, per parte sua, risolve la questione in maniera ben più "elegante", sviluppando internamente un lettore PDF e collaborando strettamente con Adobe per un Flash Player compatibile con la sua sandbox. Adobe Flash Player che, su Internet Explorer 10, non potrà girare in Enhanced Protected Mode. Anzi, se si sceglie di attivare quest'ultima, esso non potrà girare affatto, almeno per il momento.

Advanced Protected Mode
Advanced Protected Mode

I miglioramenti all'ASLR in Windows 8

La tecnologia ASLR presente in Windows 8 contiene alcuni miglioramenti rispetto al passato, tutti ampiamente utilizzati da Internet Explorer 10. Prima di tutto, come già detto, i processi a 64 bit vengono sempre più preferiti a quelli a 32, di fatto allargando lo spazio degli indirizzi di memoria utili e, di conseguenza, ottenendo così un "layout" della stessa più "random".

L'High Entropy Address Space Layout Randomization (HEASLR), figlio dell'ASLR, migliora la "randomizzazione" dello spazio di memoria mediante l'uso di 8 bit di entropia; tale feature può esser abilitata dai processi a link-time o load-time.

ForceASLR risulta, invece, il più importante dei miglioramenti relativi all'ASLR in Windows 8 e, nomen omen, impone al sistema operativo di randomizzare la locazione di tutti i moduli (estensioni, addon) usati dal browser, anche se questi non sono stati compilati con l'opportuno flag /DYNAMICBASE; a detta di Microsoft ForceASLR sarà importata anche su Windows 7 mediante aggiornamento.

Conclusioni

Internet Explorer 10 riuscirà a raggiungere il livello di sicurezza presente in Google Chrome? Le premesse sono buone!

User Account Control e modalità protetta di Internet Explorer (ma anche DEP a ASLR) hanno sicuramente portato il browser made in Redmond a livelli di sicurezza prima insperati ed hanno ridotto sensibilmente il numero di exploit in the wild in questi ultimi anni.

La storia ci dirà se Internet Explorer 10 riuscirà a raggiungere il livello di sicurezza presente in Google Chrome; ci sono buone premesse che, oltre a quanto detto, annoverano, come per Internet Explorer 9, SmartScreen, XSS filtering, application reputation, tracking protection, hang detection e, novità, l'header HTTP Do Not Track attivo per default (non risulta ancora chiaro il supporto che ad esso verrà fornito dal "mondo circostante").

Ti consigliamo anche