Jeder Fehler ist wichtig: So führen Sie das Bug Bounty-Programm in einem Unternehmen aus

Timeweb Erfahrung



Jedes Unternehmen benötigt eine externe Perspektive auf den Stand der Informationssicherheit von Dienstleistungen und Produkten. Dieses Problem kann auf verschiedene Arten gelöst werden, unter anderem durch die Teilnahme an Bug Bounty-Programmen.



Bug Bounty-Programm als neue Kraft bei der



Bug- Jagd Bug Bounty ist ein Programm, das finanzielle Belohnungen oder andere Vorteile für das Auffinden von Bugs, Exploits und Schwachstellen in Software bietet. Bug Bounty-Programme werden von vielen Unternehmen implementiert, darunter Facebook, Google, Reddit, Apple, Microsoft und andere. Ein



Unternehmen kann ein solches Programm selbst starten und alle Prozesse und Interaktionen selbst organisieren. Die zweite Möglichkeit besteht darin, sich speziellen Bug Bounty-Plattformen zuzuwenden: Wir schließen eine Vereinbarung, und die Armee der Bug-Jäger beginnt zu arbeiten.



Timeweb hat vor etwa einem Jahr sein Bug Bounty-Programm gestartet. Zu diesem Zeitpunkt hatte das Unternehmen keine Spezialisten mit Erfahrung auf diesem Gebiet, alles musste durch Ausprobieren erledigt werden. Im Internet gibt fast niemand Empfehlungen zum Aufbau dieses Prozesses. Daher werden häufig Fahrräder erfunden, und Wissen wird normalerweise in Gesprächen mit Kollegen an der Kaffeemaschine übertragen.



In diesem Artikel erfahren Sie, wie Sie den Start des Bug Bounty-Programms organisieren. Wenn Sie dies noch nie getan haben, worauf Sie achten sollten und wie Sie den Status des Informationssicherheitssystems überprüfen können.



Hör zu!



Warum haben wir das Bug Bounty-Programm gestartet?



Unsere Aufgabe war es, das Informationssicherheitssystem auf ein neues, höheres Qualitätsniveau zu heben und nicht zu viel Geld auszugeben. Es ist wichtig anzumerken, dass Timeweb ein ausgereiftes Unternehmen mit einer komplexen Infrastruktur und einer großen Anzahl kritischer Services ist. Daher war uns damals überhaupt nicht klar, in welcher Reihenfolge Services getestet und Schwachstellen behoben werden sollten und was zuerst zu beginnen ist.



Es gibt verschiedene Möglichkeiten, das Informationssicherheitssystem zu überprüfen. Vor dem Start des Bug Bounty-Programms haben wir versucht, verschiedene Optionen zu prüfen und zu analysieren. Unter diesen ist die externe Prüfung wahrscheinlich die häufigste Lösung für das Problem. Dank des Audits können Sie komplexe, nicht standardmäßige Probleme feststellen, aber selbst wenn Sie einen großen Betrag bezahlt haben, können Sie nicht sicher sein, dass Sie das bekommen, was Sie wirklich brauchen.



Eine andere Möglichkeit besteht darin, das Team zu schulen und die Kompetenzen der Mitarbeiter zu entwickeln. Hier müssen Sie verstehen, dass die Ressourcen des Teams immer noch begrenzt sind und es natürlich unmöglich ist, alle möglichen Fehler selbst zu finden.



Bei der Überprüfung des Informationssicherheitssystems helfen Tickets und Kundenanfragen an den technischen Support auch, wenn Kommentare und Nachrichten von Benutzern effektiv verarbeitet werden können.



Parallel dazu haben wir mit Kollegen gesprochen und Expertenmeinungen darüber gesammelt, wie der Prozess der Fehlersuche in anderen Unternehmen strukturiert ist. Dank der Empfehlungen haben wir uns entschlossen, auf das Bug Bounty-Programm zu achten.



Starten des Bug Bounty-Programms



Was ist zu Beginn zu beachten?



Es gibt viele verschiedene Arten von Bug Bounty-Programmen und -Plattformen.

In der ersten Phase haben wir zwischen öffentlichen und privaten Programmen gewählt und uns auf letztere konzentriert. Im öffentlichen Programm ist der Zugriff nicht beschränkt: Jeder kann nach Fehlern suchen. In einem privaten Programm - auf Einladung. In beiden Fällen werden Fehler nur mit Zustimmung der Parteien gemeldet. Wir haben beschlossen, dass es für uns zu früh ist, ein öffentliches Programm zu eröffnen. Zunächst müssen wir sicher sein, dass unsere Dienstleistungen und Produkte keine kritischen Schwachstellen enthalten.



Für die Bug Bounty-Plattform selbst haben wir die vorhandenen Optionen analysiert und die für uns am besten geeignete ausgewählt, die hinsichtlich der Anzahl der Bug-Jäger und der Kosten für Dienstleistungen optimal ist.



Hier ist eine Liste der bekanntesten Bug Bounty-Plattformen auf dem Markt:





Wir sollten auch die Open Bug Bounty- Plattform erwähnen - eine gemeinnützige Bug Bounty-Plattform, die Informationssicherheitsbegeisterte zusammenbringt und ethisches Hacking populär macht. Forscher können einen Fehler melden, der in der Arbeit einer Software gefunden wurde, für die das Unternehmen eine Belohnung bereitstellt (Barzahlungen, Waren, Rabatte oder eigene Produkte). Timeweb bietet zum Beispiel kostenloses Hosting für Bug-Jäger. Beachten Sie, dass Sie gemäß der Open Bug Bounty-Richtlinie nur Fehler melden können, die keine aktive Intervention implizieren. Sie können beispielsweise RCE und SQL nicht melden.



Zunächst haben wir die Arbeit innerhalb des Unternehmens aufgebaut: Wir haben festgelegt, wie die Abteilungen miteinander interagieren sollen, wer für die Behebung von Fehlern verantwortlich ist, wer den Umfang und die Reaktionen auf Berichte überwacht.



Bevor Sie mit dem Programm beginnen, empfehlen wir Ihnen, sicherzustellen, dass Sie alles getan haben, was Sie konnten, und alle möglichen Fehler selbst gefunden haben. Es ist auch wichtig, das Innere und Äußere des Produkts zu kennen, das Sie in die Arbeit von Baghuntern einbauen möchten: Welche Probleme gibt es jetzt, welche waren; ob systematische Fehler auftreten. Mit diesen Informationen können Sie den richtigen Umfang bilden - kurz, aber umfassend, um Eingabedaten anzugeben und die Anfrage für Bug-Jäger zu beschreiben.



Die Plattform wurde ausgewählt, die Vorbereitung wurde durchgeführt - wir beginnen die Kegel zu füllen, um zu arbeiten!



Wir bilden einen Scop



Wir werden Ihnen erzählen, was wir im Jahr des Bestehens des



Scopes- Programms verstanden haben , das auf der Bug Bounty-Plattform ausgefüllt wurde, eine Art Angebot - eine Vereinbarung zwischen dem Unternehmen und der Community der Bug-Jäger. Die folgenden Informationen sollten in den Geltungsbereich aufgenommen werden:



  • Geben Sie den Zweck an: das Vorhandensein schädlicher Auswirkungen oder zerstörerischer Folgen, die wir überprüfen möchten
  • Informationen zu Fehlern, die dem Unternehmen bereits bekannt, irrelevant oder uninteressant sind (es wird keine Belohnung für das Auffinden dieser Fehler bereitgestellt)
  • Regeln und Grenzen für die Suche nach Schwachstellen, die befolgt werden sollten
  • Größe der Auszeichnungen.


Je mehr Zeit Sie mit Scoping verbringen, desto besser. Versuchen Sie, alle Elemente sorgfältig und detailliert auszufüllen, damit Sie in Zukunft alle Vorfälle anhand der angegebenen Informationen lösen können.



Ein Beispiel für Abschnitte mit Gültigkeitsbereich mit dem Inhalt von Punkten am Beispiel unseres aktuellen Programms:





Wie wählen Sie aus, welche zuerst überprüft werden soll? Wir empfehlen Ihnen, den Service oder Aspekt in das Programm aufzunehmen, der höchstwahrscheinlich am meisten überprüft werden muss. Es ist unmöglich, sofort zu verstehen, wonach genau Sie suchen müssen. Sie können nur eine Richtung wählen. Es ist wichtig, die problematischsten Punkte zu finden. Mit jedem neuen Bericht und jedem neuen Programm haben wir unsere Erfahrung erweitert und klarer verstanden, wohin wir als nächstes gehen sollen.



Bisher sind nicht alle unsere Dienstleistungen und Produkte auf der Bug Bounty-Plattform aufgeführt. Dies wurde bewusst gemacht, da einige der Services beispielsweise auf der Grundlage von Open-Source-Lösungen erstellt wurden: Teams von Drittanbietern sind an deren Entwicklung und Support beteiligt. Wir sind daher der Ansicht, dass es keinen Sinn macht, sie auf unserer Bug Bounty-Plattform auszustellen, da unser Team nur die Relevanz überwacht dieser Dienste.



Es lohnt sich zu überlegen, ob Sie das im Bug Bounty-Programm enthaltene Produkt ändern können: Gibt es ein Team, das es entwickeln kann? erlauben die Nuancen der Architektur.



Während der Bug Bounty-Programme haben wir unsererseits ständig alle Dienste und das Netzwerk selbst recherchiert. Dadurch konnten wir Geld sparen: Wir haben die gefundenen Fehler behoben und den Umfang aktualisiert.



Eine wichtige Komponente des Programms besteht darin, den Schweregrad der gefundenen Sicherheitsanfälligkeit zu bestimmen und die Höhe der Belohnung festzulegen. Versuchen Sie, eine transparente Beziehung zwischen der Schwere des Fehlers und der Größe der Belohnung zu erfassen. Je transparenter, desto weniger Fragen an Sie! Es wird empfohlen, die Größe der Auszeichnung an die CVSS- Skala zu binden(ein offener Standard zur Bewertung der Kritikalität von Sicherheitslücken). Darüber hinaus zeigen Bug Bounty-Plattformen normalerweise Handbücher und Anweisungen zum Bestimmen der Belohnungssumme an. Site Manager können Ihnen dabei helfen. Um die Zahlungsstufe für die Arbeit von Bug-Jägern zu bestimmen , können Sie im HeadHunter- Portal die angegebenen Gehälter analysieren. Wenn Hacker nicht mehr aktiv sind, kann es sich lohnen, die Belohnung zu erhöhen.



Bei Timeweb beurteilen wir den Schweregrad der Situation unabhängig von den Auswirkungen auf das Geschäft. Unsere Skala für den Schweregrad der geschäftlichen Auswirkungen umfasst 4 Ebenen:



  • niedrig (Empfang unkritischer Informationen über andere Benutzer, z. B. Name des Anmeldenamens oder Möglichkeit zum Ändern von Avataren sowie Verletzung der Integrität und Verfügbarkeit dieser Informationen)
  • medium ( , , ; )
  • high ( “” ; : , , , ; )
  • critical ( ; ).


Zusätzlich zu den oben angegebenen Informationen untersuchen wir die Art der Sicherheitsanfälligkeit (RCE, XSS, SQL-Injection) und die Bedeutung des Servers, auf den gehackt oder verwaltet wurde, um Zugriff zu erhalten.



Um den Schweregrad des gefundenen Fehlers zu ermitteln, analysieren wir die Art der Sicherheitsanfälligkeit, die Bedeutung des Servers und den Grad der Auswirkungen auf das Unternehmen. Basierend auf diesen Kriterien bestimmen wir die Höhe für jede gefundene Sicherheitsanfälligkeit, die die Höhe der Vergütung für den Bug Hunter bestimmt. Wir fügen jedoch hinzu, dass es unmöglich ist, alles zu berücksichtigen, und oft kann man bei der Bestimmung des Kritikalitätsgrades eines gefundenen Fehlers nicht auf Subjektivität verzichten.



Eine detailliertere Beschreibung des Prozesses zur Bewertung des Schweregrads der Sicherheitsanfälligkeit finden Sie in den folgenden Tabellen:





Server- / Service-Score-Tabelle





Bug Bounty Timeline: Wie war es?



Programm Nr. 1 Loslassen



: Timeweb.ru Hosting Panel Scop



: Scop wurde anhand von Beispielen anderer Unternehmen zusammengestellt. Spoiler: Tu es nicht! Aber wir mussten irgendwo anfangen.



Ergebnisse: Während der Woche erhielten wir 20 Berichte, hauptsächlich mit dem Hinweis auf kritische Schwachstellen, und ... gaben das gesamte Geld aus, das wir auf das Konto eingezahlt haben (mehrere tausend Dollar). Während dieser 7 Tage sahen wir wiederholte Problemmuster: mehrere Probleme beim Filtern von Eingaben und Anzeigen von Daten, verschiedene Verstöße gegen die Geschäftslogik der Anwendung sowie einige andere Risiken für OWASP Top Ten. Wir haben beschlossen, das Programm auszusetzen, und für den nächsten Monat haben wir nur die gefundenen Fehler behoben und analysiert.



Sobald wir diese 20 Berichte analysiert hatten, verstanden wir, was als nächstes zu tun ist: wo während der Entwicklung zu graben ist, wie man richtig mit Sicherheit arbeitet.



Programm Nr. 2



Wir geben es auf: Timeweb.ru Hosting Panel (wieder)



Scop: Wir haben Scop basierend auf den zuvor erhaltenen Berichten behoben : Die behobenen Schwachstellen wurden entfernt und wir haben uns auf das konzentriert, was für uns interessant ist.



Ergebnisse: Dieses Mal haben wir viele kritische Berichte erhalten, jedoch spezifischer und spezifischer. Alle Bug Bounty-Aufgaben wurden als dringend identifiziert. Dank des zweiten Programms haben wir die Entwicklungsprozesse und Fehlerbehebungen angepasst.



Programm Nr. 3



Wir geben es zum Zerreißen auf: VDS Timeweb.ru Panel , überprüfenoffizielle Seite



Ergebnisse: Erhielt ungefähr 40 Berichte mit Fehlern unterschiedlicher Schwere.



Da unsere Produkte in ihrer Funktionalität ähnlich sind, erben sie manchmal nicht nur Funktionen, sondern auch Fehler voneinander. Es stellte sich heraus, dass das neue Panel Fehler enthielt, die bereits in früheren Bug Bounty-Programmen gefunden wurden. Solche Fehler wurden im Geltungsbereich als Duplikat registriert, sodass wir sie nicht erneut bezahlen mussten.



Auf der Site wurden viele Probleme mit Formularen und XSS-Schwachstellen festgestellt.



Programm # 4



Umfang: Das Hauptziel des vierten Programms war es, die SQL-Injection zu finden.



Ergebnisse:Vor dem Start des Programms haben wir unabhängig voneinander untersucht, wie es funktioniert, und unser Produkt selbst untersucht: Wir haben nur 1-2 unkritische Sicherheitslücken gefunden. Zwei Wochen nach dem Start dieses Programms in der Nacht erhielten wir einen lang erwarteten Bericht: Ein Bug-Jäger demonstrierte mithilfe von Blind-SQLi einen Angriffsvektor mit zerstörerischer Wirkung auf eine Abrechnungsdatenbank. Wir konnten diese Sicherheitsanfälligkeit innerhalb von 5 Minuten schnell schließen: Sie war in der vorherigen globalen Version des Kernels enthalten, die in den neuesten globalen Versionen von Control Panels (virtuelles Hosting, VDS, Webmaster) immer noch als Plug-Ins für verschiedene Aktionen verwendet wird. Wir haben uns sehr gefreut, dass wir ein so ernstes Problem erkennen und rechtzeitig beheben konnten. Unter anderem haben wir alle anderen ähnlichen Codeabschnitte in Analogie gründlich überprüft.



Programm Nr. 5



Wir geben es der Gnade: Virtuelles Hosting Timeweb



Virtuelles Hosting ist grob gesagt ein physischer Server, der auf Hunderte von Clients aufgeteilt ist. Clients hosten ihre Webanwendungen und Arbeitsverzeichnisse auf diesem Server und haben SSH- und FTP-Zugriff auf den Server. Jeder unserer Kunden hat seine eigenen Kunden. Auf einem solchen Server werden unsere Serving-Service-Skripte, -Dienste und andere Anpassungen ausgeführt, die mit anderen Serving-Services und -Datenbanken interagieren.



Umfang:Das Hauptziel für Bug-Jäger war hier einfach: Vektoren für die Eskalation von Root-Berechtigungen zu finden. Wir erwarteten auch eine Suche nach Einflussvektoren auf andere Benutzer und deren Ressourcen, eine Suche nach Einflussvektoren auf unsere Serving-Skripte und eine Suche nach Angriffsmethoden auf andere Server, sowohl virtuelle Hosting- als auch Service-Server, auf die hypothetisch zugegriffen werden kann.



Ergebnisse: Wir haben einen speziellen Server ohne Clients für Fehlerjäger zugewiesen, der in seiner Funktionalität Produktionsservern ähnelt. Im Moment haben Insektenjäger nur 10 Fehler gefunden. Zwei Berichte zeigten Angriffsmethoden mit Eskalation von Berechtigungen zu root, konnten jedoch andere Server nicht erreichen. Diese Probleme wurden sofort behoben.



Vor dem Start des fünften Programms haben wir uns mit der Aktualisierung von Servern und Software befasst, Schwachstellen behoben und Servicedienste in einem lokalen Netzwerk bereitgestellt, auf das das externe Netzwerk keinen Zugriff hat. Dank dieses Programms überarbeiten wir die internen Systeme auf dem Server. Dies ermöglichte es uns, Fehler zu bemerken, noch bevor sie uns darüber schreiben.



Und wohin hat es dich geführt?



Über die Ergebnisse des Bug Bounty-Programms



Fast ein Jahr lang haben wir 72 Berichte über das Bug Bounty-Programm erhalten. Davon entsprechen 36 Berichte nicht den Regeln unseres Geltungsbereichs. Bug-Jäger fanden jedoch 7 kritische Schwachstellen, 9 hohe und 10 Bugs mittlerer und niedriger Schwere.



Um ein solches Ergebnis zu erzielen, haben wir mehr als 15.000 US-Dollar für die Vergütung von Bug-Jägern ausgegeben (ohne Plattformgebühren). Die kleinste Belohnung betrug 50 US-Dollar (für eine Sicherheitsanfälligkeit, mit der Sie Informationen über die Zahlungsmethode für jede Rechnung über IDOR erhalten können). Die höchste bisher gezahlte Belohnung beträgt 1.500 US-Dollar. Durchschnittliche Vergütung: ca. 423 USD.



Was die Qualitätsergebnisse betrifft: Wir



bewahren den Tonus der IB-Muskeln



Da das Bug Bounty-Programm eine ständige und kontinuierliche Suche nach Fehlern impliziert, ist unser Informationssicherheitsteam rund um die Uhr in Alarmbereitschaft.



Wir können sagen, dass Bug-Jäger die Aktionen von Hackern simulieren. Sie verursachen jeden Tag sanktionierte „schädliche“ Aktivitäten und zwingen uns, die Augen offen zu halten und unsere Wache zu halten.



Mit dem Trend



Schritt halten Baghunter nutzen neue Dienste, unbekannte Dienstprogramme und moderne Hacking-Techniken. Dank dessen können unsere Spezialisten ihre Kompetenzen und Kenntnisse aktualisieren.



Verbesserung von Service und Produkten Die



Informationssicherheit im Allgemeinen und Bug Bounty-Prozesse im Besonderen zielen immer darauf ab, Services und Produkte für den Kunden zu verbessern und zu entwickeln.



eine Expertengemeinschaft einbeziehen



An der Implementierung der Informationssicherheit sind nicht nur unsere internen Administratoren beteiligt, sondern auch eine vollwertige Expertengemeinschaft mit unterschiedlichen Erfahrungen und Kenntnissen.



Wir haben häufig Fehlerjäger gefragt, wie der gefundene Fehler reproduziert und sogar behoben werden kann. Die Spezialisten waren bereit, direkt in Telegramm zu kommunizieren, Video aufzunehmen, wofür wir sehr dankbar sind.



Wir beobachten Disziplin Bei der



Arbeit mit Bug Bounty-Plattformen sind wir dafür verantwortlich, Fehler nicht nur für uns selbst und unsere Kunden zu schließen, sondern auch für Bug-Jäger, die auf Feedback warten. Die Interaktion erfolgt in Übereinstimmung mit den festgelegten Vorschriften, wir müssen die Informationen zu aktuellen Berichten regelmäßig aktualisieren.



Innerhalb von 3 Tagen mussten wir dem Bughunter auf seinen Bericht antworten: Hat der Fehler einen Fehler gefunden, wie hoch ist sein Schweregrad? Natürlich könnten wir innerhalb einer Woche eine Antwort geben, aber dieses Verhalten ist nicht hackerfreundlich und kann Bug-Jäger entfremden.



Wir verstehen Benutzer besser



Baghunters sind dieselben Benutzer und Kunden, die uns eine bestimmte Benutzererfahrung in Bezug auf Informationssicherheit bieten.



Gibt es ein Leben nach Bug Bounty?



Wir arbeiten weiterhin mit einem privaten Bug Bounty-Programm mit einer bewährten Plattform. Wir möchten alle internen Prozesse zum Schließen und Beheben von Fehlern effizient aufbauen. Sobald wir verstehen, dass die Bug-Jäger, mit denen wir derzeit interagieren, weniger aktiv geworden sind, werden wir versuchen, zu anderen, einschließlich größeren Bug Bounty-Sites zu wechseln, um noch mehr Berichte zu erhalten und alle möglichen Probleme zu finden.



Ein weiterer Entwicklungsbereich war für uns die Umsetzung der Prinzipien der sicheren Entwicklung. In der Regel führen Entwickler funktionale Programmierungen durch, und die Sicherheit tritt in den Hintergrund. Es ist wichtig, die Überprüfung der Codesicherheit zu einem wichtigen Bestandteil jeder Codeüberprüfung zu machen.



Das Timeweb-Team versucht, neue, moderne Tools für die Prüfung der Informationssicherheit von Diensten einzuführen. Wir haben einige der Ressourcen durch die Zusammenarbeit mit Baghuntern kennengelernt.



Allmählich beziehen wir Mitarbeiter des technischen Supports in die Lösung von Informationssicherheitsproblemen ein: Wir schulen Kollegen und stärken das Team.



Wir sind bereit, auf unbestimmte Zeit über das Bug Bounty-Programm zu sprechen. Vielleicht haben Sie noch Fragen an unsere Experten - schreiben Sie in die Kommentare, die immer noch interessant und nützlich sind. Wir werden versuchen, alle folgenden Fragen zu beantworten oder in den folgenden Artikeln näher zu erläutern.



All Articles