Waarom manuele pentesten essentieel zijn bij uitgebreide Application Security Testing

(Beeld: Indusface)

Volgens Gartner groeit de markt van Application Security Testing (AST) met een CAGR van 10% op jaarbasis. De markt voor pentesten (of penetratietesten) groeit met een CAGR van 23,95%. Met de komst van DevSecOps en de verschuiving van resterende concepten, wordt geautomatiseerd testen gezien als de weg vooruit.  Maar waarom zal het aantal manuele pentesten naar schatting sneller groeien? Dit artikel probeert deze vraag te beantwoorden en gaat in op de vraag waarom het manueel pentesten zeer belangrijk is en hoe het moet worden aangevuld met geautomatiseerde scanners om een uitgebreide detectie te garanderen.

Dynamic Application Security Testing (DAST)

Gezien de context van dit artikel focussen we hier op Dynamic Application Security Testing (DAST). DAST-technieken worden toegepast door middel van geautomatiseerde scanners OF manuele pentesten.

Geautomatiseerde scanners

Er zijn twee stappen om kwetsbaarheden te vinden door middel van geautomatiseerde tools. Als eerste is er crawling, waarbij real-time acties van gebruikers worden nagebootst door crawlers. Ten tweede kunnen verzoeken worden gegenereerd die vervolgens worden gesimuleerd/gereproduceerd met kwaadaardige aanvalspatronen om te zien hoe de applicatie reageert.

Dergelijke scanners zijn goed in het vinden van gedocumenteerde kwetsbaarheden en standaard testcases om deze te identificeren. Hoewel geautomatiseerde scanners goed zijn in het identificeren van kwetsbaarheden in een applicatie, zullen ze niet in staat zijn om het risico/de ernst ervan nauwkeurig te bepalen. Hiervoor is de 'context' van de applicatie nodig, die bij geautomatiseerde scanners meestal niet beschikbaar is. Geautomatiseerde scanners moeten worden gebruikt als een startpunt, omdat ze helpen bij het identificeren van goed gedocumenteerde kwetsbaarheden.

Manuele pentesten

Manuele pentesten wijzen op testen uitgevoerd door mensen. Hoewel testers vertrouwen op geautomatiseerde scantools en op basis daarvan verslag uitbrengen, krijgen ze hier een idee van de potentiële kwetsbaarheden in de applicatie. Vervolgens gebruiken ze de verzamelde informatie en doen ze aanvullende testen.

Kwetsbaarheden die alleen bij manuele pentesten gevonden worden

Testers proberen de zakelijke workflows te begrijpen en te manipuleren. Daarna onderzoeken ze of er misbruik kan worden gemaakt van een logische fout in de applicatie.

Enkele veelvoorkomende voorbeelden van zwaktes in de businesslogica zijn prijsmanipulatie, privilege-escalatie…

Kwetsbaarheden die alleen door een combinatie van mens en geautomatiseerde scanner gevonden worden

Aanvallers zullen de bedrijfslogica en de applicatieflow begrijpen en zouden meerdere kwetsbaarheden kunnen gebruiken om een grotere aanval uit te voeren door een reeks van kleinere zwaktes.

Dit zijn kwetsbaarheden die alleen gevonden kunnen woorden als zowel menselijke als geautomatiseerde scanners samenwerken. Bijvoorbeeld IDOR, DOM-gebaseerde XSS etc.

Nood aan conformiteit

Vandaag de dag heeft elk land en elke industrie eigen databeschermingswetten en -regelgevingen. De meeste hiervan verplichten gewone pentesten voor mobiele en webapplicaties.

Bijvoorbeeld,

- PCI-DSS vraagt om pentesten voor applicaties wanneer een verandering plaatsvindt.

- SOX (Sarbanes-Oxley Act van 2002) en HIPAA (Health Insurances & Accountability Act) verplicht pentesten bij applicaties. Gelijkaardige testen worden verzocht door andere databeschermingsstandaarden zoals GLBA, FISMA en OWASP.

- IS 27001 heeft ook richtlijnen voor pentesten.

- GDPR beveelt gewone pentesten aan voor veilige applicaties.

Pentesten zijn dus niet langer enkel een goede applicatiestrategie, maar een must vanuit conformiteitsperspectief.

Methodologie van pentesten

Bij IndusFace volgen we de OWASP, OSSTMM & SANS Top-25 richtlijnen bij de beoordelingen van onze webapplicaties.

De uitgebreide details van de methodologie worden getoond in onderstaand diagram:

(Image credit: Indusface)

Conclusie

Zonder pentesten is geen enkele strategie voor applicatietesten volledig. Zoals aangegeven, zijn er kwetsbaarheden die niet gevonden kunnen worden zonder manuele tussenkomsten en is dit essentieel wanneer bedrijven conform de regelgevingen willen werken. Kies oplossingen die geïntegreerde manuele pentesten & geautomatiseerde scanners aanbieden zoals IndusFace WAS, zodat je het beste van beide werkwijzen krijgt vanuit eenzelfde perspectief.