Hoe weet je zeker dat je computersystemen veilig zijn voor hackers en andere kwaadwillenden? Door er een hoop informatie op af te sturen op dezelfde manier als hackers dat doen ofwel fuzzing.
"We krijgen veel verzoeken van personen of ze onze software van de website kunnen downloaden of een cd kunnen krijgen. Dat doen we niet", zegt Ari Takanen, cto en oprichter van Codenomicon. Dit Finse bedrijf maakt tools waarmee bedrijven kunnen testen of hun computersystemen en software die ze gebruiken wel bestand zijn tegen hackers. Het bedrijf gebruikt hiervoor een testmanier die als fuzzing wordt omschreven.
Bij fuzzing worden er grote hoeveelheden data op een programma afgevuurd. "Je kunt het vergelijken met een baby van vijf maanden die achter het toetsenbord zit", zegt Takanen. Er worden rare gebruikersnamen of wachtwoorden in het systeem ingevoerd. Codemomicon verkoopt tools die deze manier van testen gestructureerd uitvoeren. Takanen: "Een alternatief is dat een bedrijf een gebouw koopt waar mensen achter een computer zitten en de hele dag dingen uitproberen. Dat gebeurt ook."
Drie fasen
Testen van software of systemen bestaat uit drie fasen, legt Takanen uit. De eerste is de test of het product wel aan de vraag van de klant voldoet. De tweede vorm van testen is de prestatietest, waarbij gekeken wordt of het systeem genoeg data aankan. Fuzzing hoort bij de derde vorm van testen waarbij de betrouwbaarheid en beveiliging van het product getest wordt.
Van de software die Codenomicon test, crasht 18 procent. "Eigenlijk crasht 100 procent. Ik heb eigenlijk nog nooit gezien dat de software niet crasht als er getest wordt, maar dat gebeurt in de verschillende fases", zegt Takanen. Het grote nadeel van fuzzing is dan ook dat het systeem zal crashen. "Veel bedrijven hebben geen afgescheiden testomgeving, omdat ze daar de noodzaak niet van zien. Het is een extra investering."
Noodzaak
Codenomicon heeft grote klanten, zoals Microsoft, Cisco en Alcatel-Lucent. Het zijn vooral softwareleveranciers of carriers die het product gebruiken. Het bedrijf hoopt nu dat meer bedrijven de noodzaak van fuzzing gaan zien. Takanen: "Bedrijven zijn gewend dat software soms niet werkt. Maar er komt steeds meer druk van klanten of van overheden dat software en systemen betrouwbaar moeten zijn. En het kost een hoop geld en tijd om een systeem te patchen."
Toch blijft het zo dat sommige bedrijven de noodzaak van testen niet inzien. "Maar je hoeft niet dood te gaan om te zien dat iets een probleem is." Hij denkt dat bedrijven zich niet druk maken over de return-on-investment (roi) van fuzzing. "Ik heb nog nooit gehoord dat een beveiligingsprobleem niet is gevonden door iemand. Een lek in software wordt gevonden en dan is het te laat. En bij schade gaat het om bedragen van meer dan vijf cijfers."
Fuzzing
Bij fuzz-testen worden grote hoeveelheden data op een programma afgevuurd. Als het programma vastloopt of niet meer werkt, kan worden gekeken waar het probleem is. Het voordeel van fuzzing is dat het makkelijk is en dat een tester geen vooroordelen kan hebben over hoe het programma zich zal gedragen. Deze manier van testen werd in 1989 bedacht door professor Barton Miller van de universiteit van Wisconsin.