Peter Recenserar: OWASP ZAP sårbarhetsskanner
Många av er som sysslar med IT-säkerhet har nog vid ett eller annat tillfälle hört talas om organisationen OWASP. Vad så många inte vet är att OWASP själva står bakom ett sårbarhetsskanningsverktyg. Närmare bestämt ZAP eller Zed Attack Proxy.
OWASP själva beskriver verktyget som ett lättanvänt verktyg för penetrationstestare och annat säkerhetsintresserat folk som är gratis och har fler funktioner än din vardagliga sårbarhetsskanner. Låter detta för bra för att vara sant? I denna recension undersöker vi närmare den chockerande sanningen om ZAP.
ZAP finns gratis att hämta på OWASPs hemsida och finns tillgängligt för både Windows och Linux. ZAP är skrivet i Java och kräver därför att du har Java installerat innan du kan starta upp programmet.
När du först startar upp ZAP möts du av välkomstskärmen där du har valet att antigen göra en sårbarhetsskanning på en URL eller installera det tillhörande plug-and-hack tillägget och via din webbläsare exekvera skanningar och andra tester direkt på ditt mål.
Likt många andra sårbarhetsskannrar konfigurerar du först en policy som anger vilka inställningar och funktioner som ska användas i skanningen. Därefter är det bara att välja mål och din policy och börja skanna.
ZAP har även stöd för egenskrivna scripts som kan användas för att utöka eller förbättra funktioner.
Dessa skrivs i valfritt programmeringsspråk som stöds av JSR 233,vilket bland annat är C, Python, PERL och JavaScript.
Nedan väljer vi att attackera en instans av WebGoat (Också från OWASP) som är en plattform avsedd att simulera en webserver med sårbarheter och som används i testsyfte.
Målets IP-adress skrivs in i adress-fältet och skanningen initieras därefter genom att trycka på go. Därefter är det bara att invänta resultatet. Medan vi väntar kan vi i realtid se vad ZAP utför för tester och vilka resultat de ger.
Vid en standard-skanning börjar ZAP med att ”spindla” igenom målet och därmed upptäcka alla underkategorier på hemsidan. Därefter påbörjas själva skanningen av sårbarheter. Vanligtvis tar det ungefär lika lång tid för ZAP att skanna igenom en hemsida som för Acunetix, vilket är den sårbarhetsskanner vi vanligtvis använder för webapplikationer.
När skanningen är avslutad får vi en summering av alla påträffade sårbarheter. Vi kan sen välja att exportera dessa som antigen en HTML eller XML-fil.
Plugga och hacka
Den andra delen av ZAPs sårbarhetsskanner är i form av plug-n-hack tillägget. Denna funktion fungerar som ett utskott av själva sårbarhetsskannern och tillåter en användare att exekvera samma funktioner direkt i webbläsaren. Detta kan vara användbart när du enbart vill rikta tester mot en specifik funktion på en hemsida eller behöver mer kontroll över vad som testas under skanningen.
Och det övriga
ZAP står ut från andra sårbarhetsskannrar med sitt stora urval av funktioner. Eftersom denna recension främst fokuserar på sårbarhetsskannern kommer vi inte göra någon djupdykning i dessa funktioner, dock är det värt att nämna att ZAP kommer med funktioner så som en fuzzer, en proxy för att fånga in efterfrågningar från en hemsida och websockets.
ZAP vs Acunetix
I slutändan är det viktigaste med en sårbarhetsskanner hur pass riktigt resultatet är. Eftersom sårbarheterna i WebGoat är dokumenterade så kan vi undersöka vilken av de två tillgängliga sårbarhetsskannrarna som bäst återger korrekta sårbarheter. I detta fall har både Acunetix och ZAP körts mot WebGoat med standard-inställningar och standard policyer.
Resultatet var näst intill identiskt och både verktygen hade hittat alla dokumenterade sårbarheter på dem sidorna som var åtkomliga. Det bör dock noteras att i det i andra tester där ZAP körts mot fler miljöer visats att nyare sårbarheter inte plockas upp av skannern. Detta beror på att sårbarhetsdatabasen inte uppdateras lika frekvent som de kommersiella sårbarhetsskannrarnas databas.
Den chockerande sanningen
Sanningen är att ZAP är ett riktigt bra verktyg. Personerna som har arbetat med ZAP har lyckats med att ta fram ett gratis open-source verktyg som både är hyfsat lättanvänt och ger bra resultat. Det finns fortfarande utrymme för förbättringar b.la i hur gränssnittet ser ut och hur plug-n-hack tillägget fungerar. Jag ser dock att ZAP är på väg mot en ljus framtid då communityn bakom verktyget ständigt arbetar på att förbättra och expandera verktyget.
Det bra
- Open source och gratis
- Sårbarhetsskannern är lättanvänd.
- Flertal inbyggda funktioner.
- Finns massvis med gratis tillägg.
Det dåliga
- Genererade skanningsrapporter är dåligt strukturerade.
- Plug-n-hack tillägget är struligt att få igång.
- Sårbarhetsdatabasen uppdateras inte så frekvent.
Slutbetyget för ZAP blir 3,5 av 5 krypterade kameler