Vulnerability Scan - Qualität und Evaluation Marc Ruef | 07.10.2013 Die scip AG bietet verschiedene Dienstleistungen an. Ein zentraler Bereich besteht im Auditing (http://www.scip.ch/?dienstleistungen.auditing), bei dem (technische) Sicherheitsüberprüfungen aller Art durchgeführt werden. Eines der beliebtesten Module seit jeher sind Security Scans, bei denen die Sicherheit eines Netzwerksystems über das Netzwerk/Internet identifiziert wird. Eine Sicherheitsanalyse auf dieser Ebene wird als klassisch verstanden, da sie mit Produkten wie SATAN, Nessus und Qualys schon in einer sehr frühen Phase der angewandten Computersicherheit industrialisiert wurde. Weltweit werden tagtäglich eine Vielzahl solcher Überprüfungen durchgeführt. Dennoch ist es für viele Kunden noch immer schwierig zu verstehen, was einen guten Vulnerability Scan ausmacht. Für uns sind die folgenden Eigenschaften einer solchen Arbeit von Wichtigkeit: * Professionelle Zusammenarbeit: Ein Projekt muss zu jedem Zeitpunkt professionell umgesetzt werden. Dies beginnt bei einer klaren Zieldefinition innerhalb der Offerte, die auf der Basis der Erfahrungen des Auditors zusammen mit dem Kunden erarbeitet werden soll. Darauf folgen eine umfassende Kickoff-Besprechung, in der klare Abmachungen (z.B. Testzeiten, Ansprechpartner, Eskalationsprozesse) definiert werden. Durch eine An-/Abmeldung bei Zugriffen wird stetige Transparenz geschaffen. Und mit einer Einigung auf die Ausrichtung und Struktur des Reportdokuments können die jeweiligen Bedürfnisse berücksichtigt werden. Eine Sicherheitsüberprüfung ist stets eine Zusammenarbeit aller Beteiligten und nur als solche erfolgreich durchzuführen. * Schnelle Durchführung: Eine Sicherheitsüberprüfung sollte stets schnell durchgeführt werden und dementsprechend wenig kosten. Eine Optimierung dieser Art bedingt, dass einerseits die richtigen Software-Tools eingesetzt werden und dass andererseits die Auditoren ein umfassend abgestütztes Fachwissen mitbringen. Geschwindigkeit geht irgendwann zwangsweise auf Kosten von Genauigkeit und Zuverlässigkeit. Ein wirtschaftlich und wissenschaftlich vertretbares Mittelmass, das zu jedem Zeitpunkt nachvollzogen werden kann, sollte angestrebt werden. * Akkurate Resultate: Eine Sicherheitsüberprüfung sollte möglichst exakte Resultate liefern können. Durch das Optimieren der Tests sollten sich nach Möglichkeiten False-Positives und False-Negatives verhindern lassen. Ohne eine solche Genauigkeit wird in einem späteren Schritt nur unnötiger Aufwand generiert, der den wirklich wichtigen Aspekten Ressourcen stiehlt (querprüfen statt lösen). Das Erhöhen der Genauigkeit ist in manchen Fällen oder ab einem gewissen Zeitpunkt jedoch nur noch auf Kosten der Geschwindigkeit möglich. * Aktuelle Schwachstellen berücksichtigen: Eine Sicherheitsüberprüfung sollte stets aktuelle und damit sehr junge Schwachstellen mitberücksichtigen. Dadurch kann das Zeitfenster für eine Verwundbarkeit innerhalb des Sicherheitsprozess minimiert werden. Oftmals fehlen technische Details zu neuen Advisories (Non-Disclosure) und so liegt es in der Kompetenz der Auditoren, im Rahmen eigener Forschungsarbeiten selber die technischen Hintergründe einzugrenzen oder gar eigene 0-Day Exploits zu finden. Ältere Schwachstellen dürfen jedoch nicht zu deren Gunsten vernachlässigt oder gar übergangen werden. * Modulare Überprüfungen: Eine Sicherheitsüberprüfung sollte in modulare Unterschritte, die sich möglichst autonom und unabhängig voneinander angehen lassen, aufgeteilt werden können. Dadurch werden Parallelisierungen (erhöht die Ausführungsgeschwindigkeit) und direkte Tests ohne lange Vorlaufzeiten (erhöht die projekttechnische Flexibilität) möglich. * Standardisiertes Vorgehen: Eine Sicherheitsüberprüfung, die mit den gleichen Parametern durchgeführt wird, sollte stets die gleichen Resultate zu liefern in der Lage sein. Und dies unabhängig vom Auditor, der die Analyse durchführt. Eine klare Vorgehensweise, die durch eine Checkliste und Prozessabläufe gestützt werden können, muss vorgängig definiert sein. Ein standardisiertes Vorgehen sollte jedoch nie auf Kosten von möglicher Flexibilität (z.B. bei 0-Day Exploits) durchgesetzt werden. * Vergleichbare Daten: Eine Sicherheitsüberprüfung sollte Resultate erlangen lassen, die sich mit Resultaten anderer Prüfungen (Zeitpunkt, Projekt, Umgebung, Kunde, etc.) vergleichen lassen. Dadurch wird ein Benchmarking sowie Trendanalysen, dies interessiert längerfristig sowohl Technik als auch Management, ermöglicht. * Umfassende Dokumentation: Eine Sicherheitsüberprüfung sollte mit allen Details sämtliche Voraussetzungen, Ausführungen und Resultate dokumentieren. Dadurch wird es möglich, dass zu jedem Zeitpunkt – auch in undefinierter Zukunft – der bestehende Sachverhalt klar erfasst und nachvollzogen werden kann. Missverständnissen und fehlenden Einsichten können mit dieser Transparenz entgegengetreten werden. * Statistische Auswertungen: Eine Sicherheitsüberprüfung sollte Resultate bereitstellen können, die sich einer statistischen Auswertung unterziehen lassen. Dadurch können besonders exponierte, kritische oder verwundbare Bereiche identifiziert und mit entsprechender Priorität angegangen werden. Das Weiterführen des Sicherheitsprozesses wird damit optimiert und beschleunigt. * Wiederverwendbarkeit von Daten: Eine Sicherheitsüberprüfung sollte Resultate bereitstellen können, die sich im Rahmen weiterer Untersuchungen oder einer erneuten Prüfung wiederverwenden lassen können. Dadurch werden Delta- und Trendanalysen möglich. Auch dies sind Informationen, die langfristig sowohl Technik als auch Management interessieren. Es gibt keine Werkzeuge und Tools auf dem Markt, die sämtliche Anforderungen erfüllen können. Dies erschwert selbst das Zusammenstellen eines eigenen Framesets auf dieser Ebene. Die Qualität einer Prüfung lässt sich also aus Sicht der Auditoren nicht nur mit technischen Hilfsmitteln anstreben. Hier müssen ebenfalls organisatorische und konzeptionelle Definitionen eingebracht und langfristig erarbeitet werden. Auch in diesem Fall gilt also das klassische Zitat von Bruce Schneier (http://www.schneier.com/crypto-gram-0005.html) (leicht abgeändert): "Sicherheitsüberprüfungen sind ein Prozess, kein Produkt." Aus Kundensicht ist damit die Evaluation des richtigen Partners für einen Vulnerability Scan ein zentraler Bestandteil, um die gewünschte Qualität der Prüfungen gewährleisten zu können. Es gibt verschiedene Eigenschaften, die eine solche Prüfung mit sich bringt kann. Jenachdem sind für gewisse Unternehmen und Projekte unterschiedliche Eigenschaften von höherer Wichtigkeit (z.B. Geld spielt keine Rolle!). Die Definition eines klaren Anforderungskatalogs kann auch hier dabei helfen, eine solide Auswahl durchzusetzen und damit die Zusammenarbeit mit einem möglichst wertvollen Partner anzugehen. Wir empfehlen in jedem Fall, dass man mit dem gewünschten Partner über die jeweiligen Ansichten und Strategien diskutiert. In manchem Fällen gibt es ein allgemeines Richtig oder Falsch (z.B. Transparenz ist immer richtig). In anderen Fällen gibt es hingegen kein solches Schwarz-/Weiss-Denken (z.B. Was bringt mehr Sicherheit: Löschen oder Verändern von Applikationsbannern). Unterschiedliche Situationen erfordern sodann oftmals unterschiedliche Herangehensweisen, wobei gerne auch verschiedene Wege zum Ziel führen. iDieser Beitrag ist ursprünglich in den scip Labs (http://www.scip.ch/?labs) erschienen./i