Het wordt voor hackers steeds lastiger om bij organisaties binnen te dringen. Firewalls staan over het algemeen redelijk tot perfect ingesteld en met een goed patchbeleid is het besturingssysteem behoorlijk beschermd. Het is dan ook niet verwonderlijk dat kwaadaardige aanvallen zich steeds vaker richten op de applicatielaag. Vooral webapplicaties zijn door de toegang via de buitenwereld gevoelig voor aanvallen.
Ook voor de applicatielaag geldt dat een solide patchbeleid op het applicatie- en serverniveau veel ellende kan voorkomen. Als het alleen gaat om standaardapplicaties van de grote leveranciers is het risico dan ook beperkt. Wanneer het gaat om in eigen beheer gemaakte aanpassingen of compleet nieuwe webapplicaties nemen de risico’s exponentieel toe. Daar is namelijk geen grote gemeenschap die dagelijks onderzoekt of er lekken in de applicatie zitten. De enige manier om dan achter gevoeligheden te komen, zijn penetratietesten en applicatieassessments.
Tijdig ingrijpen
Wie op de hoogte is van mogelijke lekken of bugs kan zelf een voor een alle kwetsbaarheden uitproberen. Dat handmatige testen kost echter vaak meer tijd dan beschikbaar is. Bovendien is de kans levensgroot dat je een essentiële test overslaat. Daarnaast geldt voor de meeste applicaties dat eenmalig testen op een bepaalde bug absoluut onvoldoende is. De kwetsbaarheid doet zich helaas soms alleen voor in een bepaalde situatie.
“Het was dus een logische stap om penetratietesten te automatiseren”, vertelt John Weinschenk, ceo en president van Cenzic. Zijn bedrijf ontwikkelde Hailstorm, dat webapplicaties test op kwetsbaarheden. In zekere zin doet het programma niets anders dan een groot aantal scripts met inmiddels bekende kwetsbaarheden uitvoeren, zoals ook een hacker zou doen. Om volledig bij de tijd te blijven, voegt het onderzoek- en ontwikkelteam elke twee weken nieuwe scripts toe. “We zouden elke dag een opwaardering kunnen leveren, maar in de praktijk blijkt een tweewekelijkse cyclus ruim voldoende om vrijwel alle hackers voor te blijven”, zegt Weinschenk. “In de loop van de tijd en als de markt daarom vraagt zullen we overigens wel naar een dagelijkse routine gaan.”
Hij meent dat Hailstorm ook uitermate geschikt is bij het testen in de ontwikkelfase. “Veel ontwikkelaars zijn in hun werk meer bezig met de functionaliteit dan met de beveiliging. Dat is jammer, want als je beide vanaf het begin meeneemt, zal er niet alleen een goede webapplicatie ontstaan, maar heeft deze ook verder in de levenscyclus minder onderhoud nodig. Het aardige van Hailstorm is dat precies bijgehouden wordt waar de problemen zitten. Je kunt bijvoorbeeld als ontwikkelaar in één oogopslag zien waar je meer aandacht aan moet schenken en daardoor tijdig ingrijpen. Dat bespaart je een hoop moeite achteraf.”
Schaakspel
Omdat de applicatie vanuit de webbrowser werkt, maakt het voor de testen niet uit of de webapplicatie geschreven is voor Windows, Linux of Unix. Weinschenk: “Je kunt zeggen dat we een soort schaakspel met de webapplicatie spelen. We doen een zet en kijken hoe de applicatie reageert. Op basis van die informatie bekijkt het programma wat de volgende zet zal zijn. Het betekent ook dat we de testen niet altijd in exact dezelfde volgorde gebruiken. Net als in het schaakspel zijn er verschillende openingszetten en vervolgzetten. Daarmee simuleren we dezelfde acties die ook een hacker via de voordeur zou proberen.”
Het testen van de webapplicatie op die wijze is niet alleen interessant voor ontwikkelaars en de organisaties die de applicaties inzetten. Met Hailstorm op een eenvoudige laptop is het kinderlijk eenvoudig om andermans applicaties te bekijken om te bepalen waar de kwetsbaarheden zitten. Volgens Bert Snel, technische man van Isisi en importeur van Hailstorm, is dat ook een risico. “Het is een potentieel wapen, maar dat geldt eigenlijk voor alle tools die in de handel zijn. We zullen we dit stuk gereedschap dan ook met de grootste zorgvuldigheid in de markt zetten. Het is bijvoorbeeld vrijwel uitgesloten dat de Russische Maffia het kan gaan inzetten.”
Graadmeter
“Met een testtool als Hailstorm behaal je betrouwbaardere resultaten als je het al in een vroeg stadium gebruikt”, legt Bert Koelewijn van irC2 (Information Risk Control) uit. Zijn bedrijf specialiseert zich in informatiebeveiliging en beveiligingstesten. Daarnaast is Koelewijn de oprichter van de Nederlandse afdeling van Owasp (Open Web Application Security Project). “Het testen tijdens de hele levenscyclus van een applicatie wordt volgens mij nog steeds onderschat. Met het testen van een complex eindproduct kunnen fouten over het hoofd worden gezien die eerder in de ontwikkellevenscyclus misschien ontdekt zouden zijn. Soms kan een kleine verandering grote gevolgen hebben zonder dat iemand dat door heeft. Een programma als Hailstorm is ook inzetbaar als graadmeter voor je ontwikkelaars. Je test bijvoorbeeld welke fouten het meest voorkomen en voor dat onderwerp organiseer je een cursus. Vervolgens kan je aan de testuitslagen zien of die cursus effect heeft gehad.”