Eerder scheef ik al over de (on)zin van pentesten (https://www.guardian360.eu/nl/de-onzin-van-pentesten/). Spoiler alert: alleen wanneer een organisatie weet welk type pentest zinvol is, weet wat er getest moet worden en de juiste motivatie heeft, dan kan een pentest zinvol zijn. In deze blog beschrijf ik waarom we wat mij betreft zouden moeten stoppen met blackbox pentesten.
Verschillende typen pentesten.
Er zijn verschillende typen pentesten. Wij hanteren bijvoorbeeld Blackbox- en Whitebox-methoden.
Bij een Blackbox-test weten wij zo min mogelijk van de applicaties, servers en/of infrastructuur die getest moet worden. De gedachte hierachter is dat een ethisch hacker evenveel weet van het systeem als een criminele hacker.
In het geval van een Whitebox-test hebben we wel toegang tot bijvoorbeeld de documentatie van de applicatie, netwerktekeningen en soms zelfs tot het complete systeem/platform of de broncode.
Blackbox testen: zonde van de tijd!
Bij Blackbox pentesten moet een ethisch hacker relatief veel tijd steken in het verkennen van een systeem. Omdat hij/zij niets weet van het systeem zal er eerst gezocht moeten worden naar zwakke plekken en meer informatie over het systeem zelf. Pas als het systeem in kaart is gebracht kan de pentester aan de slag met waar hij/zij voor ingehuurd zou moeten zijn: inbreken in het systeem zelf. Afhankelijk van hoe goed een systeem is beveiligd, kost het een ethisch hacker een flink deel van zijn beschikbare tijd om verkenning te doen. Veel organisaties redeneren daarbij dat een kwaadwillende hacker ook die tijd moet investeren, dus is het logisch dat een ethisch hacker die tijd er ook in steekt. Wat mij betreft is het juist zonde van de tijd.
Wat mij betreft zou een pentest erop gericht moeten zijn een systeem veiliger te maken en niet alleen aan te geven waar zwakke plekken zitten. Omdat veel pentesters slechts een gefixeerd aantal uren hebben voor een pentest, moet er dus vantevoren nagedacht worden over hoe je die uren het meest efficiënt en effectief inzet. Wat mij betreft dus niet in verkenning, maar juist in het aandragen van oplossingen en het adviseren van de ontwikkelaars/beheerders van een systeem.
Vaak wordt een andere zwakke plek in de beveiliging misbruikt
Een andere reden dat een ethisch hacker zijn tijd wat mij betreft anders zou moeten besteden, is dat kwaadwillende hackers veel verder kijken dan kwetsbaarheden in een systeem om in te breken. Een crimineel doorloopt vaak de volgende 7 fasen om tot een succesvolle hack te komen (Zie ook: https://www.guardian360.eu/nl/zonder-monitoring-ben-je-eigenlijk-blind-2/):
- Crimineel verkent het doelwit
- Crimineel start met het versturen van gepersonaliseerde e-mails
- Crimineel laat gebruiker malware installeren via link of bijlage
- Crimineel zet met de verkregen informatie een achterdeur open in het systeem
- Crimineel verhoogt zijn rechten in het netwerk
- Crimineel verzamelt data
- Crimineel downloadt data naar zijn eigen systeem
In plaats van het hacken van een systeem, wordt de mens “gehackt”. Door een vertrouwde gebruiker te verleiden een handeling uit te voeren die de kwaadwillende hacker toegang geeft tot het netwerk, omzeilt de crimineel veel technische beveiligingslagen om zijn doel te bereiken. Wat mij betreft is het bij en pentest dan ook veel zinvoller om er vanuit te gaan dat een kwaadwillende al kennis van de systemen heeft of zelfs al binnen het netwerk is, zodat je dan gericht kunt gaan testen wat er mis kan gaan. En wat je kunt doen om de crimineel te vertragen of zelfs te stoppen.
Mijn advies?
Denk goed na wat je met je pentestbudget wilt bereiken. Ik ben ervan overtuigd dat je dan sneller voor een whitebox pentest zult gaan!