Vom Hacker zum Besitzer des Bug-Bounty-Programms: Eine Lernerfahrung
Veröffentlicht: 2022-04-27Sicherheit hat hier bei Braze seit unserer Gründung im Jahr 2011 höchste Priorität. Unser Fokus auf den Schutz der Daten unserer Kunden hat uns dazu veranlasst, bei der Entwicklung unseres Produkts auf Sicherheit und Datenschutz zu setzen und sicherzustellen, dass wir in Verbindung mit ISO 27001 zertifiziert wurden und SOC 2 Typ 2 sowie den Aufbau eines dedizierten HIPAA-Clusters, um Marken beim Schutz geschützter Gesundheitsinformationen zu unterstützen. Aber obwohl all diese Schritte wichtig sind, ruhen wir uns nicht auf unseren Lorbeeren aus. Es gibt immer mehr, was Sie tun können, und dieser Fokus darauf, neue Wege zur Stärkung unserer Sicherheit zu finden, ist ein wichtiger Grund, warum ich hier bin.
Im Jahr 2020 hat mich Mark Shasha, Head of Security bei Braze, dazu gebracht, hier beim Start eines Bug-Bounty-Programms zu helfen, mit dem Ziel, die Identifizierung von Sicherheitsproblemen zu erleichtern, die sich auf unser Produkt auswirken könnten. Und jetzt, da das Programm seit etwas mehr als einem Jahr läuft, dachte ich, es wäre an der Zeit, zurückzublicken auf das, was wir aufgebaut und was ich dabei gelernt habe.
Was ist ein Bug-Bounty-Programm?
Beim Braze-Bug-Bounty-Programm werden externe Parteien eingeladen, zu versuchen, eine bereinigte, kundendatenfreie Version der Braze-Plattform zu kompromittieren, und werden bezahlt, wenn sie ein gültiges, umsetzbares Sicherheitsproblem identifizieren. Die Schaffung eines Bug-Bounty-Programms ermöglicht es einem Unternehmen wie Braze, externe Sicherheitsforscher und -experten einzusetzen, um potenzielle Sicherheitsprobleme zu identifizieren, sodass wir Schwachstellen proaktiv angehen können.
Diese Programme werden weithin als eine der wichtigsten Cybersicherheitsmaßnahmen angesehen, die ein Unternehmen ergreifen kann – zum Teil, weil sie es Marken ermöglichen, Sicherheitserkenntnisse von einer großen Anzahl verschiedener Personen mit einer Vielzahl von Fähigkeiten zu sammeln. In der Regel ist das Starten und Verwalten eines erfolgreichen Public Bug Bounty ein Zeichen dafür, dass eine Organisation über ein gesundes Sicherheitsprogramm verfügt, da der Betrieb eines solchen Programms ohne Zwischenfälle ein Maß an Sicherheitsreife erfordert, das viel Überlegung und Sorgfalt erfordert, um es zu erreichen.
Meine Tage als Bug-Bounty-Teilnehmer
Ich habe 2014 zum ersten Mal von Bug Bounties gehört, aber weil ich dachte, dass sie zu gut klingen, um wahr zu sein, habe ich erst 2016 tatsächlich an einer teilgenommen. Inspiriert von einigen Blog-Posts, die von anderen ethischen Hackern geschrieben wurden, nahm ich teil das Yahoo! Bug-Bounty-Programm und stellte fest, dass ich ein echtes Händchen für die Arbeit hatte. Zum einen gaben sie mir die Gelegenheit, meine Hacking-Fähigkeiten zu nutzen, um Computersysteme zu schützen, anstatt sie zu gefährden. Zum anderen gaben sie mir die Möglichkeit, nebenbei große Summen zu verdienen.
Als die Zahl der Unternehmen und Regierungsorganisationen, die Bug-Bounty-Programme starteten, zunahm, spezialisierte ich mich schließlich auf die Suche nach Server-Side Request Forgery (SSRF)-Bugs für ein Bug-Bounty-Programm, das mit einem großen Telekommunikationsunternehmen verbunden war, und verdiente nur knapp 1 Million Dollar Identifizierung dieser Schwachstellen. Aber während sich die finanzielle Seite der Arbeit mit Bug Bounties für mich wirklich auszahlte, fehlte mir die Struktur und die persönlichen Verbindungen, die mit einem Tagesjob einhergehen. Als Braze mir also die Möglichkeit bot, ein eigenes Bug-Bounty-Programm zu starten und zu betreuen, ergriff ich die Chance.
Wie wir bei Braze ein Bug-Bounty-Programm gestartet haben
Bei Braze mussten wir eine Reihe von Schritten durchlaufen, bevor wir unsere Vision eines Bug-Bounty-Programms verwirklichen konnten. Da die Teilnehmer für jeden gültigen, umsetzbaren Fehler, den sie finden, bezahlt werden, kann das Starten eines Prämienprogramms, ohne alle bekannten Schwachstellen zu beheben, dazu führen, dass Unternehmen einen Höchstbetrag für Informationen zahlen, die sie bereits haben, und gleichzeitig die Auswirkungen des Programms verringern seine Kosten in die Höhe treiben. Zu diesem Zweck haben wir die folgenden Schritte durchgeführt, bevor wir uns auf einen offiziellen Start vorbereiteten:
Bereitstellung interner Service-Level-Agreements (SLAs) für die Sicherheit mit Entwicklungsteams
Erstellen eines Vulnerability-Management-Programms
Bereitstellung von DAST-Tools (Dynamic Analysis Security Testing).
Durchführung interner Penetrationstests
Führen Sie Penetrationstests von Drittanbietern durch
Sicherstellen, dass alle bekannten Probleme behoben wurden
Als wir dann sicher waren, dass die duplizierte Version der Braze-Plattform, die für das Bug-Bounty-Programm erstellt wurde, so gut wie möglich war, initiierten wir ein privates Programm mit begrenztem Umfang unter Verwendung der Bugcrowd-Plattform. Wir haben dieses zweiwöchige On-Demand-Programm ins Leben gerufen, damit wir es sowohl als Proof of Concept verwenden als auch dazu beitragen können, die Braze-Organisation in die Realitäten der Durchführung eines Bug-Bounty-Programms einzuführen. Schließlich kann die Idee, Hacker und Sicherheitsforscher einzuladen, nach Sicherheitslücken in Ihrem Produkt zu suchen, seltsam oder verwirrend erscheinen, wenn Sie noch nie zuvor auf Bug Bountys gestoßen sind.
4 wichtige Erkenntnisse aus dem Start eines neuen Bug-Bounty-Programms
Ich habe ziemlich schnell gelernt, dass es viel schwieriger ist, ein neues Bug-Bounty-Programm zu starten, als ein bestehendes zu übernehmen. Es gibt so viele verschiedene Faktoren, die in die Erstellung eines erfolgreichen Programms einfließen, denen nicht so viel Aufmerksamkeit geschenkt wird – zum Teil, weil sie nicht so aufregend sind, wie kritische Fehler zu identifizieren, sie schnell zu beheben und große Kopfgelder auszuzahlen. Lassen Sie uns angesichts dessen über einige meiner größten Erkenntnisse sprechen:
1. Der Start eines Bug-Bounty-Programms erfordert teamübergreifende Zusammenarbeit
Ursprünglich hatte ich gehofft, dass der Start des Programms so einfach sein würde wie die Entscheidung, die richtige Plattform auszuwählen, den Umfang und die Prämienbeträge festzulegen und dann einfach loszulegen. Aber es richtig zu machen, erfordert viel mehr Planung, Vorbereitung und Aufmerksamkeit, als ich dachte. Zum einen hatte ich nicht alle anderen Teams innerhalb von Braze berücksichtigt, die eine Rolle bei der Unterstützung des Starts des Bug-Bounty-Programms zu spielen hatten – von der Arbeit, die unser Rechtsteam geleistet hat, um sicherzustellen, dass wir die richtigen Formulierungen dafür hatten unsere Safe-Harbor-Vereinbarung für die Arbeit, die geleistet wurde, um unsere SLAs zu erstellen und sicherzustellen, dass wir den richtigen Eskalationsprozess haben, wenn Verstöße auftreten. Diese Arbeit kann eine Herausforderung sein, aber sie ist absolut notwendig. Ein Bug-Bounty-Programm, das nicht sorgfältig geplant und ausgeführt wurde, wird unweigerlich auf viele Probleme stoßen, was wiederum zu schlechter Mundpropaganda über das Programm führen kann, was es schwieriger macht, hochrangige Hacker und Sicherheitsforscher anzuziehen und möglicherweise das ganze Unterfangen zum Scheitern verurteilt.
2. Verlieren Sie niemals Ihre Beziehung zu Hackern und Forschern aus den Augen
Es ist wichtig, dass sich Marken daran erinnern, dass ein erfolgreiches Bug-Bounty-Programm von der Beziehung zwischen dem Programm und den daran teilnehmenden Hackern/Forschern abhängt. Zufriedene Hacker sind viel eher bereit, ihre Zeit mit Ihrem Programm zu verbringen, und da jedes Bounty-Programm um einen Anteil an einer begrenzten Ressource kämpft – nämlich um die Zeit und Aufmerksamkeit von Hackern/Forschern – ist es wichtig, sicherzustellen, dass Sie sich gut vorbereiten für den Erfolg, indem Sie dieser Beziehung Priorität einräumen und alles tun, um sich von anderen Programmen abzuheben. Einige Unternehmen tun dies, indem sie für verschiedene Fehlerklassen und Schweregrade höhere Prämien als der Branchendurchschnitt zahlen, aber das ist nicht der einzige (oder beste) Weg, dies zu tun.
Aufgrund meines Hintergrunds als Bug-Bounty-Jäger konnte ich meine Erfahrungen nutzen, um darüber zu informieren, wie Braze diese Beziehung pflegt. Zum Beispiel konnte ich ein Buy-in erhalten, um sicherzustellen, dass Braze gleichzeitig sowohl öffentliche als auch private Bug-Bounty-Programme ausführt. Auf diese Weise können wir an unserem öffentlichen Programm beteiligte Personen identifizieren, die gute, gültige Berichte melden, und sie dann belohnen, indem wir sie zu unserem privaten Programm einladen. Diese Teilnehmer können zusätzliche Funktionen testen und erste Erfahrungen mit neuen Scope-Ergänzungen machen, bevor wir sie in das öffentliche Programm aufnehmen. Ich glaube, dass Unternehmen durch solche kleinen Dinge ihre Wertschätzung für die Forscher zeigen können, die zu ihrem Programm beitragen, und sie ermutigen, ihr Engagement in Zukunft zu vertiefen.
3. Bug Bounties sehen auf Unternehmensseite anders aus
Bevor ich anfing, mein eigenes Bug-Bounty-Programm zu betreiben, war ich kein Fan davon, mit Programmen zu arbeiten, die von einer Drittanbieter-Plattform verwaltet wurden. Bei solchen Programmen ist es üblich, dass sich Unternehmen auf Triager von Drittanbietern verlassen, die von der Plattform bereitgestellt werden, die Beiträge von Hackern/Forschern prüfen und den Schweregrad jedes identifizierten Fehlers bestimmen, und ich hatte einige Erfahrungen mit Triagern gemacht Anrufe getätigt, mit denen ich nicht einverstanden war.
Aber jetzt, da ich auf der anderen Seite bin, kann ich sehen, wie viel Wert diese Art von plattformgesteuertem Ansatz für die Unternehmen bietet, die ihn verwenden. Wir sind zwar immer noch an der direkten Überwachung der Arbeit der von uns verwendeten Drittanbieter-Triager beteiligt, aber ich habe festgestellt, dass deren Nutzung viel dazu beitragen kann, den Zeit- und Energieaufwand zu reduzieren, der mit der Ausführung eines Programms wie diesem verbunden ist. Die Triager, mit denen wir zusammenarbeiten, sind Profis und haben sich als große Bereicherung für unser Programm erwiesen, da sie dazu beigetragen haben, unsere erfolgreiche Einführung zu ermöglichen.
4. Die Arbeit endet nicht, wenn ein Fehler identifiziert wird
Bevor ich zu Braze kam, war ich oft frustriert über Bug-Bounty-Programme, die Wochen oder Monate brauchten, um die von mir gemeldeten Schwachstellen zu beheben. Aus meiner Sicht schienen die Probleme im Allgemeinen ziemlich abgedroschen und trocken zu sein, und ich hatte das Gefühl, dass die Implementierung des Patches für diese Fehler wenig oder gar keine Zeit in Anspruch nehmen sollte.
Aber jetzt, wo ich gesehen habe, was hinter den Kulissen passiert, wenn einer dieser Fehler gemeldet wird, ist mir klar geworden, dass ich nicht alle Diskussionen und Arbeiten berücksichtigt habe, die während des Lebenszyklus einer Sicherheitslücke hinter den Kulissen geleistet werden – von der Untersuchung an und Bestätigung des Fehlers und die Übermittlung dieser Details an das verantwortliche Team intern zu den tatsächlichen Codierungsänderungen, Tests und Veröffentlichungen, die stattfinden müssen, bevor der Fehler wirklich behoben wird. Die Realität ist, dass diese Dinge Zeit brauchen, und als Hacker habe ich die damit verbundene Arbeit nicht immer berücksichtigt, teilweise weil ich wollte, dass der gesamte Prozess so schnell wie möglich erledigt wird, damit ich bezahlt werden kann.
Abschließende Gedanken
Das Ausführen eines Bug-Bounty-Programms im letzten Jahr hat meine gesamte Sicht auf die Branche verändert und sogar die Art und Weise verändert, wie ich auswähle, auf welche Bug-Bounty-Programme ich mich in meiner Freizeit konzentriere. Dieser Blick hinter die Kulissen hat mir viel mehr Respekt für die wesentliche Arbeit gegeben, die von Plattform-Triagern geleistet wird, und ein besseres Verständnis dafür, welche realistischen Zeitpläne Unternehmen haben, um die von mir gemeldeten Fehler zu bewerten und zu beheben. Mit dieser neuen Erkenntnis bin ich zuversichtlich, dass ich das Braze-Bug-Bounty-Programm weiter verbessern und erweitern kann und gleichzeitig noch mehr Erfolg als Bug-Bounty-Jäger in der Zukunft sehen kann.
Sind Sie daran interessiert, dem Team hier bei Braze beizutreten? Sehen Sie sich unsere offenen Stellen an !