Konkrete Kritik an CVSS4
Marc Ruef
Mittels Fingerprinting wird sich bei einer Sicherheitsüberprüfung darum bemüht, das eingesetzte Produkt zu erkennen. Klassischerweise wird zum Beispiel mit dem OS-Fingerprinting das genutzte Betriebssystem identifiziert. Im Rahmen von Application Fingerprinting geht es darum zu erkennen, welche Netzwerkanwendungen eingesetzt werden. Unsere Entwicklung namens httprecon hilft beispielsweise dabei, den dargebotenen Webserver zu ermitteln.
Einen Schritt weiter geht webapprecon. Die auf dem Core von httprecon basierende Lösung ist darum bemüht, die auf einem Webserver eingesetzte webapplikation zu erkennen. Hierbei kommen unterschiedliche Mechanismen zum Einsatz. Hauptsächlich wird mittels Pattern Matching die Datenstruktur der HTML-Ausgaben untersucht, um typische Elemente zu finden:
Eigenschaft | Quelle | Beispiel |
---|---|---|
Statische Strings | HTML, CSS, Javascript | Copyright-Hinweise, Link-Namen, … |
Tags/Attribute | HTML | a , img , src , title , name , … |
Klassennamen | HTML, CSS | class , name , id |
Funktionsnamen | Javascript | ejs_preload(); |
Verschachtelung von Tags | HTML, CSS | /descendant-or-self::Foo/child::* |
Referenzierte Dateien | HTML, CSS, Javascript | link rel="stylesheet" href="wordpress.css" |
Pfad-/Dateinamen | HTML, CSS, Javascript | ./wp-admin/images/menu.png |
Obschon es schon längere Zeit eine funktionierende Implementierung von webapprecon gibt (seit Anfang 2008), wurde bisher auf eine Veröffentlichung verzichtet. Die Schwierigkeit des Projekts besteht darin, umfangreiche Fingerprints der jeweiligen Webapplikationen anzustellen. Bisher konnte noch kein Algorithmus entwickelt werden, der in semi-automatisierter Weise die charakteristischen Eigenschaften erkennt und abspeichern kann. Das Zusammentragen der Fingerabdrücke findet bisher weitestgehend in manueller Weise statt und ist deshalb mit überdurchschnittlich hohem Aufwand verbunden.
Shreeraj Shah verwies Mitte des letzten Jahres auf ein ähnliches Produkt dem Namen AppPrint. Die Funktionsweise dessen ist jedoch bisher aufgrund einer ausbleibenden Veröffentlichung des Produkts oder Details zur Implementierung nicht bekannt. Es wird nur kurz darauf hingewiesen, dass Libraries und Standardkomponenten identifiziert werden sollen:
AppPrint scans IP range, IP or host for Web and Application servers. (…) It also fingerprints Web 2.0 libraries and components.
Am letztjährigen Chaos Communication Congress in Berlin (26C3: Here Be Dragons) wurde wafp von Richard Sammet vorgestellt. Hierbei handelt es sich um ein ähnliches Utility, das in Ruby geschrieben wurde und die MD5-Checksummen bekannter Dateien anhand einer SQLite3 Datenbank überprüft:
WAFP fetches the files given by the Finger Prints from a webserver and checks if the checksums of those files are matching to the given checksums from the Finger Prints. This way it is able to detect the detailed version and even the build number of a Web Application.
wafp.rb http://blog.scip.ch/
Collecting and fetching the files we need to identify the product …
……………………………………………………………………….
Identified Product: serendipity (80.00 %)
Collecting the files we need to fetch …
Fetching needed files (#1506), calculating checksums and storing the results to the database:
……………………………………………………………………….
Checking gathered/stored checksums (#1506) against the selected product (serendipity) versions (#33) checksums:
……………………………
found the following matches (limited to 10):
——————————————————————————————-
serendipity-1.3 430 / 571 (75.31%)
serendipity-1.3.1 430 / 571 (75.31%)
serendipity-1.2 407 / 554 (73.47%)
serendipity-1.2.1 408 / 556 (73.38%)
serendipity-1.0.2 326 / 448 (72.77%)
serendipity-1.0 326 / 448 (72.77%)
serendipity-1.0.4a 326 / 448 (72.77%)
serendipity-1.0.1 326 / 448 (72.77%)
serendipity-1.0.3a 326 / 449 (72.61%)
serendipity-1.1.3 349 / 482 (72.41%)
——————————————————————————————-
WAFP 0.01-26c3 – - – - – - – - – http://mytty.org/wafp/
Es gibt grundsätzlich drei Gründe, die gegen eine solche Straightforward-Implementierung sprechen:
Wir hoffen, die Einschränkung von webapprecon eliminieren zu können, um ein effizientes Tool zur Erkennung von Webanwendungen bereitstellen zu können. Weitere Details oder gar eine erste öffentliche Version der Software sollten im Laufe der kommenden Monate herausgegeben werden.
Unsere Spezialisten kontaktieren Sie gern!
Marc Ruef
Marc Ruef
Marc Ruef
Marc Ruef
Unsere Spezialisten kontaktieren Sie gern!