Eén van de diensten die we bij Zerocopter aanbieden is dat hackers (door ons researchers genoemd) onderzoeken of ze kwetsbaarheden kunnen vinden in je online security. Hier leggen we uit hoe dat werkt, welke opties je hebt en hoe de researchers te werk gaan.

Als je iets online zet op het internet ben je automatisch een doelwit voor hackers. Ze scannen reeksen met ip-adressen om te zoeken naar specifieke kwetsbaarheden en misschien heeft jouw site een van die kwetsbaarheden. Voor je het weet is jouw online omgeving een deel van een botnet dat gebruikt wordt om DDOS aanvallen te plegen op banken of ze downloaden je database en verkopen het op het internet. Hoe voorkom je dit?

Jij hebt een website en je wilt dat die website getest wordt op kwetsbaarheden. Na inschrijving op ons platform kun je een zogeheten researcher programma starten. Een groep van minimaal 10 door ons geselecteerde ethical hackers zal binnen de door jou aangegeven scope en periode jouw omgeving afstruinen naar kwetsbaarheden.

Kortom je nodigt ethical hackers uit om je te hacken. Deze hackers komen vanuit de hele wereld en hebben allemaal verschillende specialiteiten. Deze ervaring bundelen ze allemaal in een researcher programma.

Maar naar welke kwetsbaarheden kijken die hackers dan? Hoewel hacken klinkt als magie is het vaak gewoon 'logica'. Heb je, bijvoorbeeld, wel eens geprobeerd -10 Playstations te bestellen? Of heb je in de url het stukje ?user=101 verandert naar ?user=102? Bugs als deze zijn meestal gewoon 'logica', terwijl ze een enorme impact kunnen hebben. Deze zogeheten ‘logical flaws’ kunnen door iedereen worden gevonden, zolang je maar creatief bent.

Iets waar je wel technische vaardigheden voor nodig hebt zijn ‘SQL injections’. Een SQL-database is een manier om gegevens op te slaan, zie het voor je als een (groot) excel-bestand waar alle persoonsgegevens instaan die een klant heeft achtergelaten op een website. Wat SQL doet is communiceren tussen je website en de plek waar de gegevens zijn opgeslagen. Bij een SQL injection is het mogelijk om bij het invullen van je gegevens een opdracht te geven aan de database. Bij een opdracht kun je denken aan het versturen, wissen of bewerken van de gegevens die in de database staan.

SQLinjection

SQL injection. bron: xkcd.com

Naast deze voorbeelden zijn er nog veel meer kwetsbaarheden. Onze researchers gaan in opdracht van jou kijken of ze je site of netwerk binnen kunnen komen. Researchers hebben allemaal hun eigen specialiteiten, denk daarbij aan de verschillende programmeertalen die er zijn. Bij een researcher programma kijken wij welke specialiteiten we kunnen combineren om zo het beste team te samenstellen om naar je security te kijken. Wij hebben de researchers gescreend om te controleren wie ze zijn, dat ze betrouwbaar zijn en wat hun specialiteiten zijn.

Wanneer je een researcher programma aanvraagt kun je zelf de volgende onderdelen aangeven: Wat ze moeten onderzoeken (de scope), binnen welke periode dat onderzoek gedaan moet zijn en hoeveel je uit wilt geven.

De researchers werken op een ‘no cure, no pay’ basis. In de praktijk stel jij een budget vast, wanneer zij een kwetsbaarheid gevonden hebben controleren wij die kwetsbaarheid en kijken naar de beloning die daar tegenover staat. Deze beloningen zijn van tevoren door ons vastgesteld en corresponderen met de ernst van de gevonden kwetsbaarheid. Wanneer het totaal aan beloningen de bovengrens van jouw budget heeft bereikt dan stoppen de researchers hun onderzoek. Als jij op dat moment wil dat ze doorgaan dan kun je direct het budget verhogen. En als ze niks vinden, kost het jou dus ook niks!