Nee, geheimhouding bij ethical bug reporting is niet bindend

De researcher die een ernstige bug bij messaging dienst Telegram meldde, heeft afstand gedaan van de $1000 beloning omdat er geheimhouding aan gekoppeld was, las ik bij Ars Technica. Als verantwoordelijk security-onderzoeker had Dmitrii (geen achternaam) deze netjes gemeld. Telegram moedigt dat ook aan, en je kunt zelfs een bug bounty krijgen. Maar het was nog moeilijk genoeg om de aandacht te krijgen, en toen die kwam, zat er een NDA aan vast. Daar hoef je geen genoegen mee te nemen als onderzoeker.

De bug betrof de zogenaamd zelfvernietigende afbeeldingen: deze bleven per abuis in de cache op telefoons staan, ook nadat gemeld was dat deze berichten verwijderd waren. Iets om te melden natuurlijk, maar makkelijk ging dat niet:

But for a simple bug like this, it wasn’t easy to get Telegram’s attention, Dmitrii explained. The researcher contacted Telegram in early March. And after a series of emails and text correspondence between the researcher and Telegram spanning months, the company reached out to Dmitrii in September, finally confirming the existence of the bug and collaborating with the researcher during beta testing. For his efforts, Dmitrii was offered a €1,000 ($1,159) bug bounty reward.
Voor die beloning moest Dmitrii wel een contract tekenen (van acht pagina’s), waarin een eeuwigdurende geheimhoudingsclausule opgenomen was. Wie in het goede gelooft, zal denken dat Telegram een foutje maakte: dit contract was namelijk een standaard consultancy agreement, waarmee Dmitrii als zzp’er zou werken aan het melden van de bug zeg maar. Niet raar om daarin geheimhouding op te nemen, maar wél raar om dat contract als basis te gebruiken voor het afhandelen van een melding.

Wie niet in het goede gelooft, zal concluderen dat Telegram Dmitrii de mond wilde snoeren met een wurgcontract. (Excuses, mijn metaforen botsen soms.) Ik geloof zelf altijd meer in incompetentie: de persoon die de tip van Dmitrii kreeg, had geen idee waar het over ging en pakte toen maar het best passende contract, iemand wil wat voor ons doen en mijn baas zegt dat dat mag, dan is deze persoon dus een ingehuurde consultant.

De les voor de meelezende security researchers, ethical hackers en ander goedwillend volk: je hoeft zulke dingen niet te tekenen, ongeacht wat een bedrijf zegt. Als je ongevraagd een fout opspoort, dan is melden je goed recht maar zeker niet je plicht. Meteen naar buiten met de bug mag ook, het is vooral dat het nétjes is om even zestig dagen te wachten voordat je dat doet zodat de impact bij het bedrijf redelijkerwijs wat gedempt wordt. Natuurlijk zijn hier allemaal weer uitzonderingen op, maar geen van die komen neer op “je hebt toestemming van het bedrijf nodig om te publiceren wat er mis ging”.

Een bedrijf kan op zich een beloning koppelen aan een eeuwigdurende geheimhouding, dat dan weer wel. Want omgekeerd zijn zij niet verplicht om mensen te betalen die ongevraagd bugs komen melden. De enige echte uitzondering daarop zou zijn als er een bug bounty programma is gepubliceerd waarin staat dat je na x dagen mag publiceren, en je dan zo’n eeuwige NDA opgelegd krijgt.

Arnoud

13 reacties

  1. Ik zou de NDA ook niet snappen. Of je fixt het probleem en dan is het gewoon goed om te zeggen, wat er fout was en de credits verlenen aan de ontdekker is dan netjes, of je laat het probleem staan en komt het toch een keer nog naar boven. En dan ga je af.

        1. Als het lek opnieuw ontdekt wordt, dan is het bestaan (en werking) van het lek inderdaad publiek domein en dus buiten de NDA. Echter, het feit dat Dmitrii het al in de zomer van 2021 had gemeld volgt niet uit het opnieuw bekend worden van het lek, dus is dát feit geen publiek domein. Dmitrii moet dus knarsettandend toezien hoe een ander zich profileert als ontdekker van het lek.

  2. Het is een beetje een industrie geworden. Je wordt bij veel bedrijven formeel een leverancier van IT security services. Ik mag toch van mijn leveranciers wel verwachten dat ze geheimhouding erop nahouden? Dat is toch het minste professioneelste wat je kunt doen?

    Anderzijds, als ethisch hacker ga je die bug melden. Maar ook zeuren als je geen beloning krijgt? Je was toch gemotiveerd door de veiligheid van iedereen? Of zeuren dat ze het geheim willen houden?

    Want als de bug stilletjes wordt opgelost, wat is dan nog het publieke nut van publicatie? Dat is dan toch alleen voor het oppoetsen van het CV? Waarom zou je 1000-5000$ mogen vangen voor een weekje werk, en dan ook nog eens de vuile was buitenzetten, laten zien wat voor amateurs het wel niet waren?

    Gewoon bij de grote programma’s, zoals HackerOne, blijven als je dit puur voor een zakcentje doet. Anders keurig de regels van het bug bounty plan volgen. Niet klagen. Tenzij de publicatie voor je CV meer waard is als 1000$. Dan is het gewoon een slimme zakelijke beslissing. Al bouw je zo wel een reputatie op die het lastig gaan maken als professioneel.

    1. Lijkt me hier ook sprake van een twijfelgeval: De app verwijderd iets, maar iets kan in cache van telefoon blijven staan. Wat als de app geen toestemming heeft voor verwijderen van deze app cache? Moet het dan zeggen: Afbeelding verwijderd! (maar mogelijk nog fragmenten in uw telefoon cache, die hersteld kunnen worden als iemand toegang heeft tot uw telefoon zelf).? Wat voor prioriteit geef je daaraan?

      En als je een zelfvernietigende afbeelding, of snel verwijderd whatsapp bericht stuurt, zijn er altijd wel manieren om deze permanent te maken. Iemand kan een foto nemen van de telefoon met afbeelding. Is geen zelfvernietigend “this message will self-destruct in 5 seconds” manier van spionnen-communicatie :).

    2. Zo’n bug-bounty programma is juist in het belang van de bedrijven, voor een fractie van de prijs worden hun producten een stuk veiliger, anders zouden ze ook niet meedoen aan zo’n bug-bounty programma. Een beveiligingslek kan levert bijna altijd schade op aan een bedrijf. Direct via gelekte data of indirect door imagoschade die minder klanten en een lagere beurswaarde oplevert.

      Als je als white/grey-hat hacker perongeluk, danwel express een foutje vindt bij een bedrijf, dan heb je enkele opties: – Je publiceert het op je blog (dat staat heel goed op je CV en de hackerswereld is relatief klein, naamsbekendheid is heel ‘belangrijk’) – Je maakt er zelf misbruik van – Je verkoopt het aan de hoogste bieder (dat kan soms heel lucratief zijn) – Je licht het bedrijf in. Daarbij is het normaal dat je een bedrijf een x aantal dagen de tijd geeft het probleem op te lossen voordat je er zelf mee naar buiten stapt. Wederom, stukje naamsbekendheid maar ook om te voorkomen dat een bedrijf het probleem onder het tapijt veegt.

      Als bedrijf heb je natuurlijk bij voorkeur dat je ingelicht wordt. Gelukkig zijn er veel white-hat hackers (DIVD) en is meestal de eerste reflex bij bedrijven niet meer om aangifte te doen tegen de hacker. Voor een partij als de DIVD is dat genoeg maar ik snap heel goed dat dat de meeste white/grey-hats niet zal overhalen; daarvoor moet er meer tegenover staan. Een mooie geldprijs is heel aantrekkelijk, deze is echter vaak een stuk lager dan je er in het zwarte circuit voor krijgt maar is dan wel legaal en een stuk beter voor je geweten. Veel hackers waarderen het echter ook wanneer ze open mogen publiceren over problemen, het is (in de securitywereld dan) ook heel goed voor de naam van het bedrijf als ze open over (opgeloste) beveiligingsproblemen spreken. Dat nodigt tevens andere hackers uit om ook netjes naar het bedrijf te stappen als ze een probleem tegen komen.

      1. Een bug publiceren zonder moeite te nemen bedrijf in te lichten, formeel te melden, maar direct een blog schrijven, is niet white-hat of grey-hat me dunkt. Ook zelf misbruik maken van gevonden foutje is niet netjes. Verkopen al helemaal niet. Enige optie voor white-hat of grey-hat is het bedrijf inlichten. Verschil white-hat en grey-hat is zaniken over regels van het programma of de hoogte van de payout.

        Verkopen is ook heel erg lastig. Lastiger als de bug zelf vinden. Bedrijven geven 5k for non-persistant XSS. Ik denk als je de volledige risico-analyse doet (niet stoppen bij legaliteit alleen), dat je moet praten over miljoenen wil je zoiets rationeel gaan verkopen (zonder initieel netwerk, heb je dat netwerk, dan ben je niet perongeluk bugs aan het vinden).

        Het is niet meer als 15 jaar geleden, waar 1 of 2 bedrijven een veilige disclosure policy hadden. Het is een industrie en prijzenwedstrijd geworden. Dat hele “ethische” en “hoedenkleur” nostalgie komt me wat lacherig over.

        1. Als van een bedrijf bekend is dat dat mensen die bugs vinden gaat zitten bedreigen, dan is anoniem publiceren de enig overgebleven verantwoordelijke weg. Ik pleit al langer dat dit gewoon verplicht moet worden: je hebt of een fatsoenlijk systeem voor het melden en oplossen van beveiligingsbugs (inclusief publicatie na een redelijke termijn), of je krijgt een verkoopverbod en stevige boetes.

            1. Tja, de highway patrol op mensen afsturen die BSN in je HTML (met view source) terug vinden, want dat is een misdaad op de information superhighway. Hoe onnozel kun je zijn. Ik heb ook wel eens emailadressen uit de source van een web-formulier geplukt… maar ben ik daarmee en hacker?

Geef een reactie

Handige HTML: <a href=""> voor hyperlinks, <blockquote> om te citeren, <UL>/<OL> voor lijsten, en <em> en <strong> voor italics en vet.