Wenn es darum geht, Schwachstellen in Anwendungen zu finden, bietet sich neben den klassischen Penetrationstests auch Bug Bounty an. Im Folgenden zeigen wir auf, warum sich die beiden Methoden zur Schwachstellensuche ergänzen und wie Sie vorgehen, um ein erfolgreiches Bug-Bounty-Programm zu starten.


Warum Bug Bounty?

Während bei klassischen Penetrationstests Anwendungen zu einem bestimmten Zeitpunkt auf Schwachstellen geprüft werden, ermöglichen Bug-Bounty-Programme eine kontinuierliche Überprüfung und ergänzen damit die bestehenden Sicherheitsmassnahmen. Das ist aber nicht der einzige Vorteil. Bug-Bounty-Jäger sind oft spezialisiert auf bestimmte und neuartige Schwachstellen, welche sie dann in verschiedenen Programmen suchen. Durch die Masse an Sicherheitsexperten, die in einem Bug-Bounty-Programm testen, ergibt sich eine breite und gleichzeitig tiefe Abdeckung der Schwachstellenprüfung, während bei Penetrationstests oft hauptsächlich mittels Checklisten in der Breite und nur punktuell in der Tiefe getestet wird.


Was ist denn jetzt besser?

Wenn man eine Schraube in einer Wand befestigen möchte, kann man zwar auch einen Hammer verwenden, besser wäre aber zweifellos ein Schraubendreher. Analog verhält es sich mit Bug Bounty und Penetrationstests. Die beiden Werkzeuge ergänzen sich. Während firmeninterne Systeme und Anwendungen und physische Systeme besser mittels Penetrationstests geprüft werden, entfalten Bug-Bounty-Programme die beste Wirkung bei öffentlich zugänglichen Anwendungen und Schnittstellen. Dank dem Crowd-Sourced-Ansatz erhöht ein Bug-Bounty-Programm zudem das Vertrauen in Ihr Unternehmen.


Aber Hacking ist doch strafbar?

Bug-Bounty-Jäger können nur unterstützen, wenn sie entsprechende Rechtssicherheit erhalten, denn Hacking ist strafbar. Selbst wenn sie sich aus Spass in den schlecht geschützten Mailaccount Ihres Nachbarn einloggen, indem sie das Passwort «1234» verwenden, machen sie sich bereits strafbar!

Deshalb beinhaltet der erste Schritt beim Aufbau eines Bug-Bounty-Programmes die Definition eines sogenannten Legal Safe Harbor, welcher die Spielregeln festlegt, unter deren Einhaltung auf rechtliche Schritte verzichtet werden.

  • Welche Testmethoden sind erlaubt?
  • Wie darf auf die Systeme zugegriffen werden?
  • Wie muss mit gefundenen Schwachstellen und allfällig erlangten Kundendaten umgegangen werden?
  • Welche Anwendungen sind im Scope und was ist auszuschliessen? Und vieles mehr.

Alle diese Fragestellungen sind bereits von den meisten Anbietern in einer Vorlage definiert, welche gemeinsam mit dem Kunden angepasst und ergänzt werden.


Wann lohnt sich ein Bug-Bounty-Programm?

Grundsätzlich können Sie jederzeit ein Bug-Bounty-Programm starten. Wichtig ist hierbei, dass Sie etappenweise einsteigen. Hier offerieren Bug-Bounty-Anbieter unterschiedliche Programmtypen die für den Reifegrad Ihres Vulnerability Managements und Ihrer Anwendung ausgelegt sind. Beispielsweise können unterschiedliche Zeitperioden, unterschiedliche Anzahl Bug-Bounty-Jäger etc. bestimmt werden.


Was braucht es noch für ein erfolgreiches Bug-Bounty-Programm?

Neben den Spielregeln muss genau festgelegt werden, was getestet werden soll. Welche Systeme und Schnittstellen? Wie hängen diese zusammen? Welche Technologien stecken dahinter? Ist der Scope definiert, folgt die Incentivierung der Bug-Bounty-Jäger durch das Festlegen der Bounties, welche für gefundene Schwachstellen ausbezahlt werden.

Um Überraschungen hinsichtlich Kosten vorzubeugen, wird ein Bounty-Budget festgelegt. Dies ermöglicht eine dynamische Anpassung des Bug-Bounty-Programms (Umfang, Dauer, Bounty-Prämien etc.). Die Höhe der Prämien wird in Anlehnung an markterprobte Prämien bestimmt. Je nach Sicherheitsniveau der zu testenden Anwendung können die Prämien höher oder tiefer bestimmt werden.

Danach kann das Bug-Bounty-Programm bereits gestartet werden. Dabei müssen die gemeldeten Schwachstellen auf deren Gültigkeit hin geprüft und triagiert werden. Für die gültigen Meldungen werden die vereinbarten Bounties ausbezahlt und allfällige Handlungsmassnahmen festgelegt.