Was sind Schwachstellen-Scanner und wie funktionieren sie?
Schwachstellen-Scanner bilden die erste Verteidigungslinie im Schwachstellen-Management. Sie sind für die Erkennung von Schwachstellen unverzichtbar, die von Angreifern ausgenutzt werden könnten, um sich Zugriff auf Daten und Systeme zu verschaffen.
Als Anwendungen noch aus einem Guss waren und On-Prem die Regel, dienten Schwachstellen-Scanner vor allem zur Erkennung von Bedrohungen in der Laufzeitumgebung. Das änderte sich allerdings mit dem Aufkommen cloudnativer Anwendungen, die die Skalierbarkeit und Flexibilität moderner Cloud-Infrastrukturen ausnutzen.
Zeitraubende Tests sind in den hochautomatisierten CI/CD-Pipelines von heute undenkbar. Denn auch die Suche und Behebung von Sicherheitslücken muss mit dem rasanten Tempo Schritt halten können, das in DevOps mittlerweile üblich ist.
Eine weitere Herausforderung ergibt sich durch den dezentralen Aufbau cloudnativer Anwendungen, die auf dynamischen Komponenten wie Open-Source-Bibliotheken, serverlosen Funktionen, Infrastructure-as-Code (IaC) und Containern basieren. Kurzum: Cloudnative Anwendungen erfordern ein neuartiges Konzept der cloudnativen Anwendungssicherheit. Dabei muss sichergestellt werden, dass Schwachstellen in der laufenden Entwicklung auf ganzheitliche Weise erkannt und behoben werden. Deshalb sollte das Thema Sicherheit fest in den Prozess der Softwareentwicklung eingebunden werden.
In diesem Artikel werden verschiedene Typen von Schwachstellen-Scannern vorgestellt, mit denen Websites, Webanwendungen, Netzwerke, Open-Source-Code, WordPress-Inhalte und Container cloudnativ geschützt werden können (wie unser Docker-Scanner).
Beginnen Sie mit Capture the Flag
Lernen Sie, wie Sie Capture the Flag-Herausforderungen lösen, indem Sie sich unseren virtuellen 101-Workshop auf Abruf ansehen.
Was versteht man unter Schwachstellen?
Schwachstellen sind Programmier- und Konfigurationsfehler, mit denen sich Hacker unerlaubt Zugriff auf Systeme und Netzwerke verschaffen können. Das Risiko, das von ihnen ausgeht, kann unterschiedlich groß sein. Schwachstellen mit bekannten Exploits gelten dabei als besonders gefährlich und sollten daher priorisiert werden.
Schwachstellen-Scanner verständlich erklärt
Was sind Schwachstellen-Scanner?
Unter einem Schwachstellen-Scanner versteht man ein automatisches Prüfprogramm, das Fehlkonfigurationen und Programmierfehler erkennt, die Sicherheitsrisiken darstellen. Sie basieren entweder auf Datenbanken zu bekannten Sicherheitslücken oder suchen nach häufigen Fehlertypen, um unerkannte Gefahren zu identifizieren. Diese werden dann erfasst und manchmal auch einer Risikoeinstufung unterzogen.
Schwachstellen-Scanner lassen sich in verschiedene Kategorien einteilen:
Die drei häufigsten Typen von Schwachstellen-Scannern
Schwachstellen-Scanner für Netzwerke
Schwachstellen-Scanner für Webanwendungen
Schwachstellen-Scanner für Open Source
1. Schwachstellen-Scanner für Netzwerke
Schwachstellen-Scanner aus dieser Kategorie überwachen Webserver, deren Betriebssysteme und Daemons sowie andere Internetdienste wie etwa Datenbanken.
Sie basieren auf Datenbanken zu bekannten Sicherheitsrisiken. Diese wiederum beruhen oft auf dem kostenlosen CVE-Verzeichnis (Common Vulnerabilities and Exposures), in dem Software- und Firmware-Schwachstellen erfasst werden. Jeder Eintrag enthält dabei eine eindeutige CVE-Kennung, eine kurze Beschreibung und mindestens eine öffentlich zugängliche Referenz.
Das Common Vulnerability Scoring System (CVSS) geht noch einen Schritt weiter und ergänzt die CVE-Liste um einen numerischen Wert, der den Schweregrad der jeweiligen Schwachstelle angibt. Die besten Ergebnisse erzielt man allerdings mit proprietären Schwachstellen-Datenbanken, in denen laufend Daten aus unterschiedlichsten Quellen zusammengetragen werden. Ein gutes Beispiel dafür ist die Schwachstellen-Datenbank von Snyk, die eng mit Schwachstellen-Datenbanken, Bedrohungsinformationssystemen, öffentlichen Quellen und Wissenschaft verzahnt ist. Unter Leitung eines eigens aufgestellten Sicherheitsteams optimiert sie Schwachstellen-Scanner für Netzwerke, damit diese verlässliche und praxistaugliche Ergebnisse liefern.
Die Fähigkeit, möglichst umfassende Erkenntnisse zu Netzwerk-Schwachstellen abrufen zu können, ist auch in operativer Hinsicht relevant. Deshalb hilft das gemeinnützige Center for Internet Security (CIS) Unternehmen mit den CIS Controls bei der Umsetzung bewährter Verfahren der Cybersicherheit. Eine zentrale Maßgabe lautet dabei, dass das Schwachstellen-Management – und mit ihm die entsprechende Scans – kontinuierlich erfolgen sollte. Da Schwachstellen-Scans allerdings zu Kapazitätsengpässen führen können, werden sie meist nur einmal pro Woche durchgeführt. Deshalb ist es umso wichtiger, geeignete Datenbanken zu verwenden, die bekannte wie auch unbekannte Sicherheitsrisiken abdecken.
2. Schwachstellen-Scanner für Webanwendungen und Websites
Schwachstellen-Scanner für das Web scannen den Code von Anwendungen bzw. Websites auf Sicherheitslücken, die sowohl die Anwendung bzw. Website selbst also auch ihre Backend-Services betreffen. Damit sind sie ein wesentlicher Bestandteil von Tests der Anwendungssicherheit.
Sie arbeiten Listen mit bekannten Exploits von OWASP und anderen Anbietern ab. Diese Exploits nutzen diverse Injection- und Evasion-Verfahren, um Webanwendungen und Websites zu kapern und Daten abzugreifen, Benutzer oder Systeme zur Preisgabe vertraulicher Daten zu verleiten oder die Anwendungsleistung zu stören. Beispiele für relativ bekannte Exploits sind SQL-Injection, Cross-Site-Scripting (XSS), Man-in-the-Middle-Angriffe (MITM) und Schadcode.
Mit Blick auf Webanwendungen lautet die einzige verlässliche Strategie im Schwachstellen-Management: ein DevSecOps-Konzept, das das Thema Sicherheit vorverlagert und Scanner als Teil der sicheren Softwareentwicklung betrachtet. Beispiele für solche Scanner sind statische Anwendungssicherheitstools (SAST), bei denen unkompilierter Code automatisch auf Schwachstellen geprüft wird, sowie dynamische Anwendungssicherheitstools (DAST). Letztere scannen den unkompilierten Code von der Erprobung bis in die Produktion in sämtlichen Umgebungen automatisch auf Schwachstellen.
Ein weiteres wichtiges Mittel sind Penetrationstests. Dabei wird so getan, als versuche sich ein Hacker Zugang zu verschaffen, um auf diese Weise Schwachstellen in Webanwendungen und Websites zu finden. Und es gibt sogar Onlinedienste, die Penetrationstests auf Wunsch durchführen.
Snyk SAST wurde speziell entwickelt, um häufige Probleme in der Entwicklung zu lösen, wie sie ethische Hacker bei älteren SAST-Tools oft feststellen. Dazu zählen unter anderem der große Zeitaufwand für Scans, die vielen falschen Treffer und der hohe Kompetenzbedarf. Mit Snyk Code lässt sich SAST nahtlos in Entwicklungsprozesse einbinden. Entwicklungs- und Security-Teams werden so Schwachstellen im Code treffsicher in Echtzeit aufgezeigt, damit sie beheben können.
3. Schwachstellen-Scanner für Open Source
Bei Schwachstellen-Scannern für Open Source handelt es sich um SCA-Tools, die Anwendungen nach Open-Source-Frameworks und -Bibliotheken durchsuchen. Dabei nehmen sie auch alle direkten und indirekten Abhängigkeiten in den Blick und erkennen entsprechende Schwachstellen. Manche dieser Scanner übernehmen auch die gar nicht so triviale Aufgabe, den anfälligen Code innerhalb der Codebasis zu finden.
Da Komponenten mit bekannten Schwachstellen laut OWASP zu den zehn häufigsten Sicherheitsrisiken zählen, sollten Unternehmen genau darauf achten, dass sie einen aktuellen Schwachstellen-Scanner für Open Source verwenden. Der Schwachstellen-Scanner für Open Source von Snyk bietet dabei die folgenden Vorteile:
frühzeitige Erkennung von Open-Source-Schwachstellen, bevor diese in Webanwendungen und Websites gelangen können
schnelle Erkennung sämtlicher von Open-Source-Schwachstellen betroffener Instanzen, um Hackern den Zugang zu versperren und Sicherheitsmängel schneller beheben zu können
verständliche Dokumentation zu allen in der jeweiligen Anwendung verwendeten Open-Source-Frameworks und -Bibliotheken
Einhaltung aller betroffenen Open-Source-Lizenzen
So finden Sie den richtigen Schwachstellen-Scanner
Die gute Nachricht ist, dass es zahlreiche kostenpflichtige und auch kostenlose Schwachstellen-Scanner gibt. Das bedeutet allerdings auch, dass es gar nicht so einfach ist, den richtigen zu finden.
Zunächst sollten Sie sich deshalb mit den verfügbaren Schwachstellen-Scannern vertraut machen. Bei OWASP gibt es ein umfassendes Verzeichnis mit kostenpflichtigen und kostenlosen Schwachstellen-Scannern, allerdings ohne abschließende Rangfolge. Und auch einige vertrauenswürdige Influencer haben Ranglisten mit empfehlenswerten Scannern zusammengestellt.
Wenn Sie die Auswahl etwas eingegrenzt haben, sollten Sie die Scanner ausprobieren. Auch bei gewerblichen Schwachstellen-Scannern werden kostenlose Probezeiträume angeboten. So kann man sich bereits ein genaues Bild machen, bevor man viel Geld investiert. Da es allerdings eine ganze Reihe von Schwachstellen-Scannern braucht, um sämtliche Umgebungen lückenlos abzudecken, sollten Sie auch eine komplette Plattform für das Schwachstellen-Management in Betracht ziehen. Diese vereinfacht die Einbindung der verwendeten Scanner und bündelt deren Befunde in einem zuverlässigen Format.
Auto-Erkennung und -Fixing von Schwachstellen
Snyk bietet Security-Fixes als Pull-Request mit einem Klick und Korrekturempfehlungen für Ihren Code, Abhängigkeiten, Container und Cloud-Infrastrukturen.
Antworten auf häufige Fragen zu Schwachstellen-Scannern
Warum sind Schwachstellen-Scans so wichtig?
Schwachstellen-Scans bilden die Speerspitze des Schwachstellen-Managements. Das Schwachstellen-Management ist heutzutage kein nettes Beiwerk mehr, sondern vielmehr ein entscheidender Erfolgsfaktor für Unternehmen, die Webanwendungen oder interaktive Websites betreiben. Denn diese sind ein beliebtes Ziel für Hacker und andere Angreifer, die sich illegalen Zugang zu Systemen und Daten verschaffen wollen.
Welche Arten von Schwachstellen-Scans gibt es?
Schwachstellen-Scans lassen sich anhand ihrer Einsatzweise und ihrer Suchkriterien unterscheiden. So gibt es interne und externe Scans mit oder ohne Authentifizierung, die alle oder nur einzelne Geräte überprüfen. Welche Variante die richtige ist, hängt davon ab, was überprüft werden soll: Geht es um Netzwerke, Webanwendungen im gesamten Entwicklungsprozess oder um Open-Source-Codes und Bibliotheken?
Gibt es auch kostenlose Schwachstellen-Scanner?
Es gibt lizenzfreie Schwachstellen-Scanner, für die keine Gebühr gezahlt werden muss. Von den meisten gängigen Schwachstellen-Scannern werden auch kostenlose Pakete angeboten, in denen die wichtigsten Funktionen enthalten sind. Hier finden Sie weitere Informationen über das entwicklerfreundliche Snyk-Angebot Cloud Native Application Security.