linux user group brescia

immagine del castello

Archivio della mailing list

R: Archivio di /var/log/wtmp

Luca Giuzzi giuzzi a dmf.bs.unicatt.it
Dom 5 Nov 2000 11:31:49 UTC
Non ci sono problemi a parlare di possibili tecniche usate per compromettere
 un sistema in Mailing List: io personalmente sono un acceso sostenitore della
 `full disclosure': se un exploit esiste, e' bene che sia noto ai sistemisti...
 i malintenzionati lo conoscono gia' (o possono recuperarlo tramite canali
 non ufficiali, tipo IRC). Un ottimo punto di partenza e' sicuramente
 www.securityfocus.com. Se ti capita di sentirti solo (nessuno ti scrive
 mai), puoi anche iscriverti alla lista bugtraq a securityfocus.com ...
 attenzione, pero'... potresti diventare paranoico!

Buffer overflow: una tecnica basata sul fatto che i programmatori partono
 sempre dal presupposto che `hanno dimensionato le varie allocazioni in
 modo abbondante' e non fanno controlli.
 Immagina, ad esempio, una area di memoria allocata per il nome di un
 individuo e definita con una 
  char *x;
  x=malloc(sizeof(char)*20);
 Da qualche parte nel codice si memorizza il nome con una
  sprintf(x,"%s",input);
 ...sprintf (a differenza di snprintf) non controlla la lunghezza di
  `input' prima di copiare i dati... si input e' una stringa di 30
  caratteri, 20 di questi saranno copiati nell'area allocata dalla malloc
 per x e 10 scritti subito dopo... dove solitamente ci sono i puntatori
 allo stack... 
 Risultato: non bello, veramente non bello... soprattutto se il programma
 e' eseguito coi privilegi di root: chi controlla lo stack, controlla anche
 l'esecuzione del programma e in particolare puo' fare eseguire qualsiasi
 istruzione voglia!
Lezione da imparare:
 programmatori, usate snprintf(x,19,"%s",input)  [20 caratteri allocati=19
 caratteri utili, in quanto le stringhe sono terminate da uno zero] che
 fa tutti i controlli di dovere. Ahime' non tutto il codice fa questo...

[ci sono anche altri tipi di exploit, piu' sofisticati... questa e' una
 descrizione di cosa succede nel caso `semplice' per dare una idea di 
 cosa puo' richiedere scrivere codice con `attenzione alla sicurezza'...
 i puntatori che ho dato sopra possono essere illuminanti]

Ciao,
 lg



Maggiori informazioni sulla lista Lug