Responsible disclosure: alles over ethisch hacken
Een groeiend aantal bedrijven maakt gebruik van een responsible disclosure-beleid voor het afhandelen van datalekken. Volgens ethische hackers is dat een goede zaak, maar ‘RD-beleid’ is bepaald niet zonder fouten. In dit artikel gaan we daar wat dieper op in.
Mischa van Geelen was dertien jaar toen hij een lek in de website van VakantieVeilingen ontdekte. Het was het eerste lek dat hij ooit zelf ontdekte, en hij heeft er nu – vijf jaar later – meer dan 500 op zijn naam staan. Nog steeds vindt hij regelmatig softwarelekken in websites of bij bedrijven. Daarbij doorloopt hij de routine die zowel hij als het bedrijfsleven heeft verfijnd: een melding doen bij de juiste persoon, een duidelijke beschrijving van het probleem aandragen en een mogelijke oplossing voorstellen.
Inmiddels loopt hij tegen minder muren aan dan vroeger, toen responsible disclosure nog maar voor een handjevol bedrijven gebruikelijk was. Anno 2017 hebben veel bedrijven op een of andere manier spelregels opgesteld om ethische hackers tegemoet te komen. En terecht, want door datalekken op een nette en verantwoordelijke manier af te handelen voorkom je dat mensen misbruik maken van bugs in je systeem. Bovendien laat je aan de buitenwereld zien dat je professioneel met je it-security omgaat.
Whitehat-hackers
Van Geelen noemt zich inmiddels ‘ethisch hacker’, een titel die veel whitehat-hackers en beveiligingsonderzoekers die aan responsible disclosure doen zichzelf aanmeten. Hun dagelijks werk is in veel gevallen op een of andere manier gerelateerd aan het zoeken naar datalekken: ze werken freelance of in dienst als beveiligingsconsultants, of ze werken in de informatica. In sommige gevallen is het opsporen van datalekken deel van hun werk als pen-testers (‘penetration testers’), maar één ding hebben ze vrijwel allemaal gemeen: het ‘responsible disclosen’ van datalekken doen ze vrijwillig, vanuit een gevoel voor ethiek en een liefde voor veiligheid.
Steeds meer Nederlandse bedrijven tonen interesse in responsible disclosure als beveiligingsmethode. Het kan immers helpen veiliger te blijven tegen datalekken door juist samen te werken met hackers in plaats van ze als de vijand te zien. Bij responsible disclosure houden bedrijven en hackers zich zoals gezegd aan een aantal spelregels voor het melden van kwetsbaarheden in websites of systemen. Op die manier kunnen datalekken op een verantwoorde manier worden doorgegeven, wat moet leiden tot veiliger ict.
Veel van die spelregels liggen voor de hand: een hacker mag vrijelijk rondneuzen in een systeem zonder daarvoor te worden aangepakt, maar moet het bedrijf dan wel tijd geven een lek te dichten zonder het vroegtijdig openbaar te maken. Vanzelfsprekend mag daarbij geen schade aan het systeem worden veroorzaakt en mag de hacker geen persoonsgegevens kopiëren, als hij die vindt.
Een hacker mag vrijelijk rondneuzen in een systeem, maar moet ook tijd geven om het lek te dichten
-
Een responsible disclosure-beleid kan per bedrijf verschillen, maar er zijn een paar regels die (bijna) altijd naar voren komen.
Garantie: De belangrijkste afspraak is de garantie dat het bedrijf het lek actief dicht en geen aangifte doet, en dat de hacker zich aan de afgesproken regels van het bedrijf houdt.
Uitleg: Een hacker moet het lek zo duidelijk mogelijk uiteenzetten, op een manier die volledig te reproduceren is.
Tijdspanne: Er moet een redelijke tijd zijn een lek te dichten: niet te lang, niet te kort. Houdt een bedrijf zich niet aan die tijd, dan mag de hacker het lek openbaar maken.
Houd het heel: Een hacker mag geen ddos- of bruteforce-aanvallen uitvoeren om een lek te ontdekken, geen gegevens kopiëren en niets in het systeem kapotmaken of permanent veranderen.
Scope: Een bedrijf geeft van tevoren aan welke onderdelen wel of juist niet beschikbaar zijn om kwetsbaarheden over te melden. Testomgevingen zijn bijvoorbeeld vaak uitgesloten van deelname en lekken in systemen met persoonsgegevens worden vaak urgenter behandeld of beter beloond.
Nationaal Cyber Security Centrum-leidraad
Het is moeilijk te zeggen hoeveel bedrijven in Nederland inmiddels een actief RD-beleid hebben. In elk geval maken alle Nederlandse overheidsinstellingen gebruik van een dergelijk beleid, verzameld onder de leidraad van het Nationaal Cyber Security Centrum (NCSC). De grote banken hebben eveneens een eigen beleid, net als de NS en de meeste verzekeraars. Grote bedrijven lijken steeds meer heil te zien in het tegemoetkomen van hackers die datalekken ontdekken en dat op een verantwoordelijke manier willen melden.
Maar belangrijker dan het aantal beleidsmaatregelen dat wordt opgesteld, is de houding van die bedrijven. “Toen ik vijf jaar geleden een melding deed bij ABN Amro, hadden ze geen responsible disclosure-beleid beschikbaar”, vertelt Mischa van Geelen. “Ze reageerden er zelfs heel vijandig op. ‘Wie ben jij? En waarom vertel je ons hoe we onze beveiliging moeten regelen?’, vroegen ze.” Volgens Van Geelen zien bedrijven anno 2017 de waarde van responsible disclosure in, onder meer omdat het niet meer de vraag is óf, maar wannéér je wordt gehackt.
Die manier van werken slaat bij steeds meer bedrijven aan. Het is namelijk een relatief goedkope manier om gaten in software op te sporen, zonder dat je daar een peperduur team aan pen-testers op hoeft los te laten en zonder dat je ontwikkelaars dagen kwijt zijn met bugfixes. Aan de andere kant geeft het hackers de kans hun eigen kennis op niveau te houden en dient het als een waardevol visitekaartje.
Veel hackers zijn immers blij met de mogelijkheid om een lek op een correcte manier te melden, zonder daarbij in de problemen te komen. Niettemin is responsible disclosure verre van perfect. Zoals je verderop kunt lezen, draait het idee volledig om wederzijds vertrouwen, zonder enige garanties dat de spelregels worden nageleefd.
Binnen de tijd
©PXimport
Een belangrijk punt in een RD-beleid is de tijd die een hacker het bedrijf gunt om een lek te dichten. In de meeste gevallen wordt die vooraf gespecificeerd in het beleid, maar bij uitzonderlijke situaties kan er ook in overleg een andere tijdspanne worden afgesproken. Met zo’n afspraak weten beide partijen waar ze aan toe zijn: de hacker weet daarmee dat zijn lek serieus wordt genomen en het bedrijf heeft een belangrijke motivatie om het lek ook daadwerkelijk te dichten – anders wordt het openbaar gemaakt en kan het makkelijk worden misbruikt. Maar wat is een realistische tijdspanne om een bug te fixen? En wie bepaalt dat? Als de hacker die het lek ontdekt daar anders over denkt dan het bedrijf, kan dat frictie opleveren.
Dat gebeurde bijvoorbeeld tijdens de Heartbleed-bug die begin 2014 werd ontdekt in OpenSSL. Het Finse onderzoeksbedrijf Codenomicon besloot Heartbleed wel te melden aan onder meer CloudFare, maar niet aan andere grote webdiensten die eveneens van OpenSSL gebruikmaakten. Daardoor werd een groot deel van het internet kwetsbaar voor de bug toen die eenmaal openbaar werd gemaakt.
Volgens sommige critici had Heartbleed dan ook niet zozeer met responsible disclosure te maken, maar met marketing van een tot dan toe relatief obscuur Fins beveiligingsbedrijf dat na bekendwording van het lek internationale aandacht kreeg. Codenomicon vond dat het rechtvaardig handelde door het lek te melden aan het Finse National Cyber Security Center, maar de afhandeling leidde tot een discussie over hoelang onderzoekers moeten wachten voordat zij een lek openbaar maken en aan wie je dat allemaal moet melden. Wie heeft dan de sterkste hand?
Beloning voor ethisch hacken
En daar komt de ethiek om de hoek kijken, zowel de kracht als de achilleshiel van responsible disclosure. Een goed RD-beleid zorgt dat het bedrijf een hacker tegemoetkomt, én andersom. Het mes moet in zo’n geval aan twee kanten snijden, maar buiten een ‘gentlemen’s agreement’ biedt een responsible disclosure-beleid geen enkele juridische garanties. In theorie kan een bedrijf ook na het repareren van een datalek aangifte doen tegen een hacker, en niets weerhoudt de hacker ervan om het lek alsnog vroegtijdig openbaar te maken. Je kunt je daarom afvragen wat de reden is dat hackers daaraan zouden meedoen.
Terwijl bedrijven een RD in de regel opstellen uit praktische of financiële overwegingen, doen whitehat-hackers voornamelijk aan RD voor de eer – al speelt er voor hackers wel meer dan alleen hun gevoel voor rechtvaardigheid en ethisch besef. Loran Kloeze, een ethisch hacker die onder meer bekend werd toen hij liet zien dat de Stemwijzer lek was, zegt dat ook hackers niet helemaal altruïstisch te werk gaan. “Hackers dragen het aantal RD’s op hun naam als een eremedaille, iets waarmee je kunt laten zien hoe goed je bent. Opdrachtgevers of klanten kijken juist daarnaar, niet naar een diploma. Een groot aantal disclosures op je naam is waardevoller dan welke opleiding dan ook.”
Daarom is een ‘hall of fame’ ook zo belangrijk. Daarop wordt een overzicht geplaatst van de hackers die een lek hebben gevonden en een korte beschrijving met wat er precies is gerepareerd. Niet dat zo’n website veel bezoekers trekt, maar dat is ook niet de bedoeling. Ethisch hackers kunnen zulke vermeldingen in hun eigen portfolio opnemen om te laten zien wat ze waard zijn.
©PXimport
Responsible disclosure gaat doorgaans gepaard met een beloning, maar wat dat concreet inhoudt, verschilt per bedrijf. Soms is het een klein geldbedrag, soms een t-shirt of een ander cadeautje –PCM-uitgever Reshift geeft bijvoorbeeld soms een Raspberry Pi-pakket weg voor het melden van een lek. Eigenlijk doet de aard van de beloning er ook niet toe, vindt Van Geelen. Toen hij een aantal jaren geleden na heel lang mailen en overtuigen een cadeaubon kreeg voor het melden van een lek bij ABN Amro (dat toen nog geen officieel RD-beleid had), voelde hij zich afgescheept.
“Ze bleven maar vragen: ‘Wat wil je dán?’ Ze begrepen het maar niet. Het ging me helemaal niet om die cadeaubon of om geld, of wat dan ook. Het enige wat ik wilde, is een oprecht bedankje.” Het is een sentiment dat bij meer hackers speelt. Serieus genomen worden, voelen alsof je hebt bijgedragen aan een veiliger wereld. Daarom was Van Geelen ook blijer met zijn eerste hack op VakantieVeilingen. Daarvoor kreeg hij niet alleen een cadeaubon, maar ook een stage aangeboden – iets waar hij in zijn verdere carrière veel meer aan heeft gehad dan aan een geldbedrag.
Loran Kloeze onderschrijft het feit dat de beloning niet het belangrijkst is. Kloeze richt zich sowieso grotendeels op overheidsinstellingen, en die geven geen geldbedragen weg maar enkel t-shirts. “Je doet het vanuit je ethisch besef en het feit dat je de wereld een stukje veiliger wilt maken.”
Geld verdienen met ethisch hacken
Toch is er een groeiende groep hackers die probeert te leven van dergelijke datalekken, al heb je het dan al snel over ‘bug bounty’s’ – een op het eerste gezicht identieke, maar toch iets andere tak van sport. Het zijn vooral grote techbedrijven met miljoenen gebruikers die geld over hebben voor het spotten van datalekken. Apple was daar vrij laat mee en begon pas halverwege 2016 met het uitloven van premies voor het vinden van bugs. Toch is Apple een van de interessantere bedrijven om datalekken bij te melden. Een lek in de boot firmware van iOS levert bijvoorbeeld al 200.000 dollar op.
Op die manier zijn er hackers die volgens Kloeze kunnen leven van hun bug bounty’s. “Als je wekelijks een bug van 250 euro vindt en eens per jaar een écht grote, dan kun je daar prima van leven.”
Daar staat tegenover dat het tegenwoordig steeds lucratiever wordt om bugs aan derde partijen te verkopen. Bedrijven zoals Zerodium bieden bijvoorbeeld het viervoudige van Apple voor eenzelfde lek in iOS. En voor een hacker is er maar één ding dat hem laat kiezen tussen 200.000 dollar van Apple en 1 miljoen van Zerodium: zijn gevoel. Kloeze: “Uiteindelijk wil je toch elke avond rustig slapen, en dat wordt voor velen een stuk lastiger als ze weten dat hun lek kan worden gebruikt door een regime als Noord-Korea. Net als gewone criminaliteit kun je ook hier de afweging maken, en dan is de vraag hoever je bereid bent te gaan.”
Volgens Mischa van Geelen zit het verschil hem voornamelijk in de houding van de hacker. “Bug bounty’s doe je voor het geld, maar responsible disclosure doe je vanuit een gevoel voor ethiek. Bovendien maakt het voor veel hackers ook niet uit of ze er geld voor krijgen; dat verdienen ze vaak ook wel met consultancy-werk.” En daarbij is een goed portfolio, met veel RD’s op je naam, juist een goed visitekaartje.
Er is ook een aantal bedrijven dat op professionele schaal op zoek gaat naar lekken, zoals Google, dat permanent beveiligingsonderzoekers in dienst heeft op de Project Zero-divisie. Project Zero komt regelmatig in het nieuws als het een lek heeft gevonden bij bijvoorbeeld Microsoft, waar de softwaregigant dan niet tijdig iets aan heeft gedaan.
Grijs gebied
Responsible disclosures bevatten in de meeste gevallen een belangrijke clausule over aansprakelijkheid, maar de regels rondom hacken en verantwoordelijkheid stroken niet altijd even goed met elkaar. Loran Kloeze zegt bijvoorbeeld alleen aan RD te doen met bedrijven die al een beleid hebben. Hij kijkt daarom met name op sites van de overheid, omdat die in samenwerking met het NCSC een duidelijk beleid heeft opgesteld dat voor alle sites geldt. Als een website of bedrijf dat niet heeft, komt Kloeze er niet aan. Om één simpele reden: hij wil niet in de problemen komen. “Een responsible disclosure-beleid nodigt een hacker uit om zonder angst voor repercussies op zoek te gaan naar een lek. Als er niet zo’n beleid is, dan heb je niks op zo’n website te zoeken.”
Volgens Kloeze is het überhaupt niet mogelijk om een datalek te vinden zonder dat je actief in een systeem loopt te porren, dus iedereen die een lek vindt in een website waar geen RD van toepassing is, is volgens hem per definitie al fout. “Als je een website gebruikt zoals die bedoeld is en dan een fout ontdekt, ja, dan mag je inderdaad wel even een mailtje sturen met ‘joh, let hier eens op’. Maar dat is vrijwel nooit het geval. Om een bug te vinden, moet je actief zoeken, testen, reproduceren en verschillende dingen proberen. Dan ben je al heel snel ongeoorloofd aan het rondneuzen op een systeem waar je niks te zoeken hebt, omdat je er niet voor bent uitgenodigd.”
Om een bug te vinden, moet je actief zoeken, testen, reproduceren en verschillende dingen proberen
-
Juridisch gezien is een responsible disclosure-beleid niet sluitend. Het zegt niks, behalve dan dat het bedrijf geen intentie heeft je te vervolgen – maar ook dat kan gewoon veranderen. Bovendien heeft het OM daar niets mee te maken, zegt Kloeze. “Dat kan altijd nog besluiten achter je aan te gaan, al is dat onwaarschijnlijk.” Er zijn nog geen gevallen bekend van veroordelingen voor hacking waarbij gebruik werd gemaakt van responsible disclosure.
Daar is Mischa van Geelen het niet mee eens. Hij ziet het beleid van het NCSC juist als richtlijn om als ethisch hacker te opereren – of een bedrijf nu een beleid heeft of niet. “Zolang je het volgens de regels speelt, moet je een lek gewoon kunnen melden. Dan houd je je natuurlijk aan alle regels: je zorgt dat je niks stuk maakt, dat je je lek niet openbaar maakt ... Als je dat doet, vind ik dat je het gewoon moet kunnen melden.”
Volgens het NCSC ligt de situatie iets genuanceerder en is de leidraad vooral bedoeld om bedrijven te stimuleren hun eigen beleid op te zetten, maar houdt het OM per geval wel rekening met ‘proportioneel en subsidiair handelen’.
Meerwaarde van responsible disclosure
De meeste hackers vinden dat responsible disclosure waardevol kan zijn voor bedrijven, al vindt Kloeze wel dat dat proportioneel moet zijn. “Voordat je meteen zo’n beleid opstelt, moet je je eerst afvragen of je dat überhaupt wel nodig hebt. De slager om de hoek heeft daar doorgaans weinig aan, maar dat verandert als hij bijvoorbeeld een koelcel heeft die hij via internet kan aansturen, of als hij een klantensysteem begint.”
Een responsible disclosure-beleid moet dan ook in verhouding staan met de data die je verwerkt, maar omdat steeds meer bedrijven in toenemende mate gebruikmaken van persoonlijke data, groeit de vraag naar een goede omgang eveneens. Niet alleen juridisch (bijvoorbeeld door de meldplicht datalekken), maar ook ethisch, zoals een goed RD-beleid.
Waar de hackers het eens zijn over de meerwaarde van zo’n beleid, zetten de meeste ook kanttekeningen bij de effectiviteit. Het is nooit dé definitieve oplossing voor het beveiligingsprobleem, denkt Mischa van Geelen. “Responsible disclosure is alsof je met hagel op je systemen gaat schieten, in de hoop dat er iets wordt geraakt. Je moet er nooit van uitgaan dat je daarmee volledig veilig wordt.”
Hij zegt daarom dat een goed RD-beleid eerder een toevoeging op het bestaande beveiligingsbeleid moet zijn. Dat bevestigt het NCSC: “Organisaties zijn zelf verantwoordelijk voor hun beveiliging, maar goede beveiliging is zo sterk als je zwakste schakel. RD kan een zeer belangrijke bijdrage leveren aan het ontdekken van zulke zwakke plekken.”
Daarnaast is het belangrijk te onthouden dat responsible disclosure-meldingen altijd door vrijwilligers worden gedaan, en dat die je niets verplicht zijn. Ze kunnen daarom nooit garanderen dat ze alle gaten uit je systeem vissen, maar een oprecht bedankje is wel het minste wat je voor ze kunt doen.
Responsible disclosure-beleid opzetten
Wil je tot slot voor je eigen bedrijf een responsible disclosure-beleid (helpen) opzetten? Denk dan aan de volgende zaken:
Scope: Geef aan welke onderdelen een hacker mag testen en welke niet. Vallen daar bijvoorbeeld ook testomgevingen onder?
Beloning: Bedenk welke beloning je een hacker geeft. Is dat een geldbedrag, een t-shirt of iets unieks van jouw bedrijf? Zorg ook dat je bepaalt voor welke meldingen je welke beloning geeft: niet alle lekken hoeven gelijkwaardig te worden behandeld.
Wall of fame: Hackers gebruiken een RD-melding ook op hun cv. Kom ze tegemoet door een publieke wall of fame op te stellen met wie je heeft geholpen met welk probleem.
Doe een pen-test: Als je je systeem meteen toegankelijk maakt voor iedereen, kan dat al snel tot veel reacties leiden. Laat je bedrijf daarom eerst pen-testen door een professioneel bedrijf, zodat de belangrijkste gaten kunnen worden gedicht.
Laat je RD-beleid nakijken: Er zijn genoeg ethische hackers die, al dan niet betaald, een RD-beleid voor je kunnen opstellen of er op z’n minst doorheen kunnen lopen.
Wees eerlijk: Wees eerlijk over je bug-fixes en je progressie. Houd de hacker op de hoogte, ook als het repareren onverhoopt langer duurt dan verwacht.