Pentesting


Pentest is een afkorting van ‘penetration testing’. Bij een pentest kruipen pentesters in de huid van een hacker. Ze proberen op allerlei manieren en met alle mogelijke middelen toegang te krijgen tot de geteste IT-omgeving. Op die manier leggen ze de zwakke plekken van je website, applicatie of zelfs gehele IT-infrastructuur bloot. Na afloop van een pentest kun je met gerichte maatregelen deze kwetsbaarheden zo goed mogelijk verhelpen.

Verschil tussen pentest en vulnerabilityscan?

Een vulnerabilityscan controleert IT-systemen op zwakheden via een volledig geautomatiseerde procedure. Daardoor beperkt een vulnerabilityscan zich tot bekende beveiligingsfouten. Een vulnerabilityscan heeft in veel gevallen niet de intelligentie om kwetsbaarheden te ontdekken die van deze bekende patronen afwijken.

Een pentest gaat veel verder. Pentesters zoeken handmatig en geautomatiseerd op een zo breed mogelijke manier naar zwakheden in de IT-omgeving, afhankelijk van beschikbare tijd, budget en scope van de opdracht. Ze gebruiken daarbij creatieve aanvalstechnieken, methoden en tooling zoals een vulnerabilityscan.

Wanneer is een pentest nuttig?

Pentesten leveren inzichten op waarmee een organisatie de security kan versterken. Dat kan in allerlei gevallen nuttig zijn. Zo kan een pentest de zwakheden van een nieuwe server of website in kaart brengen. In andere gevallen kan het waardevol zijn om het algehele securityniveau van de organisatie in kaart te brengen.

Pentesten zijn over het algemeen zinvol voor organisaties die sterk afhankelijk zijn van een goede beschikbaarheid van hun IT-systemen of over waardevolle gegevens beschikken waarbij de integriteit en vertrouwelijkheid van groot belang is.

Verschillende testmethoden van  pentesting

Er zijn grofweg drie testmethoden te onderscheiden. Er is geen ‘beste’ methode, iedere variant heeft zijn eigen specifieke voor- en nadelen. De keuze hangt dus geheel af van de omstandigheden.

Black box

Bij een black box-pentest krijgt de ethical hacker vooraf geen enkele informatie over de IT-infrastructuur. Wél wordt in veel gevallen een scope afgesproken om een volledig onderzoek te garanderen. De pentester simuleert hierbij als het ware de mindset van een opportunistische, niet-geïnformeerde hacker. Omdat de pentester geen voorinformatie heeft naast de scope, maar wel gelimiteerd is door tijd en budget, is deze testvariant doorgaans de minst grondige. Black box-testing is nuttig wanneer je bijvoorbeeld voor de eerste keer een test uitvoert en een algemeen beeld wilt krijgen van het beveiligingsniveau.

Grey box

Een grey-box-test houdt het midden tussen een black box- en een white box-test. De pentesters krijgen hierbij van tevoren beperkte informatie over de IT-infrastructuur, zoals een klant-/medewerkersaccount.

Grey-box-testen zijn doorgaans minder grondig dan white-box-testen, maar hebben wel een realistisch uitgangspunt. De pentesters beschikken hiermee over ongeveer evenveel voorkennis als bijvoorbeeld een rancuneuze klant/medewerker of een goed geïnformeerde hacker. Grey-box-onderzoeken worden bijvoorbeeld vaak toegepast om te kijken hoe veilig een omgeving is vanuit een klant- of medewerkersperspectief.

White box (ook wel: clear box of glass box)

Pentesters krijgen met een white box-pentest vooraf volledige openheid van zaken. Daardoor kunnen zij de pentest zeer grondig uitvoeren. Het nadeel van deze methode is dat het veel tijd kost, omdat de gehele scope tot in detail onderzocht wordt. Deze methode wordt veelal toegepast op een beperkte scope, bijvoorbeeld een applicatie die zeer belangrijk (bedrijfskritisch) is voor de klant.

Tijdsduur pentest

De duur van een pentest is geheel afhankelijk van het beoogde doel, de gekozen methode en het beschikbare budget. Sommige pentests zijn heel specifiek gericht op een bepaalde website of applicatie. Andere pentests zijn breder gericht, vaak zelfs op de gehele IT-infrastructuur. Afhankelijk van de grootte en complexiteit daarvan kan een pentest weken of zelfs maanden in beslag nemen.

Grondigheid pentest

Ook hier geldt: de grondigheid van een pentest hangt af van de situatie, het doel en het beschikbare budget. Grofweg zijn er twee verschillende typen pentests die de duur en grondigheid bepalen:

Timeboxed pentest

De pentest vindt plaats binnen een afgesproken maximale tijdsduur. Binnen de beschikbaar gestelde tijd worden zoveel mogelijk kwetsbaarheden in kaart gebracht.

Uitvoerige pentest

Bij een uitvoerige scan maakt de pentester van tevoren een inschatting van het benodigde aantal uren per te testen onderdeel.

Werkwijze pentesting

Een pentest begint met een intakegesprek. Hier vindt naast een algemene kennismaking overleg plaats over onder andere de scope van de test, de methode van aanpak, het beschikbare budget en het tijdsbestek waarin de pentest plaatsvindt. Vervolgens vindt de daadwerkelijke pentest plaats. Deze kun je grofweg indelen in 4 fasen:

Inventarisatie

De pentesters maken een grove inventarisatie van het IT-landschap. Ze maken als het ware een situatieschets van de gebruikte systemen.

Enumeratie

De inventarisatie wordt aangevuld met relevante informatie. Denk bijvoorbeeld aan een overzicht van de beschikbaar gestelde diensten door de eerder aangetroffen systemen.

Exploitatie

De pentesters voeren daadwerkelijk de aanval uit en brengen de impact in kaart.

Rapportage en presentatie

De pentesters stellen een rapportage op met daarin de bevindingen, conclusies en aanbevelingen. Meestal geven ze een presentatie op locatie, zodat samen gezocht kan worden naar de meest veilige oplossing voor bepaalde situaties.

Waarom?

Het aantonen van de impact van een kwetsbaarheid maakt het voor een klant mogelijk in te schatten welke kwetsbaarheden voor zijn of haar organisatie de grootste gevolgen heeft en daardoor prioriteit verdient.

Vragen en antwoorden?!

Veel van mijn IT staat in de cloud of is in beheer bij externe providers. Is een pentest dan wel nuttig?

Jazeker. Een cloud- of IT-provider is immers ook kwetsbaar. Natuurlijk hebben grote spelers veel budget voor security, maar ze zijn ook aantrekkelijk voor hackers omdat ze doorgaans over veel data beschikken. En uiteindelijk bestaat een cloud simpelweg uit computersystemen. Bovendien kun je wel IT-diensten afnemen bij externen, jij blijft zelf verantwoordelijk voor een solide security van bijvoorbeeld de data die je bij anderen neerzet.

Wanneer een pentester zwakheden bij een externe partij ontdekt, dan wordt deze partij ingelicht zodat zij maatregelen kunnen nemen. Dat verhoogt uiteindelijk ook jouw securityniveau. In een dergelijke situatie moet de de geteste organisatie wel voor een vrijwaringsverklaring zorgen bij de externe leverancier.

Mijn organisatie beschikt over vertrouwelijke data. Zijn die in goede handen bij een pentester?

Een pentest-organisatie met goede bedoelingen zal altijd van tevoren een NDA (Non Disclosure Agreement) tekenen. Dat is een geheimhoudingsverklaring. Aangetroffen data zijn dan in veilige handen, vaak op straffe van een fikse boete.

Wat gebeurt er met de uitkomsten van een pentest?

De pentester zorgt achteraf voor een rapport en/of presentatie om de bevindingen te verduidelijken. Het rapport bestaat uit een management letter met daarin de belangrijkste conclusies en aanbevelingen, en uit een uitvoeriger technisch gedeelte. Alle rapporten van iedere afzonderlijke pentest worden versleuteld bewaard in een zogeheten ‘cryptocontainer’, zodat ze veilig zijn afgeschermd voor de buitenwereld.

Wat kan ik het beste doen met de bevindingen van een pentest?

Het is zonde als de resultaten van een pentest in een la belanden. Wie zijn IT-beveiliging aan de hand van een pentest daadwerkelijk wil aanscherpen, moet de bevindingen en aanbevelingen vertalen in concrete acties. Het is dan ook raadzaam om aan de hand van het bevindingsrapport concrete taken uit te zetten bij de betreffende verantwoordelijken. Een ticketingsysteem of actieplan kan daarbij helpen.

Zijn er risico’s verbonden aan een pentest?

Een pentest brengt vrijwel altijd risico’s met zich mee. Zo kunnen systemen door de gesimuleerde aanvallen worden verstoord, wat kan resulteren in downtime. Wees hierop voorbereid. Een pentester zal daarom met de opdrachtgever altijd een vrijwaringsverklaring overeenkomen. Onze pentesters zullen downtime altijd proberen te voorkomen en letten tijdens de test op eventuele signalen die op verstoring kunnen duiden.

Hoe herken ik een goede pentester?

Mensenwerk en creativiteit zijn onmisbare kenmerken van een goede pentest. Is de pentest voor het overgrote deel geautomatiseerd, dan is dat doorgaans een slecht teken. Menselijk inzicht en creativiteit zijn cruciaal voor een goede test.

Een ander belangrijk aandachtspunt zijn de kwalificaties van de pentesters. Een VOG (Verklaring Omtrent Gedrag) moet voor zich spreken. Daarnaast zijn certificaten als OSCP/OSCE een teken van vakkennis, praktische vaardigheden, doorzettingsvermogen en creativiteit. Uiteraard zijn er ook pentesters zonder diploma's of certificaten die het uit de praktijk hebben geleerd, maar stem goed af aan de voorkant over de betrouwbaarheid van de pensters of bedrijf, vraag bijvoorbeeld naar hun portfolio.

Hoe bereid ik de organisatie voor op een pentest?

Een goede voorbereiding maakt een pentester veel effectiever en gerichter. Een risico-inventarisatie is daarom waardevol. Vraag je af wat de achilleshiel van jouw organisatie kan zijn. Beschik je bijvoorbeeld over gevoelige bedrijfsinformatie, of verwerk je veel persoonsgegevens? Is imago belangrijk? Opereer je in een controversiële markt en zijn hackers wellicht uit op sabotage van je activiteiten? Probeer te achterhalen wat jouw organisatie een aantrekkelijk doelwit maakt voor kwaadwillenden. Zo kan tijdens de test hierop focus gelegd worden.

Het is daarnaast verstandig een rondgang te maken langs alle afdelingen en stakeholders in de organisatie. Zo kan een hr-directeur wellicht op andere risico’s wijzen dan de CFO. Een bedrijfsbrede inventarisatie zorgt voor een compleet risicobeeld. Dat voorkomt een te nauwe focus tijdens de pentest.

Ten slotte is het verstandig snel te kunnen ingrijpen wanneer de pentest onverhoopt een downtime veroorzaakt. Zorg dan ook dat cruciale systemen snel te herstellen zijn vanuit een test- of acceptatieomgeving. Verder is het verstandig externe IT-providers of cloudleveranciers van tevoren te informeren en eventuele vrijwaringsovereenkomsten af te sluiten. Er zal immers ook een aanval plaatsvinden op hun systemen.