De tien risico’s
De lijst is gerangschikt op hoe vaak en hoe ernstig de problemen in de praktijk voorkomen.
- A01 Broken Access Control: gebruikers kunnen gegevens of functies bereiken waarvoor ze geen rechten hebben. Het vaakst voorkomende en meest schadelijke probleem.
- A02 Cryptographic Failures: gevoelige data onversleuteld opgeslagen of verzonden, zwakke algoritmes, slecht sleutelbeheer.
- A03 Injection: invoer die als code wordt uitgevoerd, zoals SQL-injectie en cross-site scripting.
- A04 Insecure Design: fouten in het ontwerp zelf, die geen implementatie kan rechtzetten. Denk aan een wachtwoordherstel dat geraden kan worden.
- A05 Security Misconfiguration: standaardwachtwoorden, open cloudopslag, te uitgebreide foutmeldingen, ontbrekende headers.
- A06 Vulnerable and Outdated Components: verouderde bibliotheken en frameworks met bekende lekken.
- A07 Identification and Authentication Failures: zwakke wachtwoordregels, geen bescherming tegen brute force, slechte sessiebeheer.
- A08 Software and Data Integrity Failures: updates of afhankelijkheden zonder integriteitscontrole, onveilige deserialisatie.
- A09 Security Logging and Monitoring Failures: aanvallen worden niet gedetecteerd omdat er niets gelogd of bekeken wordt.
- A10 Server-Side Request Forgery: de server wordt misbruikt om interne systemen aan te spreken.
Wat betekent dit voor uw bedrijf?
De meeste datalekken bij KMO’s vallen in de eerste drie categorieën: toegangsrechten, versleuteling en injectie. Ze zijn goed te voorkomen met secure coding, codereviews en een pentest voor livegang. Vraag uw ontwikkelaar hoe elke categorie in uw applicatie is afgedekt; een goede partner heeft daar een antwoord op.
OWASP publiceert ook specifieke lijsten voor API’s, mobiele apps en machine learning, en een testgids die pentesters zoals wij als methodiek gebruiken.