
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
[ Data: precedente
| successivo
| indice ]
[ Argomento: precedente
| successivo
| indice ]
Archivio: Novembre 2003 ml@sikurezza.org
Soggetto: La programmazione sicura "dei poveri"
Mittente: Michele Albrigo
Data: 10 Nov 2003 12:59:10 -0000
Ciao a tutti, questione tecnica stavolta.
Mi trovo a dover installare su un server web un'applicazione non open
source. Il server ha su "la solita roba", quindi debian stable e apache,
piu' un po' di accorgimenti per incrementarne la sicurezza, ma niente di
speciale e niente di nuovo. L'applicazione che devo usare e' BSCW, si
tratta di un cgi scritto in Python e distribuito sotto forma di bytecode
compilato (per fare un paragone, pensate di avere un'applicazione java e
di avere solo i .class). La storia della sicurezza di quest'applicazione
e' relativamente buona (pochi bug e corretti rapidamente), quindi in
linea di massima mi fido.
Veniamo al punto.
Ho trovato in giro librerie che servirebbero per incrementare la
sicurezza di alcune funzioni usate nella scrittura di svariati
programmi, rimpiazzando le funzioni che lavorano su stringhe e buffer
con versioni dotate di maggiori controlli e medesime funzionalita'.
Idealmente, dovrei poter modificare i sorgenti dell'applicazione che mi
interessa, ad esempio apache, richiamare, a livello di #include, gli
header di queste librerie, che mi forniranno le corrispondenti funzioni
"protette" (ok, e che magari mi sbrombano l'applicazione al punto che
non funziona piu', funziona male oppure diventa meno sicura di prima...)
e modificare il codice dove queste vengono usate per adattarlo alle
nuove funzioni (in teoria, se le funzioni sono fatte bene, la
riscrittura del codice sorgente potrebbe essere automatizzata quasi del
tutto).
Nel mio caso, pensavo di usare queste librerie per produrre una versione
"hardened" di python, con cui far girare BSCW. Eventualmente si potrebbe
studiare anche un "hardening" di apache, ma in genere e' fatto bene
(dove per bene intendo "al di la' di quello che le mie capacita'
potrebbero migliorare").
So bene che non e' questa la via maestra per migliorare la sicurezza di
un software, pero' in casi come questo, in cui non c'e' accesso al
sorgente di un'applicazione (e bisogna fidarsi del produttore), potrebbe
essere utile blindare un po' tutto quello che gli sta attorno...
Quindi le domande:
1) secondo voi vale la pena di provare questo genere di hardening su
Python? e su apache?
2) qualche libreria da suggerirmi?
3) se vale la pena, qualcuno che ci sta a darmi una mano?
A voi la palla!
Michele Albrigo
________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
www.sikurezza.org - Italian Security Mailing List
(c) 1999-2005