Hoe ziet een bug bounty-programma eruit? En wat levert het op? We gaan in gesprek met Visma over het nut voor security-experts en de uiteindelijke winst voor de gebruiker van de software.
“Met het bug bounty-programma hebben we extra ogen die naar onze producten kijken”, legt Chief Information Security Officer Cindy Wubben bij Visma uit. Het zijn de ogen van externe medewerkers die software veiliger moeten maken. Deze ethische hackers worden aangemoedigd om kwetsbaarheden in software te vinden en te rapporteren. Op die manier kan voorkomen worden dat een crimineel ze misbruikt, met potentieel zeer schadelijke gevolgen.
Voor Visma is het dan ook logisch om een programma rond bug bounty te onderhouden. Het bedrijf brengt dit onder in het overkoepelende Visma Security Program. Daarin zitten op zichzelf al de nodige securitystappen, maatregelen en eisen om de bedrijfskritische software veilig te maken. Bedrijven die onder Visma vallen, maken gebruik van dit overkoepelende programma. Eventueel ook bug bounty, maar pas nadat alle andere securitystappen zijn doorlopen. Bug bounty is immers de laatste beveiligingslaag waar je pas gebruik van kunt maken als je als softwareleverancier zelf al het noodzakelijke hebt gedaan om security-incidenten te voorkomen.
Lees ook ons achtergrondverhaal waarin we het Visma Security Program uitleggen.
Klaar voor bug bounty
“Bug bounty is de extra stap om securityzaken op te vangen die je niet met andere elementen kunt dekken. Omdat op een andere manier kwetsbaarheden worden gezocht dan met de automatische scans uit het programma”, aldus Wubben. Als Visma een bedrijf overneemt, is het eerst zaak dat alle andere securityzaken op orde zijn. Visma kent hiervoor baselines toe. Alleen wanneer de twee hoogste niveaus (goud of platinum) bereikt zijn, kan van het bug bounty-programma gebruik worden gemaakt. Dit niveau bereikt een bedrijf pas na een tijd en als alle kwetsbaarheden met het reguliere programma zijn opgelost.
Binnen Visma is bug bounty een optionele securitystap. Het moederbedrijf raadt het aan, maar de Visma-bedrijven worden niet hiertoe verplicht. Dit wordt mede ingegeven door de eisen om te kunnen toetreden tot het bug bounty-programma. Naast het aantonen van de volwassenheid van het securityniveau, dient er altijd een team klaar te staan om een kwetsbaarheid binnen korte tijd op te lossen. Indien een zeer kritieke kwetsbaarheid gemeld wordt, is het immers belangrijk om deze zo spoedig mogelijk op te lossen.
Daarnaast moet er ook geld beschikbaar zijn om een ethische hacker netjes te kunnen betalen. Op basis van de ernst kan een gekwalificeerde kwetsbaarheid een minimale beloning van 100 euro opleveren. We schrijven hier gekwalificeerd omdat een gemelde kwetsbaarheid aan minimale vereisten moet voldoen. Afhankelijk van de ernst kan de vondst van de ethische hacker maximaal 7.500 euro opleveren.
De extra ogen
“Eigenlijk is dit heel dubbel; aan de ene kant is het heel vervelend dat je zo’n kritieke kwetsbaarheid hebt, maar aan de andere kant is dat precies waarom je het doet”, legt Wubben uit. Het zijn namelijk vooral die zeer kritieke kwetsbaarheden die Visma met het programma wil opvangen. Low-impact vulnerabilities kunnen vaak weinig kwaad, wat het niet meer dan fijn maakt dat ze gemeld worden. Maar de grote potentiële lekken zijn het dubbel en dwars waard, zegt Wubben. “1 euro hieraan besteed is 100 euro bespaard in de toekomst.”
Bug bounty is ook nodig omdat de automatische scans wel veel kunnen opvangen, maar niet alles. “Die ethische hacker kijkt er met zijn eigen achtergrond naar”, aldus Wubben. Deelnemers aan het Visma-programma kunnen bijvoorbeeld zeer diepgaande kennis hebben over een specifieke hackmethode. Door die methode toe te passen, worden de laatste kwetsbaarheden alsnog gevonden. Zo kan een ethische hacker de verbanden leggen in een applicatie die automatische tooling niet legt. Op die manier worden nieuwe vulnerabilities ontdekt. “Als je het openstelt naar buiten, dan heb je alles wat er beschikbaar is om je product te testen”, concludeert Wubben over de toegevoegde waarde.
Regels voor meldingen
In principe hoopt Visma door bug bounty dus zoveel mogelijk meldingen te ontvangen, maar dat moet allemaal wel netjes gebeuren. Zoals we enkele alinea’s geleden schreven, dient een kwetsbaarheid gekwalificeerd te zijn voor het ontvangen van een beloning. Daarom werkt Visma met een portal voor de ethische hackers. Daarin staat welke producten deze hackers mogen testen. Ook vinden ze hier de voorwaarden van de toe te passen hackmethodes. In de basis geldt ‘do no harm’, het is dus absoluut niet de bedoeling om software kapot te maken. Een DDoS-aanval is een voorbeeld van een methode die niet gerespecteerd wordt bij bug bounty, omdat Visma daar andere maatregelen voor treft en dat tot ernstige disruptie leidt.
Een hacker die zich netjes aan de voorwaarden houdt, dient bij een melding uiteindelijk een proof-of-concept te leveren. Hoe werkt een vulnerability in de praktijk? “Zeker bij de kritische kwetsbaarheden is goede documentatie een van de belangrijkste eisen”, zegt Wubben. Bij zulke vondsten zijn hele uitgebreide rapporten ook gebruikelijk doordat er vaak vele handelingen nodig zijn om ze te misbruiken. De meeste meldingen die uiteindelijk goedgekeurd worden gaan over Insecure Direct Object Reference (IDOR), een vorm van het escaleren van autorisaties, en cross-site scripting, waarbij malafide scripts in code worden geïnjecteerd. Deze types kwetsbaarheden maken deel uit van de gemiddeld 80 maandelijkse meldingen die binnenkomen.
Visma maakt er ook werk van om met gekwalificeerde ethische hackers te werken. Hiervoor gebruiken ze een private programma en public programma. Een ethische hacker kan uitgenodigd worden voor het private programma, bijvoorbeeld omdat Visma de hacker kent vanuit eerdere interactie. Volgens Wubben zien de hackers het als een eer dat ze uitgenodigd worden voor deze groep. Hackers die niet uitgenodigd zijn voor het private programma kunnen altijd deelnemen aan het public programma. Het grote verschil zit hem in welke producten van Visma getest mogen worden. De deelnemers hebben ook regelmatig met elkaar contact.
Het beoordelen van de kwetsbaarheid
De kwetsbaarheden die vanuit het programma binnenkomen, worden aanvankelijk beoordeeld door een team dat de moederorganisatie Visma heeft opgezet. Dat team is fulltime bezig met het beoordelen van gemelde bugs. Naast de bug bounty-meldingen beoordelen deze medewerkers ook de berichten vanuit het responsible disclosure-programma. Dat is dan weer het programma waar ethische hackers meldingen kunnen doen van fouten in software die niet voldoen aan de regels van bug bounty. Bij responsible disclosure krijgen ze geen geldbeloning, maar kunnen ze als bedankje swag kiezen uit een webshop. Daarnaast krijgt de ethische hacker een vermelding op de pagina van Visma.
Het team dat de melding beoordeelt, kijkt of de documentatie correct is aangeleverd en of de kwetsbaarheid enige kans van slagen heeft. Bij hen ligt de verantwoordelijkheid van acceptatie van de melding. Vervolgens spelen ze de melding door naar de Visma-dochter; daar kan men veel beter inschatten wat het risico is. In eerste instantie kan een kwetsbaarheid bijvoorbeeld kritiek lijken als het om toegang tot een database gaat. Het team ziet echter snel dat het om een database gaat met publieke informatie en niet om vertrouwelijke informatie. Het is dan goed dat de melding binnenkomt, maar het risico is niet heel groot.
Aandacht voor bug bounty
Om ethische hackers ook daadwerkelijk zoveel mogelijk te laten testen, heeft Visma een speciale hackplanning. Zo zet het met enige regelmaat een product in de etalage voor tests. Als het product na een bepaald moment minder aandacht van hackers lijkt te krijgen, kan men besluiten om de beloningen voor een gevonden bug te verdubbelen. Op die manier blijft het voor de hackers aantrekkelijk om op zoek te blijven gaan naar fouten in de software.
Een andere manier om tests te promoten voor Visma is het organiseren van life hack events. Wubben woonde zelf zo’n event bij in Denemarken, waar één specifiek softwareproduct centraal stond. Visma selecteerde de hackers om deel te nemen aan dit life hack event. In de eerste weken begonnen zij thuis met de eerste fase van kwetsbaarheden vinden. Vervolgens kwamen ze twee dagen samen in Denemarken, waar ze beter kunnen samenwerken en in nauw contact staan met Visma. Visma had ter plekke direct een response-team beschikbaar om een melding te beoordelen. Dat team bepaalt de prioriteit, die vervolgens wordt bijgehouden in een ranking. Uiteindelijk wist een student van 18 de meeste vulnerabilities te vinden. Naast het geld levert dit ook status op, aldus Wubben.
Het is een manier om de community betrokken te houden bij het vinden van kwetsbaarheden. Een prima stap om bug bounty verder te promoten en op weg te gaan naar zo veilig mogelijke software. Want software is pas veilig als ook de laatste noodzakelijke maatregel is genomen.
Tip: Achter de schermen van cybersecurity: threat intelligence bij Visma