De la hacker la proprietarul programului Bug Bounty: o experiență de învățare

Publicat: 2022-04-27

Securitatea a fost o prioritate majoră aici la Braze de la înființarea noastră în 2011. Concentrarea noastră pe protejarea datelor clienților noștri ne-a determinat să adoptăm o mentalitate de securitate și confidențialitate prin proiectare atunci când construim produsul nostru, ne asigurăm că suntem certificati în legătură cu ISO 27001. și SOC 2 Type 2 și pentru a construi un cluster HIPAA dedicat pentru a ajuta mărcile să protejeze informațiile de sănătate protejate. Dar, deși toți acești pași sunt importanți, nu ne odihnim pe lauri. Întotdeauna puteți face mai multe, iar concentrarea pe găsirea de noi modalități de a ne consolida securitatea este un motiv important pentru care sunt aici.

În 2020, Mark Shasha, șeful de securitate la Braze, m-a adus pentru a ajuta la lansarea unui program de recompensă pentru erori aici, cu scopul de a facilita identificarea problemelor de securitate care ar putea afecta produsul nostru. Și acum, că programul a fost pus în funcțiune de puțin peste un an, m-am gândit că este timpul să mă uit înapoi la ceea ce am construit și ce am învățat pe parcurs.

Ce este un program Bug Bounty?

În programul de recompensă pentru erori Braze, părțile externe sunt invitate să încerce să compromită o versiune igienizată, fără date ale clienților, a platformei Braze și sunt plătite atunci când identifică o problemă de securitate validă, acționabilă. Crearea unui program de recompensă pentru erori face posibil ca o companie precum Braze să folosească cercetători și profesioniști externi în domeniul securității pentru a identifica potențiale probleme de securitate, permițându-ne să abordăm în mod proactiv vulnerabilitățile.

Aceste programe sunt considerate pe scară largă ca fiind una dintre cele mai importante măsuri de securitate cibernetică pe care o companie le poate îmbrățișa, în parte, pentru că le permite mărcilor să colecteze informații despre securitate de la un număr mare de oameni diferiți cu o mare varietate de seturi de abilități. De regulă, lansarea și menținerea unei recompense publice de succes pentru erori este un semn că o organizație are un program de securitate sănătos, deoarece rularea unui program ca acesta fără incidente necesită un nivel de maturitate de securitate care necesită multă gândire și grijă pentru a-l atinge.

Zilele mele ca participant la Bug Bounty

Am auzit pentru prima dată despre recompensele de bug-uri în 2014, dar pentru că mi s-a părut că suna prea bine pentru a fi adevărate, nu am ajuns să particip efectiv la una până în 2016. Inspirat de unele postări pe blog scrise de alți hackeri etici, am participat la Yahoo! bug bounty și am constatat că aveam un adevărat talent pentru muncă. În primul rând, mi-au oferit oportunitatea de a-mi valorifica abilitățile de hacking pentru a ajuta la protejarea sistemelor informatice, în loc să le compromit. Pe de altă parte, mi-au dat ocazia să fac sume mari de bani cât eram la asta.

Pe măsură ce numărul companiilor și organizațiilor guvernamentale care lansau programe de recompensă pentru erori a crescut, am ajuns să mă specializez în căutarea erorilor de falsificare a cererilor pe server (SSRF) pentru un program de recompense asociate cu o companie importantă de telecomunicații și am câștigat puțin sub 1 milion de dolari doar din identificarea acestor vulnerabilități. Dar, în timp ce partea financiară a recompenselor pentru bug-ul de lucru a fost cu adevărat răsplătită pentru mine, mi-am trezit lipsă de structura și conexiunile personale care vin odată cu un loc de muncă de zi. Așa că, când Braze mi-a oferit oportunitatea de a lansa și de a supraveghea un program propriu de recompensă pentru erori, am profitat de șansa.

Cum am lansat un program Bug Bounty la Braze

La Braze, a trebuit să parcurgem o serie de pași înainte de a putea face viziunea noastră despre un program de recompensă pentru erori în realitate. În primul rând, pentru că participanții sunt plătiți pentru fiecare eroare validă și acționabilă pe care o găsesc, lansarea unui program de recompense fără a aborda vreuna și toate vulnerabilitățile cunoscute poate determina companiile să plătească cel mai mare dolar pentru informațiile pe care le dețin deja, reducând impactul programului în același timp. crescând costul acesteia. În acest scop, am efectuat următorii pași înainte de a ne pregăti pentru o lansare oficială:

  • Implementarea acordurilor de nivel de serviciu (SLA) de securitate internă cu echipele de dezvoltare

  • Crearea unui program de management al vulnerabilităților

  • Implementarea instrumentelor de testare a securității analizei dinamice (DAST).

  • Efectuarea de teste interne de penetrare

  • Efectuați teste de penetrare terță parte

  • Asigurarea că toate problemele cunoscute au fost remediate

Apoi, odată ce am fost încrezători că versiunea duplicată a platformei Braze creată pentru programul de recompensare a erorilor a fost cât mai bine pusă la punct, am inițiat un program privat, cu domeniu limitat, folosind platforma Bugcrowd. Am lansat acest program la cerere de două săptămâni, astfel încât să îl putem folosi atât ca dovadă a conceptului, cât și pentru a ajuta organizația Braze să cunoască realitățile rulării unui program de recompensă pentru erori. La urma urmei, ideea de a invita hackerii și cercetătorii de securitate să caute defecte de securitate în produsul dvs. poate părea ciudată sau confuză dacă nu ați mai întâlnit recompense pentru erori.

4 mari învățături din lansarea unui nou program Bug Bounty

Am învățat destul de repede că lansarea unui nou program de recompensă pentru erori este mult mai dificilă decât preluarea unuia existent. Există atât de mulți factori diferiți care intervin în crearea unui program de succes, care nu primesc atât de multă atenție, în parte, pentru că nu sunt la fel de interesanți precum identificarea erorilor critice, remedierea lor rapidă și plata recompenselor mari. Având în vedere asta, să vorbim despre câteva dintre cele mai mari învățăminte ale mele:

1. Lansarea unui program Bug Bounty necesită o colaborare între echipe

Inițial, am sperat că lansarea programului va fi la fel de simplă ca să decizi să o faci, să aleg platforma potrivită, să decizi asupra domeniului și sumelor recompenselor și apoi doar să dai startul. Dar pentru a le face corect este nevoie de mult mai multă planificare, pregătire și atenție pentru a face față decât am crezut. În primul rând, nu ținem cont de toate celelalte echipe din Braze care aveau un rol de jucat în susținerea lansării programului de recompensă pentru erori – din munca pe care a făcut-o echipa noastră juridică pentru a ne asigura că avem formularea adecvată pentru acordul nostru Safe Harbor cu privire la munca depusă pentru a crea SLA-urile noastre și a ne asigura că avem procesul de escaladare corect atunci când au loc încălcări. Această muncă poate fi o provocare, dar este absolut esențială. Un program de recompensă de erori care nu a fost planificat și executat cu atenție va întâmpina inevitabil multe probleme, care, la rândul lor, pot duce la proaste cuvinte despre program, ceea ce face mai dificilă atragerea hackerilor de top și a cercetătorilor de securitate și, potențial, condamnând întregul efort.

2. Nu pierde niciodată din vedere relația ta cu hackerii și cercetătorii

Este important ca mărcile să-și amintească că un program de succes pentru bug-uri depinde de relația dintre program și hackerii/cercetătorii care participă la el. Hackerii fericiți sunt mult mai dispuși să-și petreacă timpul în programul dvs. și, având în vedere că fiecare program de recompense luptă pentru o parte dintr-o resursă limitată - și anume timpul și atenția hackerilor/cercetătorilor - este important să vă asigurați că vă pregătiți. pentru succes, acordând prioritate acestei relații și făcând tot ce puteți pentru a vă deosebi de alte programe. Unele companii fac acest lucru plătind recompense mai mari decât media industriei pentru diferite clase și severități de erori, dar acesta nu este singurul (sau cel mai bun) mod de a face acest lucru.

Datorită experienței mele de vânător de recompense, am putut să-mi folosesc experiențele pentru a ajuta la informarea modului în care Braze întreține această relație. De exemplu, am reușit să obțin accept pentru a mă asigura că Braze rulează simultan programe de recompensă de erori publice și private. Acest lucru ne permite să identificăm persoanele implicate în programul nostru public care raportează rapoarte bune și valide și apoi să le recompensăm invitându-le în programul nostru privat. Acești participanți au funcționalități suplimentare pentru a testa și pentru a obține primul răspuns la noi adăugări de domeniu înainte de a le adăuga la programul public. Cred că făcând lucruri mărunte ca acestea, companiile își pot arăta aprecierea față de cercetătorii care contribuie la programul lor și îi pot încuraja să-și aprofundeze implicarea în viitor.

3. Bug Bounties arată diferit din partea companiei

Înainte de a începe să rulez propriul meu program de recompensă pentru erori, nu eram un fan al lucrului cu programe care erau gestionate de o platformă terță parte. Pentru programele astfel configurate, este obișnuit ca companiile să se bazeze pe trieri terți furnizați de platformă, care examinează trimiterile de la hackeri/cercetători și determină severitatea fiecărei erori identificate, iar eu am avut câteva experiențe în care trierii au avut am dat telefoane cu care nu eram de acord.

Cu toate acestea, acum că sunt de cealaltă parte, pot vedea cât de multă valoare oferă acest tip de abordare bazată pe platformă companiilor care o folosesc. Deși suntem încă implicați în supravegherea directă a activității desfășurate de trierii terți pe care îi folosim, am descoperit că folosirea lor poate face foarte mult pentru a reduce timpul și sarcina energetică asociată cu rularea unui program ca acesta. Triagerii cu care lucrăm sunt profesioniști și s-au dovedit a fi un atu extraordinar pentru programul nostru, ajutând să facem posibilă lansarea noastră de succes.

4. Lucrarea nu se termină când se identifică o eroare

Înainte de a mă alătura Braze, eram adesea frustrat de programele de recompense pentru erori care au durat săptămâni sau luni pentru a remedia vulnerabilitățile pe care le-am trimis. Din perspectiva mea, problemele păreau în general destul de tăiate și uscate și am simțit că patch-ul pentru acele erori ar trebui să dureze puțin sau deloc timp pentru a fi implementat.

Dar acum, că am asistat la ce se întâmplă în culise atunci când unul dintre aceste erori este trimis, mi-am dat seama că nu am reușit să iau în considerare toate discuțiile și munca care se face în culise în timpul ciclului de viață al unei vulnerabilități de securitate — din investigație. și confirmarea erorii și livrarea acelor detalii către echipa responsabilă la nivel intern, cu privire la modificările reale de codare, testarea și lansările care trebuie să aibă loc înainte ca eroarea să fie rezolvată cu adevărat. Realitatea este că aceste lucruri necesită timp și, ca hacker, nu am luat întotdeauna în considerare munca implicată, în parte pentru că îmi doream ca întregul proces să se facă cât mai repede posibil, astfel încât să fiu plătit.

Gânduri finale

Rularea unui program de recompensă pentru erori în ultimul an mi-a schimbat întreaga perspectivă asupra industriei și chiar a schimbat modul în care selectez programele de recompensă pentru erori pe care mă concentrez în timpul meu liber. Această privire în spatele cortinei mi-a oferit mult mai mult respect pentru munca esențială pe care o desfășoară trierii platformei și o mai bună înțelegere a termenelor realiste pentru companii pentru a evalua și rezolva erorile pe care le trimit. Cu această nouă perspectivă, sper că voi putea continua să îmbunătățesc și să dezvolt programul de recompense pentru erori Braze, în timp ce văd și mai mult succes ca vânător de recompense pentru erori în viitor.

Vă interesează să vă alăturați echipei de aici, la Braze? Consultați rolurile noastre deschise !