Kopfgeld für Programmierfehler

Ein Artikel von red | 08.09.2020 - 08:50

Fehler und Sicherheitslücken in Systemen zu finden bevor es Kriminelle tun, ist in der Finanzbranche überlebenswichtig. Ein interessanter Ansatz ist ein Bug-Bounty-Programm, wo Profis Sicherheitslücken aufspüren und ihren Auftraggebern mitteilen, wo die Lücken verborgen sind. Als Interviewpartner zu diesem Thema  stand uns ein Experte für Informationssystemsicherheit eines großen europäischen Finanzinstituts zur Verfügung. Das Unternehmen hat sich für ein sogenanntes „privates“ Bug-Bounty-Programm entschieden, das bedeutet, eine bestimmte, vom Kunden vorselektierte Anzahl ethischer Hacker aus dem YesWeHack-Netzwerk sucht nach Sicherheitslücken.

YesWeHack-13-scaled.jpg

Ein „ethical hacker“ im Einsatz

Was hat Sie dazu bewogen, ein Bug-Bounty-Programm zu starten?

Ehrlich gesagt war ich anfangs nicht ganz überzeugt. Ich hatte mehrere vermeintliche Bug-Bounty-Anbieter kontaktiert, hatte aber den Eindruck, dass es sich eher um eine Art „Patchwork“ von verschiedenen Aufträgen von Pentestern handelte, nicht um dedizierte und fest definierte Bug-Bounty-Aktivitäten.

Dann habe ich YesWeHack getroffen, die mir die Vorteile eines Bug-Bounty-Programms aufzeigen konnten. Dieses Kennenlernen führte zu einem kleinen Sinneswandel, weshalb wir Anfang 2018 den ersten Schritt wagten. Wir starteten ein erstes großes Bug-Bounty-Programm auf YesWeHack, einer Plattform, die wir bereits mehrere Male getestet hatten. Die Wahl eines umfangreicheren Programmes erlaubte es mir, die potenziellen Kosten des Programms besser zu kontrollieren.

Ich hatte eigentlich erwartet, fast keine Rückmeldungen zu erhalten, denn dies war seit meiner Übernahme unser achter Penetrationstest auf der Website. Und der letzte Test lief nur eine Woche zuvor. Aber das Ergebnis war deutlich: Wir erhielten viele Berichte zu Schwachstellen, darunter einen kritischen, und das nur eine Stunde nach dem Start des Programms! Wir wissen jetzt, dass diese Schwachstelle anderthalb Jahre lang bestand. Mit anderen Worten, zwei Pentests wurden ausgeführt, ohne dass die Schwachstelle gefunden wurde. Wir haben uns logischerweise sofort in Bug-Bounty verliebt. (lacht).

Was sind Ihrer Meinung nach die zusätzlichen Vorteile des Bug-Bounty gegenüber dem Pentest?

Für mich gibt es vier Hauptkriterien. Das erste ist der realistische Ansatz: Wir suchen nicht nur nach einem gründlichen Blick auf die Schwachstellen, sondern wir schlagen sofort dort zu, wo es wehtut. Dieses Vorgehen kommt einem wirklichen Angriff am nächsten.

Der zweite Punkt, der angesichts der aktuellen Agility-Bewegung sehr wichtig ist, ist die Kontinuität. Wir machen regelmäßig Aktualisierungen unserer Anwendungen, die im Internet veröffentlicht werden (mindestens eine pro Monat). Bei dieser Frequenz wird es sehr kompliziert und teuer, jedes Mal Pentests durchzuführen, wenn wir die Lösung ausrollen. Bug-Bounty ermöglicht uns stattdessen eine kontinuierliche Überprüfung.

Der dritte wichtige Punkt ist die allgemeine Effizienz und Qualität der Arbeit der ethischen Hacker, oder wie YesWeHack sie nennt, ‚Hunter‘. Auf Websites, die zuvor etliche Male getestet wurden, fanden wir systematisch Schwachstellen, einige davon kritisch. Hunter werden nach Ergebnissen bezahlt, daher ist es ganz klar ihr Ziel, konkrete Schwachstellen für uns zu finden. Das ist auch mein Ziel. Eines der Probleme mit Pentests ist, dass die Ergebnisse so stark vom Pentest selbst abhängig sind.

Mit dem Bug-Bounty-Programm stehen uns echte Spezialisten zur Verfügung. Die Hunter suchen nicht unbedingt nach allen Arten von Schwachstellen, die in einer Webanwendung zu finden sind, sie gehen dorthin, wo die Lücken stark oder schnell spürbar sind.

Und genau das ist es auch, was wir wollen. Was die Sicherheit betrifft sind wir jetzt einen Schritt weiter: Wir haben neue Schwachstellen gefunden, konnten sie beheben und die Sicherheit der Anwendungen wurde auf die nächste Stufe gehoben. Letztlich ist es das, was ich als CISO anstrebe: nicht nur die Einhaltung der Vorschriften, sondern allgemein mehr Sicherheit.

Zu guter Letzt spielt auch der ROI eine Rolle. Wenn man sich das Budget für die Belohnungen, die Kosten der Plattform und die Ergebnisse ansieht, ist es über das Jahr gesehen eine sehr profitable Investition. Zum gleichen Preis werden doppelt so viele kritische Schwachstellen behoben wie mit einem Pentest. Auf einigen großen Websites führe ich seit Jahren Pentests durch und erhalte am Ende leere oder fast leere Berichte. Wir haben die Tests vorgenommen, weil es unseren Richtlinien entsprochen hat und um Vorschriften einzuhalten, aber es hat uns in Bezug auf die Sicherheit nichts oder fast nichts gebracht.

Wie funktioniert Bug-Bounty in ihrem Unternehmen? Welche sonstigen Veränderungen haben Sie bemerkt, seitdem Sie das Bug-Bounty-Programm gestartet haben, beispielsweise auf Seiten des Teams?

Wir befinden uns in einem Programm, das extern verwaltet wird. Das bedeutet, dass wir Schwachstellen nicht selbst beheben. Trotzdem bin ich intern für das Bug-Bounty-Programm verantwortlich. Das ist am Anfang etwas zeitaufwendig, man muss diszipliniert sein und nicht in die Falle tappen, jede Schwachstelle einzeln zu analysieren, sobald man darüber informiert wird. Wenn man einmal seinen Rhythmus gefunden hat (für mich heißt das ein Review pro Woche), ist es ein sehr effizienter Prozess. Er kommt, was den Zeitaufwand betrifft, nahe an die Leitung eines klassischen Pentest-Projekts. Andererseits ist der Prozess viel einfacher einzurichten und zu verfolgen als ein solcher.

Wir haben dem Team für operative Sicherheit direkten Zugang zu unserem Programm gewährt, so dass sie die Schwachstellen sehen können, während sie validiert werden. Zudem können unsere Entwickler direkt mit den Huntern sprechen. Wir haben die Entwickler von Anfang an in das Programm miteinbezogen, so dass sie es überhaupt nicht als „Bestrafung“, sondern eher als Angriffs-/Verteidigungsspiel sehen. Das war ein Aha-Effekt für die Entwickler: „Ah, die Hunter sind stark, wie machen sie das?“ (lacht). Das hat uns viel effektiver gemacht. Es bringt die Entwickler voran und es bringt uns in Bezug auf die Sicherheit im Allgemeinen weiter.

Und die Auswirkungen in Bezug auf die Agilität?

Wir waren uns bereits vorher bewusst, dass die Überprüfungen vorgenommen werden müssen. Allerdings konnten wir den Bedarf an Anwendungskontrollen in der Entwicklung mit Pentests alleine nicht erfüllen. Wir mussten jeden Monat neue Lösungen ausrollen und haben das gemacht, ohne unsere Sicherheitsrichtlinien wirklich zu respektieren, da wir die Lösungen nicht im vorgegebenen Zeitrahmen überprüfen konnten. Also mussten wir eine andere Lösung finden, und die war Bug-Bounty. Diese Programme sind auf Agilität ausgelegt. Mit Pentest kann man nicht agil sein, es funktioniert einfach nicht: Es ist unmöglich mit dem Tempo der Projekte Schritt zu halten, weil es zu viele davon gibt. Und man kann die Tests nicht vor jedem Roll-out durchführen, weil es schlicht an Zeit, Reaktionsfähigkeit und den Mitteln fehlt. Die Fristen sind zu kurz und die Tests müssen mehrmals im Jahr mit Vorlauf geplant werden