View previous topic :: View next topic |
Author |
Message |
iko Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/gallery/Mario/Mario_-_Mario.gif)
Joined: 10 Mar 2004 Posts: 232 Location: Lissone
|
Posted: Sun Nov 27, 2005 2:49 pm Post subject: Pax e protezione buffer overflow... |
|
|
Ciao a tutti, sto cercando di reperire informazioni sulla possibilità di proteggere un sistema linux contro i buffer overflow.
Dovrei sviluppare per l'università un modulo per il kernel che impedisca questo genere di attacchi.
Ho visto che bsd usa un sistema chiamato W^X (che però difficilmente si potrebbe implementare su linux senza controindicazioni) mentre linux PAX.
Tuttavia non ho ben capito se PAX viene incluso nativamente nelle versioni ufficiali del kernel di linux e se è efficace.
Insomma mi piacerebbe fare qualcosa che poi possa essere utile anche agli utenti "normali" di linux e che possa essere incluso direttamente nei futuri kernel.
Qualche opinione/suggerimento? Secondo voi è possibile realizzare una cosa del genere?
Grazie
Ciao
Fede |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
makoomba Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/54100765943a2d293cd61e.jpg)
Joined: 03 Jun 2004 Posts: 1856
|
Posted: Sun Nov 27, 2005 3:12 pm Post subject: |
|
|
pax non è incluso di default: su gentoo, ad esempio, devi utilizzare un profilo hardened.
per quanto concerne la sicurezza, certamente il sistema risulta più "robusto".
tuttavia, sono stati pubblicati dei "proof of concept" in cui pax veniva aggirato e l'exploit otteneva il suo scopo.
oltre a pax, ci sono già altri progetti con lo stesso obiettivo, tipo execshield. _________________ When all else fails, read the instructions. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
.:chrome:. Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/1738078993454a825c7608f.jpg)
Joined: 19 Feb 2005 Posts: 4588 Location: Brescia, Italy
|
Posted: Sun Nov 27, 2005 3:16 pm Post subject: Re: Pax e protezione buffer overflow... |
|
|
PaX non viene incluso nelle verisoni ufficiali, ma devi applicare la patch (http://pax.grsecurity.net) a mano.
l'alternativa è usare gli hardened-sources che includono le ottime genpatches e l'intero pacchetto GRSecurity (http://www.grsecurity.net) più altri aggeggi carini.
PaX funziona egregiamente, ma non viene incluso per il semplice motivo che taglia le gambe ad un ventaglio di applicazioni enorme.
comincia a considerare che abilitandolo con una policy non troppo permissiva (non dico il massimo di protezione) già non hai più nessun tipo di accesso a /dev/mem e /dev/kmem, e questo rende X11 inutilizzabile. potrei farti una lista di esempi lunga chilometri, ma finirei col farti il lavoro quindi buon divertimento
scherzi a parte... se ti serve una mano, io ci ho lavorato parecchio, ed è stata la mia tesi della triennale, quindi credo di poterti aiutare, se serve |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
.:chrome:. Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/1738078993454a825c7608f.jpg)
Joined: 19 Feb 2005 Posts: 4588 Location: Brescia, Italy
|
Posted: Sun Nov 27, 2005 3:27 pm Post subject: |
|
|
makoomba wrote: | sono stati pubblicati dei "proof of concept" in cui pax veniva aggirato e l'exploit otteneva il suo scopo. |
eh vabbè, ma se ragioniamo così non ne veniamo davvero più fuori. la sicurezza in senso assoluto non la si otterrà mai, e, volendo essere pignoli, quei proof of concept facevano veramente dei numeri turchi per aggirare PaX. lui è progettato per proteggere principalmente da BoF; non per altri scopi. associando comunque la protezione da BoF all'ASLR e alla no-exec enforcement si ottiene qualcosa di estremamente robusto.
makoomba wrote: | oltre a pax, ci sono già altri progetti con lo stesso obiettivo, tipo execshield. |
personalmente non sono convinto da ExecShield: ha meno features rispetto a PaX, e molto più semplificate. dubito che si possa raggiungere lo stesso grado di flessibilità, ma specifico che ne ho sempre fatto un uso "passivo": l'ho trovato nei kernel RedHat e me lo sono tenuto; non ho mai applicato la patch direttamente, né l'ho mai studiata.
quando voglio "blindare" assolutamente una macchina metto una patch cumulativa GRSecurity + RSBAC, con la massima protezione possibile per GRSecurity, e ACL di RSBAC applicate ad ogni singolo oggetto del sistema, compresi i socket inet e UNIX, e ovviamente tutto quello che posso lo metto in chroot. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
makoomba Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/54100765943a2d293cd61e.jpg)
Joined: 03 Jun 2004 Posts: 1856
|
Posted: Sun Nov 27, 2005 4:07 pm Post subject: |
|
|
k.gothmog wrote: | la sicurezza in senso assoluto non la si otterrà mai, e, volendo essere pignoli, quei proof of concept facevano veramente dei numeri turchi per aggirare PaX. |
il termine "proof of concept" esiste apposta, diciamo che la cosa è possibile ma altamente improbabile.
per il resto, pax lo uso su tutti server
k.gothmog wrote: | personalmente non sono convinto da ExecShield: ha meno features rispetto a PaX, e molto più semplificate. dubito che si possa raggiungere lo stesso grado di flessibilità, ma specifico che ne ho sempre fatto un uso "passivo": l'ho trovato nei kernel RedHat e me lo sono tenuto; non ho mai applicato la patch direttamente, né l'ho mai studiata. |
stessa esperienza.
k.gothmog wrote: | quando voglio "blindare" assolutamente una macchina metto una patch cumulativa GRSecurity + RSBAC, con la massima protezione possibile per GRSecurity, e ACL di RSBAC applicate ad ogni singolo oggetto del sistema, compresi i socket inet e UNIX, e ovviamente tutto quello che posso lo metto in chroot. |
tsè, io collego al system monitor una carica di c-4 ad alto potenziale: alla prima fluttuazione sospetta, parte l'innesco e il sistema si vaporizza.
nessuno entra nei miei server.
stavo pensando di brevettare l'idea, ma devo lavorare un pò sui costi di gestione.... _________________ When all else fails, read the instructions. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
.:chrome:. Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/1738078993454a825c7608f.jpg)
Joined: 19 Feb 2005 Posts: 4588 Location: Brescia, Italy
|
Posted: Sun Nov 27, 2005 4:37 pm Post subject: |
|
|
makoomba wrote: | tsè, io collego al system monitor una carica di c-4 ad alto potenziale: alla prima fluttuazione sospetta, parte l'innesco e il sistema si vaporizza. |
lo proporrò al capo
devo forse leggere tra le righe una critica verso la mia smisurata paranoia? pensa che OpenBSD è così per default!!! |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
makoomba Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/54100765943a2d293cd61e.jpg)
Joined: 03 Jun 2004 Posts: 1856
|
Posted: Sun Nov 27, 2005 5:05 pm Post subject: |
|
|
no, penso che una giusta quantità di paranoia debba necessariamente far parte del bagaglio di ogni sistemista.
diventa eccessiva quando pregiudica i servizi e/o complica il normale processo di manutenzione/aggiornamento.
generalmente, ti salva il culo in più di un'occasione. _________________ When all else fails, read the instructions. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
!equilibrium Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/10751772074409c2c3ce8ec.png)
Joined: 06 Jun 2004 Posts: 2109 Location: MI/BG/LC
|
Posted: Sun Nov 27, 2005 10:45 pm Post subject: |
|
|
@k.gothmog: gli hardened-sources hanno PaX di serie oltre a GRSecurity. almeno, io ho l'opzione 'PAX' nel kernel. _________________ Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe
all my contents are released under the Creative Commons Licence by-nc-nd 2.5 |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
.:chrome:. Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/1738078993454a825c7608f.jpg)
Joined: 19 Feb 2005 Posts: 4588 Location: Brescia, Italy
|
Posted: Sun Nov 27, 2005 10:52 pm Post subject: |
|
|
DarkAngel76 wrote: | @k.gothmog: gli hardened-sources hanno PaX di serie oltre a GRSecurity. almeno, io ho l'opzione 'PAX' nel kernel. |
semplicemente perché PaX è incluso nella suite GRSecurity
peccato non abbiano anche RSBAC
a proposito... si ha qualche notizia su quegli hardened-sources? hanno intenzione di rilasciarne ancora o no? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
!equilibrium Bodhisattva
![Bodhisattva Bodhisattva](/images/ranks/rank-bodhisattva.gif)
![](images/avatars/10751772074409c2c3ce8ec.png)
Joined: 06 Jun 2004 Posts: 2109 Location: MI/BG/LC
|
Posted: Sun Nov 27, 2005 11:30 pm Post subject: |
|
|
k.gothmog wrote: | semplicemente perché PaX è incluso nella suite GRSecurity
peccato non abbiano anche RSBAC ![Smile :)](images/smiles/icon_smile.gif) |
ehhmmmmm... fai finta di nulla, avevo letto male il tuo post (sai come è... l'ora tarda, troppe ore passate davanti al computer, è domenica, nevica...) e avevo capito tutta un'altra cosa.
k.gothmog wrote: | a proposito... si ha qualche notizia su quegli hardened-sources? hanno intenzione di rilasciarne ancora o no? |
si, mi pare che in CVS ci sia hardened-sources 2.6.14 come ~x86, per cui il loro rilascio è abbastanza 'costante'. _________________ Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe
all my contents are released under the Creative Commons Licence by-nc-nd 2.5 |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
.:chrome:. Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/1738078993454a825c7608f.jpg)
Joined: 19 Feb 2005 Posts: 4588 Location: Brescia, Italy
|
Posted: Mon Nov 28, 2005 6:49 am Post subject: |
|
|
era uscita quella versione ~ dopo secoli di inattività. supponevo che fosse a causa della mancanza di release ufficiali di GRSecurity, ma adesso quella c'è stata, eppure gli hardened-sources non si sono mossi da lì...
sono perplesso |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
iko Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/gallery/Mario/Mario_-_Mario.gif)
Joined: 10 Mar 2004 Posts: 232 Location: Lissone
|
Posted: Mon Nov 28, 2005 2:15 pm Post subject: |
|
|
Ringrazio tutti per le numerose e gradite risposte... Mi sono molto utili in quanto come accennava qualcuno si tratta proprio di un lavoro di tesi...
Mi pare d'avere tuttavia intuito che non c'è molta soddisfazione nell'usare pax e quindi dato che mi piacerebbe che il mio lavoro non restasse solo una tesi ma potesse essere d'aiuto per tutti, stavo pensando alla possibilità di usare altri modi per il riconoscimento e la "prevenzione" (per quanto possa essere possibile...) dei buffer overflow.
In particolare mi riferisco all'uso di ptrace a livello programmazione di sistema... Sarebbe possibile agganciare tutte le chiamate di sistema e fare dei controlli all'interno del codice che viene eseguito? .. In un certo senso penso di no dato che non avendone mai sentito parlare e non conoscendo implementazioni di questo tipo mi stupirebbe pensare che ad una cosa tanto banale non abbia pensato o lavorato ancora nessuno
A parte questo poi vorrei un chiarimento. Leggendo i sorgenti del kernel di linux 1.0 mi è parso di capire che non viene utilizzata la protezione a livello segmentazione in quanto la gdt viene semplicemente inizializzata con un dummy (obbligatorio) e 2 segmenti overlapped dati e codice rispettivamente. A questo proposito è forse come avviene in altri so, una soluzione temporanea di boot e mi sono perso io qualche funzione che poi li setta in modo più appropriato oppure è effettivamente cosi?
E se fosse realmente cosi, questa struttura è rimasta fino ai giorni nostri con il kernel 2.6 ?
grazie
ciao
Fede |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
.:chrome:. Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/1738078993454a825c7608f.jpg)
Joined: 19 Feb 2005 Posts: 4588 Location: Brescia, Italy
|
Posted: Mon Nov 28, 2005 5:47 pm Post subject: |
|
|
iko wrote: | Mi pare d'avere tuttavia intuito che non c'è molta soddisfazione nell'usare pax |
intuisci male è una figata
dipende sempre da cosa devi fare
iko wrote: | quindi dato che mi piacerebbe che il mio lavoro non restasse solo una tesi ma potesse essere d'aiuto per tutti |
la mia tesi è diventata un server da x-mila dollari che la Facoltà ha comprato e che gestisco per suo conto
iko wrote: | stavo pensando alla possibilità di usare altri modi per il riconoscimento e la "prevenzione" (per quanto possa essere possibile...) dei buffer overflow. |
PaX fa tutto quello di cui hai bisogno
ti SCONSIGLIO CALDAMENTE di realizzare patch cumulative del tipo PaX+ExecShield: fanno lo stesso lavoro, e si pesterebbero i piedi a vicenda, nell'ipotesi (impossibile) che tu riesca a fare una patch di quel tipo.
concentrati su altro, piuttosto. io ho citato RSBAC, prima. l'idea con cui ho fatto la patch cumulativa PaX+RSBAC era: "PaX mi protegge dall'esterno, ma mettiamo che mi sfondino ugualmente la macchina; con RSBAC sono protetto anche dall'interno".
evita poi di litigare con LIDS: se fai una cumulativa che include anche LIDS difficilmente otterrai un codice funzionante. lo sconsigliano anche gli autori
iko wrote: | In particolare mi riferisco all'uso di ptrace a livello programmazione di sistema... Sarebbe possibile agganciare tutte le chiamate di sistema e fare dei controlli all'interno del codice che viene eseguito? |
ti ripeto che è quello che fa PaX. RSBAC potrebbe dare quel qualcosa in più imponendo pesantissimi vincoli su quello che utenti e processi possono fare (pensa che storia: l'utente root che non ha privilegi di cancellare un file che gli appartiene e che si trova nella sua home )
all'ultima domanda purtroppo non so rispondere perché non ho mai visto quel codice (e non ci tengo a vederlo ) e non ho mai lavorato molto su quel genere di cose. direi sicuramente fesserie |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
iko Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/gallery/Mario/Mario_-_Mario.gif)
Joined: 10 Mar 2004 Posts: 232 Location: Lissone
|
Posted: Mon Nov 28, 2005 8:11 pm Post subject: |
|
|
grazie x le risposte... ma... non sarebbe meglio provare a sviluppare qualcosa di simile? .. perchè una tesi tipo recensione e uso di quegli strumenti mi pare un po riduttivo o sbaglio?!!?
ciao
Fede |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
.:chrome:. Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/1738078993454a825c7608f.jpg)
Joined: 19 Feb 2005 Posts: 4588 Location: Brescia, Italy
|
Posted: Mon Nov 28, 2005 8:33 pm Post subject: |
|
|
non per scoraggiarti... ma dubito che tu sia in grado di scrivere qualcosa di simile.
non è semplice programmare ad un livello così basso, specie se quello che si deve realizzare è una patch per implementare meccanismi di sicurezza a dir poco maniacali. non sono molti quelli in grado di farlo
per me comunque non è stata una tesi compilativa, quanto comparativa: implementare diverse soluzioni, confrontare il livello di invasività, configurabilità, flessibilità, e ovviamente difficoltà di implementazione e di integrazione con altri sistemi. studio di soluzioni cumulative (patch cumulative), test (pen-test), ed implementazione.
non è proprio un lavoro di recensione.
e poi perché sviluppare roba nuova...? come se non ce ne fosse già abbastanza in giro
se proprio vuoi programmare manda delle patch al mantainer di un progetto esistente |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
iko Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/gallery/Mario/Mario_-_Mario.gif)
Joined: 10 Mar 2004 Posts: 232 Location: Lissone
|
Posted: Tue Nov 29, 2005 10:23 am Post subject: |
|
|
ok grazie, allora proverò a dare 1occhiata alla roba che esiste già
Magari potrei fare anche una comparazione fra sistemi openbsd netbsd e linux dato che hanno una gestione completamente differente per quanto riguarda questo genere di problemi...
ciao
Fede |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Dr.Dran l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/175017809646c23697ef99f.png)
Joined: 08 Oct 2004 Posts: 766 Location: Imola - Italy
|
Posted: Tue Nov 29, 2005 5:41 pm Post subject: |
|
|
Dai una occhiata agli RSBAC-sources nel repositorio di Gentoo perchè hanno la patch comulativa PAX+RSBAC accennata da k.gothmog
Ciauz ![Very Happy :D](images/smiles/icon_biggrin.gif) _________________ :: [Dr.Dran] Details ::
- Linux User # 286282
- IT FreeLance Consultant
- President of ImoLUG [Imola & Faenza Linux User Group] |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
.:chrome:. Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/1738078993454a825c7608f.jpg)
Joined: 19 Feb 2005 Posts: 4588 Location: Brescia, Italy
|
Posted: Tue Nov 29, 2005 6:53 pm Post subject: |
|
|
DranXXX wrote: | Dai una occhiata agli RSBAC-sources nel repositorio di Gentoo perchè hanno la patch comulativa PAX+RSBAC accennata da k.gothmog |
come, come, come...?
volo a controllare. non avevo notato PaX... sei sicuro? |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Dr.Dran l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/175017809646c23697ef99f.png)
Joined: 08 Oct 2004 Posts: 766 Location: Imola - Italy
|
Posted: Tue Nov 29, 2005 7:28 pm Post subject: |
|
|
k.gothmog wrote: | DranXXX wrote: | Dai una occhiata agli RSBAC-sources nel repositorio di Gentoo perchè hanno la patch comulativa PAX+RSBAC accennata da k.gothmog |
come, come, come...?
volo a controllare. non avevo notato PaX... sei sicuro? |
Sicuro, ce l'ho davati agli occhi... ![Wink :wink:](images/smiles/icon_wink.gif) _________________ :: [Dr.Dran] Details ::
- Linux User # 286282
- IT FreeLance Consultant
- President of ImoLUG [Imola & Faenza Linux User Group] |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|