Dall'hacker al proprietario del programma Bug Bounty: un'esperienza di apprendimento
Pubblicato: 2022-04-27La sicurezza è stata una delle principali priorità qui in Braze sin dalla nostra fondazione nel 2011. La nostra attenzione alla protezione dei dati dei nostri clienti ci ha portato ad abbracciare una mentalità di sicurezza e privacy fin dalla progettazione durante la costruzione del nostro prodotto, assicurandoci di essere certificati in connessione con ISO 27001 e SOC 2 Tipo 2 e di creare un cluster HIPAA dedicato per aiutare i marchi a salvaguardare le informazioni sanitarie protette. Ma mentre tutti questi passaggi sono importanti, non ci riposiamo sugli allori. C'è sempre di più che puoi fare, e il fatto di concentrarti sulla ricerca di nuovi modi per rafforzare la nostra sicurezza è un grande motivo per cui sono qui.
Nel 2020, Mark Shasha, Head of Security di Braze, mi ha chiamato per aiutare a lanciare un programma di bug bounty qui, con l'obiettivo di rendere più facile identificare i problemi di sicurezza che potrebbero avere un impatto sul nostro prodotto. E ora che il programma è attivo da poco più di un anno, ho pensato che fosse giunto il momento di guardare indietro a ciò che abbiamo costruito e ciò che ho imparato lungo il percorso.
Che cos'è un programma Bug Bounty?
Nel programma Braze bug bounty, le parti esterne sono invitate a tentare di compromettere una versione disinfettata e priva di dati dei clienti della piattaforma Braze e vengono pagate quando identificano un problema di sicurezza valido e perseguibile. La creazione di un programma di ricompense dei bug consente a un'azienda come Braze di sfruttare ricercatori e professionisti della sicurezza esterni per identificare potenziali problemi di sicurezza, consentendoci di affrontare in modo proattivo le vulnerabilità.
Questi programmi sono ampiamente visti come una delle misure di sicurezza informatica più importanti che un'azienda può adottare, in parte perché consentono ai marchi di raccogliere informazioni dettagliate sulla sicurezza da un vasto numero di persone diverse con un'ampia varietà di competenze. Di norma, il lancio e il mantenimento di una taglia di bug pubblica di successo è un segno che un'organizzazione ha un programma di sicurezza sano, poiché l'esecuzione di un programma come questo senza incidenti richiede un livello di maturità della sicurezza che richiede molta attenzione e cura per essere raggiunto.
I miei giorni da partecipante a Bug Bounty
Ho sentito parlare per la prima volta di bug bounties nel 2014, ma poiché pensavo che suonassero troppo belli per essere veri, non ho finito per parteciparvi fino al 2016. Ispirato da alcuni post sul blog scritti da altri hacker etici, ho preso parte a Yahoo! bug bounty e ho scoperto di avere un vero talento per il lavoro. Per prima cosa, mi hanno dato l'opportunità di sfruttare le mie capacità di hacking per aiutare a salvaguardare i sistemi informatici, piuttosto che comprometterli. Dall'altro, mi hanno dato l'opportunità di guadagnare ingenti somme di denaro mentre ero lì.
Con l'aumento del numero di aziende e organizzazioni governative che lanciavano programmi di ricompense di bug, ho finito per specializzarmi nella ricerca di bug di falsificazione delle richieste lato server (SSRF) per un programma di ricompense di bug associato a un'importante società di telecomunicazioni e ho guadagnato poco meno di $ 1 milione di dollari solo da identificare tali vulnerabilità. Ma mentre il lato finanziario del lavoro con le taglie dei bug mi stava davvero ripagando, mi sono ritrovato a perdere la struttura e le connessioni personali che derivano dall'avere un lavoro quotidiano. Quindi, quando Braze mi ha offerto l'opportunità di lanciare e supervisionare un mio programma di ricompense di bug, ho colto al volo l'occasione.
Come abbiamo lanciato un programma Bug Bounty su Braze
In Braze, abbiamo dovuto passare attraverso una serie di passaggi prima di poter trasformare in realtà la nostra visione di un programma di ricompense di bug. Per prima cosa, poiché i partecipanti vengono pagati per ogni bug valido e perseguibile che trovano, l'avvio di un programma di ricompense senza affrontare tutte le vulnerabilità note può portare le aziende a pagare un sacco di soldi per le informazioni che già hanno, riducendo l'impatto del programma e contemporaneamente aumentandone il costo. A tal fine, abbiamo eseguito i seguenti passaggi prima di prepararci per un lancio ufficiale:
Distribuzione di accordi sul livello di servizio (SLA) di sicurezza interni con i team di sviluppo
Creazione di un programma di gestione delle vulnerabilità
Distribuzione di strumenti DAST (Dynamic Analysis Security Test).
Esecuzione di test di penetrazione interni
Condurre test di penetrazione di terze parti
Garantire che tutti i problemi noti siano stati corretti
Quindi, una volta che siamo stati certi che la versione duplicata della piattaforma Braze creata per il programma di ricompense dei bug fosse il più possibile abbottonata, abbiamo avviato un programma privato con portata limitata utilizzando la piattaforma Bugcrowd. Abbiamo lanciato questo programma on-demand della durata di due settimane in modo da poterlo utilizzare sia come prova di concetto sia per introdurre l'organizzazione Braze alla realtà dell'esecuzione di un programma di ricompense dei bug. Dopotutto, l'idea di invitare hacker e ricercatori di sicurezza a cercare difetti di sicurezza nel tuo prodotto può sembrare strana o confusa se non hai mai riscontrato ricompense di bug prima.
4 grandi insegnamenti dal lancio di un nuovo programma Bug Bounty
Ho imparato abbastanza rapidamente che lanciare un nuovo programma di ricompense di bug è molto più difficile che sostituirne uno esistente. Ci sono così tanti fattori diversi che contribuiscono alla creazione di un programma di successo che non ottiene la stessa attenzione, in parte perché non sono così eccitanti come identificare i bug critici, risolverli rapidamente e pagare grandi ricompense. Detto questo, parliamo di alcuni dei miei più grandi apprendimenti:
1. L'avvio di un programma Bug Bounty richiede la collaborazione tra team
Inizialmente, speravo che avviare il programma sarebbe stato semplice come decidere di farlo, scegliere la piattaforma giusta, decidere l'ambito e gli importi della taglia, e poi semplicemente dare il via alle cose. Ma farlo bene richiede molta più pianificazione, preparazione e attenzione da affrontare di quanto pensassi. Per prima cosa, non avevo preso in considerazione tutti gli altri team all'interno di Braze che avevano un ruolo da svolgere nel supportare il lancio del programma di ricompense dei bug: dal lavoro svolto dal nostro team legale per assicurarsi che avessimo la formulazione corretta per il nostro accordo Safe Harbor sul lavoro svolto per creare i nostri SLA e garantire che avessimo il giusto processo di escalation quando si verificano violazioni. Questo lavoro può essere impegnativo, ma è assolutamente essenziale. Un programma bug bounty che non è stato attentamente pianificato ed eseguito incontrerà inevitabilmente molti problemi, che, a loro volta, possono portare a un cattivo passaparola sul programma, rendendo più difficile attirare hacker e ricercatori di sicurezza di alto livello e potenzialmente condannando l'intero sforzo.
2. Non perdere mai di vista la tua relazione con hacker e ricercatori
È importante che i marchi ricordino che un programma di ricompense di bug di successo dipende dalla relazione tra il programma e gli hacker/ricercatori che vi partecipano. Gli hacker felici sono molto più disposti a dedicare il loro tempo al tuo programma e dato che ogni programma di ricompense sta lottando per una quota di una risorsa limitata, ovvero il tempo e l'attenzione degli hacker/ricercatori, è importante assicurarsi che ti stai preparando per il successo dando priorità a questa relazione e facendo il possibile per distinguerti dagli altri programmi. Alcune aziende lo fanno pagando ricompense maggiori rispetto alla media del settore per varie classi di bug e gravità, ma questo non è l'unico (o il migliore) modo per farlo.
A causa del mio background come cacciatore di taglie di insetti, sono stato in grado di utilizzare le mie esperienze per aiutare a informare su come Braze nutre quella relazione. Ad esempio, sono stato in grado di ottenere il buy-in per assicurarmi che Braze esegua contemporaneamente programmi di ricompense di bug sia pubblici che privati. Ciò ci consente di identificare le persone coinvolte nel nostro programma pubblico che stanno segnalando segnalazioni valide e valide e quindi premiarle invitandole al nostro programma privato. Questi partecipanti hanno funzionalità aggiuntive per testare e ottenere la prima prova con le aggiunte di nuovi ambiti prima di aggiungerli al programma pubblico. Credo che facendo piccole cose come questa, le aziende possano mostrare il loro apprezzamento per i ricercatori che stanno contribuendo al loro programma e incoraggiarli ad approfondire il loro impegno in futuro.
3. Le taglie dei bug hanno un aspetto diverso dal lato dell'azienda
Prima di iniziare a eseguire il mio programma di ricompensa dei bug, non ero un fan di lavorare con programmi gestiti da una piattaforma di terze parti. Per programmi configurati in questo modo, è normale che le aziende si affidino a triager di terze parti forniti dalla piattaforma, che esaminano gli invii di hacker/ricercatori e determinano la gravità di ciascun bug identificato, e ho avuto alcune esperienze in cui i triager avevano fatto chiamate con cui non ero d'accordo.
Tuttavia, ora che sono dall'altra parte, posso vedere quanto valore offre questo tipo di approccio basato sulla piattaforma alle aziende che lo utilizzano. Mentre siamo ancora coinvolti nella supervisione diretta del lavoro svolto dai triager di terze parti che utilizziamo, ho scoperto che sfruttarli può fare molto per ridurre il carico di tempo ed energia associato all'esecuzione di un programma come questo. I triager con cui lavoriamo sono professionisti e hanno dimostrato di essere una grande risorsa per il nostro programma, contribuendo a rendere possibile il nostro successo nell'implementazione.
4. Il lavoro non finisce quando viene identificato un bug
Prima di entrare a far parte di Braze, mi sentivo spesso frustrato dai programmi di ricompense dei bug che impiegavano settimane o mesi per correggere le vulnerabilità che avevo loro presentato. Dal mio punto di vista, i problemi in genere sembravano piuttosto secchi e asciutti e ho sentito che la patch per quei bug avrebbe dovuto richiedere poco o nessun tempo per essere implementata.
Ma ora che ho assistito a ciò che accade dietro le quinte quando viene inviato uno di questi bug, mi sono reso conto di non aver tenuto conto di tutte le discussioni e del lavoro svolto dietro le quinte durante il ciclo di vita di una vulnerabilità di sicurezza, dall'indagine e la conferma del bug e la consegna di tali dettagli al team responsabile internamente per le effettive modifiche al codice, test e rilasci che devono verificarsi prima che il bug venga veramente risolto. La realtà è che queste cose richiedono tempo e, come hacker, non ho sempre preso in considerazione il lavoro che comporta, in parte perché volevo che l'intero processo fosse svolto il più rapidamente possibile in modo da poter essere pagato.
Pensieri finali
L'esecuzione di un programma di ricompense di bug nell'ultimo anno ha cambiato la mia intera visione del settore e ha persino cambiato il modo in cui seleziono i programmi di ricompense di bug su cui mi concentro nel mio tempo libero. Questa sbirciatina dietro le quinte mi ha dato molto più rispetto per il lavoro essenziale svolto dai triager della piattaforma e una migliore comprensione di quali sono le scadenze realistiche per le aziende per valutare e affrontare i bug che invio. Con questa nuova intuizione, spero di poter continuare a migliorare e far crescere il programma di taglie di bug Braze, vedendo anche ancora più successo come cacciatore di taglie di bug in futuro.
Ti interessa entrare a far parte del team qui a Braze? Dai un'occhiata ai nostri ruoli aperti !