Geautomatiseerd Audit Voorbeeld: pscan

pscan is een pakket dat is ontworpen om C- en C++-broncodebestanden aan een formaatstringaudit te onderwerpen.

Het is geen algemeen audithulpmiddel.

pscan uitvoeren

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:


test.c:42 SECURITY: printf call should have "%s" as argument 0

De Uitvoer

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