linux user group brescia

immagine del castello

Archivio della mailing list

R: Archivio di /var/log/wtmp

Maurizio Paolini paolini a dmf.bs.unicatt.it
Lun 6 Nov 2000 07:43:24 UTC
>  Mi rendo conto che è un argomento delicato (soprattutto per una ML
> pubblica) ma... sapresti spiegarmi cosa cavolo è un "exploit" o come è
> possibile sfruttare un buffer overflow ?

Non e' un argomento delicato... exploit significa semplicemente
sfruttare un baco presente su un sistema a proprio vantaggio:  la
cosa piu' semplice e' mandare in crash la macchina o un suo servizio
(Denial of service), ma molto spesso si riesce ad "entrare" e a 
lanciare comandi a piacere.
Su un sistema unix, se il baco sta in un programma che gira con i
privilegi di "root", allora spesso si riesce ad acquisire sulla macchina
i privilegi di "root".

Uno dei "bachi" piu' tipici sono appunto i "buffer overflow", un termine
generico che indica il fatto che un'area di memoria allocata con una
dimensione viene usata per metterci piu' roba di quella che ci starebbe.
Nella maggior parte dei casi il controllo sull'overflow e' responsabilita'
del programmatore :-(  e molte volte la dimensione dell'area viene definita
in modo sovrabbondante proprio per non dover fare controlli.  Ma non si
tiene conto che un "pirata informatico" fa apposta a generare situazioni
estremamente improbabili e che non sono state quindi prese in considerazione
dal programmatore.

Ora, quando i dati fuoriescono dall'area a loro destinata bisogna vedere
dove vanno a finire: in molti casi finiscono in un'area dove ci sta
codice eseguibile... se i dati sono "casuali" (ovvero non sono codice
eseguibile sensato) il piu' delle volte avviene un "crash" del programma,
ma e' chiaro che se l'overflow e' stato pilotato con cura si riesce a
piazzare codice eseguibile perfettamente funzionante!

mp



Maggiori informazioni sulla lista Lug