[ Home | Liste | F.A.Q. | Risorse | Cerca... ]


[ Data: precedente | successivo | indice ] [ Argomento: precedente | successivo | indice ]


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