La sessione di Chris Corio inizia spiegando come funziona l'intergrity level in Windows Vista. Gli Integrity level sono quelli usati da IE per lavorare in protected mode che consente di mitigare eventuali attacchi di injection o similari.
In pratica i processo con privilegi più bassi non può accedere a processi di livello più alto, mentre può accedere in sola lettura ad oggetti (file, registry, heandle in genere) che siano di livello più elevato.
L'inofrmazione degli integrity level è dentro le SACL (normalmente usate per l'auditing) per non rompere le compatibilità con le DACL (le classiche ACL delle permission).
La nuova ICacls (command prompt) e Accesscheck (di systinternals) sono le due utility per mostrare i livelli dei processi.
Poi si passa a come lanciare una applicazione a livllo Low (il default è medium). L'API da chiamare è CreateProcessAsUser con il sid dell'integrity process level desiderato. Ogni livello ha infatti un apposito SID che permette di sfruttare questa nuova feature in Vista.
Per permettere l'elevazione di privilegi, IE usa un oggetto COM che chiama due (nuovi) processi che fungono da broker per eseguire operazioni più privilegiate. Chissà quanti test sono stati fatti su questo meccanismo!
SI passa poi alla descrizione delle limitazioni che evitano a processi nello stesso processo di poter interagire tramite, ad esempio, le SendMessage, che diversamente permetterebbero l'elevazione di privilegi.
Dopo un'ampia spiegazione su come queste tecniche siano implementate in Internet Explorer per Vista, Chris parla delle problematiche del sandboxing rimandando al blog di David Le Blanc (coautore di Writing Secure Code).