De OWASP Top10:2021 werd zopas bekendgemaakt!


Vandaag werd de nieuwe OWASP Top 10 bekendgemaakt. De OWASP top 10 is de hitlijst van de meest voorkomende en meest kwetsbare veiligheidslekken in webapplicaties op een bepaald moment. De lijst wordt iedere drie à vier jaar opgesteld. Het belang van de lijst mag niet onderschat worden. De OWASP top10 geldt als dé referentielijst voor softwareontwikkelaars en cybersecurity professionals om de huidige trends in cybersecurity te kennen en wordt vaak gebruikt als checklist bij audits, penetration tests en controles.


De lijst is echter geen allesomvattend overzicht van alle categorieën van kwetsbaarheden maar geeft aan welke aanvallen in de op cybersecurity vlak en kan hoogstens aanzien worden als de absoluut minimale maatregelen die genomen moeten worden bij de ontwikkeling van een webapplicatie.


De huidige top10 is de eerste aanpassing sinds 2017 en heeft een grote verandering teweeggebracht in de lijst. Zo zijn er drie nieuwe categoriëen opgenomen en werden 4 categoriëen van naam en/of scope gewijzigd.





De OWASP Top 10 ziet er thans als volgt uit:


A01:2021 – Broken Access Control


Broken access control heeft de twijfelachtige eer om van de vijfde plaats op te klimmen naar de eerste plaats. Toegangscontrole zorgt ervoor dat gebruikers geen toegang krijgen tot gegevens buiten de opgelegde restricties. Fouten in deze toegangscontrole leiden tot ongeoorloofde toegang tot gegevens, wijziging of vernietiging van gegevens.


A02:2021 – Cryptographic failures


Cryptografisch falen is opgeklommen van de derde plaats en noemde in 2017 sensitive data exposure (blootstellen van gevoelige data). De naamswijziging werd doorgevoerd om niet het gevolg van de kwetsbaarheid te benoemen maar de oorzaak. De naamswijziging zorgt echter voor een beperktere scope daar het lekken van gevoelige data niet enkel door streke encryptie opgelost kan worden. Het is echter een belangrijke categorie in het kader van beveliiging van data en in het bijzonder gevoelige persoonsgegevens zoals medische gegevens, betalingsgegevens en wachtwoorden van data in transit of in rust.


A03:2021 – Injection


Code injectie stond in 2017 nog op de eerste plaats in de lijst en omvat onder meer SQL injectie, en LDAP injectie. Thans is deze categorie naar de derde plaats gezakt. Ook de vroegere nummer 7, met name de meest voorkomende kwetsbaarheid cross-site scripting (xxs) is thans opgenomen in de injection-categorie en maakt geen eigen categorie meer uit. De verlaging van de positie is het gevolg van de doorgaans eerder lage impact van de kwetsbaarheden. Er is sprake van injectie wanneer de gebruiker ongewenste code of querries kan laten uitvoeren in een URL of een invulveld.


A04:2021 – Insecure design


Insecure design of een onveilig ontwerp van een applicatie is de hoogste nieuwkomer in de lijst en onmiddellijk ook een van de meest algemene of ruime categoriëen. Er is sprake van een onveilig ontwerp wanneer er onvoldoende validatie is opgenomen in de bedrijfslogica. Veilig ontwerpen van web applicaties is een methodologie die voordurend bedreigingen evalueert en ervoor zorgt dat code robuust is ontworpen en getest om bekende aanvalsmethodes te voorkomen.


A05: 2021 – Security misconfiguration


Omdat er steeds meer gebruik gemaakt wordt van frameworks en third-party-software, heeft het correct instellen en configureren van de veiligheidsmaatregelen aan belang ingewonnen. Het uitzetten of niet-inschakelen van bepaalde veiligheidsvoorzieningen zoals meerstapsverificatie maakt deel uit van deze categorie.


A6:2021 – Vulnerable and outdated Components


Wanneer gebruik gemaakt wordt van third party platformen, componenten en frameworks, moeten deze componenten ook up-to-date gehouden worden, moet de compabiliteit met de andere componenten in de gaten gehouden worden en moeten naar gekende kwetsbaarheden gezocht worden en opgelost.


A7:2021 – Identification and Authentication Failures


Bevestiging van de identiteit van de gebruiker, authenticatie en sessiebeheer zijn van cruciaal belang voor de bescherming tegen authenticatiegerelateerde aanvallen. Er kan sprake zijn van kwetsbaarheden indien geautomatiseerde aanvallen of brute-force aanvallen mogelijk zijn, zwakke wachtwoorden mogelijk zijn, wachtwoorden niet in gehashte vorm worden bewaard of de sessie identificator hergebruikt wordt na een succesvolle login.


A8:2021 – Software and Data Integrity Failures


Deze nieuwe categorie doet zich voor wanneer de integriteit van data of software onvoldoende geverifieerd wordt. Deze kwetsbaarheid kan zich voordoen wanneer applicaties afhankelijk zijn van onbetrouwbare bronnen, libraries of databanken. Automatisch updaten zonder integriteitscontrole van de updatebestanden kan de kwetsbaarheid ook veroorzaken. Een recent voorbeeld hiervan is de SolarWinds update.


A9:2021 – Security Logging and Monitoring Failures


Elke dag vinden er aanvallen plaats. Het is dan ook erg belangrijk om de bedrijfsmiddelen te loggen en te monitoren. Als hiervoor onvoldoende aandacht is, zullen inbreuken onopgemerkt blijven. Logs moeten leesbaar zijn, gemonitord worden, niet alleen lokaal opgeslagen worden, en u waarschuwen bij een aanval.


A10:2021 – Server-Side Request Forgery (SSRF)


SSRF-aanvallen treden op wanneer de server een verzoek doet met een door de gebruiker opgegeven URL en deze niet goed valideert. Op deze manier kan een aanvaller onder meer interne verzoeken doen, een poortscan uitvoeren of firewalls omzeilen. Dit is een nieuwe categorie van aanvallen die door het succes van cloud diensten in de toekomst vermoedelijk steeds meer zal voorkomen.



Conclusie:


De nieuwe categoriëen van kwetsbaarheden hebben vooral betrekking op het steeds veelvuldiger gebruik van frameworks en libraries bij het ontwikkelen van nieuwe applicaties in plaats van het ontwikkelen van applicaties met volledig eigen code op maat.


Het blijft erg belangrijk om bij het ontwikkelen van een nieuwe applicatie voldoende aandacht te besteden aan de veiligheidsmaatregelen die geïmplementeerd worden en aan het wegwerken van kwetsbaarheden. Hiervoor moet de software getest en gescand worden, zowel bij de ontwikkeling als gedurende de levensduur van de applicatie.


Mr. Franklin kan u bijstaan door web-application penetratie testen uit te voeren, waarbij rekening gehouden wordt met onder meer de OWASP top 10 kwetsbaarheden. Deze penetration testen worden uitgevoerd door ervaren veiligheidstesters en bug bounty hunters. Meer informatie kan u hier vinden of neem vrijblijvend contact met ons op via olivier@misterfranklin.be.