
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
Archivio: Aprile 2005 ml@sikurezza.org Soggetto: Re: [ml] patch proattive anti bugs... Mittente: Ork Data: Fri, 29 Apr 2005 15:07:25 +0200 (CEST)
> Ho visto che ne avete già parlato in qualche thread ma un po' di tempo > fa...stavo provando in questi giorni grsecurity+PaX...vedo però che > patch similari proliferano: openwall, lids, stackguard...giusto per fare > chiarezza qualcuno saprebbe riassumere un po' le pricipali differenze o > comunque quali usa e come le trova? > Voglio dire, installando patch cumulative (erano suggerite in qualche > link che ora è broken...) non si rischia un overkill del sistema? La > paura è di diminuirla la sicurezza, non di aumentarla... :D Per capire le differenze tra le diverse patch è necessario conoscere come funzionano. Fondamentalmente esistono 2 approci diversi nella protezione di un sistema da attacchi di redirezione dell'esecuzione: 1 - Protezione a livello kernel, di cui fanno parte Grsecurity, Exec-Shield di Red Hat ed Openwall. Per bloccare l'esecuzione di ShellCode queste protezioni rendono non eseguibili le zone di memoria adibite a contenere dati. Openwall si limita a rende non eseguibile solo lo Stack ed, infatti, è possibile aggirarlo in diverse circostanze. Sia Grsecurity che Exec-Shield, invece, rendono non eseguibili Stack, Heap, data e BSS rendendo QUASI (ed il quasi è riferito ad ExecShield :) impossibile l'uso di ShellCode. Per bloccare gli attacchi di redirezione verso fuznioni di libreria, invece, esistono 2 tipi di protezioni diverse: - caricare le librerie dinamiche ad un indirizzo che cambia ad ogni esecuzione - caricare le librerie dinamiche ad un indirizzo che contiene un carattere 0x00 Tra i due metodi il primo è il più sicuro, la protezione consistente nel carattere 0x00 in certe circostanze si può aggirare. Openwall utilizza la protezione del carattere 0x00, mentre Grsecurity che Exec-Shield quella della randomizzazione dell'indirizzo. Oltre a questo, in certi casi si può avere anche la randomizzazione dell'indirizzo di inizio di alcune sezioni di memoria (es Stack, Heap, text, ecc). 2 - Protezione in user space, di cui fanno parte StackGuard e StackShield Queste protezioni cercano di impedire la redirezione dell'esecuzione inserendo dei controlli direttamente all'interno dei programmi. Per attivare queste protezioni, infatti, è necessario ricompilare i programmi che si intende proteggere. Sia StackGuard che StackShield hanno diversi limiti. Primo fra tutti il fatto che proteggono solo dai Buffer Overflow sullo Stack. Restano sfruttabili altri tipi di Buffer Overflow e i Format String bug. Inoltre StackGuard è facilmente aggirabile anche nel caso di Buffer Overflow sullo Stack. Concludendo credo che al momento la protezione migliore sia offerta da Grsecurity. Pure Exec-Shield offre un alto livello di sicurezza, anche se in alcune circostanze è possibile aggirabilo (sia l'implementazione di Fedora, sia quella di Enterprise). Utilizzando una di queste due protezione, a parer mio, si può stare tranquilli... (ovviamente solo per quanto riguarda le vulnerabilità che puntano alla redirezione dell'esecuzione) Bye, ORK -- Email.it, the professional e-mail, gratis per te: http://www.email.it/f Sponsor: Hai dei virus sul tuo PC ma non sai come eliminarli? Allora impara subito come rimuovere ogni tipo di virus - clicca qui Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=3211&d=20050429
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
www.sikurezza.org - Italian Security Mailing List
(c) 1999-2005