Responsible Disclosure
Vandaag gaan we het hebben over een “Responsible Disclosure”. De reden van deze post is omdat ik recentelijk zelf bezig geweest ben met het opstellen van een RD en omdat ik een aantal mensen gesproken heb die de term wel kennen maar voor wie het toepassen ervan niet helemaal duidelijk is. In deze post leg ik je uit wat een Responsible Disclosure (ja ik blijf het in deze post met hoofdletters schrijven) is, waar je op moet letten en hoe je het moet toepassen.
Een Responsible Disclosure kom je voornamelijk tegen wanneer je te maken hebt met “computerbeveiliging”. Middels een Responsible Disclosure (ofwel RD genoemd) is een model voor het openbaar maken van kwetsbaarheden en met name de tijd die er tussen het ontdekken en het openbaar maken zit. Dit verschilt enorm van een zogenaamde “Full Disclosure” waarbij ontdekte veiligheidsincidenten “zo snel mogelijk” openbaar gemaakt worden. Met een Responsible Disclosure vraag je als bedrijf aan de security researcher (of hacker) om gevonden kwetsbaarheden te melden en beloof je hier professioneel mee om te gaan en om er serieus naar te kijken zonder dat er een juridische procedure van start zal gaan. De melder van een veiligheidsincident mag dus niet vervolgd worden voor het “hacken” van de resources. Bovenstaande kan niet succesvol tot stand komen als er geen regels in acht genomen worden aan beide kanten van het computerscherm. De ontvanger van de melding moet handelen volgens een in de Responsible Disclosure afgesproken methodiek / code en voor de melder geldt hetzelfde.
Laten we eerst eens naar een voorbeeld Responsible Disclosure kijken om vervolgens verder in te gaan op de zaken die niet vergeten mogen worden.
De Responsible Disclosure
%Bedrijfsnaam% streeft naar een hoog beveiligingsniveau van zijn ICT- en proces systemen zodat we ook in het digitale proces kunnen borgen en veilig kunnen aanbieden aan onze klanten. Wij vragen u om ons te helpen dit niveau hoog te houden.
Het kan onverhoopt voorkomen dat een van onze systemen een kwetsbaarheid bevat. Digitale technieken en inzichten veranderen dagelijks. Mocht u een kwetsbaarheid in onze systemen ontdekt hebben dan horen wij dat graag, zodat we zo snel mogelijk gepaste maatregelen kunnen treffen om onze systemen weer veilig te maken.
Het melden van een (mogelijke) kwetsbaarheid geschiedt via een zogenaamde “Responsible Disclosure” procedure. Deze Responsible Disclosure (RD) procedure wordt hieronder nader toegelicht en kent 2 facetten:
- Voorwaarden / Wij vragen u
- Meldingsprocedure
Voorwaarden / Wij vragen u
- Verantwoordelijk om te gaan met de gevonden kwetsbaarheid en om deze op geen enkele wijze te misbruiken. Dit betekend (maar is niet beperkt tot):
o Downloaden, kopiëren, modificeren of verwijderen van data
o Besturen van systemen / (D)DOS aanvallen uitvoeren
o Toepassen van Social Engineering
o Plaatsen van malware
o Versturen van SPAM berichten naar of namens %Bedrijfsnaam% - De gevonden kwetsbaarheid zo snel mogelijk na constatering aan ons te melden volgens deze RD procedure
- De gevonden kwetsbaarheid niet te delen met “anderen”
- Alle eventueel verkregen data te verwijderen
Meldingsprocedure
1. Stuur uw bevindingen versleuteld naar ons (of onze security partner: %naam%). Versleutel deze gegevens middels PGP of S/MIME of gebruik een ZIP bestand welke met een wachtwoord versleuteld is. Als u een met wachtwoord beveiligd ZIP bestand gebruikt stuur ons dan het wachtwoord toe per SMS en niet in dezelfde of opvolgende e-mail. Onze contactgegevens zijn als volgt:
E-mailadres: ontvanger@bedrijfsnaam.nl
Mobiel: +31612345678:
PGP: 0xE55ECB98572482A5
2. Vermeld voldoende gegevens zodat wij de kwetsbaarheid kunnen verifiëren en het probleem kunnen reproduceren. Denk hierbij b.v. aan betreffende URL’s en IP adressen.
3. Vermeld voldoende gegevens zodat we contact met u op kunnen nemen. Vermeld minimaal uw e-mailadres en bij voorkeur uw telefoonnummer.
4. U ontvangt binnen 3 werkdagen een ontvangstbevestiging van uw Responsible Disclosure melding.
5. Wij zullen uiterlijk binnen 30 werkdagen inhoudelijk op de RD melding reageren. Deze inhoudelijke berichtgeving geeft eveneens inzicht in de verwachte oplosdatum.
6. Indien gewenst wordt u door ons op de hoogte gehouden van voortgang omtrent de oplossing.
7. U ontvangt als dank voor uw hulp, oplettendheid en professionele afhandeling van de RD melding een passende / ludieke beloning (nooit in geldelijke vorm). De aard en grootte van de beloning bepalen wij aan de hand van de ernst van het lek en de kwaliteit van de melding.
8. Wij streven ernaar om alle problemen zo snel mogelijk op te lossen en worden graag betrokken bij een eventuele publicatie over het probleem nadat het is opgelost.
Als u een Responsible Disclosure melding maakt betekent dit dat wij:
- Geen juridische stappen tegen u ondernemen betreffende de RD melding als u zich aan bovenstaande voorwaarden heeft gehouden.
- Dat wij uw melding vertrouwelijk zullen behandelen en uw persoonlijke gegevens niet zonder uw toestemming met derden zullen delen tenzij dat noodzakelijk is om een wettelijke verplichting na te komen.
- Dat wij, indien gewenst uw naam zullen vermelden bij berichtgeving over de gemelde kwetsbaarheid.
Waar op te letten bij een Responsible Disclosure
Zoals je in bovenstaande Responsible Disclosure kunt lezen worden er nogal wat zaken gevraagd en beloofd. Maar het kan zijn dat er ook nog zaken missen. Persoonlijk denk ik dat het in de meeste gevallen goed is om de RD meldingsprocedure ook in het Engels en eventuele andere talen op de website te plaatsen. Het kan best zo zijn dat er nog andere zaken missen die voor uw bedrijfsvoering / procedure wel van toepassing zijn. In dat geval kunt u deze uiteraard toevoegen. Maar wat zijn nu de belangrijke punten die niet mogen ontbreken in een Responsible Disclosure melding en die je ook terug ziet in bovenstaande voorbeeld:
Wij vragen
- Tijden! Wanneer men een retourmelding kan verwachten, wanneer inhoudelijk gereageerd wordt en wanneer de melder definitieve oplostijden mag verwachten
- Verantwoordelijk om te gaan met het veiligheidsincident en de eventueel verkregen data
- Veiligheidsincident pas te publiceren nadat je de tijd hebt gekregen om het lek te dichten of om andere maatregelen te nemen
- Verkregen data te verwijderen
- De RD melding duidelijk en compleet (en op een veilige manier) te melden zodat het incident gecontroleerd en getest kan worden
- Contactgegevens
We beloven:
- Verantwoordelijk en gestructureerd om te gaan met een Responsible Disclosure melding
- Geen juridische stappen te ondernemen tegen de melder
- Wel of geen vergoeding en in welke vorm dit verwacht mag worden. Vaak zijn verwachtingen te hoog en worden hoge geldelijke vergoedingen verwacht. Als dit niet duidelijk is dan kan de beloning tegenvallen wat eventueel een negatieve werking met zich meebrengt
- NAW gegevens van de melder niet met derde zullen delen (mits dit juridisch verplicht wordt)
- De naam van de melder te vermelden in eventuele publicaties over het veiligheidsincident als dit gewenst is en eveneens te zullen ondersteunen als de melder na het dichten van het “lek” zelf het veiligheidsincident wilt publiceren
Zoals je ziet wordt er aan beide kanten nogal wat verlangd. Een Responsible Disclosure kun je feitelijk zien als een “Gentleman’s Agreement”. Het is geen juridisch stuk. Het geeft echter wel aan dat je als organisatie serieus bezig bent met beveiliging, Dat je je bewust bent van het feit dat er altijd veiligheidsrisico’s kunnen zijn en dat je hier professioneel mee omgaat. Een security researcher (white hat) zal op deze manier sneller een melding durven doen zonder de angst hiervoor vervolgd te worden. De zogenaamde “black hat” welke alleen maar uit is op vernieling of geldelijk gewin zal geen gebruik maken van een RD procedure. Maar met een beetje geluk is een “white hat” hem voor geweest en heb je het lek al reeds gedicht. Een Responsible Disclosure melding nodigt uit om je assets te laten onderwerpen aan een test en om hier professioneel mee om te gaan.
Belangrijk is wel dat je voordat je een Responsible Disclosure procedure publiceert je de interne procedure tot het goed en volgens belofte afwikkelen van een Responsible Disclosure melding geborgd hebt. Zonder borging kun je je eigen beloftes niet waarmaken wat uitnodigt tot het publiekelijk publiceren van het lek alsmede de eventueel verkregen gegevens. Dus eerst de organisatorische kant op orde en dan de Responsible Disclosure melding publiceren.