pscan is een pakket dat is ontworpen om C- en C++-broncodebestanden aan een formaatstringaudit te onderwerpen.
Het is geen algemeen audithulpmiddel.
pscan uitvoeren is gewoon een kwestie van het op te geven met de bestandsnaam of -namen om te controleren. Bijvoorbeeld:
pscan test.c
De uitvoer zal rechtstreeks naar de console worden uitgeschreven:
De uitvoer is in dit geval gemakkelijk te begrijpen. Het heeft het feit dat de printf-aanroep haar argumenten niet op de juiste manier "quote", correct geïdentificeerd.
De uitvoer toont ons ook wat we moeten doen om het op te lossen, wijzig de code:
printf( buff );
naar:
printf( "%s", buff );
Dit niet doen, kan een aanvaller die de uitvoer van ls kan controleren, toelaten om het programma aan te vallen, door een bestand genaamd "%s", of gelijkaardig aan te maken.
Formaatstring-aanvallen worden bediscussieerd in deze Security Focus introduction.
De Secure Programming for Linux and Unix HOWTO legt u uit hoe u zich kunt beschermen tegen deze aanvallen in veel gebruikte variadische functies zoals:
Terug naar het auditproject | Terug naar de auditvoorbeeldenpagina