Format string attack: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
.snoopybot. (discussione | contributi)
Abisys (discussione | contributi)
Portale Sicurezza informatica + wiki
Riga 1:
Il '''format string attack''' (''vulnerabilità di formato della stringa'') sono una classe di vulnerabilità scoperte nel 1999.
Il '''format string attack''' (''vulnerabilità di formato della stringa'') sono una classe di vulnerabilità scoperte nel 1999. In breve, si tratta di passare a una funzione che stampa una stringa a schermo, tipicamente una [[printf]] del [[C (linguaggio)|linguaggio C]], una stringa che in realtà contiene una serie di parametri di specifica dell'input (tipicamente si usano gli specificatori di formato %s e %x per esaminare il contenuto della memoria e %n per sovrascrivere parti della memoria, in particolare dello [[stack]], questo permette attacchi di tipo ''[[stack overflow]]'' e ''return to libc''). In pratica, quando si vuole stampare una stringa s usando la ''printf()'' o un'altra funzione C che accetta un numero illimitato di specificatori di formato, bisogna scrivere la funzione
 
== Funzionamento ==
printf("%s",StringPointer)
Il '''format string attack''' (''vulnerabilità di formato della stringa'') sono una classe di vulnerabilità scoperte nel 1999. In breve,Se si tratta di passarepassa a una funzione che stampa una stringa a schermo, tipicamente una [[printf]] del [[C (linguaggio)|linguaggio C]], una stringa che in realtà contiene una serie di parametri di specifica dell'input (tipicamente si usano gli specificatori di formato %s e %x per esaminare il contenuto della memoria e %n per sovrascrivere parti della memoria, in particolare dello [[stack]], questosi permette attacchil'avvio di un'attacco di tipo ''[[stack overflow]]'' e ''return to libc''). InPer proteggersi da questo praticaattacco, quando si vuole stampare una stringa s usando la ''printf()'' o un'altra funzione C che accetta un numero illimitato di specificatori di formato, bisogna scrivere la funzione
 
printf("%s",StringPointers)
 
e non scrivere
 
printf(StringPointers)
 
in quanto in questo modo l'input dell'utente non viene validato. La stringa StringPointer potrebbe contenere una serie di specificatori di formato. Questo tipo di attacco, comunque, diventa sempre più difficile grazie alla diffusione di una maggiore consapevolezza della necessità di gestire i rischi associati alla programmazione e alla conseguente diffusione di tecniche di programmazione sicura.
 
== Collegamenti esterni ==
* {{en}}scut / team teso [http://julianor.tripod.com/teso-fs1-1.pdf <cite>Come sfruttare le Format String Vulnerabilities</cite>] v1.1 March 24, [[2001]]
* {{en}}[https://www.securecoding.cert.org CERT standard di programmazione sicura ]
* {{en}}[http://www.cert.org/secure-coding CERT iniziativa per la programmazione sicura ]
* {{en}}[http://www.cert.org/books/secure-coding programmazione sicura in C e C++]
 
{{Portale|Sicurezza informatica}}
 
[[Categoria:Tecniche di attacco informatico]]