taa22 - stock.adobe.com
Das Entdecken von Schwachstellen richtig belohnen
Hersteller wie Microsoft oder Apple loben finanzielle Anreize für das Finden von Schwachstellen aus. Dieser Ansatz kann durchaus auch für das eigene Unternehmen interessant sein.
IT-Profis, die sich mit Security beschäftigen sind mit so genannten Bug-Bounty-Programmen meistens bestens vertraut. Softwarehersteller bieten diese Programme an, um eine systematische und strukturierte Möglichkeit zu schaffen, Spezialisten für die Entdeckung und Meldung von Schwachstellen in den Produkten der Softwareanbieter zu entlohnen.
Bei Herstellern wie Apple, Microsoft oder Mozilla werden die Belohnungen meist nach Schweregrad der Sicherheitslücke gestaffelt. Microsoft hat zahlreiche Bug-Bounty-Programme für unterschiedliche Produkte am Start, die Prämienspanne ist groß und reicht bis 250.000 US-Dollar. Manchmal sind die Bug-Bounty-Programme öffentlich und allen zugänglich und in anderen Fällen einem geschlossenen Benutzerkreis vorbehalten.
Entsprechende Programme gibt es bereits seit Jahrzehnten. Aufgrund der Popularität derlei Bug-Bounty-Ansätze haben sich sehr aktive Gemeinschaften entwickelt. Diese Gemeinschaften stellen für die einzelnen Experten Ressourcen bereit und können je nach Ausprägung als eine Art Vermittler zwischen Forscher und Hersteller fungieren. Es gibt Fälle, in denen Sicherheitsforscher dieses Aufspüren von Schwachstellen hauptberuflich ausüben, aber in der Regel ist dies ein zusätzliche Tätigkeit mit entsprechender finanzieller Belohnung.
Für Unternehmen stellt sich die Frage, ob ein internes Bug-Bounty-Programm eine lohnenswerte Investition sein kann. Das lässt sich selbstredend nicht pauschal beantworten, aber es gilt zu abzuklären, ob etwas in dieser Ausprägung zum Erreichen der Ziele beitragen kann. Daher müssen die Vor- und Nachteile eines entsprechenden Programms sorgfältig abgewogen werden.
Wenn sich dabei herauskristallisiert, dass ein solcher Anreiz durchaus nützliche Effekte haben könnte, gilt es zu klären, wie man dies umsetzen kann. Ein derartiger Ansatz kann andere Maßnahmen der Qualitätssicherung und Sicherheitsstrategie sinnvoll ergänzen.
Was sind die Vorteile eines Bug-Bounty-Programms?
Es gibt immer ethische Hacker, die Softwareprodukte auf Schwachstellen abklopfen, ob nun ein Bug-Bounty-Programm des Anbieters existiert oder nicht. Penetrationstester entdecken während ihrer regulären Arbeit bei Kunden auch häufig Sicherheitsprobleme bei Produkten. Und nicht zuletzt stolpern auch ganz normale Endanwender bei ihrer täglichen Arbeit über Fehler in Programmen, die vom Hersteller unentdeckt geblieben sind. Dankenswerterweise gibt es darüber hinaus zahlreiche technisch interessierte IT-Experten, die sich auch in ihrer Freizeit derlei Themen widmen, weil sie verstehen wollen, wie manche Produkte unter der Haube funktionieren.
In den genannten Fällen sind es häufig Einzelpersonen, manchmal auch Organisationen, die Fehler oder Sicherheitslücken in der Software eines Herstellers entdecken. Und fehlerfrei Lösungen existieren bekanntermaßen nicht. Die Hersteller müssen jedoch bestimmen, wie sie mit Informationen umgehen, die ihnen gemeldet werden.
Theoretisch können die Entdecker entsprechender Sicherheitslücken weniger redliche Absichten haben. Tatsächlich werden diese Informationen hinsichtlich Sicherheitsproblemen häufig an die Hersteller gemeldet und zwar auch dann, wenn es dafür gar kein Belohnungsprogramm gibt.
Diese Bug-Bounty-Programme können jedoch einen positiven Einfluss auf den Zeitablauf und die Systematik im Vorgehen haben. Die Offenlegung einer Schwachstelle beinhaltet das Testen und Validieren der Schlussfolgerungen, das Dokumentieren, wie das Problem reproduziert werden kann und manchmal auch das Schreiben von Proof-of-Concept-Code, um die Auswirkungen zu demonstrieren. Auch wenn der Entdecker wohl organisiert mit dem Hersteller kommuniziert, ist man dort nicht in allen Fällen begeistert vom Finder zu hören.
Hersteller, die ein Bug-Bounty-Programm einführen, bieten den Teilnehmern Anreize, das zu tun, was im besten Sinne des Anbieters des Produktes ist. Die Forscher werden für die Meldung ihres Fundes belohnt. Damit kann man vielleicht auch vermeiden, dass diese Information einen weniger wünschenswerten Weg nimmt. Zu dem unterstützen Bug-Bounty-Programme ein strukturiertes und gut dokumentiertes Vorgehen bei dem Abklopfen einer Schwachstelle. Und es bietet natürlich auch die Chance, dass sich Experten mit dem Produkt beschäftigen, die sich sonst nicht damit auseinander gesetzt hätten.
Ein ganz wichtiger Aspekt bei den positiven Effekten eines Bug-Bounty-Programms ist der Faktor Zeit. Es ist ein unschätzbarer Vorteil, Fehler möglichst früh im Entwicklungszyklus zu finden, als zu einem späteren Zeitpunkt.
Ein eigenes Bug-Bounty-Programm aufsetzen
Unternehmen müssen entscheiden, ob ihnen die genannten Vorteile ausreichen, um ein eigenes Bug-Bounty-Programm aufzusetzen. Dabei ist zu beachten, dass entsprechende Programme dann am Besten funktionieren, wenn bereits interne Abläufe und Einheiten für Sicherheitstests existieren. Denn ja nachdem wie das Programm angelegt wird, können sonst Kapazitäten in Probleme mit geringerer Priorität gebunden werden, die einfach zu finden und relativ leicht zu beheben sind.
So haben beispielsweise Bug-Bounty-Organisationen wie HackerOne oder Bugcrowd festgestellt, dass Cross Site Scripting (XSS) zu den häufigsten Sicherheitsproblemen zählt. Bugcrowd gibt an, dass Cross Site Scripting zu den in Sachen Quantität am häufigsten gemeldeten Problemen gehört. XSS-Fehler lassen sich jedoch recht einfach testen und aufspüren. Eine Prämie für ein Problem auszuloben, dass vermutlich schnell von einem automatisierten Tool erkannt werden kann, ist vermutlich nicht der effizienteste Einsatz von Ressourcen.
Bei einem Bug-Bounty-Programm geht es um wirtschaftliche Anreize. Und zwar sowohl für denjenigen, der es auslobt als auch für die Teilnehmer. Unternehmen, die ein Bug-Bounty-Programm einführen wollen, müssen ihre Erwartung vorher identifizieren und definieren.
Sie müssen wissen, was und wie sie etwas messen und einstufen wollen. Die Identifizierung von Zielen hilft auch bei der Entscheidung, ob gegebenenfalls wie viel oder ob in interne Kapazitäten investiert werden soll. Ist man sich einmal über die Ziele klar, fällt es auch leichter festzulegen, welche Prämie für welche Art von Problem ausgelobt werden soll. Zudem können Unternehmen sich hier auch entscheiden, ob das Programm nur einer geschlossenen Gruppe über Einladung zugänglich gemacht wird, oder ob es für alle öffentlich ist.
Hat man sich für ein internes Bug-Bounty-Programm entschieden und dieses eingeführt, gilt es selbiges immer wieder auf den Prüfstand zu stellen. Es muss dokumentiert werden, welche Fehler und Schwachstellen durch das Programm gefunden wurden und welche nicht. Die Kosten für das Auffinden einer Lücke müssen transparent gemacht werden und mit denen verglichen werden, die für andere interne Testfähigkeiten entstehen würden. So kann man sicherstellen, dass die Einrichtung des Bug-Bounty-Programmes eine richtige Investition ist.