Format string attack
Le 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 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
printf("%s",StringPointer)
e non scrivere
printf(StringPointer)
in quanto in questo modo l'input dell' utente non viene validato . la stringa StringPointer potrebbe contenere una serie di specifcatori di formato . Questo tipo di attacco , comunque , diventa sempre piu' difficile grazie alla diffusione di una maggiore consapevolezza della necessita di gestire i rischi associati alla programmazione e alla conseguente diffusione di tecniche di programmazione sicura.
collegamenti esterni
- (EN) scut / team teso Come sfruttare le Format String Vulnerabilities v1.1 March 24, 2001
- (EN) CERT standard di programmazione sicura
- (EN) CERT iniziativa per la programmazione sicura
- (EN) programmazione sicura in C e C++