Skip to main content

Priorisierung auf Steroiden: der neue Priority Score von Snyk

Artikel von
Headshot of Dan Mckean

Dan Mckean

Prioritisation header feature

4. August 2020

0 Min. Lesezeit

Der neue Priority Score von Snyk vereinfacht eine der größten Herausforderungen bei der sicheren Nutzung von Open Source erheblich: herauszufinden, welche Schwachstellen zuerst behoben werden sollten.

Für die meisten Unternehmen ist es schlicht nicht machbar, alle Schwachstellen zu beheben. Jede Änderung ist mit Kosten verbunden, die mit zunehmendem Alter und wachsender Komplexität der Software häufig steigen. Ein durchschnittliches Repository weist bereits am Tag seines erstmaligen Imports in Snyk mehr als 35 Schwachstellen auf, bei Container-Projekten sind es im Durchschnitt jeweils über 130.

So funktioniert der Score

Unser Priority-Score-Algorithmus verarbeitet eine Reihe von Datenpunkten (Faktoren), um einen Score zwischen 0 und 1000 zu berechnen. Zunächst verwendeten wir eine Skala von 0 bis 100. Schnell wurde uns klar, dass Unternehmen nicht nur innerhalb eines Projekts priorisieren, sondern über _alle_ ihre Projekte hinweg. Eine fein abgestufte Bewertung ist entscheidend, um das Problem zu vermeiden, das bei einer Priorisierung ausschließlich nach Schweregrad oder sogar CVSS entsteht: Alles hat höchste Priorität! Wir haben die Gewichtung der verschiedenen Faktoren so berechnet, dass die Scores gleichmäßig verteilt sind und die größten Risiken zugleich die höchsten Scores erhalten.

Die Scores werden für jedes Problem in der Ansicht Projekte angezeigt. Dort sind jetzt alle Probleme nach Priority Score sortiert, sodass die dringendsten zuerst erscheinen. Außerdem können Sie Probleme nach Score-Bereich filtern.

Sicherheits-Dashboard mit einer erreichbaren Deserialisierungs-Sicherheitslücke mit hohem Schweregrad, Details zur Behebung und Filteroptionen.

Die Scores werden auch im Tab Probleme im Bereich Berichte angezeigt (für Kunden mit einem kostenpflichtigen Tarif). Der Priority Score ist dort eine eigene sortierbare Spalte. Standardmäßig ist die Tabelle bereits nach Score sortiert, damit Sie sofort sehen, worauf Sie Ihre Zeit verwenden sollten. Probleme lassen sich auch nach Score filtern.

Snyk-Reports-Dashboard mit nach Score sortierten Sicherheitslücken; hervorgehoben sind schwerwiegende Probleme mit den Scores 899, 786 und 756.

Die Scores lassen sich derzeit über verschiedene problembezogene API-Aufrufe abrufen (für Kunden mit kostenpflichtigen Tarifen). Diese geben die Scores jetzt in der Antwort zurück und unterstützen das Filtern nach Score.

Weitere Informationen zu den relevanten API-Aufrufen:

So wird der Score berechnet

Die erste Version des Algorithmus verarbeitet bis zu zehn Faktoren pro Problem. Das wäre eine gewaltige Aufgabe, wenn jemand dies manuell (oder sogar in Tabellen) für oft Tausende Schwachstellen in sämtlichen Projekten eines Unternehmens erledigen müsste. Snyk plant, künftig viele weitere Faktoren hinzuzufügen, damit sich besser erkennen lässt, wo sich der Zeitaufwand am wirksamsten zur Verringerung des Sicherheitsrisikos einsetzen lässt.

Hier sind einige der Faktoren, die wir bereits berücksichtigen – die Liste ist jedoch keineswegs vollständig!

CVSS bildet die Grundlage für die Priorisierung der meisten Schwachstellen. Obwohl dabei bereits eine Vielzahl von Faktoren berücksichtigt wird, bildet CVSS die jeweilige Schwachstelle nicht im Kontext Ihres konkreten Projekts ab. Zudem ist die Priorisierung allein anhand von CVSS schwierig, wenn mehr als 23 % der von Snyk gefundenen Schwachstellen einen CVSS-Wert über 8,0 haben. Unser Priority Score sorgt dagegen für eine wesentlich ausgewogenere Verteilung: Weniger als 5 % erreichen einen Wert über 800 von 1000. Der Wert von CVSS ist dennoch unbestritten und fließt daher stark in den Bewertungsalgorithmus von Snyk ein.

Als Nächstes kommt der Schweregrad. Er korreliert zwar stark mit CVSS, doch in bestimmten Ökosystemen lässt sich CVSS nicht anwenden und ist in manchen Fällen nicht mehr aktuell. Mit den Sicherheitsrichtlinien von Snyk können Sie den Schweregrad eines Problems anhand von Informationen anpassen, die selbst Snyk nicht ermitteln kann – etwa, ob ein Dienst geschäftskritisch ist. Eine solche Änderung wird bei der Priorisierung berücksichtigt und kann den vergebenen Score senken.

Ein naheliegender Faktor ist der Exploit-Reifegrad von Snyk. Das branchenführende Sicherheitsteam von Snyk setzt manuelle und automatisierte Methoden ein, um zu verfolgen, welche Schwachstellen ausnutzbar sind und in welchem Umfang. Diese Informationen spielen eine entscheidende Rolle dabei, das von einer Schwachstelle ausgehende Risiko zu bestimmen.

Neu bei Snyk ist auch, dass Informationen zu erreichbaren Schwachstellen in den Priority Score einfließen. Indem wir die in einem Projekt aufgerufenen Codepfade untersuchen, können wir Ihnen helfen zu erkennen, welche Schwachstellen im Code tatsächlich erreichbar sind.

Ob ein Fix verfügbar ist, ändert zwar nichts am Risiko einer Schwachstelle, kann aber die Kosten ihrer Behebung drastisch beeinflussen. Gibt es weder eine sicherere Version, auf die Sie aktualisieren können, noch einen passenden Snyk-Patch, bleibt zur Risikominderung nur, selbst einen Patch zu erstellen oder ein alternatives Paket in Ihrer Software zu verwenden. Beides ist weder einfach noch schnell. Nicht behebbare Schwachstellen werden deshalb oft als unvermeidbares Risiko behandelt.

Ein weiterer Faktor ist die Zeit – einer der am schwierigsten einzuschätzenden Faktoren. Bevor wir die Daten untersuchten, vermuteten wir, dass Schwachstellen kurz nach ihrer Veröffentlichung ein größeres Risiko darstellen könnten, aber im Laufe der Zeit möglicherweise auch an „Beliebtheit“ gewinnen. Wie sich herausstellte, wirkt sich Ersteres viel stärker auf das von einer Schwachstelle ausgehende Risiko aus und fließt daher ebenfalls in den Score ein.

Darüber hinaus arbeiten wir an weiteren Faktoren für den Algorithmus, beispielsweise an statischer Codeanalyse, um Schwachstellen in tatsächlich verwendeten Codepfaden zu identifizieren.

Erste Schritte

Der Priority Score von Snyk steht jetzt allen Snyk-Nutzern zur Verfügung. Sehen Sie sich zum Einstieg die Schwachstellen in einem Ihrer Projekte an oder öffnen Sie den Tab Probleme im Bereich Berichte, um herauszufinden, welche Probleme Sie zuerst angehen sollten.

Weitere Informationen finden Sie im Snyk Knowledge Center.