bugbounty.jpg

Ich möchte hier nur kurz ein paar Gedanken zu Bug Bounty Programmen geben. Ich werde oft gefragt, warum ich daran nicht teilnehme, was meine Gründe gegen Bug Bounty sind, bzw. wie ich das sehe. Das ist relativ einfach zu beantworten.

Bei Bug Bounty Programmen hört man von den Befürwortern die Sätze:

  • wirksam und kosteneffizient
  • innerhalb kürzester Zeit kritische Schwachstellen gefunden
  • ist effektiv und innovativ
  • schützt vor Cyberattacken
  • es wurden hochkritische Sicherheitslücken gefunden
  • usw.

Alles Aussagen, aus Sicht einer Firma eigentlich in Ordnung. Doch wie sieht die andere Seite aus? Wie sieht es auf der Seite aus, von denen Personen die am Bug Bounty Programm teilnehmen? Aus der Sicht vom Jäger!

Meistens ist das ganze sehr unrealistisch – bei Bug Bounty wird vom Auftraggeber genau vorgegeben, was und wie man «hacken» darf. Steht daneben ein Scheunentor offen, war das nett zu sehen, doch wird man für das nicht bezahlt. Es wird nur für das bezahlt, was vorgegeben wurde und wenn man deren aller Bedingungen eingehalten hat. War man der erste, gibt es ein gewissen Betrag; das Bug Bounty Programm definiert mit dem Auftraggeber zusammen, welcher Fehler zu welchem Status gehört und entsprechend entlohnt wird. Als Jäger ist man nur der Empfänger, man hat kein Einfluss auf die Definition von einem Status.

Das Einkommen

Mit dem Einkommen muss man auskommen. Findet man als erster ein Fehler, gemäss allen Vorgaben, gibt es Geld – ein paar hundert Franken. Will man mehr, muss man schwerwiegendere Fehler finden, die sind aber massiv zeitaufwändig. Also muss man das ganze in Relation stellen, wie viel will man verdienen und wie viel Aufwand darf man dazu aufwenden. Bei den ganz grossen Fehlern kann man sagen, wenn der Aufwand mehr als eine Woche ist, sind sie nicht mehr rentabel. Kommt man als zweiter, wurde der Fehler verifiziert, doch gibt es für das kein Geld weil der Fehler bereits von einem Konkurrenten gefunden wurde. Also braucht es im Hintergrund erstens ein gutes System und zweitens ein finanzielles Sicherheitsnetz. Besitzt man ein finanzielles Sicherheitsnetz, muss man bereit sein, dies vollständig zu investieren um an Bug Bounty teilnehmen zu können. Ohne finanzielles Sicherheitsnetz macht ihr das nur als Hobby. Wenn ihr nicht so erfolgreich seid und für euch keine Einnahmen generieren konntet, werdet ihr von den Veranstaltern die Antwort: «Dann musst Du einfach besser werden» hören – damit müsst ihr dann umgehen können! Anfangs kann man solche Sprüche vielleicht noch wegstecken, wenn ihr aber von Bug Bounty leben wollt, dann wird es nicht die richtige Wahl gewesen sein.

Motivation und Arbeitsweise

Es ist extrem hart um bei Bug Bounty Programmen erfolgreich zu sein. Die Konkurrenz schläft nicht und hat ein paar sehr nette Tricks auf Lager. Viele der Bug Bounty Jäger verfügen inzwischen über eigenständige Überwachungssysteme mit denen sie Änderungen an der externen Angriffsfläche und dynamischen Inhaltsänderungen innerhalb weniger Stunden erkennen können. Es ist relativ einfach ein Script zu schreiben, dass alle Subdomains sammelt und in einer Datenbank speichert. Die Werte werden alle paar Stunden abgeglichen und dann eine Nachricht über eine Chatsoftware versendet, wenn etwas Neues auftritt. Dem muss man dann als «Neuling» gegenüber stehen können.

Es gibt dermassen viele Strategien, dass man selbst viel recherchieren muss um mit den anderen Schritt halten zu können. Ein ausgeprägtes Verständnis der Theorie wird nicht ausreichen um sich in die Lage eines erfolgreichen Bug Bounty Jägers versetzen zu können. Leute die in diesem Bereich wirklich erfolgreich sein wollen, haben ihre eigenen Methodiken und ihren eigenen Ansatz entwickelt, den sie seit Jahren immer wieder aktualisieren. Bug Bounty macht aber Spass.

Wenn man den Aufwand und Ertrag bei der Teilnahme an einem Bug Bounty Programm sieht, kann man nicht mehr von Spass reden. Bei einer Festanstellung ist man finanziell abgesichert, auch wenn man ein paar schlechte Tage hatte, wird man am Ende des Monats der «Lohn» bezahlt. Bei der Teilnahme von Bug Bounty Programmen sind schlechte Tage direkt mit dem Verlust von finanziellen Mitteln und Wissen verbunden. Vom Spass alleine wird man nicht leben können. Versucht man eine Festanstellung zu haben und nebenher an Bug Bounty Programmen teilzunehmen, wird einem die 24 Stunden sehr kurz vorkommen (abgesehen davon, dass der richtige Arbeitgeber damit einverstanden sein muss). Man wird gegenüber denen die es als Vollzeit ausüben, immer hinterher hinken. So gesehen müsste man es als «Hobby» betrachten.

Der Standort kann ein Einfluss haben

Es gibt auch ausserhalb der Schweiz Bug Bounty Programme an denen sozusagen «jeder» daran teilnehmen kann. Doch die Lebenserhaltungskosten im Ausland ist meistens viel tiefer als in der Schweiz. Das heisst nicht, dass wenn die Lebenserhaltungskosten tiefer sind, dass es da Leute mit weniger Wissen gibt. Der Kampf um den Fehler zu finden wird also sehr hart werden.

Nimmt man an Bug Bounty Programmen teil, die ausschliesslich von Schweizern bewältig werden dürfen, zweifle ich ganz stark anderen Ergebnissen – ein Nicht-Schweizer hätte vielleicht noch den einen oder anderen Fehler gefunden oder schneller.

Es wird auch Jäger geben, die im Hintergrund als Gruppen arbeiten, damit sie Wissen und Zeit miteinander teilen können. Haben sie Erfolg, wird der eingestrichene Gewinn unter ihnen nach einer entsprechenden Vereinbarung aufgeteilt. Auch wenn eine «Gruppenarbeit» allenfalls nicht erlaubt sein sollte, kontrollieren kann das keiner, wenn die Gruppe zusammenhält. Der Verlierer bleibst du trotzdem, weil Du nicht der erste warst.

Die Idee hinter Bug Bounty

Bug Bounty konkurriert praktisch mit Vulvernability-Scan, -Analyse und dem Pentest. Im Volksmund sagt man einfach «Pentest». Dann gibt es Firmen die wollen Pentest und Bug Bounty verbinden und solche die nur Bug Bounty wollen – das sei jeder Firma dahin gestellt. Für den Jäger (den Teilnehmer am Bug Bounty Programm) ändert es nichts, er wird nur bei Erfolg bezahlt; nicht dessen Zeitaufwand.

Bei Bug Bounty Programmen gibt es viel jüngere als ältere Teilnehmer – warum? Die Frage ist relativ einfach: Die älteren rechnen auch mit; wie hoch ist die Wahrscheinlichkeit, dass man ein Fehler findet, der anständig finanziert wird und wie hoch war der Zeitaufwand um diesen Fehler zu finden? Es rechnet sich nicht, darum sind die älteren nicht mit dabei – die Jungen machen diese Rechnung nicht oder nur teilweise, also machen sie mit. Zeit für eine Sache zu investieren für die man nicht bezahlt wird? Zu verschenken hat keiner etwas und schon gar nicht seine eigene Lebenszeit. Mit der Zeit hätte man vielleicht auch etwas spannenderes als die Teilnahme an einem Bug Bounty Programm mit Vorgaben und Vorschriften machen können.

Fazit

Wenn einer an einem Bug Bounty Programm teilnehmen will, dann soll er es machen, man soll ihn nicht daran hindern. Er soll sein Traum erfüllen, soll einfach drauf achten, dass er über ein notwendiges finanzielles Sicherheitsnetz verfügt und dann kann er seine Erfahrungen machen und sich auch den Spruch «Dann musst Du einfach besser werden» anhören.

Egal ob man ein Pentest oder ein Bug Bounty macht – es ist und bleibt eine Momentaufnahme des vorhandenen Systems, nicht mehr und nicht weniger. Mit Bug Bounty, wenn die Ziele falsch deklariert werden, kann es auch schlechter werden als ein Pentest; aber immerhin kann man als Firma sagen: «Wir haben ein Bug Bounty laufen lassen», jedoch nicht hinterfragt, wer den das Bug Bounty ausgeführt hat? Waren die Leute gut, waren sie sehr gut oder gibt es sogar bessere als diese? Wird man trotz Bug Bounty von einer Ransomware getroffen, wird man seine Frage beantwortet haben.

In diesem Sinne: take it or leave it