Bug Bounties oder der Weg zur sicheren Webseite

Autor: Stefan Hager / first published in 2017

Wenn man in der Infosecurity forscht, arbeitet und Spaß hat, dann ist es gut möglich, dass man hin und wieder über eine Lücke in der Software von Anderen findet, also einen Bug, der bis dahin unbekannt ist. Üblicherweise scheiden sich hier die Wege für den Finder oder die Finderin, je nach dem eigenen moralischen Kompass.

Der- oder diejenige kann sich nun entscheiden, ob man viel illegales Geld damit machen will, indem man aus dem Bug einen 0day-Exploit macht, oder ob man die betroffene Firma informiert, ohne den Bug der Öffentlichkeit preis zu geben. Vorerst. Man kann den Bug auch sofort bekannt machen, ohne in Kontakt mit der betroffenen Firma zu treten - auch dafür gibt es verschiedenste Gründe.

In diesem Blogeintrag will ich aber weniger auf die ethischen und technischen Aspekte dieser Varianten hinaus. "Responsible disclosure", also das Involvieren der vom Bug betroffenen Firma und Veröffentlichung erst, nachdem die Firma den Bug behoben hat, ist zwar aus meiner Sicht die sauberste Methode, aber für die Forscherin oder den Forscher nicht immer einfach.

Vor Jahren noch war es sehr schwierig, mit einer Firma in Kontakt zu treten, wenn man eine Sicherheitslücke gefunden hat. War man ausdauernd genug, hatte man vielleicht noch die Gelegenheit, die Lücke zu erklären und die Firma hat diese dann irgendwann still mit einem Patch geschlossen. Unglücklicherweise haben einige Firmen die jeweiligen Forscher verklagt, oder zumindest bedroht, so dass der Wille zur freiwilligen Leistung bei den betroffenen Forscherinnen und Forschern recht schnell und effizient eingedämmt wurde. Bezahlung oder Anerkennung gab es auch in den wenigsten Fällen.

Bug Bounty Plattformen wie Hacker One, bugcrowd oder Zerocopter sind noch nicht sehr alt. Sie verstehen sich als Makler zwischen der Hacker-Community und teilnehmenden Firmen; und inzwischen gibt es einige große Namen von Facebook bis Google, die gerne an Bug Bounty - Programmen teilnehmen.

Vorteil für die Firma

Bei einem regulären Penetrationstest wird vom Auftraggeber ein exakt definiertes, meist sehr spezifisches Ziel ausgegeben. Zum Beispiel: "Wir möchten unsere neue Webapplikation xyz in Produktion übernehmen und sie vorher testen lassen.". Die beauftragten Tester haben meist nur einen knappen Zeitraum zur Verfügung (nicht zuletzt aus finanziellen Gründen) und konzentrieren sich ausschließlich auf die vereinbarten Rahmenbedingungen und Ziele.

Das Zusammenspiel mit anderen Komponenten in der produktiven Umgebung ist nicht immer im Fokus des Penetrationstests, auch weil die zu prüfende Komponente häufig noch keine Freigabe für das Internet hat und in einem Testnetz hängt. Nicht selten ist dann zwar jede Komponente eines Webauftritts für sich penetriert, aber nie im Zusammenspiel miteinander; und gerade an den Schnittstellen zwischen den Komponenten (z.B. Datenübergabe ins Backend) kann man als Angreifer meist prima ansetzen.

Man nehme dieses Bild. Schienen wurden getestet und sind ok. Schlauch wurde getestet und ist ok. Der Schlauch wird nicht durch Fahrzeuge beschädigt, dass hat ein Test mit Autos und Fahrrädern gezeigt. Feuerwehrwagen ist in astreinem Zustand, Leuchtwesten strahlen hübsch und jede einzelne Komponente funktioniert für sich; aber eben nicht im Zusammenspiel.

Bei Bug Bounties über Brokerplattformen kann man ähnlich wie bei einem Pentest natürlich trotzdem den Scope vorgeben; dieser ist aber meistens weiter gefasst. Man bezahlt auch nur für gefundene Bugs, nicht nach Arbeitszeit, und dann je nach Kategorie. Ein Bug, der einem Angreifer eine komplette Übernahme des Systems ermöglicht, wird natürlich besser bezahlt als ein Fehler im Webformular, mit dem nur der Vorname auf "Horst" geändert werden kann.
Apropos Bezahlung - auch hier sind Firmen frei in der Wahl. Von "Kudos", also keiner Bezahlung und nur so ein bisschen Respekt, über T-Shirts bis hin zu hohen Geldbeträgen (10.000 € und mehr) ist alles möglich. Wenn man aber fachlich gute Menschen bekommen möchte, die sich die Firmenwebseite mal auf Sicherheitsaspekte hin anschauen, kommt man mit Aufklebern meistens nicht weit; die wirklichen Experten verdienen ihren Lebensunterhalt mit der Jagd auf Bugs, und der Vermieter nimmt selten Kudos und Aufkleber als Zahlungsmittel.

Vorteil für die Hacker

Wie immer an dieser Stelle: Ich bin kein Rechtsanwalt. Trotzdem dürfte es klar sein, dass man weniger leicht wegen Hacking belangt werden wird, wenn beide Seiten - Angreifer bzw. Hacker/ Sicherheitsforscherin und Opfer bzw. Firma - über einen Broker eine Einverständniserklärung akzeptiert haben und sich an gewisse Regeln halten.

Für den Angreifer eben zum Beispiel "Wenn ich einen Bug finde, nutze ich den nicht aus oder verkaufe ihn an Dritte". Andererseits gibt es aber eben auch keine Strafverfolgung wegen Computerdelikten. Bug Bounty - Plattformen bemühen sich, diese Vertrauensbasis herzustellen - welche in der berufsmäßig paranoiden Infosec-Industrie Mangelware ist.

Warum sollte man also kein Bug Bounty Programm ins Leben rufen?

Wenn man als Firma keine Bug Bounties anbietet, ist man deswegen ja auch nicht sicherer. Man weiß nur nicht, welche Bugs in der Software lauern, und wer diese auf dem Schwarzmarkt verkaufen oder kaufen wird.