Skip to main content

Schwachstellen in Kubernetes-Deployments priorisieren

Artikel von

6. August 2020

0 Min. Lesezeit

Snyk hat vor Kurzem einen Priority Score eingeführt, mit dem wir erkannte Schwachstellen priorisieren. So können Sie die wichtigsten Probleme identifizieren, um die Sie sich kümmern müssen.

Priorisierung und Snyk Container

Der neue Priority Score wird vollständig von Snyk Container unterstützt. Alle Ihre Container-Images erhalten eine Bewertung, die auf dem Schweregrad der Schwachstelle, den verfügbaren Informationen zu Exploits und dem Vorhandensein bekannter Fixes basiert. Mit dieser neuen Funktion können Sie die wichtigsten Probleme in Ihren Teams noch einfacher beheben.

Snyk Container-Schwachstellenübersicht mit einem Validierungsfehler bei Eingaben mittlerer Schwere und einem Prioritätswert von 639
Prioritätsbewertung von Container-Images im Snyk-Container

Zusätzliche Informationen aus Kubernetes

Bei Kubernetes stehen uns noch weitere Informationen zur Verfügung, mit denen wir Schwachstellen priorisieren können. Wenn Sie als Snyk-Kunde unsere Kubernetes-Integration schon länger nutzen, kennen Sie wahrscheinlich die Informationen, die wir dazu bereitstellen, wie gut Kubernetes-Workloads (Deployments, Cronjobs, ReplicationControllers usw.) konfiguriert sind.

Kubernetes-Sicherheitskonfiguration-Checkliste mit „Bestanden“ für privilegierte Ausführung und schreibgeschütztes Root-Dateisystem sowie „Nicht bestanden“ für CPU, Arbeitsspeicher, Nicht-Root-Ausführung und Berechtigungen
Snyk Container identifiziert Ihre Kubernetes-Schwachstellen

Die Konfiguration von Kubernetes ist komplex, und eine Reihe von Optionen kann zu potenziellen Sicherheitsproblemen führen.

Außerdem verfügen wir über zahlreiche Daten zu den Schwachstellen selbst. Das CVSS-System umfasst einen Vektor (wie AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L), der viele Informationen über die Schwachstelle und die Voraussetzungen für einen Exploit enthält. Und CWE listet Schwachstellentypen strukturiert auf.

Kontext ändern, Priorität ändern

Bei der Kubernetes-Integration von Snyk Container berücksichtigen wir diese Konfigurationsinformationen und detaillierte Schwachstellendaten bei der Berechnung des Priority Score. Eine Schwachstelle in einem schlecht konfigurierten Workload erhält eine höhere Bewertung als eine in einem gut konfigurierten Workload. Eine Schwachstelle, die erhöhte Berechtigungen voraussetzt, erhält eine niedrigere Bewertung als in einem gut konfigurierten Workload, der Funktionen einschränkt und keine Ausführung als Root zulässt. Die Änderungen können geringfügig sein. Berücksichtigt man sie jedoch über alle Workloads hinweg, lässt sich anhand einer einfachen Risikoberechnung leichter entscheiden, was zuerst zu tun ist.

Eine Schwachstelle in einem schlecht konfigurierten Workload erhält eine höhere Bewertung als eine in einem gut konfigurierten Workload.

Der obige Score (639) bezieht sich auf eine Schwachstelle in einem schlecht konfigurierten Kubernetes-Deployment. Die betreffende Schwachstelle kann in diesem Fall zu einem Denial-of-Service-Angriff führen. CPU- und Arbeitsspeicherlimits schützen zwar möglicherweise nicht den einzelnen Container, können aber das Risiko für den Knoten und andere zugehörige Dienste mindern. Verbessern wir die Konfiguration unseres Deployments:

spec:
  containers:
    - name: snykit
      image: garethr/snykit
      imagePullPolicy: IfNotPresent
      resources:
        limits:
          memory: 512Mi
          cpu: "1"

Nachdem wir unseren Kubernetes-Workload aktualisiert haben, erkennt Snyk die geänderte Konfiguration automatisch. Hier sehen wir, dass jetzt sowohl CPU- als auch Arbeitsspeicherlimits festgelegt sind.

Kubernetes-Sicherheitskonfiguration-Checkliste mit Bestanden- und Nicht bestanden-Status für Berechtigungen, Ressourcenlimits, Ausführung ohne Root-Rechte und Capabilities
Snyk Container identifiziert Kubernetes-Sicherheitslücken

Da dadurch das mit dieser Schwachstelle verbundene Risiko geringfügig sinkt, reduzieren wir den Priority Score.

Snyk Container-Sicherheitsübersicht mit einer Schwachstelle mittlerer Schwere durch unsachgemäße Eingabevalidierung und einem Prioritätswert von 617.
Dynamischer Prioritätswert für Container-Images in Snyk Container

Dynamischer Priority Score für Container-Images in Snyk Container

Die Vorteile der kontextbezogenen Priorisierung

In Snyk ist die Priorität relativ. Es geht weniger um einen absoluten Wert, der für eine einzelne Schwachstelle aussagekräftig ist, sondern vielmehr darum, Ihnen zu helfen, bei all Ihren Schwachstellen den nächsten Schritt zu bestimmen. CVSS ist dagegen ein absolutes Maß, das sich nicht an Ihren spezifischen Kontext anpasst. Beide Ansätze sind für unterschiedliche Zwecke nützlich. Wenn Sie mit zahlreichen Schwachstellen konfrontiert sind und viele Informationen darüber haben, wo diese in Ihren Systemen auftreten, können Sie mithilfe des Snyk Priority Score ermitteln, welche Probleme Sie zuerst beheben sollten.

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.