Automatiserat Granskningsexempel: pscan

pscanpscan är ett paket som är skapat för att granska C och C++-källkod efter format string-sårbarheter.

Det är inte ett generellt granskningsverktyg.

Köra pscan

Köra pscan gör man helt enkelt genom att starta det med ett namn på en fil, eller filer, som man vill kontrollera. Exempelvis:

	pscan test.c

Utdatan skrivs direkt till terminalen:


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

Udatan

Utdatan i detta fall är lätt att förstå. Den har korrekt identifierat att anropet till printf inte anger sina argument på ett korrekt sätt.

Utdatan visar även vad vi måste göra för att rätta problemet, alltså ändra koden som lyder:

	printf( buff );

Till att lyda:

	printf( "%s", buff );

Om man inte gör detta så kan man tillåta att en angripare som kontrollerar ls utdata angriper programmet, genom att skapa en fil med namnet "%s" eller liknande.

Formatsträngsangrepp diskuteras i denna introduktion i Security Focus.

Secure Programming for Linux and Unix HOWTO förklarar hur man skyddar sig mot dessa angrepp i vanligt använda funktioner som:


Tillbaks till granskningsprojektet | Tillbaks till sidan för granskningsexempel