Network Computing

Test: Sicherheits-Scanner für Web-Anwendungen

Ajax auf den Grund gehen  

Von: Michael Piontek

Web-Applikationen – Web 2.0 sei Dank, die Menge von Tools auf Basis von Ajax wächst rasant. Wie jede Anwendung, so leiden auch diese unter Vulnerabilities. Web-Application-Scanner haben sich auf die Fahne geschrieben, diese Fehler zu finden.

Bei der Anwendungssicherheit kann nichts eine mehrstufige Abwehrstruktur und -strategie gleichwertig ersetzen. Web-Application-Scanner sind nur ein Element in einem ausgewogenen Konzept, in dem Anwender und Entwickler geschult und Tests sowie Audits durchgeführt werden. Programme auf Basis von Ajax setzen aber jede Strategie, mag sie auch noch so durchdacht sein, unter Druck.

Denn sie teilen die Intelligenz auf den Server und den Client auf und geben dem per se unsicheren Browser zu viel Verantwortung.

Daher sollte ein Unternehmen, wenn es Application-Scanner kaufen möchte, auf jeden Fall von Lösungen Abstand nehmen, die die Sprachen und Modelle aus der Web 2.0 eben noch nicht beherrschen. Denn dank der Popularität wird der Anteil dieser Sprachen explosionsartig anwachsen.

Die Real-Word Labs haben daher in ihrem Test zwei Web-Application-Scanner untersucht. Beide behaupten von sich, Ajax in den Griff zu bekommen. Der »WebInspect« von SPI Dynamics sowie der »Hailstorm« von Cenzic mussten beweisen, wie gut sie darin sind, Tools auf Basis der Web-2.0-Sprachen zu verstehen und darin bekannte Vulnerabilities aufzuspüren.

Rich-Internet-Anwendungen (RIAs) auf Basis von Ajax sind in der Regel in zwei Sprachen programmiert. Doppelte Komplexität bedeutet doppelte Gefahr. In einer Webumfrage unter 5000 Entwicklern Ende 2006 gaben immerhin 46 Prozent an, sie werden Ajax in ihren Projekten innerhalb der kommenden 12 Monate einsetzen. Nur magere 27 Prozent wollten auf Flash setzen. Wer im Unternehmen für IT-Sicherheit Verantwortung trägt, sollte daher einen Plan entwickeln, diese Anwendungswelt in den Griff zu bekommen.

Webinspect von SPI Dymanics

Der Scanner »WebInspect 7.0« von SPI Dynamics musste beweisen, wie gut er darin ist, die Fehler in den drei für diesen Test aufgesetzten Webanwendungen zu finden. Leider hat er bei der Analyse der darin eingebetteten Javaskripts nicht gut abgeschnitten. Die automatisch ablaufende Analyseroutine des Scanners hatte Schwierigkeiten, alle Funktionen der Anwendungen zu identifizieren. Aber auch, als die Tester das Werkzeug per Hand durch alle Menüpunkte und Künste dirigierten, hatte es Schwierigkeiten, die Javaskript-Links richtig zu handhaben. Dies ist kaum zu tolerieren. Denn wie soll ein Werkzeug alle Vulnerabilities finden, wenn es nicht einmal alle Funktionen erkennt, die ein Programm beherrscht?

Das Produkt hat durchaus auch Stärken, aber seine Schwächen wiegen schwer. Für den Test ist ein wichtiges Kriterium, wie viele False-Positives und -Negatives es erzeugt. Also, wie oft meldet der Scanner Vulnerabilities, die keine sind, und wie oft sieht es alles rosig, obwohl sich im Code gefährliche Fehler verstecken? Hier harte Kriterien einzuführen ist beim jetzigen Stand der Produktreife verfrüht. Außerdem existieren unzählige Methoden, Fehlerraten zu zählen.

Hier einige Beispiele: Gilt jeder einzelne falsche Eintrag im Scan-Ergebnis als Fehler, oder werden die vom dem gleichen Code ausgelösten False-Positives in einer Klasse zusammengefasst und als ein Eintrag gewertet? Außerdem könnte ein Produkt mehr Fehler erkennen als der Vorgänger, weil die Vulnerabilities erst im Lauf des Tests öffentlich bekannt wurden. Außerdem sagen Zahlen an sich wenig über die Qualität des Produkts aus. Sie legen nicht offen, wie sich der Scanner tunen lässt, damit er den Fehler beim nächsten Mal nicht wiederholt. Zahlen sagen auch nichts darüber aus, wie gut sich die Berichte des Scanners anpassen lassen oder wie schnell der Hersteller sein Produkt überarbeitete.

Nichtsdestotrotz hat Webinspect unter False-Positives gelitten. Schlimmer noch, das Tool hat signifikante False-Negatives generiert und eine XSS-Schwäche (Cross-site Scripting) in einer der Anwendungen übersehen. Die Ursache für Letzteres war ein Fehler im Programm, den der Hersteller in der jüngsten Version bereits beseitigt hat. Leider ließ sich dieser Bug nicht durch ein kleines Update reparieren.

Der Scanner hat SQL-Injections erkannt, wo keine waren. Außerdem hat er den Apache-Server auf der Linux-Maschine als einen Apache auf Windows-ME verkannt. Ironischerweise zeigten die False-Positives bei Windows-ME einige Stärken des Produkts: Es war recht leicht, die Ursache für die Warnmeldung zu finden. Der Alert hat relevanten HTML-Code, der den Alarm auslöste, hervorgehoben. Die Anwendung hat ihren Inhalt mit einem »XML <?«-Tag indiziert, der PHP-Code auf Serverseite ähnlich sieht. Der Vulnerability-Check seinerseits hat generell nach Code gesucht, der Source-Code-Elemente offenzulegen scheint.

Nun die guten Seiten des Tools: Die False-Positives als solche zu entlarven war mit einem Rechtsklick auf das Menü-Item und die Option »direkt an Support schicken« getan. Permanente Fixes für einige der Fehlmeldungen wurden innerhalb eines Tages zugeschickt. Der integrierte »SmartUpdate«-Mechanismus hat bei jedem Start des Tools außerdem neue Module heruntergeladen.

Die Version 7.0 ist eine völlig umgeschriebene Neuauflage der Vorhängerversionen, bei der offensichtlich vor allem die Benutzungsoberfläche überarbeitet wurde. Das Ergebnis ist durchaus beeindruckend. Der Hersteller hat eine Menge von Daten in das Interface gepackt, ohne dass es überladen wirkt. Zugleich ist jede Information höchstens zwei Mausklicks von dem Ausgangspunkt entfernt. Außerdem waren die Help-Dateien tatsächlich hilfreich.

Etwas für jeden

Web-Application-Scanner sind für zwei Arten von Usern gedacht: Security-Experten oder Software-Entwickler. Webinspect liefert viele Funktionen, die das Leben auch der letzteren Gruppe erleichtert. Obwohl sie sich nicht direkt auf das Sicherheitsniveau auswirken, leisten diese Funktionen wertvolle Hilfe bei der Suche nach Broken-Links. Die Features können alle gescannten Pages auch intelligent durchsuchen, und sie greifen auf bequeme Art und Weise auf HTML-Comments zu. Die Version im Test enthielt noch einen Scan-Wizard, der einen unerfahrenen User noch mit zu vielen Schritten quälte. In der jüngsten Version wurde auch dieser Wizard überarbeitet und abgespeckt.

Seinen wahren Wert zeigt das Tool aber in den Händen eines Security-Spezialisten. Die guten eingebauten Module beispielsweise konzentrierten sich auf einen Aspekt von Penetrationstests. So war es mit dem Modul SQL-Injector möglich, in einer verwundbaren URL Informationen aus dem Backend-System zu extrahieren. Diese Daten sind Gold wert, um einen Entwickler von der Kraft dieser Angriffe zu überzeugen. Zu den weiteren Modulen gehören unter anderem der Policy- und Complaince-Manager, Regex-, Soap-, HTTP- und Web-Form-Editors. Auch ein SPI-Proxy, -Fuzzer und ein Cookie-Cruncher sind bereits verfügbar.

Die relativ hohe Fehlerrate und Probleme mit den Ajax-Anwendungen haben das Ergebnis von Webinspect geschwächt. Die ausgezeichnete Benutzungsoberfläche und die machtvollen Module lassen das Potenzial dieses Tools durchaus aufblitzen. Wenn der Hersteller SPI Dynamics die Trefferquote verbessert und Web 2.0 in den Griff bekommt, hat seine Lösung durchaus gute Chancen.

 

Hailstorm von Cenzic

Der »Hailstorm Enterprise Application Risk Controller« von Cenzic ist nicht gerade eine Augenweide. Zum Glück bewerten die Real-World Labs Funktion, und nicht Schönheit.

Wie auf dem Markt für IDS/IPS tobt auch bei Web-Application-Scannern ein Streit, ob die Hersteller ihre Signaturen publizieren oder als Firmengeheimnis interpretieren sollten. Löst eine Signatur ein False-Positive aus, ist es bei öffentlich zugänglichen Varianten viel leichter, den Grund für den Fehlalarm zu beseitigen. Einen Parameter ändern, ein Attribut löschen, und schon bleibt der Log leer. Außerdem wäre ein Administrator in der Lage, eigene Signaturen zu schreiben und einzupflegen.

Welcher Ansatz besser ist, hängst stark vom Netzwerk und dem Unternehmen ab. Wer ein mehr oder weniger schlüsselfertiges Produkt sucht, ist mit geschlossenen Produkten durchaus auf der richtigen Seite. Wer aber individuelle Ansprüche stellt und Zeit und Lust hat, Energie ins Tuning zu investieren, ist mit der offenen, Open-Source-orientierten Variante besser bedient.

Cenzic folgt letzterem Prinzip und öffnet alle ihre in Javaskript verfassten Signaturen für Dritte. Diese Sprache sollten übrigens alle Verantwortlichen, die sich im Webbereich bewegen, auch verstehen. Hailstorm besitzt keine Erweiterungen wie der Webinspect. Auch das Interface ist weniger eingängig und schwerer zu bedienen. Das Tool hat dafür viel genauere Ergebnisse geliefert. Es hat weniger False-Positives und keine -Negatives erzeugt.

Auch Hailstorm war wie Webinspect nicht in der Lage, die Ajax-Anwendungen automatisch zu verstehen. Dagegen hat der Scanner die Struktur aber verstanden, als er manuell durch die Anwendung geführt wurde. Auch hieran ist Webinspect gescheitert. Leider hat Hailstorm beim ersten Scan keine Vulnerabilities gefunden. Tests weiterer Produkte, die im Lauf des Jahres folgen, werden offenlegen, ob der Scanner Fehler übersehen hat.

Überfüllung droht

Die Schönheitsfehler des Produkts werden in der Scan-Anwendung, weniger im Arc-Web-Interface offensichtlich. Bis der Scanner endlich eine Aktion ausführt, sind einfach zu viele Klicks nötig. Wer beispielsweise einen neuen Scan-Vorgang aufsetzen möchte, muss einen Job, dann einen Traversal erschaffen, Letzteren in den Job ziehen und dann die intelligenten Attacken in den Job einfügen. Erst dann ist der Scan startbereit. Obwohl das Interface und ein Job-Wizard diesen Prozess wunderbar begleiten, sind die nötigen Schritte für einen individuellen Scan schlicht zu viele und alles andere als intuitiv nachvollziehbar.

Das Dashboard im Arc-Web-Interface versucht, den Status aller überwachten Anwendungen auf einen Blick anzuzeigen. Das Produkt versucht also, Applikationen konstant zu scannen und deren Gefährdung so zu protokollieren. Dieser Vulnerability-Management-Ansatz für Web-Programme ist in allen Installationen wichtig, in denen die Anwendungen sich innerhalb kurzer Zeit drastisch verändern. Sei es durch Patches oder andere Fixes.

Leider zeigt das Dashboard seine Ergebnisse in einer willkürlich wirkenden »Harm«-Auswertung an. Diese Metrik wird dadurch berechnet, dass jeder Anwendung ein Risikoparameter zugewiesen wird. Dieser Wert wird mit einem definierten (aber modifizierbaren) Rating für jede Version einer Vulnerability verknüpft. Das Problem an Harm ist seine Einfachheit. Verursacht eine Anwendung mit einem Harm-Score von 10 000 mehr Risiken als eine mit 3 000? Vielleicht, vielleicht auch nicht. Eine der Testanwendungen beispielsweise erzeugte wegen eines Vulnerability-Typs einen recht hohen Harm-Wert. Aber weil eine ganze Reihe unterschiedlicher Vulnerabilities in der gleichen Sektion eingeordnet sind, sagt die Harm-Bewertung unter dem Strich wenig über die Gefahr aus.

Die Bewertung gehört in den Verantwortungsbereich des Administrators. Cenzic hatte durchaus das richtige Gespür, das Dashboard umzusetzen und dort den Status in schnell zu fassender Art und Weise zu präsentieren. Leider wird die Harm-Wertung IT-Personal mehr verwirren als leiten. Denn es ist alles andere als ideal, komplexe Zusammenhänge in einfachen Zahlen wiederzugeben, ohne andere Optionen zu öffnen.

 


Fazit

Der Markt der Web-Application-Scanner für Web 2.0 und seine Sprachen sind noch recht jung. Sicher scheint, dass Anwendungen auf Basis dieser Entwicklungsinstrumente immer mehr an Bedeutung erlangen werden. Damit gewinnen Werkzeuge, die diese Tools auf Schwächen und Fehler hin untersuchen, ebenfalls an Gewicht.

Die Real-World Labs testeten mit »WebInspect 7.0« von SPI Dynamics und »Hailstorm Enterprise Application Risk Controller« zwei Vertreter dieser jungen Produktkategorie. Die Ergebnisse sind bisher eher ernüchternd. Zu viele False-Positives und -Negatives lassen Webinspect schlecht aussehen. Hailstorm dagegen leidet daran, Inhalte zu unübersichtlich anzuzeigen und bei der Bedienung zu umständlich zu sein. Dies sind typische Symptome von Produkten, die eine gewisse Praxisreife noch vermissen lassen.

Die Real-World Labs werden im Lauf des Jahres weitere Tools aus dieser Kategorie untersuchen und so die Entwicklung auf dem Gebiet genau verfolgen. Denn eins ist sicher: Auf mittlere Sicht wird ein für Sicherheit verantwortlicher Administrator Ajax und Web 2.0 im Auge behalten müssen.

Testberichte

Software Guide

Egal welche Art von Software Sie suchen:
Im SoftwareGuide der Network Computing finden Sie detaillierte Informationen und direkte Downloadmöglichkeiten zu mehr als 7500 Softwarelösungen von über 5200 Herstellern.

Klicken Sie hier »

NETEVENTS

NWC UNIVERSITY

Logo Partner

Telonic
Unsere Partner: