Op Infosecurity.be gaf Sebastien Deleersnyder, beveiligingsdeskundige bij Zenitel en oprichter van de Benelux-tak van The Open Web Application Security Project, een update over de OWASP Top 10. De release candidate van de OWASP top 10 van 2010 werd in november 2009 voorgesteld op de OWASP AppSec DC Conference en bleef tot het einde van afgelopen jaar open voor commentaar. "We hebben daar heel wat feedback op gekregen, vooral bevestigend. De finale top 10 zal niet meer wijzigen, op enkele verschuivingen aan de onderkant na", aldus Deleersnyder. De publicatie van het finale document is gepland voor april.

Verschuiving

Deze OWASP top 10 is de vierde versie van het document, en in de loop der jaren heeft er volgens Deleersnyder een verschuiving plaatsgevonden in focus: "Terwijl de versies van 2004 en 2005 vooral op aanvallen gericht waren, bekeek de editie van 2007 de veiligheid van webapplicaties eerder vanuit het concept kwetsbaarheden, gaten in software die uitgebuit worden. In de huidige editie trekken we dit nog breder en bekijken we het totaalplaatje vanuit het standpunt van risico's." Om dit te benadrukken, is de naam van de OWASP top 10 voluit gewijzigd naar 'The Top 10 Most Critical Web Application Security Riks'.

'Injection' voert de lijst van beveiligingsrisico's aan. Bij een injectie brengt een aanvaller een applicatie ertoe om gebruikersinvoer als commando's uit te voeren. Zo is SQL-injectie nog altijd een veel voorkomend probleem. "Ik weet echt niet waarom", zegt Deleersnyder, "want deze fout is vrij eenvoudig te vermijden." De impact is gewoonlijk vrij ernstig: de aanvaller kan meestal de volledige database lezen of wijzigen, en heeft soms zelfs toegang tot het onderliggende besturingssysteem. Ook de klassieke cross-site scripting (XSS) aanval komt nog vrij vaak voor en heeft als typische impact het stelen van gebruikersgegevens of het forwarden van de gebruiker naar een louche website. Het levert een tweede plaats op in de OWASP top 10.

De volgorde van de risico's in de top 10 wordt bepaald door de OWASP Risk Rating Methodology, die rekening houdt met zowel de moeilijkheidsgraad van de aanvalsvector, hoe vaak de kwetsbaarheid voorkomt, hoe eenvoudig ze kan worden gedetecteerd en hoe zwaar de technische impact is. "Door onze verschuiving naar een risicostandpunt zijn injecties op de eerste plaats gekomen in de top 10. Zelfs al komen cross-site scripting aanvallen meer voor, de impact van injecties is veel groter", legt Deleersnyder uit.

De meeste risico's kunnen overigens eenvoudig opgelost worden met de juiste tools, merkt Deleersnyder op: "Een degelijke validatie van de gebruikersinvoer lost al veel op. Dat klinkt wel eenvoudig, maar om dat goed te doen, moet je toch een behoorlijk uitgebreide validatie doen. Daarom heeft OWASP hiervoor ook software ontwikkeld, zoals de Enterprise Security API (ESAPI)."

Misconfiguraties

De nieuwe methodologie om prioriteiten te berekenen heeft natuurlijk voor wijzigingen in de top 10 gezorgd. Zo zijn 'Malicious File Execution' en 'Information Leakage and Improper Error Handling' uit de top 10 gebonjourd, terwijl twee nieuwe gevaren de kop opsteken: 'Security Misconfiguration' en 'Unvalidated Redirects and Forwards'. "'Malicious File Execution' is uit de lijst verdwenen omdat deze kwetsbaarheid vooral voorkwam bij PHP-applicaties en dus te specifiek voor het PHP-platform was", legt Deleersnyder uit.

'Security Misconfiguration' is een nieuw risico dat met stip op nummer 6 van de top 10 van 2010 binnenkomt. Dit gevaar schuilt in een brede waaier aan implementatiedetails. Alle webtoepassingen vertrouwen uiteindelijk op een veilige basis, zoals het netwerk, het besturingssysteem, andere toepassingen en softwarebibliotheken. Is het gebruikte applicatieframework bijvoorbeeld niet gepatcht, dan kan de webapplicatie zelf nog zo veilig zijn, het maakt het aanvallers wel mogelijk om via een kwetsbaarheid van het framework in je applicatie in te breken. Of misschien heb je default accounts vergeten te verwijderen of functionaliteit die je niet gebruikt vergeten uit te schakelen. "Ontwikkelaars vergeten vaak dat ze niet enkel de code die zijzelf schrijven veilig moeten maken", vat Deleersnyder dit probleem samen. "Eén kwetsbaarheid kan voldoende zijn om het hele systeem onderuit te halen, dus de impact is vrij groot."

Redirects

Het andere nieuwe risico is 'Unvalidated Redirects and Forwards'. Redirects komen in webapplicaties heel veel voor. De URL van zo'n redirect bevat vaak in een parameter de URL van de bestemming. Als zo'n redirect niet gevalideerd wordt, kan een aanvaller zijn slachtoffer naar een willekeurige website sturen door gewoon de juiste parameter in te vullen. Hetzelfde principe geldt voor forwards, die een aanvraag intern naar een nieuwe pagina in dezelfde webapplicatie doorsturen. Als forwards niet gevalideerd worden, kan een aanvaller een niet gevalideerde forward gebruiken om controles op authenticatie of autorisatie te omzeilen, met alle gevolgen van dien.

Hoe bescherm je je applicatie tegen dit soort aanvallen? "Vermijd allereerst redirects en forwards zoveel als je kan", waarschuwt Deleersnyder. "Heb je de functionaliteit toch nodig, valideer dan de URL van het doel om je ervan te vergewissen dat het om een website gaat die je toelaat. Je moet er niet van uitgaan dat gebruikers die URL niet manipuleren, want ze kunnen dat. Redirects en forwards zijn heel eenvoudig uit te buiten en komen vrij vaak voor. Onze tool ESAPI kan ontwikkelaars helpen om hun webapplicatie te beveiligen tegen dit risico."

Sensibilisering

Naast de top 10 biedt OWASP nog heel wat handige documenten aan die je kunnen helpen om beveiligingsproblemen tegen te gaan. Zo vind je een aantal best practices in de OWASP Guide to Building Secure Web Applications, en er is ook een OWASP Code Review Guide en een OWASP Testing Guide. Verder biedt OWASP een live-cd aan met allerlei open source tools. De OWASP top 10 is dan ook vooral een instrument voor sensibilisering, een startpunt om je webapplicaties veiliger te maken.

Bron: Techworld