SERVIZI > ASSISTENZA TECNICA > software
Scott Field, uno degli architetti la lavoro sulla sicurezza del kernel di Windows Vista, a pubblicato qualche giorno fa, sul di Vista, un blog che ora ci apprestiamo a tradurre e, ovviamente, a commentare.
“Salve, mi chiamo Scott Field, un architetto attualmente al lavoro sulla sicurezza del kernel Windows. Ci sono state molte domande riguardo una tecnologia di Windows chiamata Kernel Patch Protection (talvolta denominata PatchGuard) perciò voglio provvedere alcune informazioni sul contesto di questa caratteristica per aiutarvi a dare risposta a queste domande. La progettazuibe del kernel di un sistema operativo è un’area altamente specializzata delle scienze informatiche, area che raramente riceve molta attenzione da parte del pubblico, perciò è comprensibile che vi siano molte domande su quwst’argomento. Lo scopo di questo post è fornire le informazioni di base sulla kernel patch protection e sul perchè è una tecnologia così importante per accrescere la sicurezza e la stabilità dei PC che eseguono Windows.
Cos’è il kernel?
Il kernel è il componente più a basso livello, ed il più centrale, tra le parti che compongono il sistema operativo, ed una delle prime porzioni di codice ad essere caricata all’avvio della macchina. Il kernel è ciò che consente al software del computer di dialogare con il suo hardware ed è responsabile per le operazioni di base del sistema operativo, come la gestione della memoria, l’avvio di programmi e processi, e la gestione dei dati sul disco. Tutti gli applicativi e l’interfaccia grafica di Windows, vengono eseguite su un livello superiore al kernel. Le prestazioni, la stabilità e la sicurezza dell’intero computer dipendono dall’integritàà del kernel.
Potreste aver sentito parlare di “rootkit” , e questi possono essere molto difficili da rilevare e rimuovere. I rootkit sono un tipo di software maligno che può fare uso di un certo numero di tecniche, come rilevare quali tasti si premono, cambiare il log (registro eventi, NdT) o anche applicazioni di sistema presenti sul pc, oppure creare una backdoor nel sistema per garantire l’accesso da remoto ad un computer e poter così eseguire altri attacchi. I rootkit spesso cercano di ottenere accesso al kernel del sistema operativo. Dato che il kernel ha il potere di controllare qualsiasi altra applicazione del pc, il rootkit pul così nascondere se stesso al file system o anche a strumenti specifici per la rimozione del malware, e, naturalmente, sono nascosti alla vista dell’utente.
Il kernel è la parte di codice che viene programmata con la cura maggiore dell’intero sistema operativo. Dato che tutti i programmi dipendono da esso, un difetto del kernel potrebbe mandare in crash altri programmi o farli comportare in modo imprevisti. Avrete di certo già sentito il termine “Blue Screen of Death” (BSoD). Questi non sono altro che il risultato di un errore, nel kernel o in un driver che viene eseguito nel kernel, così grave che il sistema non è in grado di porvi rimedio. I BSoD sono una cosa grave, così noi vogliamo fare di tutti per evitare che l’utente li veda. Una delle strade percorribili e mantenere l’integrità del kernel limitando i software che possono essere eseguiti in esso ed interagire col kernel.
Cosa si intende per Kernel Patching?
Kernel Patching o “Kernel Hooking” indicano la pratica di usare meccanismi non supportati per modificare o sostituire il codice del kernel. La tecnica del patching (”mettere delle pezze”, in italiano) sostanzialmente viola l’integrità del kernel di Windows ed è un sistema non documentato, non supportato ed è sempre stato scoraggiato da Microsoft. Il kernel patching può portare a comportamenti imprevisti, instabilità del sistema e problemi di prestazioni, come i BSoD di cui sopra, che danneggiano la produttività dell’utente ed i dati. Ancora più importante, la tecnica del kernel patching è divenuta sempre più un meccanismo usato dagli sviluppatori di malware per attaccare i sistemi Windows.
I motivi per patchare il kernel possono essere molti. I produttori di anti-malware possono intercettare le chiamate di sistema per evitare che le applicazioni identificate come malware possano creare dei nuovi processi nel sistema. L’obiettivo di questo tipo di software è di certo lodevole, ma questa pratica può condurre a instabilità e problemi di prestazioni. Il rischio più grande derivante da questa tecnica viene dai virus e dagli spyware che usano questa tecnica con intendi maligni e nascondono così la loro presenza.
Gli autori di malware sono spinti a patchare il kernel perchè è un meccanismo potente per attaccare il computer ed i dati dell’utente. Patchare può essere usato per realizzare rootkit, i quali a loro volta nascondo la presenza di altro malware nel sistema. Questa forma di malware può essere estremamente potente, per esempio permette la cattura di password bancarie e il monitoraggio di qualsiasi attività dell’utente.
Cos’è la Kernel Patch Protection?
Ci sono varie innovazioni nella sicurezza di Windows Vista, ma la Kernel Patch Protection non fa parte di Questa. La KPP è stata supportata per la prima volta sui sistemi Windows per architettuttre x64 (AMD64 e Intel EMT64T), inclusi Windows Server 2003 SP1 e XP Professional x64 Edition (la protezione antipatch non è attualmente supportata sui sistemi x86 e ia64). Perciò l’uso di computer a 64 bit accresce la sicurezza, e gli utenti di Vista beneficeranno molto di questa tecnologia.
La protezione dalle patch del kernel verifica che risorse chiave usate dal kernel, ma anche il codice dello stesso kernel, non vengano modificate. Se il sistema rileva una patch non autorizzata di codice o di strutture dati, viene avviato lo spegnimento del sistema.
La protezione dalle patch del kernel non previene tutti gli attacci di virus, rootkit ed altro software maligno al sistema operativo. Aiuta a prevenire uno degli attacchi al sistema: patchare le strutture del kernel e il suo codice per manipolarne le funzionalità. Proteggere l’integrità del kernel è un passo fondamentale nella protezione dell’intero sistema operativo da attacchi maligni e va problemi di affidabilità invadenti che possano derivare dal patching
Impatti sulla compatiblità delle applicazioni
La protezione da patch al kernel potrebbe intaccare la compatibilità di software legittimo, sui sistemi x64, che fano uso di teniche non supportate di patching. Microsoft è sensibile al fatto che la compatiblità delle applicazioni influenza utenti e partner commerciali. Questa è la ragione per cui è stata implementata solo sui sistemi x64. Piano piano che gli utenti adotteranno piattaforma x64, e nuovi software nativi per 64-bit, avremo l’opportunità di costruire una piattaforma di nuova generazione più sicura ed affidabile, che non agevola le pratiche non supportate e non sempre affidabili quali, appunto, il kernel patchig.
Ci è stato chiedo di provvedere un sistema supportato perchè produttori di software “noti come buoni” possano continuare ad eseguire hooking sul sistema, e prevenire gli altri dal farlo. Sfortunatamente non c’è un sistema affidabile per distinguere il softeare maligno da quello “buono”. Inoltre, non possiamo impedire ad un autore di software maligno di impacchettare il proprio software maligno con del software buono per fregare il sitema. Se anche includessimo questo meccanismo, non è chiaro se potremmo usare questo meccanismo per permettere l’hooking selettivo al kernel in modi che provvedano un compromesso accettabil tra prestazioni e affidabilità e sicurezza. Queste tecnica scoraggerebbe l’utilizzo di tecnlogie di sicurezza assistite dall’hardware, come gli , delle virtual machine.
Alternative al Kernel Patching
E’ chiaro che gli utenti richiedono soluzioni di sicurezza efficaci, e che possano essere sviluppate senza appoggiare alle tecniche di Kernel Patching. Alcune di queste sono:
· ”“, incluso nel prossimo Windows Vista, che abilita il software ad eseguire attività di rete come ispezione dei pacchetti ed altre attività necessarie per prodotti firewall
· Il modello ‘‘ consente al software di partecipare alle attività di sistema, e può essere usato dagli antivirus
· La notifica dihook al registro, introdotta in windows 2000, e recentemente potenziata in Vista, consente al software di partecipare alle attività di sistema legate al registro
Queste soluzioni sono state progettate con in mente l’affidabilità e la supportabilità a lungo termine, e provvede un sistema perchè vari prodotti coesistano senza i possibili conflitti causabili dal kernel patching. Abbiamo lavorato con i nosti partner sulla sicurezza per almeno 2 anni per assisterli nel realizzare soluzioni compatibli con la nostra attuale architettura x64, e stiamo lavorando con loro sempre di più man mano che si avvicina il lancio di Windows Vista. Se la tua applicazione o driver deve eseguire dei task che credi non si possano eseguire se non col patching del kernel, contatta il tuo rappresentante Microsoft o scrivi a per ricevere assistenza nel trovare una alternativa documentata.
E’ importante notare che la Kernel Patch Protection si applica sia ai prodotti Microsoft che a prodotti di terze parti. A nessun codice viene consentito di modificare il kernel usando tecniche di patching non supportate. I prodotti di sicurezza sviluppati da Microsoft hanno accesso solamente alle stesse interfaccie supportate a disposizione di qualsiasi altro produttore di software. ”
Al termine vengono elencati alcuni link, che vi riportiamo, ad altri articoli di approfondimento.
·
·
·
·
Menu di sezione: