Door: Daan Vellinga
Soms krijg ik de vraag om een "OWASP top 10 test" te doen. Ik kijk daar altijd een beetje raar van op.
OWASP top-10
Veel mensen hebben wel eens gehoord van de OWASP top 10. Het blijkt echter moelijk om te begrijpen wat die top 10 precies is, en wat wij er mee kunnen. De meeste mensen doelen met de OWASP top 10 op gemakkelijk uit te buiten kwetsbaarheden. "De top 10" klinkt voor hen als "het meest oppervlakkig", of "de basis". Hoewel de OWASP top 10 staat voor de 10 meest belangrijke categorieën van kwetsbaarheden, is niet elke vorm van kwetsbaarheden binnen die categorieën gemakkelijk uit te buiten. Het is zelfs niet zo dat er een test kan worden gedaan op de OWASP top 10. De top 10 omschrijft bijvoorbeeld niet tests of aanvallen, maar (behoorlijk ruime) categorieën van kwetsbaarheden.
"Alleen maar" testen of een systeem kwetsbaarheden uit de top 10 heeft, kost ons niet minder werk dan een uitgebreide security test. Even afgezien van het feit dat de categorieën van de OWASP top 10 zo breed zijn dat heel veel webapplicatie kwetsbaarheden er onder vallen, moeten we voor een "OWASP top 10 test" het volgende doen:
- Een security test met al onze standaard testcases;
- Het rapporteren van onze bevindingen, zoals gebruikelijk;
- Het categoriseren van onze bevindingen onder de OWASP top 10 onderdelen.
Terwijl mensen vaak bedoelen dat ze een korte, oppervlakkige test willen, kost een "OWASP top 10 test" ons eigenlijk meer werk dan een normale test.
Het top 10 project van OWASP omschrijft dus niet een test werkwijze, en het is niet mogelijk om onze testactiviteiten te beperken of concentreren op slechts enkele soorten kwetsbaarheden. Tests die wel volgens een leidraad van OWASP kunnen worden gedaan, zijn bijvoorbeeld:
- Een audit tegen de OWASP Application Security Verification Standard
- Een kwetsbaarhedentest volgens de OWASP Testing Guide
- Een evaluatie van de webapplicatie volgens het OWASP Software Assurance Maturity Model