Entwicklern helfen, den Sicherheits-Backlog zu priorisieren
22. Juli 2020
0 Min. LesezeitHeute nehmen Entwickler zunehmend selbst die Behebung von Schwachstellen in ihren Anwendungen in die Hand – eine großartige Entwicklung. Doch dabei sehen sie sich mit einem langen Backlog an Schwachstellen konfrontiert. Zu entscheiden, welches Problem zuerst behoben werden sollte, ist schwierig und erfordert Zeit und Sicherheitsfachwissen, das Entwicklern oft fehlt. Hier können die richtigen Tools überzeugen: Sie liefern das nötige Fachwissen, um bei der Priorisierung die richtigen Sicherheitsfragen zu stellen, und die Technologie, um sie schnell zu beantworten.
Die Flut an Schwachstellen bewältigen
Die Zahl der Schwachstellen in Open-Source-Komponenten steigt ständig. Jedes Jahr werden Tausende neuer Schwachstellen offengelegt. Zur Einordnung: Die Snyk Vulnerability Database verzeichnete in den vergangenen vier Jahren einen Anstieg um insgesamt 394 %. Dieses kontinuierliche Wachstum spiegelt sich letztlich in den Schwachstellen-Backlogs wider, mit denen Unternehmen heute konfrontiert sind.
Da ihre Ressourcen ohnehin knapp sind und sie ständig unter Druck stehen, schnell und regelmäßig funktionsfähigen und sicheren Code bereitzustellen, damit ihr Unternehmen wettbewerbsfähig bleibt, können Entwickler diese Backlogs nur durch eine kluge Priorisierung bewältigen. Da sie realistischerweise nicht alle Schwachstellen auf der Liste beheben können, müssen Entwicklungsteams entscheiden, bei welchen Schwachstellen der Zeitaufwand den größten Nutzen bringt.
Diese Entscheidungen können sich erheblich darauf auswirken, wie gut ein Unternehmen Risiken verwalten und reduzieren kann. Eine schlechte Priorisierung kann dazu führen, dass Entwicklungszeit in Schwachstellen investiert wird, die sich als falsch-positive Ergebnisse herausstellen. Das sorgt für Reibungsverluste und schwächt das Vertrauen der Entwickler. Wer eine schwerwiegende Schwachstelle ohne bekannte Exploits höher priorisiert als eine weniger schwerwiegende Schwachstelle mit einem aktiven Exploit, kann die allgemeine Sicherheitslage des Unternehmens schwächen.
Die richtigen Fragen stellen können
Eine effektive Priorisierung erfordert Fachwissen – konkret Sicherheitsfachwissen, das eine präzise und umfassende Bewertung der Bedrohung ermöglicht, die eine Schwachstelle für das Unternehmen darstellt. Entwicklern fehlt dieses Fachwissen in der Regel, was ihre Fähigkeit zur effektiven Risikopriorisierung einschränkt.
Effektive Sicherheitstools müssen dieses fehlende Fachwissen daher bereitstellen und zur richtigen Zeit die richtigen Fragen aufwerfen. Sicherheitsexperten können diese Fragen anpassen, und das Produkt kann sie gezielt hervorheben.
Prioritäten richtig setzen
Die erste Frage, die Entwickler stellen können müssen, klingt einfach: Welches Problem im Backlog sollte als Nächstes angegangen werden?
CVSS wurde genau für diesen Zweck entwickelt, bringt jedoch einige Herausforderungen mit sich. Die Berechnung eines CVSS-basierten Scores erfordert Sicherheitsfachwissen. Selbst wenn der Score direkt bereitgestellt wird, setzt das Verständnis seiner Berechnung entsprechende Kenntnisse und manchmal zusätzliche Recherche voraus. Außerdem ist der Schweregrad einer Schwachstelle nicht der einzige Faktor bei der Entscheidung, welches Problem zuerst angegangen werden sollte.
Entwicklern fehlt in der Regel das Sicherheitsfachwissen, um die Feinheiten von CVSS zu verstehen. Sie können es sich auch nicht leisten, Zeit darauf zu verwenden, weiter zu untersuchen, warum eine Schwachstelle einen bestimmten Schweregrad erhalten hat. Damit Entwickler Prioritäten setzen können, muss die Bewertung transparent und einfach zu nutzen sein. Snyk berücksichtigt beispielsweise den Schweregrad, die Verfügbarkeit eines Fixes, den Reifegrad des Exploits und das Alter der Schwachstelle, um ihren Prioritäts-Score zu berechnen. Der Score wird anschließend so dargestellt, dass Entwickler ihn einfach verstehen und nutzen können.

Der Unterschied zwischen wichtig und dringend
Nachdem die Prioritäten festgelegt wurden, stellt sich die nächste Frage: Welche Probleme sind dringender als andere?
Schwachstellen mit aktiven Exploits sollten beispielsweise eine hohe Priorität erhalten und als dringend genug eingestuft werden, um sofortige Aufmerksamkeit zu erfordern. Der berüchtigte Equifax-Datendiebstahl ging auf eine bekannte Schwachstelle zurück, für die erst wenige Tage vor dem Angriff aktive Exploits veröffentlicht worden waren.
Zu wissen, ob eine Schwachstelle ausnutzbar ist, ist jedoch nur ein Teil der Lösung. Das zeigt zwar, wie wahrscheinlich eine Ausnutzung ist, aber wie Schwachstellen sind auch nicht alle Exploits gleich. Einige sind rein theoretisch und wurden nie für Angriffe eingesetzt. Andere sind deutlich ausgereifter und mit veröffentlichtem Exploit-Code verfügbar. Ausgereifte Exploits senken die Hürde für Angreifer und verleiten mehr von ihnen dazu, diese auszuprobieren. Noch wichtiger: Ausgereifte Exploits werden schnell in automatisierte Botnets aufgenommen, die das Internet ständig nach leicht auszunutzenden Schwachstellen durchsuchen – unabhängig vom Opfer. Bleibt eine solche Lücke offen, finden Botnets sie wahrscheinlich schnell.
Bei einem riesigen Schwachstellen-Backlog müssen Entwickler schnell erkennen können, welche Schwachstellen sich leicht finden und für Angriffe nutzen lassen. Mit diesem Wissen fällt die Entscheidung, ob eine Schwachstelle priorisiert werden sollte, deutlich leichter.

Mit dem richtigen Kontext beheben
Für eine bekannte Schwachstelle kann es einen Exploit geben. Das bedeutet jedoch nicht, dass sie auch in Ihrer Anwendung ausgenutzt werden kann. Ob ein Exploit in Ihrer Anwendung funktioniert, hängt davon ab, wie Ihr Code und die anderen von Ihnen verwendeten Bibliotheken mit der anfälligen Komponente interagieren.
Diesen Kontext zu erhalten, erfordert jedoch nicht nur Sicherheitsfachwissen, sondern auch Analysefähigkeiten. Entwicklern stehen diese beiden Ressourcen selten zur Verfügung, und sie haben auch nicht die Zeit, sie selbst aufzubauen. Tools mit integrierten Analysefunktionen helfen Entwicklern zu klären, ob eine anfällige Methode tatsächlich im Ausführungspfad einer Anwendung enthalten ist, und die Priorisierung entsprechend anzupassen.
Snyk analysiert beispielsweise jede Komponente in der Umgebung eines Nutzers vorab und kann die laufende Anwendung überwachen. So kann Snyk Entwicklern mitteilen, ob die Anwendung die Schwachstelle erreichen kann.

Weniger Hürden. Mehr Leitplanken.
Von Entwicklern wird erwartet, immer mehr Verantwortung für die Sicherheit zu übernehmen. Das können sie jedoch nur, wenn sie wissen, dass sie ihre Zeit und Ressourcen für die richtigen Schwachstellen einsetzen. Eine gute Priorisierung trägt außerdem dazu bei, die Reibungsverluste zwischen Entwicklungs- und Sicherheitsteams zu verringern: Je weniger falsch-positive Ergebnisse auf der Liste der sofort zu behebenden Probleme landen, desto mehr Vertrauen haben Entwickler in den Prozess.
Sicherheitsteams müssen dafür sorgen, dass Entwickler sicher priorisieren können. Mit Leitplanken können Sicherheitsteams darauf vertrauen, dass Entscheidungen innerhalb sicherer Grenzen getroffen werden. Diese Leitplanken sollten von den Sicherheitsteams mithilfe ausreichend granularer Richtlinien festgelegt werden, die eine Governance in großem Maßstab unterstützen. Je stärker diese Richtlinien automatisiert sind, desto besser.
Damit Entwickler die richtigen Fragen für eine effektive Priorisierung stellen können, bietet Snyk entwicklerorientierte Priorisierungsfunktionen, die passende Fragen vorschlagen, Antworten finden und die anschließende Behebung vereinfachen. Erfahren Sie hier mehr oder legen Sie selbst kostenlos los.
Starten Sie mit Capture the Flag
Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Herausforderungen lösen.



