Mit wachsendem Bewusstsein für Themen der Informationssicherheit suchen Firmen immer wieder nach neuen und innovativen Ansätzen, um sich gegen Cyber-Angriffe schützen zu können. Eine, insbesondere auch in der Schweiz, immer beliebter werdende Methode sind sogenannte Bug Bounty-Programme. Dabei werden Prämien für gemeldete Schwachstellen (meist in produktiven Systemen) angeboten. Halten Bug Bounty-Programme aber wirklich, was sie versprechen? Wir haben uns in diesem Beitrag Argumente für aber auch gegen Bug Bounty-Programme genauer angeschaut.
Was ist ein Bug Bounty-Programm?
Ein Bug Bounty-Programm ist eine Initiative einer Firma, um externe Sicherheitsspezialisten aus aller Welt dazu einzuladen, die eigene IT-Infrastruktur aktiv anzugreifen. Sobald eine bislang noch unbekannte Schwachstelle an die Firma gemeldet wird, zahlt das Unternehmen eine vorher definierte Prämie an den Finder oder die Finderin aus. Diese Prämien korrelieren in der Regel mit der Kritikalität der identifizierten Schwachstelle.
Bei einem Bug Bounty-Programm ist wichtig, dass nicht einfach alles angegriffen werden kann, sondern die jeweiligen Firmen klare Spielregeln definieren. Wer sich jedoch im Rahmen dieser Spielregeln bewegt, hat seitens der Firma eine klare Zusicherung, dass das Durchführen von Angriffsversuchen sowie das Melden allfälliger Schwachstellen begrüsst wird und keine rechtlichen Schritte erwartet werden müssen.
Insbesondere grosse Tech-Unternehmen wie Facebook, Google, Mozilla und Microsoft betreiben bereits seit längerem erfolgreich Bug Bounty-Programme. Die genannten Unternehmen bezahlen hierbei für kritische Schwachstellen mehrere Tausend US-Dollar.
Auch in der Schweiz gibt es immer mehr Unternehmen, die ein Bug Bounty-Programm anbieten - entweder eigenständig oder zusammen mit einem kommerziellen Anbieter. Insbesondere bieten in der Schweiz die Swisscom sowie die Post als Grossunternehmen entsprechende Programme an.
Argumente für Bug Bounty-Programme
Viele “der Grossen” setzen auf Bug Bounty-Programme. Es ist also naheliegend, sich die positiven Argumente für ein Bug Bounty-Programm anzuschauen – egal ob die eigene Organisation im Vergleich eher klein ausfällt.
- Kontinuierliches Testing
Kleinere Unternehmen haben meist kein internes IT-Security-Team und bei Grösseren sind die Mitarbeitenden in diesem Bereich chronisch ausgelastet. Die eigene Infrastruktur grossflächig immer wieder und wieder auf Schwachstellen zu testen, ist somit intern für die meisten Unternehmen unmöglich. Externe Sicherheitsfirmen wie Redguard bieten dafür Dienstleistungen wie Penetration Tests und Attack Simulations an. Diese sind jedoch entsprechend kostenintensiv und deshalb isoliert betrachtet nicht geeignet, um ein kontinuierliches Testing sicherzustellen. Wenn die Prämien für identifizierte Schwachstellen hoch genug angesetzt werden, findet sich immer ein Bounty Hunter, welcher die im Bug Bounty-Programm abgedeckten Systeme regelmässig prüft, in der Hoffnung, neue Schwachstellen zu identifizieren. - Breite Abdeckung
Anknüpfend an den vorherigen Punkt können beispielsweise Penetration Tests aus Kostengründen nicht beliebig oft wiederholt werden, aber auch nicht für jedes beliebige System, wovon es je nach Infrastruktur Hunderte oder gar Tausende geben kann. Insbesondere für die Wertschöpfung einer Organisation weniger wichtigen Applikationen und Systemen fehlt oft das Budget für definierte Penetration Tests. Bug Bounty-Programme lassen einen beliebig grossen Scope (Abdeckung) zu, ohne höhere Kosten zu verursachen – abgesehen natürlich, wenn Schwachstellen gefunden werden. - Brain Power
Selbst grössere Anbieter von Security Testing-Dienstleistungen haben eine relativ beschränkte Anzahl an Security Testern, welche die Sicherheit einer bestimmten Technologie prüfen können. Durch ein Bug Bounty-Programm werden potentiell tausende Bounty Hunter weltweit angesprochen. Damit wird die Chance erhöht, dass auch eine Vielzahl von Fachpersonen die jeweiligen Angriffsideen ausprobieren. Hier gilt es jedoch zu beachten, dass viele sehr gute Bounty Hunter sich oft lediglich auf sehr lukrative Bug Bounty-Programme konzentrieren. Sie werden aktiv, wenn es um kreative und manuell aufwändige Angriffe geht. Ansonsten suchen sie im Rahmen verschiedener Bug Bounty-Programme vor allem automatisiert nach bereits bekannten Schwachstellen. - (Initial-)Kosten
Die finanzielle Eintrittsschwelle, ein Bug Bounty-Programm anzubieten, ist niedrig, da (ausser intern) erstmal keine Kosten anfallen. Prämien an Bounty Hunter werden erst ausbezahlt, wenn diese erfolgreich eine neue Schwachstelle entdeckt und gemeldet haben. Somit entstehen erst Kosten, wenn die Sicherheit dadurch auch effektiv verbessert werden kann. Zudem können die Kosten insbesondere durch die Höhe der Prämien relativ gut gesteuert werden, wenn man sich des groben Sicherheitslevels des Bug Bounty-Scopes bewusst ist. Selbst wenn die möglichen Prämien nicht extrem hoch angesetzt sind, können diese noch immer für eine Vielzahl von Bounty Huntern sehr lukrativ sein – insbesondere wenn, diese aus Ländern mit tiefem Lohnniveau und niedrigen Lebenshaltungskosten operieren.
Argumente gegen Bug Bounty-Programme
Wie beschrieben, spricht vieles für Bug Bounty-Programme. Doch es gibt auch klare Gründe, die dagegen sprechen oder zumindest eine etwas differenziertere Betrachtung verlangen.
- Potentiell echte Angriffe
Das Ziel eines Bug Bounty-Programms ist es, die Sicherheit vor Angriffen zu erhöhen – und zwar indem man sich angreifen lässt. Ein echter Angriff lässt sich allerdings nicht von einem Test durch einen Bounty Hunter unterscheiden. Dieser Umstand erschwert das Security Monitoring erheblich, insbesondere wenn sich produktive Systeme und Applikationen im Scope des Bug Bounty-Programms befinden. Durch das erschwerte Erkennen echter Angriffe werden die selbst bei Erfolg (des Angreifers) nicht bemerkt. Das Bug Bounty-Programm kann somit gar als Deckmantel für echte Angreifer genutzt werden. Solange diese keine Schwachstelle finden, ist alles legal und wird als Teil des Bug Bounty-Programms gewertet. Aber wenn eine Schwachstelle identifiziert wird, wird diese für illegale Zwecke, wie beispielsweise das Entwenden von Kundendaten oder Einschleusen von Schadsoftware, ausgenutzt. - Falsches Sicherheitsgefühl
Wenn alles läuft, wie geplant, wird die durch das Bug Bounty-Programm abgedeckte Infrastruktur regelmässig auf Schwachstellen geprüft. Da die Bounty Hunter jedoch ihre Erfolge nur in Form neuer Sicherheitslücken melden, bleibt unbekannt, wie ausführlich der Scope des Bug Bounty-Programms eigentlich geprüft wurde. Wurden 100% der Applikationen und Systeme getestet oder nur 50%? Diese Frage lässt sich innerhalb eines Bug Bounty-Programms nie abschliessend beantworten. Auch ist es im Interesse der Bounty Hunter, mit möglichst wenig Aufwand möglichst viele (schwerwiegende) Schwachstellen zu identifizieren. Dies führt dazu, dass potentiell sehr komplexe Schwachstellen unentdeckt bleiben. Es gibt Schwachstellen, welche beispielsweise in der Business-Logik einer Applikation sind. Wenn nun ein Bounty Hunter erst ein kostenpflichtiges Kundenkonto eröffnen muss, um gewisse Teile des Bug Bounty-Scopes testen zu können, fällt die Wahrscheinlichkeit, darin Schwachstellen zu entdecken, drastisch. Wenn man dies als Anbieterin eines Bug Bounty-Programms nicht berücksichtigt, kann schnell ein falsches Sicherheitsgefühl entstehen, da man davon ausgeht, dass alles im Scope des Programms immer permanent und ausführlich geprüft wird. Dies entspricht aber nicht der Realität. Besteht die Notwendigkeit, sicherzustellen, dass gewisse Komponenten ausführlich auf deren Sicherheit überprüft werden, ist zumindest die Kombination des Bug Bounty-Programms mit klassischen Penetration Tests angebracht. - Interner Aufwand
In vielen Organisationen wird die Idee eines Bug Bounty-Programms positiv aufgenommen (siehe Pro-Argumente). Oft wird dabei jedoch ausser Acht gelassen, dass ein Bug Bounty-Programm auch erheblichen internen Aufwand mit sich bringt. Diese Aufwände sind dabei vielfältig. Beispielsweise müssen erst einmal die rechtlich korrekt formulierten Spielregeln für das Bug Bounty-Programm ausgestaltet werden. Zusätzlich müssen interne Verantwortlichkeiten und Abläufe definiert werden, welche in der benötigten Form in den meisten Organisationen vor einem Bug Bounty-Programm in dieser Form nicht existieren. Wenn es dann losgehen kann, ist insbesondere zu Beginn mit sehr vielen Schwachstellenmeldungen zu rechnen. Ob diese Meldungen jedoch valide Schwachstellen beschreiben, muss ausführlich geprüft und die Meldungen beantwortet werden. Auch müssen die validen Schwachstellen intern priorisiert und natürlich auch behoben werden. Eine öffentliche Kommunikation bei kritischen Schwachstellen und weitere Aufwände führen wir an dieser Stelle nicht weiter aus. Zusammenfassend kann aber gesagt werden, dass die Einführung und der Betrieb eines Bug Bounty-Programms mit viel Aufwand einhergeht. - Attraktive Prämien sind (potenziell) teuer
Einer der grössten Unterschiede eines Bug Bounty-Programms gegenüber dem klassischen Security Test ist, dass nur das erfolgreiche Auffinden von Schwachstellen, nicht aber die investierte Zeit bei der Suche nach Schwachstellen, belohnt werden. Das hohe Risiko, keine Schwachstellen zu finden, oder diese nicht als Erster zu melden, liegt komplett beim externen Tester. Um diese Unsicherheit abzufangen, müssen relativ hohe Prämien für erfolgreiche Bounty Hunter angeboten werden. Insbesondere für schwerwiegende Schwachstellen sollten jeweils mindestens vierstellige CHF-Beträge bereitgestellt werden. Ein umfangreicher Scope für ein Bug Bounty-Programm kann somit schnell teuer werden. - Internationale Rechtsunsicherheit
Durch das Anbieten eines Bug Bounty-Programms ist es sehr wahrscheinlich, dass sich Einzelpersonen früher oder später absichtlich oder unabsichtlich über die gesetzten Spielregeln hinwegsetzen. Dies kann beispielsweise der Fall sein, wenn Systeme angegriffen werden, welche nicht im Scope des Bug Bounty-Programms sind. Bereits ohne ein Bug Bounty-Programm ist es schwierig, international Cyber-Angriffe erfolgreich zur Anzeige zu bringen und eine Verurteilung zu erreichen. Die Teilnehmer an Bug Bounty-Programmen sind jedoch auf der ganzen Welt verteilt und durch das Bug Bounty-Programm ist die Argumentation, dass ein Angriff lediglich fahrlässiges Vorgehen innerhalb des Bug Bounty-Programms war, naheliegend.
Die Sicht von Redguard
Als Sicherheitsdienstleisterin begrüssen wir grundsätzlich jede weitere Massnahme, welche die Sicherheit gegen Cyber-Angriffe erhöht. Wie bereits beim Aufkommen von automatisierten Schwachstellen-Scannern verkaufen Anbieter den “neuen” Ansatz jedoch aufgrund kommerzieller Interessen oft als kompletten Ersatz für alle bisher eingesetzten Mittel.
Wir betrachten Bug Bounty-Programme als eine äusserst sinnvolle Ergänzung zu klassischen Penetration Tests und Attack Simulations, jedoch ganz sicher nicht als vollständigen Ersatz dafür. Grundsätzlich empfehlen wir, insbesondere geschäftskritische Systeme und Applikationen mindestens jährlich oder bei grösseren Anpassungen – bevor diese produktiv gesetzt werden – durch Penetration Tests auf deren Sicherheit überprüfen zu lassen. Auch interne Netzwerkzonen sind für Bounty Hunter normalerweise nicht erreichbar und sollten deshalb ebenfalls durch Penetration Tests oder Attack Simulations abgedeckt werden. Wie so oft, ist es die Kombination mehrerer Ansätze, welche für die höchstmögliche und zugleich wirtschaftlich tragbare Sicherheit sorgt.