Bij een pentest simuleren ethische hackers een aanval op een organisatie om risico's op te sporen. Hiermee maakt pentesting deel uit van een complete beveiligingsstrategie.
Een penetratietest (pentest) is een gesimuleerde aanval op een computersysteem om de beveiliging ervan te evalueren. Pentesters gebruiken de tools, technieken en processen die een kwaadaardige aanvaller zou inzetten om de gevolgen van zwakke plekken in een systeem te vinden en aan te tonen. Een pentest simuleert diverse tactieken en technieken die een organisatie zou kunnen bedreigen. Zo wordt onderzocht of een systeem in staat is om geavanceerde aanvallen vanuit geauthenticeerde en niet-geauthenticeerde posities te weerstaan. Met een gepaste scope kan een pentest in principe de beveiliging van elk aspect van een systeem beoordelen.
Wat is het doel van een pentest?
Applicaties en systemen moeten ontworpen zijn op een manier die het risico op beveiligingslekken minimaliseert. Een pentest geeft inzicht in hoe goed dat doel is bereikt. Op basis hiervan kan pentesting organisaties helpen met:
Het vinden van zwakke plekken in systemen
De doelmatigheid van beveiligingsmaatregelen beoordelen
Ondersteuning van de naleving van regelgeving rondom gegevensbescherming en -beveiliging (bijv. ISO 27001, DigiD, BIO)
Inzicht in de huidige veiligheidspositie van de organisatie waarmee begrotingsprioriteiten kunnen worden gesteld
Advies over pentesting voor uw organisatie?
Aarzel niet om contact met ons op te nemen; wij vertellen u graag meer over alles omtrent Cybersecurity.
Afhankelijk van de doelstellingen van een pentest krijgen testers in verschillende mate informatie over of toegang tot het doelsysteem. In sommige gevallen kiest het pentestteam in het begin voor één benadering en blijft daarbij. In andere gevallen ontwikkelt het testteam zijn strategie naarmate de kennis van het systeem tijdens de pentest toeneemt. Er zijn drie toegangsniveaus voor pentests:
Black Box: Testers krijgen geen architectuurdiagrammen of broncode die niet openbaar beschikbaar is. Een black-box pentest bepaalt de kwetsbaarheden in een systeem die van buiten het netwerk kunnen worden misbruikt.
Grey box: Een grey-box tester heeft de toegangs- en kennisniveaus van een gebruiker, mogelijk met verhoogde rechten op een systeem. Gray-box pentesters hebben meestal enige kennis van de interne aspecten van een netwerk.
White box: Een white box pentester beschikt over extensieve voorkennis over een doelomgeving, wat leidt tot een uitgebreide beoordeling van zowel interne als externe kwetsbaarheden. Dit maakt een white box pentest echter de meest tijdintensieve type pentest.
Uit welke stadia bestaat een pentest?
Pentesters simuleren aanvallen van gemotiveerde tegenstanders. Om dit te doen, volgen ze meestal een plan dat de volgende stappen omvat:
Verkenning. Verzamel zoveel mogelijk informatie over het doelwit uit openbare en particuliere bronnen om de aanvalsstrategie te bepalen. Bronnen zijn onder andere zoeken op internet, ophalen van domeinregistratie-informatie, social engineering, niet opdringerig scannen van netwerken en soms zelfs dumpster diving. Deze informatie helpt pentesters het aanvalsoppervlak van het doelwit en mogelijke kwetsbaarheden in kaart te brengen. Verkenning kan variëren met de omvang en doelstellingen van de pentest; het kan zo eenvoudig zijn als het voeren van een telefoongesprek om de functionaliteit van een systeem te doorlopen.
Scannen. Pentesters gebruiken tools om de website of het systeem te onderzoeken op zwakke plekken, inclusief open services, beveiligingsproblemen met applicaties en kwetsbaarheden in open source. Pentesters gebruiken een verscheidenheid aan tools gebaseerd op wat ze vinden tijdens de verkenning en tijdens de test.
Toegang verkrijgen. Motieven van aanvallers kunnen bestaan uit het stelen, wijzigen of verwijderen van gegevens, het verplaatsen van fondsen of simpelweg het beschadigen van de reputatie van een bedrijf. Voor elke testcase bepalen pentesters de beste tools en technieken om toegang te krijgen tot het systeem, hetzij via een zwakke plek zoals SQL-injectie of via malware, social engineering of iets anders.
Toegang behouden. Zodra pentesters toegang krijgen tot het doelwit, moet hun gesimuleerde aanval lang genoeg aanhouden om hun doel te bereiken: gegevens exfiltreren, wijzigen of functionaliteit misbruiken. Het gaat erom de potentiële impact aan te tonen.
Analyse. De bevindingen van de pentest worden geanalyseerd, op basis hiervan wordt een actiegericht rapport opgesteld. In de rapportage moeten kwetsbaarheden duidelijk worden gedocumenteerd en in context worden geplaatst, zodat de organisatie de gevonden beveiligingsrisico’s kan verhelpen.
Welke types pentests zijn er?
Een grondige benadering van pentesting is essentieel voor optimaal risicobeheer. Dit houdt in dat u de systemen en toepassingen die potentiële doelwitten zijn voor aanvallers laat testen.
Webapplicaties. Testers onderzoeken de effectiviteit van beveiligingscontroles en zoeken naar verborgen kwetsbaarheden, aanvalspatronen en andere potentiële beveiligingslekken die kunnen leiden tot een compromittering van een webapplicatie.
Mobiele applicaties. Met behulp van zowel geautomatiseerde als uitgebreide handmatige tests zoeken testers naar kwetsbaarheden in applicatiebinaire bestanden die op het mobiele apparaat draaien en de bijbehorende server-side functionaliteit. Kwetsbaarheden aan de serverzijde omvatten sessiebeheer, cryptografische problemen, problemen met verificatie en autorisatie en andere veel voorkomende kwetsbaarheden in webdiensten.
Netwerken. Deze test identificeert algemene tot kritieke kwetsbaarheden in een extern netwerk en systemen. Deskundigen gebruiken een checklist met testcases voor gecodeerde transportprotocollen, problemen met de scoping van SSL-certificaten, gebruik van administratieve diensten en meer.
Cloud. Een cloudomgeving verschilt aanzienlijk van traditionele omgevingen op locatie. Meestal worden de beveiligingsverantwoordelijkheden gedeeld tussen de organisatie die de omgeving gebruikt en de aanbieder van clouddiensten. Daarom zijn voor pentests in de cloud gespecialiseerde vaardigheden en ervaring vereist om de verschillende aspecten van de cloud, zoals configuraties, API’s, verschillende databases, encryptie, opslag en beveiligingscontroles, onder de loep te nemen.
Containers. Containers die van Docker afkomstig zijn, bevatten vaak kwetsbaarheden die op schaal kunnen worden uitgebuit. Misconfiguratie is ook een veel voorkomend risico in verband met containers en hun omgeving. Beide risico’s kunnen worden blootgelegd met deskundige pentests.
Embedded apparaten (IoT). Embedded / Internet of Things (IoT) apparaten zoals medische apparaten, auto’s, huishoudelijke apparaten, booreilandapparatuur en horloges hebben unieke eisen voor het testen van software vanwege hun langere levenscycli, afgelegen locaties, stroombeperkingen, wettelijke vereisten en meer. Experts voeren een grondige communicatieanalyse uit, samen met een client/server-analyse om defecten te identificeren die het belangrijkst zijn voor de relevante use case.
Mobiele apparaten. Pentesters gebruiken zowel geautomatiseerde als handmatige analyse om kwetsbaarheden te vinden in applicatie binaries die draaien op het mobiele apparaat en de bijbehorende server-side functionaliteit. Kwetsbaarheden in applicatiebinaire bestanden kunnen authenticatie- en autorisatieproblemen, vertrouwensproblemen aan de clientzijde, verkeerd geconfigureerde beveiligingscontroles en platformoverschrijdende ontwikkelingsframeworkproblemen omvatten. Kwetsbaarheden aan de serverzijde kunnen sessiebeheer, cryptografische problemen, authenticatie- en autorisatieproblemen en andere veel voorkomende kwetsbaarheden in webdiensten omvatten.
API’s. Voor de OWASP API Security Top 10 lijst worden zowel geautomatiseerde als handmatige testtechnieken gebruikt. Enkele van de beveiligingsrisico’s en kwetsbaarheden waar testers op letten zijn gebroken autorisatie op objectniveau, authenticatie van gebruikers, overmatige blootstelling van gegevens, gebrek aan middelen/snelheidsbeperking, en meer.
CI/CD-pijplijn. Moderne DevSecOps-praktijken integreren geautomatiseerde en intelligente codescantools in de CI/CD-pijplijn. Naast statische tools die bekende kwetsbaarheden vinden, kunnen geautomatiseerde pentest tools worden geïntegreerd in de CI/CD-pijplijn om na te bootsen wat een hacker kan doen om de beveiliging van een applicatie te compromitteren. Geautomatiseerde CI/CD-pentests kunnen verborgen kwetsbaarheden en aanvalspatronen ontdekken die met statische scanning niet worden ontdekt.
Welke pentesting tools zijn er?
Er is geen standaard tool voor pentests. In plaats daarvan vereisen verschillende doelen verschillende tools voor het scannen van poorten en applicaties, applicaties, inbreken via Wi-Fi of directe inbraak van het netwerk. In grote lijnen kunnen de tools die een pentester zou gebruiken in vijf categorieën worden ingedeeld.
Verkenningstools voor het ontdekken van netwerkhosts en open poorten
Kwetsbaarheidsscanners voor het ontdekken van problemen in netwerkservices, webapplicaties en API’s
Proxy tools zoals gespecialiseerde web proxies of generieke man-in-the-middle proxies
Exploitatietools om toegang te realiseren tot gevoelige systemen en gegevens
Post-exploitatietools voor interactie met systemen, het onderhouden en uitbreiden van toegang en het bereiken van aanvalsdoelen
Waarin verschilt pentesting van geautomatiseerd testen?
Hoewel pentests meestal handmatig worden uitgevoerd, maken pentesters gebruik van geautomatiseerde scan- en testtools. Maar ze gaan ook verder dan de tools en gebruiken hun kennis van de nieuwste aanvalstechnieken om diepgaandere tests uit te voeren dan een kwetsbaarheidsbeoordeling (ofwel geautomatiseerd testen).
Handmatig pentesten
Handmatige pentests brengen kwetsbaarheden en zwakke plekken aan het licht die niet in populaire lijsten staan (bijv. OWASP Top 10) en testen bedrijfslogica die geautomatiseerde tests over het hoofd kunnen zien (bijv. gegevensvalidatie, integriteitscontroles). Een handmatige pentest kan ook helpen bij het identificeren van fout-positieven die door geautomatiseerde tests worden gerapporteerd. Omdat pentesters experts zijn die denken als tegenstanders, kunnen ze gegevens analyseren om hun aanvallen te richten en systemen en websites testen op een manier die geautomatiseerde testoplossingen die een gescripte routine volgen niet kunnen.
Geautomatiseerd testen
Geautomatiseerd testen genereert sneller resultaten en heeft minder gespecialiseerde professionals nodig dan een volledig handmatig pentestproces. Tools voor geautomatiseerd testen houden de resultaten automatisch bij en kunnen deze soms exporteren naar een gecentraliseerd rapportageplatform. Ook kunnen de resultaten van handmatige pentests variëren van test tot test, terwijl het herhaaldelijk uitvoeren van geautomatiseerde tests op hetzelfde systeem dezelfde resultaten oplevert.
Wat zijn de voor- en nadelen van pentesting?
Nu de frequentie en ernst van beveiligingslekken jaar na jaar toeneemt, hebben organisaties nog nooit zoveel behoefte gehad aan inzicht in hoe ze aanvallen kunnen weerstaan. Daarnaast vereisen diverse regelgevingen en beveiligingsnormen zoals de AVG en ISO 27001 dat een organisatie met regelmaat haar beveiliging laat testen. Met deze druk in het achterhoofd volgen hier enkele voor- en nadelen van dit type beveiligingstest.
Voordelen van pentesting
Identificeert zwakke punten in beveiligingsmaatregelen, zoals geautomatiseerde tools, configuratie- en coderingsstandaarden, architectuuranalyse en andere lichtere vormen van kwetsbaarheidsbeoordeling.
Lokaliseert zowel bekende als onbekende softwarefouten en zwakke plekken in de beveiliging, inclusief kleine fouten die op zichzelf niet zo zorgwekkend zijn, maar die wel materiële schade kunnen veroorzaken als onderdeel van een complex aanvalspatroon
Kan elk systeem aanvallen, waarbij wordt nagebootst hoe de meeste kwaadwillende hackers zich zouden gedragen, zodat een echte tegenstander zo goed mogelijk wordt nagebootst.
Nadelen van pentesting
Het is een tijdrovend en kostbaar proces
Het voorkomt niet volledig dat bugs en kwetsbaarheden de productieomgeving bereiken; het biedt alleen inzicht om deze risico’s te beperken