Academy

Hoe kan OWASP je helpen met applicatiebeveiliging?

July 27, 2023

Stef Geeurickx

Facebook logo in yellowLinkedIn logo in yellow

‘Hackers halen hun hart op aan goedkope slimme toestellen’, ‘Facebook-gegevens van 3 miljoen Belgen slingeren rond op internet’, ‘Klantgegevens van Nederlandse en Belgische online shoppers te koop aangeboden op internet’, ‘Cyberaanval op websites van Defensie en de minister-president’, … De lijst met artikelen over applicatiebeveiliging en gegevensbescherming wordt met de dag langer. Het is meer dan ooit een hot topic voor ontwikkelaars en testers om applicaties te beveiligen tegen kwaadwillige praktijken. Om op de hoogte te blijven van de nieuwste ontwikkelingen op het gebied van beveiligingsrisico’s en oplossingen, zijn OWASP-standaarden een uitstekende leidraad.

OWASP wat?

Ten eerste, wat is OWASP? Het Open Web Application Security Project, ook bekend als OWASP, is een open-source project dat gratis informatie over applicatiebeveiliging biedt. De OWASP stichting omschrijft zichzelf als:

“Een non-profit stichting die werkt aan het verbeteren van softwarebeveiliging. Door middel van door de community geleide open-source softwareprojecten, honderden lokale afdelingen wereldwijd, tienduizenden leden en toonaangevende onderwijs- en trainingsconferenties is de OWASP Foundation de bron voor ontwikkelaars en technologen om het web te beveiligen.”

Om de paar jaar brengt OWASP een top 10 van kwetsbaarheden uit, een een breed gedragen lijst van de meest kritieke beveiligingsrisico’s voor (web)applicaties. Het is een ‘bewustmakingsdocument’ dat bedrijven in hun processen moeten opnemen om de risico’s te minimaliseren. Om het wat tastbaarder te maken, nemen we een concreet voorbeeld.

Bijvoorbeeld: ‘injection’

Een van de items in de top 10 is ‘injection’. Stel, je gebruikt een website en je klikt op een product. Op de achtergrond kan de applicatie een SQL-query als deze naar de database sturen:

SELECT Product_Naam, Product_Description
FROM Producten
WHERE Product_id = 123

In dit geval krijgt de gebruiker de naam en beschrijving van het product met id 123. Vrij eenvoudig. Laten we nu eens aannemen dat je die query onderschept, licht aanpast en op deze manier naar de database stuurt:

SELECT Product_Naam, Product_Description
FROM Producten
WHERE Product_id = 123 OR 1 = 1

In het bovenstaande geval hebben we het statement ‘OR 1=1’ toegevoegd aan de query. Eén gelijk aan één is altijd waar. Dus als we die query naar de database sturen, krijgen we een lijst met ALLE producten. Zelfs artikelen die misschien verborgen waren of niet beschikbaar voor ons gebruikersprofiel.

En we kunnen nog creatiever zijn. Laten we zeggen dat we de bestaande query opnieuw aanpassen en samenvoegen met een andere query:

SELECT Product_Naam, Product_Description
FROM Producten
WHERE Product_id = 123 UNION SELECT Gebruikersnaam, Wachtwoord FROM Gebruikers

Door de extra Union-query toe te voegen, kunnen we alle gebruikersnamen en wachtwoorden van de applicatie te pakken krijgen. Of we kunnen net zo gemakkelijk een tabel ‘DROPPEN’ en daarmee de applicatie laten mislukken.

De essentie

Zonder in detail te treden over hoe je je applicatie kunt beschermen tegen deze verschillende soorten aanvallen, is het duidelijk dat ontwikkelaars en testers zich bewust moeten zijn van deze risico’s. En vooral: weten hoe ze hun applicaties ertegen kunnen beveiligen.

Bij Brightest investeren we actief in onze beveiligingsoplossing. We zijn ervan overtuigd dat we alleen echte kwaliteit kunnen leveren als we ook kwetsbaarheden in applicaties testen en aanpakken. Wil je meer weten over dit onderwerp? Neem contact met ons op of schrijf je in voor onze training rond webapplicatiebeveiliging.

Laten we samenwerken

Benieuwd hoe securitytesten jouw organisatie kunnen helpen?

Neem contact met ons op