Skip to main content

4 Schritte des Vulnerability-Remediation-Prozesses

java survey header

16. Februar 2021

0 Min. Lesezeit

Denken Sie immer daran: Das Endziel des Vulnerability-Managements ist die Behebung. Eine wichtige KPI eines Vulnerability-Management-Programms ist, wie viele kritische Sicherheitslücken mit hohem Risiko entfernt oder neutralisiert werden, bevor kritische Systeme und Assets kompromittiert werden.

Was ist Vulnerability Remediation und warum ist sie wichtig?

Kunden, Partner, Mitarbeitende und Aufsichtsbehörden erwarten von Unternehmen, dass sie Richtlinien und Prozesse implementieren, die Daten kontinuierlich und effektiv vor versehentlichem oder böswilligem Verlust und unbefugter Offenlegung schützen. Auch Systemausfälle oder Leistungseinbußen werden nicht toleriert. Kurz gesagt: Die Herausforderungen bei der Behebung von Sicherheitslücken zu meistern, ist zu einer geschäftskritischen Aufgabe geworden.

Was ist der Prozess zur Behebung von Sicherheitslücken?

Der Prozess zur Behebung von Sicherheitslücken ist ein Workflow, mit dem erkannte Schwachstellen, einschließlich Bugs und Sicherheitslücken, behoben oder neutralisiert werden. Er umfasst vier Schritte: Sicherheitslücken durch Scans und Tests finden, priorisieren, beheben und überwachen.

Wir konzentrieren uns vor allem auf die Schritte Priorisierung und Behebung, um einen skalierbaren und effektiven Prozess zur Behebung von Sicherheitslücken zu erreichen.

4 Schritte des Vulnerability-Remediation-Prozesses

  • Finden: Sicherheitslücken durch Scans und Tests erkennen

  • Priorisieren: Verstehen, welche Sicherheitslücken ein tatsächliches und erhebliches Risiko darstellen

  • Beheben: Sicherheitslücken skalierbar und in Echtzeit patchen, blockieren oder anderweitig beheben

  • Überwachen: Projekte und Code automatisch auf neu entdeckte Sicherheitslücken überwachen und über alle relevanten Kanäle Echtzeitwarnungen und -benachrichtigungen senden

Diagramm zum Beheben von Sicherheitslücken mit vier Schritten: finden, priorisieren, beheben und überwachen, angeordnet in einem kreisförmigen Workflow.

1. Sicherheitslücken finden

Bevor wir uns der Priorisierung und Behebung von Sicherheitslücken widmen, sehen wir uns kurz an, was Sicherheitslücken sind und wie sie gefunden werden.

Sicherheitslücken sind bekannte Programmierfehler oder Fehlkonfigurationen von Systemen, die ausgenutzt werden können, um eine Anwendung zu kompromittieren, ebenso wie Services, Bibliotheken, Container oder Funktionen und alle damit verbundenen Assets. Ein aktiver Exploit zielt darauf ab, Systeme herunterzufahren oder ihre Leistung zu beeinträchtigen, Daten zu exfiltrieren, Rechenressourcen zu kapern usw. Auch Systeme und Assets, auf die über die kompromittierte Komponente lateral zugegriffen werden kann, sind gefährdet.

Ein häufig bekanntes Beispiel für eine Sicherheitslücke im Softwarecode ist, dass ein Verfahren zur Benutzerauthentifizierung gar nicht implementiert wird oder eine unzureichende Kontrolle zum Einsatz kommt, etwa eine Ein-Faktor- statt der empfohlenen Multi-Faktor-Authentifizierung. Eine solche Sicherheitslücke ermöglicht es nicht autorisierten Personen mit ausreichenden Berechtigungen, Exploits wie Man-in-the-Middle-Angriffe (MITM) auszuführen, bei denen elektronische Kommunikation abgehört wird. Sicherheitsteams und Hacker entdecken regelmäßig neue Sicherheitslücken, etwa Log4Shell. Daher ist häufiges Scannen wichtig.

Der erste Schritt des Vulnerability-Remediation-Prozesses besteht daher darin, nach Sicherheitslücken zu suchen und sie zu finden. Ausgereifte Vulnerability-Management-Programme verfolgen einen Shift-Left-DevSecOps-Ansatz, bei dem im gesamten sicheren SDLC (Software Development Life Cycle) nach Sicherheitslücken gesucht wird. Damit die CI/CD-Pipeline nicht ausgebremst wird, kommen automatisierte Tools zum Testen auf Sicherheitslücken in Entwicklungs-, Test- und Produktionsumgebungen zum Einsatz. Dazu gehören beispielsweise:

Sicherheitslücken in Containern finden

Besondere Aufmerksamkeit ist der Container-Sicherheit zu widmen. Es ist wichtig, Container-Images und laufende Container-Instanzen samt all ihren Verknüpfungen auf Sicherheitslücken zu scannen. Außerdem muss sichergestellt werden, dass Container-Images von Drittanbietern ausschließlich aus vertrauenswürdigen Quellen stammen. Auch die Kubernetes-Sicherheit bringt besondere Herausforderungen beim Scannen auf Sicherheitslücken mit sich. Wird ein Cluster kompromittiert, ist jeder Service und jeder Rechner im Netzwerk gefährdet.

2. Sicherheitslücken priorisieren

Der nächste Schritt im Vulnerability-Remediation-Prozess ist die Priorisierung der Behebung von Sicherheitslücken.

„Ein Fehler, den ich zu Beginn meiner Karriere im Bereich Anwendungssicherheit gemacht habe, war, viel zu viel Zeit damit zu verbringen, viel zu viele Dinge zu erledigen. Dadurch beschäftigte ich mich zu lange mit den Details einzelner Sicherheitslücken.“

Brendan Dibbel, Team Lead für Application Security Engineering bei Toast

Unabhängig davon, welchen Ansatz Ihr Unternehmen für das Management von Sicherheitsrisiken verfolgt: Nicht jede entdeckte Sicherheitslücke birgt dasselbe Risiko. Zwischen verschiedenen Faktoren wie Schweregrad, Behebbarkeit, Abdeckung und Compliance muss stets abgewogen werden. Mit einer risikobasierten, kontextbezogenen Priorisierung kann das Team, das für die Behebung von Sicherheitslücken zuständig ist, seine begrenzten Ressourcen auf die wichtigsten Probleme konzentrieren.

So priorisieren Sie Sicherheitslücken

Es ist gut möglich, dass 80 % oder mehr der entdeckten Sicherheitslücken Fehlalarme sind, weitere 18 % ein geringes Risiko darstellen und nur die verbleibenden 2 % tatsächlich behoben werden müssen.

Die Cloud-native Plattform für Anwendungssicherheit von Snyk unterstützt Sie auf verschiedene Weise bei der Priorisierung von Sicherheitslücken:

  • Fundierte Informationen zu Sicherheitslücken: Mit Snyk können Sie anhand handlungsrelevanter Informationen priorisieren, zum Beispiel anhand des Reifegrads von Exploits, der Behebbarkeit, des Risikograds (einschließlich des allgemeinen Schweregrads und der Auswirkungen auf geschäftskritische Projekte), der Verbreitung (Anzahl der betroffenen Projekte und Assets) und des Alters.

  • Präzise, risikobasierte Prioritätsbewertungen: Die Snyk Vulnerability Database reichert Daten aus unterschiedlichen öffentlichen und proprietären Quellen an und analysiert sie. So bietet sie eine beispiellose Abdeckung bekannter und unbekannter Sicherheitslücken, denen jeweils eine sorgfältig berechnete Prioritätsbewertung zugewiesen wird.

  • Einblicke auf Anwendungsebene: Snyk nutzt Daten zu Ausführung und Laufzeitaufrufen, Kubernetes-Konfigurationsinformationen sowie Signale aus laufenden Containern, um die Auswirkungen einer Sicherheitslücke zu ermitteln. Wenn eine anfällige Funktion gar nicht aufgerufen wird, verdient sie dann wirklich Ihre sofortige Aufmerksamkeit?

  • Detaillierte Kontrolle über Sicherheitsrichtlinien: Die Priorisierung von Sicherheitslücken muss im Kontext der Sicherheitsrichtlinien Ihres Unternehmens erfolgen. Je detaillierter die Sicherheitskontrollen umgesetzt werden, desto gezielter können Sie Sicherheitslücken priorisieren. Mit Snyk können Sie Tags und Attribute verwenden, um Sicherheitsrichtlinien für jedes Projekt individuell festzulegen.

3. Sicherheitslücken beheben

Der dritte Schritt im Vulnerability-Remediation-Prozess besteht darin, die Schwachstelle zu beheben.

In vielen Fällen wird anfällige Software entfernt, indem ein vom betroffenen Softwareanbieter empfohlenes Upgrade oder Patch bereitgestellt wird. Doch schon die Bereitstellung von Patches kann eine Herausforderung sein. Tests und Rollouts von Patches und Upgrades können erhebliche Zeit und Ressourcen beanspruchen. Geschäftskritische Systeme müssen während der Bereitstellung möglicherweise heruntergefahren werden. Außerdem besteht immer das Risiko, dass ein Patch unerwartete Auswirkungen auf die Anwendung selbst oder ihre Abhängigkeiten hat.

Es kann weniger riskante Möglichkeiten geben, eine Schwachstelle zu beheben oder die Zeit bis zur Bereitstellung eines Patches zu überbrücken. Sie können beispielsweise riskante Systeme, Plattformen oder Servicekonfigurationen aktualisieren. Ebenso können Sie einen anfälligen Prozess oder eine Funktion deaktivieren oder eine nicht verwendete anfällige Komponente entfernen.

4. Sicherheitslücken überwachen

Wie der gesamte SDLC ist auch der Prozess zur Behebung von Sicherheitslücken kontinuierlich. Damit dieser Kreislauf funktioniert, benötigen Sie eine entsprechende Überwachung. Die Tools müssen Projekte und Code automatisch auf neu entdeckte Sicherheitslücken überwachen und über alle relevanten Kanäle Echtzeitwarnungen und -benachrichtigungen senden.

Im Idealfall bietet das Überwachungstool außerdem eine kontextbezogene Priorisierung und unterstützt so die Schritte 1 und 2 des Vulnerability-Remediation-Prozesses (Finden und Priorisieren). 

Andernfalls werden Entwicklerinnen und Entwickler oder AppSec-Teams, die Benachrichtigungen erhalten, schnell von einer Flut niedrig priorisierter Sicherheitslücken überfordert. Teams dürfen nicht mit irrelevanten Meldungen überlastet werden, denn das kann sie davon abhalten, wichtige Sicherheitslücken mit hoher Priorität zeitnah zu beheben.

Die Überwachung ist zwar der vierte Schritt in dieser Liste, könnte in einem leistungsfähigen Sicherheitsprogramm aber auch als erster Schritt betrachtet werden.

Die vier entscheidenden Schritte des Vulnerability-Remediation-Prozesses zu kennen, ist wichtig. Ebenso wichtig sind die richtigen Tools, um den Prozess zu unterstützen und effizienter zu gestalten.

„Ich sehe dieses Problem in fast jedem Unternehmen: Einige wenige Security Engineers stehen einer riesigen Gruppe von Entwicklerinnen und Entwicklern gegenüber, und es ist schlicht unmöglich, mit all den Änderungen Schritt zu halten.

Anstatt also zu versuchen, alles zu erledigen, sollten wir uns darauf konzentrieren, unseren Engineers die Tools an die Hand zu geben, die sie brauchen, um Verantwortung für die Sicherheit zu übernehmen.“

Brendan Dibbel, Team Lead für Application Security Engineering bei Toast

Cybersicherheitslücken mit Snyk verwalten und beheben

Geben Sie Ihren Entwicklungsteams die passenden Tools an die Hand, um Sicherheitslücken zu finden und zu beheben. So kann Snyk Sie dabei unterstützen:

  • Sofortige Sperrung: Das SCA-Tool von Snyk scannt nach allen von einer Sicherheitslücke betroffenen Instanzen, erkennt sie umgehend und ergreift sofort Maßnahmen, um Angreifern den Zugriff zu verwehren.

  • Gezielte Navigation: In den heutigen hochgradig verteilten, ereignisgesteuerten Cloud-nativen Anwendungen ist es für Entwicklerinnen und Entwickler nicht einfach, den anfälligen Code oder die Komponente zu finden, die behoben werden muss. Snyk beschleunigt die Behebung, indem es genau zeigt, wie sich die Sicherheitslücke finden lässt.

  • Integration in bestehende Developer-Workflows: Snyk ist dort verfügbar, wo Entwicklerinnen und Entwickler arbeiten, etwa direkt in der IDE und in Versionsverwaltungstools wie GitHub. So hilft Snyk, Kontextwechsel zu reduzieren und potenzielle Sicherheitslücken früh im Entwicklungszyklus zu beheben.

  • Automatische oder manuelle Upgrades auf Versionen ohne Sicherheitslücken: Snyk aktualisiert direkte Abhängigkeiten auf eine Version ohne Sicherheitslücken – entweder automatisch über automatische Fix-Pull-Requests oder indem das Team dazu aufgefordert wird, das Upgrade manuell durchzuführen.

Sicherheitslücken patchen: Snyk prüft automatisch, ob bereits ein Branch vorhanden ist, und öffnet dann den bestehenden Pull Request für den genauen Fix erneut. Ist noch kein Branch vorhanden, werden ein neuer Branch und ein neuer Pull Request erstellt.

Integrieren Sie Sicherheit in Ihre CI/CD-Pipelines

Snyk läuft in Ihrer bevorzugten CI/CD-Pipeline und hilft Ihnen, Schwachstellen mit höchster Priorität zu beheben.

Häufig gestellte Fragen

Was sind Schwachstellen-Scans und -Tests?

Schwachstellen-Scans überprüfen Anwendungen und Systeme anhand einer Datenbank bekannter Programmierfehler und Fehlkonfigurationen. Bei Schwachstellen-Tests werden Anwendungen gezielt untersucht, um ihre Anfälligkeit zu bewerten. Sowohl Schwachstellen-Scans als auch -Tests sollten automatisierte Prozesse sein, die sich nahtlos in CI/CD-Pipelines über den gesamten Softwareentwicklungslebenszyklus hinweg integrieren.

Wie lassen sich Schwachstellen sicher priorisieren?

Snyk hilft Ihnen, Schwachstellen zu priorisieren – anhand von Risikobewertungen, die durch die Analyse und Aufbereitung mehrerer Datenquellen zu Schwachstellen und Bedrohungsinformationen ermittelt werden. Einige dieser Quellen sind öffentlich zugänglich. Sie sollten jedoch durch Erkenntnisse aus der Praxis (von Entwicklern, aus der Wissenschaft usw.) und durch eigene Forschung ergänzt werden.

Wie lässt sich anfällige Software entfernen?

Anfällige Software wird in der Regel durch das Einspielen von Patches und Upgrades der Softwareanbieter entfernt. Es ist jedoch auch möglich, anfällige Software zu beheben, indem Sie beispielsweise System- oder Anwendungskonfigurationen aktualisieren oder ungenutzte Komponenten entfernen bzw. deaktivieren, die als anfällig eingestuft wurden.