Beliebte Suchanfragen

Cloud Native

DevOps

IT-Security

Agile Methoden

Java

//

Schneller handeln bei Software-Schwachstellen

8.2.2023 | 3 Minuten Lesezeit

Sicherheitslücken in Software und Bibliotheken werden immer auftreten, unabhängig davon, wie viel Energie aufgebracht wird, um sie zu vermeiden. An die als Log4Shell bekannte Schwachstelle vor gut einem Jahr werden sich Viele noch schmerzhaft erinnern.

Das Problem: log4j wird in sehr vielen Werkzeugen und Anwendungen eingesetzt. Damit bauen Entwickler wiederum andere Software. Diese Kette von Abhängigkeiten war und ist natürlich unbegrenzt fortsetzbar. Als Folge durchsuchten unzählige Entwicklerteams ihre Software nach Abhängigkeiten zu gefährdeten Bibliotheken. Es gab Unternehmen, die dafür 15 Minuten brauchten – was bei manchen Managern das Gefühl auslöste: Die nehmen das nicht ernst!

Was machen diese Unternehmen anders? Sie haben für ihre Software und SaaS-Angebote Bills of Material (BOMs) erstellt. Materiallisten, mit allen Paketen und Bibliotheken, die diese Lösungen nutzen. Minimal umfassen diese Listen die Bibliotheken inklusive der Version. Besser noch: zu jeder Bibliothek eindeutige IDs, um öffentliche CVE-Listen zu scannen und Informationen über die Lizenz der Bibliothek zu erhalten. Aus diesen Informationen lassen sich dann mit Tools bekannte Schwachstellen inklusive Bewertung und konkreten Maßnahmen zur Behebung anzeigen, zum Beispiel ein Update auf eine andere Version. Diese Informationen stehen dann im Bedarfsfall schnell zur Verfügung.

An welchen Punkten sind die BOMs relevant? Zunächst natürlich während des klassischen CI/CD-Prozesses. Hier werden die Materiallisten erstellt, registriert und bei Bedarf für externe Kunden und Nutzer veröffentlicht. BOMs sind aber keine Black- oder Whitelists. Das Prüfen der BOMs nach dem Erstellen kann beispielsweise auf Ebene eines Artefakt-Repositorys durchgeführt werden, aus dem die Bibliotheken bezogen werden. Eine einmalige Prüfung nur im CI/CD-Prozess reicht natürlich nicht aus. Während des ganzen Lebenszyklus einer Software muss kontinuierlich auf Sicherheitslücken geprüft werden.

Eine Umsetzung der Prüfung sowohl im Build als auch im Anschluss lässt sich häufig mit einem einfachen, zusätzlichen Schritt im Build und einem Tool wie dependencytrack erreichen. Und doch wird dies selten umgesetzt, da die Priorität auf den Features liegt, die für Nutzer sichtbar sind. Gesetzliche Vorgaben aus Brüssel zur Gewährleistung bei digitalen Gütern und damit auch Software sind ein Grund, sich mit dem Thema zu beschäftigen. Außerdem erwarten Softwarekunden ein aktives Risikomanagement von Herstellern: proaktiv, zeitnah und zielgerichtet informieren, wenn Lücken auftreten. Damit hebt man sich von der Konkurrenz ab und steigert das Kundenvertrauen bei verhältnismäßig geringem Kosteneinsatz.

Natürlich gibt es auch Herausforderungen. BOMs schaffen Transparenz. Wenn Lücken gefunden werden, wissen Leute Bescheid, dass sie da sind. Ignorieren ist dann keine Strategie mehr. Das Anti-Pattern „Security by Obscurity” funktionierte aber sowieso noch nie. Ebenso werden manche Lücken schlicht nie behoben. Das heißt, es wird immer ein Grundrauschen von Meldungen geben. Eine zeitnahe Risikoabschätzung der einzelnen Meldungen ist immer essenziell. Das Erkennen selbst hängt stark von der Qualität des Package Managers (die großen wie maven, npm oder pip sind kein Problem) sowie den CVE-Listen ab. Auch bei Containern gibt es (noch) Herausforderungen, wirklich alle Komponenten zu identifizieren, die auf der SBOM landen sollen. Trotzdem sind SBOMs heute aus Security-Sicht wichtiges Handwerkszeug, um bei der stetig wachsenden Anzahl bekannter CVEs zeitnah und zielgerichtet reagieren zu können.

Dieser Artikel erschien am 06.01.2023 im Rahmen des codecentric-Innovations-Newsletters. Wenn ihr immer direkt über die neusten IT-Trends und -Techniken informiert sein wollt, könnt ihr den Newsletter hier abonnieren.

Beitrag teilen

Gefällt mir

3

//

Weitere Artikel in diesem Themenbereich

Entdecke spannende weiterführende Themen und lass dich von der codecentric Welt inspirieren.

//

Gemeinsam bessere Projekte umsetzen.

Wir helfen deinem Unternehmen.

Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.

Hilf uns, noch besser zu werden.

Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.