Web-Sicherheit

August 2, 2011

60 Schwachstellenscanner für Webanwendungen im Vergleich

Filed under: Allgemein — sebastiankuebeck @ 12:35
Tags: , , , , , , ,

Shay Chen hat 12 komerszielle und 48 freie Schwachstellenscanner für Webanwendungen (oder Web Application Security Scanner – das sind Werkzeuge mit denen man Webanwendungen automatisiert auf Sicherheitsprobleme überprüfen kann) verglichen und die Ergebnisse in einem Blogeintrag veröffentlicht. Alle Kandidaten wurden mit dem Werkzeug WAVSEP (version 1.0.3) getestet, einem freien Werkzeug zum Evaluieren von Schwachstellenscannern. Dieses Werkzeug ist nichts anderes als eine präparierte Webanwendung mit versteckten Schwachstellen. Folgende Schwachstellen mussten die Kandidaten erkennen:

  1. 66 Cross-Site-Scriping-Schwachstellen;
  2. 80 SQL-Injection-Schwachstellen, die sich anhand der Fehlermeldungen der Webapplikation zu erkennen geben – beispielsweise durch Ausgabe einer SQLException mit oder ohne Stack-Trace;
  3. 46 Blind-SQL-Injection-Schwachstellen;
  4. 10 Blind-SQL-Injection-Schwachstellen, die man nur mithilfe einer Timing-Attacke eindeutig identifizieren und ausnutzen kann;
  5. 7 Kategorien Falsch-Positive für Cross-Site-Scriping und 10 für SQL-Injection. Dabei verhält sich die Anwendung so, als wäre sie verwundbar, obwohl sie das in Wirklichkeit gar nicht ist.

Um ganz sicher zu gehen testete Shay Chen die Scanner noch gegen eine selbstentwickelte, verwundbare Webanwendung mit dem vorläufigen Namen „bullshit“.

Ergebnisse für die Erkennung von SQL-Injection-Schwachstellen

Die Ergebnisse für die Erkennung von SQL-Injection-Schwachstellen zeigen, dass die freien Werkzeuge Wapiti und arachni eine etwas bessere Erkennungsrate für diese Art Schwachstellen haben als der erste kommerzielle Verfolger Netsparker (das Ergebnis von arachni ist aber in Wirklichkeit besser als das von Wapiti, da arachni Falsch-Positive etwas besser erkennt):

Testergebnisse für die Erkennung von SQL-Injection-Schwachstellen. Blaue Balken zeigen gefundene Schwachstellen während der rote die Anzahl der Falsch-Positiv-Kategorien anzeigt, die vom jeweiligen Scanner erkannt wurden. Ein größerer Roter Balken ist also schlecht und daher stimmt die Reihenfolge auch nicht ganz.

Ergebnisse für die Erkennung von Cross-Site-Scripting-Schwachstellen

Bei der Erkennung von Croos-Site-Scripting-Schwachstellen hat hingegen IBM’s Rational AppScan knapp die Nase vor dem freien arachni da es Falsch-Positive deutlich besser erkennt, während wapiti mit knapp 17% erkannten Schwachstellen in dieser Disziplin weit zurückfällt.

Testergebnisse für die Erkennung von SQL-Injection-Schwachstellen.

Abschließende Bemerkungen

Wie bereits angedeutet gibt es Probleme mit der Gewichtung der Falsch-Positiven, weshalb das Ranking der Scanner mit etwas Vorsicht zu genießen ist – ein Werkzeug, dass in jedem Fall eine Schwachstelle meldet hat schließlich auch eine Erkennungsrate von 100%, also ist die Erkennung von Falsch-Positiven für die Qualität eines Scanners entscheidend.  So könnte man durchaus argumentieren, dass ParosPro und Netsparker Cross-Site-Scripting-Schwachstellen besser erkennen, da sie nicht auf Falsch-Positive hereinfallen.

Auch gibt es große Unterschiede zwischen den Produkten was die Ausstattung und die Bedienungsfreundlichkeit betrifft. So sind viele freie Werkzeuge oft nur für fortgeschrittene Tester zu bedienen währen die meisten kommerziellen auch von weniger erfahrenen Testern bedient werden können. All dass gilt es zu berücksichtigen, wenn man einen oder mehrere Schwachstellenscanner verwendet – egal ob frei oder kommerziell.

Die Werkzeuge Priamos und VulnerabilityScanner wurden übrigens nicht getestet, da es nach Shay Chen Anzeichen gibt, dass in die Webseiten, auf denen diese Werkzeuge angeboten werden, eingebrochen wurde, wodurch diese Werkzeuge möglicherweise mit Schadcode infiziert sein könnten.

Schreibe einen Kommentar »

Es gibt noch keine Kommentare.

RSS feed for comments on this post. TrackBack URI

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

Bloggen auf WordPress.com.

%d Bloggern gefällt das: