Laten we beginnen bij het begin: het testen van informatiesystemen is belangrijk. Dat klinkt als preken voor eigen parochie, maar dat is het niet. Juist omdat we zoveel data produceren is het van belang dat dit gedaan wordt met veilige informatiesystemen die goed beveiligd zijn. Dat testen kan gedaan worden met een zogenaamde “pentest”. Pentest is kort voor penetration test: een test waarbij de pentester (of ethische hacker) door de bril kijkt van een kwaadwillende hacker. Iemand die je data probeert te stelen bijvoorbeeld. Er wordt met een pentest geprobeerd de zwakke plekken in een informatiesysteem (app, website, netwerk of welke vorm van IT dan ook) te vinden. Dit wordt gedaan om de beveiliging daarna te verbeteren zodat een kwaadwillende hacker minder snel naar binnen kan komen. Dit zijn redenen om een pentest uit te laten voeren.
Je kunt grofweg drie zaken testen in een informatiesysteem: software, hardware en mensen. Deze drie vormen namelijk het informatiesysteem en zorgen dat data verwerkt kan worden. Het is dus goed dat deze veilig met elkaar kunnen samenwerken. Toch kom ik nog vaak systemen tegen die niet veilig werken. De ene keer is het technisch: software is verouderd of werkt niet goed. De andere keer zijn het mensen die toegang geven tot ruimtes of systemen waar je normaal gesproken niet bij kan komen. Door een pentest uit te laten voeren krijg je dus inzicht waar de zwakke plekken zijn.
Wanneer voer je een pentest uit?
Een pentest kun je op verschillende manieren en tijden uit (laten) voeren. De ene keer is het onderdeel van een nieuw in te voeren systeem en kijkt de pentester mee tijdens het ontwikkelproces van bijvoorbeeld een website. De andere keer wordt er gevraagd om een systeem dat al langer draait te testen op kwetsbaarheden. In de meeste gevallen zal een pentest worden uitgevoerd op informatiesystemen die kritisch zijn voor de organisatie. Van een website waar een webwinkel haar producten aan biedt tot een gemeente die informatie moet verschaffen aan burgers. Het gaat om systemen waarvan de organisatie afhankelijk is en die in veel gevallen waardevolle informatie/data bevat. Het komt steeds vaker voor dat klanten eisen dat een systeem waarmee de opdrachtnemer werkt gepentest is. Wat wij dan ook zien is dat onze klanten na het afnemen van een eerste pentest deze bijvoorbeeld (half)jaarlijks herhalen.
Hoe kun je pentesten?
Soms wordt ons gevraagd wat de beste manier van pentesten is of welke de meeste kwetsbaarheden vindt. Eerlijk gezegd is er geen beste manier van testen en is het afhankelijk van wens, tijd en budget. We zullen altijd een intake houden om de scope te bepalen (wat moet er wel of niet getest worden, wat voor soort omgeving is, welke wensen zijn er, welke testmethodiek wordt vereist, etc.) en altijd wordt er gewerkt met een Non-disclosure Agreement (NDA). Verder werken we met drie soorten testmethodieken:
- Black box
- Grey box
- White box
Black Box pentest
Dit is een pentest waarbij we niets meer weten dan een IP-adres, een domein of bijvoorbeeld de naam van een organisatie. Er wordt niet gesproken over bepaalde technieken die worden gebruikt, zoals het gebruikte besturingssysteem of de services van een bepaald systeem. De pentest wordt dus uitgevoerd zoals een kwaadwillende hacker ook te werk gaat: zoeken naar informatie, de kwetsbaarheid vinden en eventueel uitbuiten. Er wordt wel gewerkt met een scope die bepaalt wat niet getest mag worden (of juist wel). De Black Box test is een test waarbij binnen een bepaalde tijd kwetsbaarheden gevonden moeten worden. De organisatie die de test laat uitvoeren krijgt dus een goed beeld van wat een buitenstaande met verkeerde bedoelingen kan zien en hoe deze binnen kan komen. Het is dus een perfecte simulatie van een hackaanval.
Grey Box pentest
Een Grey Box pentest zitten (zoals je waarschijnlijk al geraden had) tussen een Black Box pentest en een White Box pentest in. De pentester krijgt hierbij een scope aangeboden aangevuld met extra beperkte informatie over het te testen systeem. Denk aan bijvoorbeeld een website met een gebruikersnaam en wachtwoord. Zo kan de pentester een hack simuleren waarbij de kwaadwillende hacker binnen is gekomen door het verkrijgen van een gebruikersnaam en wachtwoord van een medewerker. De pentester wordt nu gevraagd bevindingen te doen en te kijken of er meer schade kan worden aangericht.
White Box pentest
Hoewel een White Box pentest niet een echte hack simuleert is deze wel zeer interessant voor een organisatie. De pentester krijgt namelijk volledige toegang tot een systeem om zo een goed beeld te schetsen van de kwetsbaarheden. Hoe ziet de server er bijvoorbeeld uit in combinatie met de gebruikte applicatie? Zijn er bepaalde kwetsbaarheden bekend in de gebruikte services die genoemd worden in de scope? Een White Box pentest kan erg uitgebreid zijn omdat de scope groot kan worden: van baliemedewerker tot het gebruikte softwaresysteem. Alles kan worden meegenomen.
Hoe ziet een pentest eruit?
Van de hiervoor genoemde testmethodieken wordt altijd rapportage gemaakt. Deze bespreken we en de belangrijkste bevindingen kunnen desgewenst ook gepresenteerd worden. In de praktijk zijn de stappen van de pentest (black, grey en white box) allemaal gelijk.
- Scope bepalen: Zoals gezegd wordt altijd een scope bepaald: wat moet er getest worden, hoe grondig en binnen welke tijd.
- Huidige situatie: Er wordt gekeken hoe het informatiesysteem er nu uitziet. Welke systemen worden gebruikt, welke services worden er gebruikt, hoe zijn deze ingericht, etc.
- Verzamelen van informatie: Dit wordt ook wel enumeratie genoemd.
- Bepalen van de aanval: afhankelijk van de wens wordt de soort aanval bepaald. De ene keer is deze technisch de ander keer meer gericht op mens in de vorm van social engineering.
- Uitbuiten van de kwetsbaarheden: de exploitatiefase. Wanneer een aanval is bepaald en een kwetsbaarheid gevonden kan deze worden uitgebuit. Soms is het aantonen door middel van een Proof of Concept (PoC) voldoende. De andere keer zal er ook aangetoond moeten worden dat het op het systeem ook daadwerkelijk mis kan gaan.
- Opleveringen: Er wordt altijd een rapport opgesteld. Dit rapport bevat in ieder geval alle genomen stappen, alle bevindingen en een advies op maat. De rapportages die we maken zijn helder en worden altijd besproken met de opdrachtgever. In ieder geval staat het volgende in een rapport:
- Een managementsamenvatting waarin in heldere taal omschreven staat wat de belangrijkste bevindingen zijn.
- Bevindingen en risico’s.
- Conclusie en aanbevelingen.
- Al het ruwe materiaal.
Pentesten is maatwerk
Het rapport dat voortvloeit uit de pentest is altijd maatwerk. Er wordt altijd gekeken naar de soort organisatie, de data die verwerkt wordt, de werkzaamheden, etc. De impact van een kwetsbaarheid kan daarom groter zijn bij de ene organisatie dan bij de andere. Soms worden er kwetsbaarheden gevonden op een systeem die direct opgelost moeten worden, terwijl dezelfde kwetsbaarheid bij een andere organisatie een genomen risico is en pas later zal worden opgelost. Een pentest kan dus helpen met het bepalen van de impact en het risico.
Pentesten lost niet alles op
Vaak wordt gedacht dat een IT leverancier verantwoordelijk is voor veiligheid van het systeem. Dat ligt aan de afspraken die gemaakt zijn. In de ideale wereld is dit natuurlijk gewoon onderdeel van het het werk van de IT leverancier. Maar ook zij kunnen kwetsbaar zijn. Als organisatie ben je gewoon verantwoordelijk voor je eigen veiligheid en de opslag van de data. Stel je voor dat je een clouddienst afneemt bij een IT leverancier dan ben je zelf verantwoordelijk voor hetgene je opslaat in de cloud.
Dus na een pentest ben ik veilig?
Nee, een pentest is in veel gevallen een momentopname. Een snapshot van hoe een systeem er op een bepaald tijdstip uitzag. Iets dat nu veilig lijkt kan morgen niet meer veilig zijn. Daarnaast geeft een rapport inzicht hoe het systeem er bij staat maar als er vervolgens niets met de aanbevelingen wordt gedaan blijft het systeem kwetsbaar. Na een pentest is het dus verstandig een plan te maken om het beveiligingsniveau naar een hoger niveau te tillen.
Ik wil een pentest, wat moet ik doen?
Zorg dat je weet wat je wilt laten pentesten (de scope bepalen) en in welke vorm (black, grey of white box) je dat wilt laten doen. Hierbij kunnen wij ook helpen. Een systeem dat je wilt laten pentesten kan een downtime ondervinden (dat hoeft niet maar is mogelijk). Dat is een bepaald risico en daarom wordt er gewerkt met een NDA en vrijwaringsverklaring. Breng ook in kaart wie er allemaal te maken hebben met het te testen systeem en breng hen op de hoogte. De opdrachtgever blijft altijd in controle.
Dit zijn redenen om een pentest uit te laten voeren. Meer weten of wil je een pentest? Neem dan contact op. We horen graag van je.