Abrechnung

Die Tastenkombination beendet schließlich den aktuellen Testlauf von Ratproxy. Das Ergebnis der Analysen findet sich in der etwas kryptischen Logdatei »ratproxy.log« wieder, dessen Aufbau absichtlich auf gute Maschinenlesbarkeit und eine Zusammenarbeit mit »grep« getrimmt wurde (Abbildung 3).

Abbildung 3: Ratproxys Logdatei ist von Haus aus alles andere als übersichtlich.

Google will damit externe Drittentwickler anlocken, deren Werkzeuge so einfacher mit den Ergebnissen weiterarbeiten können. Bis es jedoch soweit ist, generiert das Skript »ratproxy-report.sh« eine etwas augenfreundlichere HTML-Datei:

./ratproxy-report.sh ratproxy.log > ↩
report.html

Der fertige Report sieht dann so aus wie in Abbildung 4: Die Liste präsentiert alle gefundenen Probleme, sortiert nach Typ und Wichtigkeit. Schwerwiegende Sicherheitsmängel hebt das leuchtend roten »HIGH« hervor. »Toggle« klappt die entsprechenden Meldungen einer Sektion ein- beziehungsweise wieder aus. »view trace« öffnet den zugehörigen Trace aus dem »tmp« -Verzeichnis (also die mitgeschnittene Kommunikation).

Abbildung 4: Beispiel für einen Ratproxy Report.

An dieser Stelle hört Ratproxys Hilfestellung jedoch abrupt auf: Die vorliegenden Ergebnisse muss der Anwender selbst interpretieren. Das klappt wiederum nur mit entsprechendem Hintergrundwissen sowohl an Computersicherheit und -Forensik, als auch der Interna der zu testenden Anwendung. Schließlich nützt es nichts, wenn Ratproxy vor einem potenziellen Cross-Site-Skripting-Angriff warnt, man aber nicht in der Lage ist, die entsprechende Lücke zu stopfen. Erschwerend kommt hinzu, dass Ratproxy auch allgemeine Probleme auflistet, hinter denen nicht notwendigerweise auch ein Sicherheitsproblem steht.

Mit Vorsicht genießen

Da Ratproxy zudem vollständig autonom zu Werke geht, kann man bei einem konkreten Verdacht keine eigenen Testdaten in die Webanwendung injizieren und so die eigene Vermutung überprüfen. Des Weiteren kann Ratproxy in den protokollierten Teilen nur diejenigen Schwachstellen melden, die es selbst auch kennt. Welche das sind, verrät der Kasten "Der Rattenfänger deckt auf". Die Entwickler sind sich dieser Unvollständigkeit bewusst und bitten sogar um entsprechende Anregungen, Verbesserungen und Hinweise auf noch nicht behandelte Sicherheitsprobleme. Abschließend sollte man immer im Hinterkopf behalten, dass es sich derzeit noch um eine Beta-Version handelt. Es können daher immer noch Falschmeldungen (sogenannte "false positives") auftauchen. Unter dem Strich sollte man Ratproxy nie alleine vertrauen, sondern unbedingt immer noch zusätzliche Tests durchführen.

Der Rattenfänger deckt auf

Ratproxy prüft die Konversation unter anderem auf:

  • die Einhaltung von Standards, wie beispielsweise die korrekte Nutzung von MIME-Typen (wurde beispielsweise ein »GIF« -Bild als »image/jpeg« ausgeliefert?).
  • unsichere Antworten. Ein besonderes Augenmerk gilt dabei dem JSON-, beziehungsweise ähnlichen Datenformaten.
  • Möglichkeiten zu Cross Site Scripting (XSS) Angriffen
  • Möglichkeiten zu Cross-Site Request Forgery (XSRF) Angriffen. Insbesondere hält Ratproxy Ausschau nach eingebetteten Sicherheitstoken und (schwer) vorhersagbaren URLs.
  • Möglichkeiten zur Injektion von Daten, wie beispielsweise einer SQL Injection.
  • riskante JavaScript, OGNL und Java Konstruktionen
  • falsch genutzte Cookies
  • verdächtige Flash-Objekte
  • Möglichkeiten für Directory Traversal
  • falsch genutztes Caching
  • verdächtige Weiterleitungen (Redirects) Welche Probleme Ratproxy im Einzelnen protokolliert und erkennt, verrät die im Quellcodearchiv mitgelieferte Datei »messages.list« .
comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019