In cybersecurity is de OWASP Top Tien een belangrijk raamwerk dat organisaties helpt om inzicht te krijgen in de meest voorkomende huidige kwetsbaarheden van webtoepassingen.
Lees onze gids voor meer informatie over de problemen waarvan u zich bewust moet zijn en hoe u het risico van aanvallen op webtoepassingen kunt verminderen.
Wat is de OWASP Top 10?
De OWASP Top Ten wordt erkend door ontwikkelaars en beveiligingsprofessionals over de hele wereld en geeft een overzicht van de belangrijkste kwetsbaarheden die van invloed zijn op de beveiliging van webtoepassingen. De Top Tien is opgesteld door het Open Web Application Security Project (OWASP), een stichting zonder winstoogmerk die organisaties ondersteunt bij het verbeteren van de beveiliging van hun webapplicaties. De Top 10, die voor het eerst werd gepubliceerd in 2003, wordt elke drie jaar bijgewerkt en OWASP accepteert momenteel inzendingen om te helpen bij het produceren van de volgende iteratie van het raamwerk.
De OWASP Top 10 biedt een duidelijke hiërarchie van de meest voorkomende webapplicatiebeveiligingsproblemen, zodat organisaties deze kunnen identificeren en aanpakken op basis van prevalentie, potentiële impact, wijze van exploitatie door aanvallers en gemak of moeilijkheid van detectie. De top tien beveiligingsrisico’s van webapplicaties die door OWASP zijn geïdentificeerd, staan hieronder vermeld.
Injectiefouten
Injectiefouten zoals SQL-, NoSQL-, OS- en LDAP-injecties treden op wanneer onbetrouwbare gegevens naar een programma worden gestuurd als onderdeel van een opdracht of query. Hierdoor kunnen vijandige gegevens van een aanvaller het programma verleiden tot het uitvoeren van onbedoelde commando’s, zoals het verlenen van toegang tot gegevens zonder de juiste autorisatie.
Dankzij het feit dat ze eenvoudig te leren en uit te voeren zijn, zijn SQL-injecties een van de meest gebruikte technieken om webapplicaties aan te vallen. Recent onderzoek heeft uitgewezen dat meer dan 65% van de aanvallen op het web SQL-injecties betreft.
Een recent voorbeeld van misbruik van een injectiefout is de aanval op Dave, een bedrijf voor mobiel bankieren, waarbij de gegevens van zo’n 7,5 miljoen klanten naar het dark web werden geüpload.
Waydev, een analytisch platform dat met het bedrijf samenwerkte, gebruikte gecompromitteerde GitHub en GitLab OAuth tokens. Vermoedelijk hebben hackers ingebroken in het platform van Waydev en de tokens gestolen uit een interne database via een blinde SQL-injectie kwetsbaarheid. De hackers gebruikten de tokens vervolgens om toegang te krijgen tot Dave en andere bedrijven.
Gebroken authenticatie
Gebroken authenticatie is elk beveiligingsprobleem dat het inlogmechanisme van een applicatie aantast. Gebroken authenticatie geeft aanvallers de vrijheid om gebruikerswachtwoorden en sessietokens te compromitteren, of om implementatiefouten uit te buiten. Het kan systemen kwetsbaar maken voor brute kracht-aanvallen, waarbij aanvallers geautomatiseerde tools gebruiken om wachtwoorden voor gebruikersaccounts te kraken.
Blootstelling van gevoelige gegevens
Gegevens, zoals creditcardgegevens van gebruikers en sessietokens, worden vaak blootgesteld aan webtoepassingen en API’s, waardoor aanvallers ze kunnen stelen om identiteitsdiefstal en andere misdrijven te plegen. Om te voorkomen dat deze en andere gevoelige gegevens worden blootgesteld, is het essentieel om ze te beschermen met behulp van encryptie (zowel onderweg als in rust) en om ervoor te zorgen dat er geen tekortkomingen in de applicatielogica zijn die ongeautoriseerde toegang mogelijk zouden kunnen maken.
In 2016 hebben hackers de persoonsgegevens van 57 miljoen Uber-klanten en -chauffeurs gestolen door misbruik te maken van een kwetsbaarheid waardoor ze de twee-factor authenticatie konden omzeilen. Het bedrijf hield het lek meer dan een jaar verborgen en betaalde de aanvallers in het geheim 75.000 pond om de gecompromitteerde gegevens te wissen.
XML External Entities (XXE)
Een XML External Entity-kwetsbaarheid is een zwakte in de manier waarop een applicatie XML-invoer parseert. Het treedt op wanneer een aanvaller XML injecteert die een verwijzing bevat naar een niet-geautoriseerde externe entiteit en de invoer wordt verwerkt door een zwak geconfigureerde XML-parser.
XXE-kwetsbaarheden worden vaak door aanvallers gebruikt om aanvullende technische informatie over een toepassing te verkrijgen – informatie die wordt gebruikt om Denial-of-Service en andere soorten aanvallen uit te voeren. Een billion laughs-aanval, ook wel XML-bom genoemd, is een bekend voorbeeld van een type Denial-of-Service-aanval die gebruikmaakt van XXE-kwetsbaarheden.
Gebroken toegangscontrole
Toegangsbeheer verwijst naar het proces waarmee een applicatie de toegang tot gegevens of functionaliteit beperkt. Gebroken toegangscontrole (BAC) kwetsbaarheden treden op wanneer beperkingen op wat gebruikers mogen doen niet goed worden gehandhaafd, bijvoorbeeld wanneer een gebruiker met beperkte rechten toegang heeft tot gegevens waartoe alleen een gebruiker met hoge rechten toegang zou mogen hebben.
Hoewel BAC-kwetsbaarheden niet noodzakelijkerwijs door een kwaadwillende aanvaller worden uitgebuit, kunnen ze tot een ernstige GDPR-inbreuk leiden als de gegevens van de ene gebruiker onbedoeld aan een andere worden blootgesteld.
Misconfiguratie van de beveiliging
Misconfiguratie van de beveiliging is een veel voorkomend type kwetsbaarheid van webtoepassingen. Het wordt gebruikt om onveilige standaardconfiguraties, onvolledige configuraties en open cloudopslag aan te duiden. Zelfs een kleine misconfiguratie, zoals het weergeven van te veel informatie in foutmeldingen, kan problematisch zijn.
Veiligheidsmisconfiguraties in de cloud, zoals onveilige databases en open Amazon S3-buckets, komen veel voor. Onderzoek suggereert dat cloud-misconfiguraties in 2018 en 2019 hebben geleid tot de blootstelling van 33,4 miljard records in ondernemingen over de hele wereld, waarbij de kosten worden geschat op maar liefst £ 3,85tn.
Cross-site scripting (XSS)
Cross-site scripting (XSS)-fouten doen zich voor wanneer een toepassing onbetrouwbare gegevens opneemt in een webpagina zonder de juiste validatie, of wanneer een toepassing een webpagina bijwerkt met door de gebruiker aangeleverde gegevens met behulp van een browser-API die HTML of JavaScript kan maken. XXS-fouten stellen aanvallers in staat scripts uit te voeren die kunnen worden gebruikt om gebruikerssessies te kapen, websites te ontsieren of gebruikers om te leiden naar kwaadaardige websites.
Cross-site scripting was vroeger een veel groter probleem, maar staat nu lager in de OWASP Top 10-lijst omdat veel app-frameworks ingebouwde beveiligingen bieden. Een kritieke, maar nu gepatchte kwetsbaarheid in het aanmeldproces van het videoconferentieplatform Zoom werd onlangs geïdentificeerd als een kwetsbaarheid die aanvallers in staat kan stellen een XSS-aanval uit te voeren.
Dit komt doordat het webplatform van Zoom, Zoom.us, er niet in slaagde de naam van de gebruiker in de federatieve aanmeldflow te zuiveren, waardoor aanvallers willekeurige JavaScript in de browser van een slachtoffer konden uitvoeren. De ontvanger werd zo gemanipuleerd om op een kwaadaardige link te klikken die via een phishing-e-mail was verstuurd, waardoor de aanvallers dezelfde bevoegdheden kregen als het slachtoffer om de gebruikersinstellingen te openen en te wijzigen.
Insecure deserialization
In programmeren is serialisatie wanneer een object wordt omgezet in een stroom bytes om het op te slaan of te verzenden naar het geheugen, een bestand of een database. Deserialisatie is het omgekeerde van dit proces, waarbij bytes weer worden omgezet in een object zodat het kan worden verplaatst of overgedragen. Dit type kwetsbaarheid kan optreden wanneer applicaties deserialisatie uitvoeren op gegevens die niet worden vertrouwd, waaronder gegevens die door een aanvaller naar een applicatie worden gestuurd.
Eerder dit jaar moest het netwerkhardwarebedrijf Cisco snel een fix ontwikkelen voor een kritieke remote code-execution (RCE) fout in zijn oplossing voor klanteninteractiebeheer, Unified Contact Center Express (CCX). Deze fout werd veroorzaakt door de Java Remote Management Interface van het product, die een onveilige deserialisatie van door de gebruiker aangeleverde inhoud had. Dit betekende dat een aanvaller een kwaadaardig geserialiseerd Java-object naar een specifieke gebruiker op een aangetast systeem kon sturen.
Het gebruik van componenten met bekende kwetsbaarheden
Applicaties en API’s die gebruikmaken van componenten met bekende kwetsbaarheden kunnen de verdediging van applicaties ondermijnen en aanvallers een toegangspunt bieden. Om dergelijke kwetsbaarheden te voorkomen, moeten alle componenten die door webtoepassingen worden gebruikt, up-to-date worden gehouden. Hieronder valt ook het besturingssysteem van een webserver en de bibliotheken van derden die als onderdeel van de code-base van een applicatie worden gebruikt.
Een voorbeeld van misbruik van deze zwakke plek is het Citrix Netscaler-lek, CVE-2020-19781, waardoor aanvallers het apparaat kunnen overnemen en naar het interne netwerk van een organisatie kunnen pivoteren. Deze kwetsbaarheid heeft tot veel ransomware-incidenten geleid en kartels in staat gesteld slachtoffers miljoenen dollars af te persen.
Onvoldoende logging & monitoring
Onvoldoende logging en monitoring, in combinatie met ontbrekende of ineffectieve incidentrespons, is een ander potentieel ernstig risico dat en kan ertoe leiden dat ernstige inbreuken worden gemist of dat te laat wordt ingegrepen. Onbekende uitbuiting van kwetsbaarheden kan aanvallers in staat stellen persistentie te behouden, naar andere systemen over te schakelen en gegevens te manipuleren, te extraheren en te vernietigen.
Om veiligheidsrisico’s tot een minimum te beperken, wordt aanbevolen om webapplicatiegegevens, inclusief telemetrie van webapplicatie-firewalls, centraal te bewaken met behulp van de nieuwste netwerk- en endpoint-bewakingstechnologie. Formele procedures voor incidentrespons, inclusief automatisering van playbooks, worden ook sterk aanbevolen om de tijd die nodig is om op aanvallen te reageren, te helpen verminderen.
Beveiligingsrisico’s van webtoepassingen aanpakken
Zoals de OWASP Top Tien benadrukt, zijn webtoepassingen potentieel kwetsbaar voor een breed scala aan zwakke plekken. Controle op elke kwetsbaarheid tijdens het ontwikkelingsproces is van vitaal belang.
De beveiliging van webapplicaties kan vanaf het begin van de ontwikkeling worden aangepakt door een Security by Design-benadering te hanteren. Organisaties wordt ook aangeraden regelmatig formele, onafhankelijke penetratietests voor webtoepassingen te laten uitvoeren om nieuwe kwetsbaarheden te identificeren en aan te pakken die mogelijk over het hoofd zijn gezien.
OWASP-penetratietests van Redscan
Het testen van webtoepassingen is een van de vele beveiligingsbeoordelingsdiensten die wij bij Redscan aanbieden. Onze ethische hackers testen uitgebreid op kwetsbaarheden in webtoepassingen, waaronder de kwetsbaarheden die zijn opgenomen in de huidige Top 10 van OWASP, en bieden ondersteuning om deze snel en effectief te verhelpen.
Aan het eind van elke OWASP-pen-test leveren wij een gedetailleerd rapport waarin het risiconiveau wordt geschetst en het vereiste hersteladvies wordt gegeven om deze snel en effectief te verhelpen.
Onze pentesters werken nauw met u samen om uw softwaretoepassing te begrijpen en uw vereisten te helpen vaststellen. Ons CREST-geaccrediteerde pentestproces wordt uitgevoerd volgens de hoogste wettelijke, ethische en technische normen en volgt de beste praktijken op belangrijke gebieden zoals voorbereiding & scoping, uitvoering van de opdracht, post-technische oplevering en gegevensbescherming.
Geef snel een offerte