29 mrt, 2022

Waarom pentesting in elk security programma thuishoort

Pentesting, hacker
29 mrt, 2022

Pentesting, wat is het?

Een pentest, ofwel penetratietest, is een vorm van ethisch hacken. Specialisten gaan op zoek naar kwetsbaarheden in systemen, applicaties, … en proberen deze te hacken. Het hoofddoel bij pentesting is om een beeld te krijgen van de huidige situatie en te weten komen waar de figuurlijke deur openstaat.

Er bestaan verschillende vormen van security tests. Van oefeningen op papier nog voor een omgeving opgezet is, tot automatisch testen, nazicht van code, community gebaseerd testen, etc. De voornaamste onderscheidende factor van een pentest is dat het geen automatisch gestuurd proces is. Er wordt effectief manueel getest. Een mens is eenmaal sterker in ambigue cases herkennen, logische fouten opsporen, etc. Verder heeft deze ook de finesse om een kwetsbaarheid uit te buiten op een stabiele wijze. Waarbij een tool zal rapporteren: ‘er zijn ontbrekende updates’, zal een pentester kunnen aantonen dat, door deze ontbrekende update, een aanvaller in staat is om bijvoorbeeld een kopie van de database te bekomen. Het aantonen van deze impact is cruciaal voor het opstellen van de prioriteit van de security roadmap.

Zwart, grijs of wit?

Een belangrijk verschil tussen een pentest en een echte hacker is het verschil in tijd. Een pentest duurt een aantal dagen en is dus gelimiteerd in tijd terwijl een echte aanvaller vaak alle tijd van de wereld heeft. Er bestaan daarom ook verschillende methodes om een pentest aan te pakken. De meest voorkomende zijn:

Black-box testing: Dit is de meest ‘realistische’ test maar vaak ook de minder grondige. Bij black-box testing krijgt de pentester geen extra info. De enige informatie zijn vaak de IP-adressen of URL’s in scope. Er worden geen gebruikersgegevens meegedeeld, welke een aanvaller ook niet altijd ter beschikking heeft.

Grey-box testing: Bij dit type testen komt er wat meer informatie in de richting van de pentester. De belangrijkste hierin is vaak een geldige set van gebruikers. Door de limitatie in tijd van een pentest is grey-box testing naar ons aanvoelen de meest optimale manier van werken. Stel dat je applicatie een sterke login heeft, of zeg maar voordeur, dan ontbreekt het vaak de tijd om aanvallen te proberen op de functionaliteit. Daarom zijn geldige credentials vaak zeer nuttig om snelheid te maken en toch grondig te kunnen testen

White-box testing: Als laatste hebben we de white-box test waarin zoveel mogelijk informatie aan de tester bezorgd zal worden. De insteek hierbij is dat de tester zijn tijd zo optimaal mogelijk zal benutten in het zoeken van kwetsbaarheden op elk niveau. Typische informatie die hier aan de tester bezorgd zal worden zijn architectuur schema’s, broncode, enz.

Voor- en nadelen

Een pentest heeft dus vele voordelen maar dit wil niet zeggen dat andere types van security testing nadelig zijn. Ook dienen de verwachtingen van een pentest heel duidelijk gesteld te worden:
Voordelen
  • Geeft een beeld van  de huidige situatie naar blootstelling van technische kwetsbaarheden
  • Voorkomt negatieve impact op niveau van privacy, beschikbaarheid, reputatie, etc.
  • De uitkomst is een roadmap van technische quick wins waar je onmiddellijk mee aan de slag kan
  • Kwalitatiever in aantal resultaten dan geautomatiseerde testen
Nadelen
  • Brengt geen strategische of organisatorische tekortkomingen aan het licht
  • Dient te gebeuren als eerste maatstaf van nieuwe omgevingen, bij grote veranderingen of periodiek zoals (half) jaarlijks omdat het prijziger kan zijn dan wekelijkse automatische testen
  • Is een momentopname. Een kleine wijziging in een omgeving kan potentieel nieuwe kwetsbaarheden introduceren als deze niet gestructureerd en doordacht geïntroduceerd worden

Conclusie

Een pentest is een sterk instrument om de huidige technische risico’s in kaart te brengen en een roadmap van verbeterpunten op te stellen. Dit is voor vele bedrijven reeds een quick win of bevestiging dat ze op de goede weg zijn. Hou er wel rekening mee dat dit steeds deel moet zijn van een groter geheel waarbij naar de volledige organisatie gekeken moet worden. Security is een complex thema en moet daarom gedragen worden door de gehele organisatie omdat het ook impact kan hebben op elk facet ervan.

Nico Cooman

Pentesting expert
Managing Partner The Security Factory