Fotolia

Schutz vor Cyberbedrohungen durch Drittanbieter

Dass fremde Softwarebibliotheken für eigene Lösungen verwendet werden, ist Alltag in Unternehmen. Diese oft nicht transparenten Lieferketten bergen in Sachen Sicherheit Risiken.

Die Vorfälle bei Microsoft, Kaseya und rund um die Log4j-Sicherheitslücke haben eines ganz deutlich gemacht: Die Cybersicherheit von Unternehmen ist nicht allein von ihren internen IT-Systemen abhängig. Vielmehr haben das Sicherheitsniveau von Drittanbietersoftware beziehungsweise deren Softwarekomponenten einen erheblichen Einfluss darauf, wie sicher die IT eines Unternehmens ist. Die Frage an Security-Verantwortliche lautet daher, wie sie Cyberrisiken, die sich aus den Softwarelieferketten ergeben, begegnen können.

Risiken in den Softwarelieferketten

Insbesondere aus der wachsenden Komplexität von Softwarelieferketten ergeben sich neue Risiken. Im Vergleich mit Lieferketten für physische Produkt sind Lieferketten für Softwarekomponenten – häufig in Form von Software-Bibliotheken – weniger transparent. Wird bei einer weitverbreiteten Bibliothek eine Schwachstelle offenbar, sind unter Umständen unzählige Softwareprodukte von Unternehmen betroffen, deren Code sich auf die Bibliothek bezieht.

Vieles spricht dafür, Softwarebibliotheken unter einer Open-Source-Lizenz beziehungsweise von einem Drittanbieter zu verwenden. Denn dadurch entfällt für Organisationen die Entwicklungsarbeit für Funktionen, die andere bereits geleistet haben. Bedeutend effizienter ist es, die nötige Funktionalität mittels einer entsprechenden Fremdbibliothek in die eigene Software, App, Website oder Updates zu integrieren. Um jedoch ausschließen zu können, dass eine nicht selbst entwickelte Softwarekomponente zu einer Gefährdung des eigenen Produkts wird, müssen die Verantwortlichen die entsprechende Bibliothek im Detail überprüfen. Zwar kann davon ausgegangen werden, dass die Entwickler der Komponente im Regelfall bei der Erstellung Sorgfalt walten ließen, allerdings zeigt die Erfahrung, dass trotzdem Sicherheitslücken im Code verborgen sein können.

Generell sollten Code-Review-Prozesse durch nicht an der Entwicklung beteiligte Kollegen sowie der Einsatz automatisierter Tools zum Auffinden von Schwachstellen heutzutage gängige Praxis vor einer Software-Veröffentlichung sein. Je größer und somit komplexer ein Softwareprojekt jedoch wird, desto herausfordernder und zeitraubender ist es, mögliche Schwachstellen aufzudecken. Zudem wird die Schwachstellenbeseitigung umso schwieriger, je später im Entwicklungsprozess sie umgesetzt wird.

Im Zuge des modernen und agilen Software-Developments mittels Continuous Development (CD) und Continuous Integration (CI) – gemeinhin als DevOps bekannt – hat sich der gesamte Bereitstellungsprozess für Software-Komponenten merklich beschleunigt. Dies wiederum hat zur Folge, dass für das Auffinden von Sicherheitslücken immer weniger Zeit bleibt. Wie also vorgehen?

Diese Frage wird umso dringender, wenn man bedenkt, dass der sich verschärfende Wettbewerb in der IT-Industrie keine langen Prüfzyklen erlaubt, jedoch die Sicherheit der eigenen Produkte ein bedeutendes Kaufargument darstellt. Dementsprechend gilt es, beiden Aspekten Rechnung zu tragen und nicht nur die Sicherheit, sondern auch die effiziente Bereitstellung zu gewährleisten.

Beispiel GitHub

Eine der bedeutendsten Plattformen im Bereich Software-Entwicklung, GitHub, hat sich in diesem Zusammenhang für einen Security-Ansatz entschieden, der als SecureDevOps bezeichnet wird. Mit dieser umfassenden Strategie möchte GitHub die Sicherheit im gesamten Entwicklungsprozess gewährleisten.

Mit SecureDevOps profitieren Entwickler auf der GitHub-Plattform von Feedback und Warnungen zur Cybersicherheit. Sie können sich somit einzig und allein auf die Softwareentwicklung fokussieren und trotzdem, dank des entsprechenden Inputs vonseiten der Plattform, die Sicherheit des Codes gewährleisten.

Laurie Mercer, HackerOne

„Die digitale Transformation hat in vielen Unternehmen zu schnellerer Softwareentwicklung und der Nutzung von Drittanbieterkomponenten geführt und so die Angriffsflächen massiv vergrößert.“

Laurie Mercer, HackerOne

Der Ansatz umfasst noch weitere Vorteile: Denn GitHub bindet auch ethische Hacker in die Security-Strategie mit ein, um Sicherheitslücken aufzuspüren und die Qualität des Feedbacks an die Entwickler zu steigern. Die Einbindung der Hacker erfolgt in Zusammenarbeit mit HackerOne, deren Plattform es Unternehmen ermöglicht, gemeinsam mit Hackern die Cybersicherheit des eigenen Unternehmens zu verbessern.

Hacker in den Entwicklungs- und Code-Review-Prozess einzubinden ist insbesondere deshalb von Vorteil, weil diese Security-Experten nicht den Denkweisen der Entwickler folgen und sich unabhängig von ihrem Auftraggeber Gedanken über Sicherheitslücken machen. Unternehmen profitieren bei deren Einsatz von neuen Perspektiven, Erfahrungen und Know-how, das die Hacker zuweilen über viele Jahre im Rahmen von Bug-Bounty-Programmen erwerben konnten. Auf Basis dieser Expertise sind sie in der Lage, Entwicklern und Security-Teams Schwachstellen aufzuzeigen, die diese bis dato nicht identifizieren konnten.

Der Rückgriff auf das Know-how der Hacker ist jedoch nicht allein auf die Zusammenarbeit mit Developer-Plattformen wie GitHub beschränkt. Vielmehr können Unternehmen in fast jeder Phase des Entwicklungsprozesses von diesen profitieren und so auch den Risiken begegnen, die sich aus den Softwarelieferketten ergeben.

Bug-Bounty-Programme stärken die Cybersicherheit

Um Sicherheitslücken aufzudecken, sei es im eigenen Code oder den Algorithmen von Softwarekomponenten Dritter, bieten sich Bug-Bounty-Programme an. Hierbei erhalten Hacker eine Prämie, die sogenannte „Bug Bounty“, wenn sie Schwachstellen in Software, Anwendungen, Apps, Webseiten und Konfigurationen identifizieren und diese ordnungsgemäß melden.

Dabei sollten einige wichtige Aspekte beachtet werden: Zunächst ist es von großer Bedeutung, dass sich die Security-Teams der Unternehmen, die ein Bug-Bounty-Programm ins Leben rufen, intensiv mit den Hackern über die Schweregrade von Sicherheitslücken und die Lösungsprozesse austauschen. Es wäre jedoch wenig effizient und zeitraubend, müsste dies individuell mit jedem Hacker einzeln besprochen werden. Hier kommen Bug-Bounty-Plattformen ins Spiel. Diese stellen Anleitungen bereit, organisieren Treffen mit Expertenteams für die Services und unterstützen allgemein bei der Zusammenarbeit mit der Hacker-Community.

Auch rechtliche Fragen können mit der Hilfe von Bug-Bounty-Plattformen einfacher adressiert werden, weil das Reverse Engineering nicht mit jedem Hacker einzeln geregelt werden muss. Stattdessen gilt der rechtliche Rahmen für das gesamte Programm, und um die Abwicklung kümmert sich die Plattform, weil der rechtliche Rahmen für alle Teilnehmer verbindlich ist. Darüber hinaus wird die Zusammenarbeit mit den Hackern nicht nur rechtlich auf ein solides Fundament gestellt, sondern auch in geordnete Bahnen geleitet, wovon alle Beteiligte profitieren.

Sicherheit für die wachsenden Angriffsflächen

Die digitale Transformation hat in vielen Unternehmen zu schnellerer Softwareentwicklung und der Nutzung von Drittanbieterkomponenten geführt und so die Angriffsflächen massiv vergrößert. Diese ausufernden Angriffsflächen müssen Security-Verantwortliche in den Griff bekommen und sowohl bekannte als auch unbekannte Assets schützen.

Eine von HackerOne durchgeführte Untersuchung ergab erst kürzlich, dass ein Drittel der Unternehmen weniger als 75 Prozent ihrer gesamten Angriffsfläche überwacht. Und fast 20 Prozent sind der Ansicht, dass mehr als die Hälfte ihrer Angriffsfläche unbekannt ist. Dies macht Unternehmen äußerst anfällig, denn was nicht bekannt ist, kann auch nicht geschützt werden.

Letztlich entsteht so eine Lücke zwischen dem, was Unternehmen zu schützen imstande sind, und dem, was tatsächlich geschützt werden muss. Unternehmen, die nicht über das nötige Fachwissen verfügen, können mittels eines Security Advisory Service erfahrene Sicherheitsexperten einschalten, um Schwachstellendaten besser zu nutzen.

Die Hinweise, die Unternehmen durch Bug-Bounty-Programme zu Sicherheitslücken erhalten, sind von unschätzbarem Wert für die Security-Teams, weil entsprechende Schwachstellen andernfalls unter Umständen erst dann auffielen, wenn sie von Cyberkriminellen ausgenutzt werden. Dies schließt selbstredend auch Lücken in den verwendeten Software-Komponenten Dritter mit ein. Um dauerhaft einen Nutzen aus einem solchen Programm zu ziehen, ist es für Unternehmen wichtig, auf eine langfristige Zusammenarbeit zu setzen. Denn eine vertrauensvolle und effektive Beziehung zu den Hackern aufzubauen, erfordert Zeit. Auch muss den Verantwortlichen bewusst sein, dass die Arbeit, die sich aus den Hinweisen für die Security-Teams ergibt, im Regelfall nicht in ein paar Wochen erledigt ist. Vielmehr ergibt sich aus einem Bug-Bounty-Programm ein steter Austausch zwischen Entwicklern und Hackern, um die Software beziehungsweise Infrastruktur eines Unternehmens zu verbessern.

Nur mit einer ausgewogenen Sicherheitsstrategie, welche die Zusammenarbeit mit Hackern beinhaltet, können Organisationen gewährleisten, dass Schwachstellen frühzeitig entdeckt werden, noch bevor sie von Angreifern ausgenutzt werden können. Speziell die Menge an Drittanbieter-Code macht es Entwicklern und Administratoren schwierig, Sicherheitslücken eigenständig zu identifizieren.

Über den Autor:
Laurie Mercer ist Security Engineer bei HackerOne.

Die Autoren sind für den Inhalt und die Richtigkeit ihrer Beiträge selbst verantwortlich. Die dargelegten Meinungen geben die Ansichten der Autoren wieder.

Erfahren Sie mehr über Anwendungs- und Plattformsicherheit