Security ist ein stets aktuelles Thema in der IT. Deshalb widmet sich das ADMIN-Magazin 04/2012 speziell Sicherheitsaspekten und gibt Antworten auf die Fragen: ... (mehr)

Möglichst generisch

Nehmen Sie beispielsweise die Login-Maske einer Web-Seite, die aus einem Benutzernamensfeld und einem Passwortfeld besteht. Gibt ein Angreifer eine beliebige Benutzername/Passwort-Kombination an und antwortet der Server mit der Fehlermeldung »Ungültiger Benutzername« , so lernt der Angreifer, dass dieser Benutzername nicht existiert. Abbildung 1 zeigt, dass beispielsweise die Wikipedia solche Informationen frei kommuniziert. Diese Information ist interessant für den Angreifer, um etwa einen gezielten Brute-Force-Angriff auf existierende Benutzernamen durchzuführen. Daher sollten Web-Seiten möglichst mit einer generischen Fehlermeldung antworten, die Benutzer zwar auf den Fehler hinweist, jedoch keine vertraulichen Informationen verrät.

Abbildung 1: Die Wikipedia verrät dem Benutzer unnötigerweise, ob sie einen bestimmten Benutzer kennt oder nicht. Das ermöglicht beispielsweise gezieltere Brute-Force-Angriffe.

In Extremfällen kann alleine die Tatsache, dass ein Angreifer Fehlerzustände erkennen kann, zu fatalen Sicherheitslücken führen. So haben Jager und Somorovsky vor Kurzem einen Angriff auf den Verschlüsselungsstandard "XML Encryption" vorgestellt, durch den ein Angreifer Chiffretexte entschlüsseln kann [1] . Der Angreifer muss dafür einen Chiffretext abhören können, verändern können und an den Zielserver senden können. Alleine die Unterscheidung, ob der Server einen Entschlüsselungsfehler meldet oder nicht, reicht dem Angreifer, um die einzelnen Bytes des Chiffretexts zu entschlüsseln. Bei dem beschriebenen Angriff benötigt der Angreifer nur rund 14 Anfragen an den Server, um ein Byte des Chiffretexts zu entschlüsseln.

Padding Oracle

Der zugrunde liegende Angriff basiert auf sogenannten Padding Oracles, die bereits 2002 von Serge Vaudenay vorgestellt wurden und die kürzlich auch von Juliano Rizzo und Thai Duong [3] genutzt wurden, um Captchas und View-States von Web-Entwicklungs-Frameworks zu brechen. Die von Rizzo und Duong beschriebenen Angriffe nutzten dabei aus, dass die anfälligen Anwendungen vertrauliche Informationen verschlüsselten und an den Browser weiterleiteten. Die Entwickler der anfälligen Anwendungen hatten sich darauf verlassen, dass der Angreifer dank der Verschlüsselung die Daten nicht lesen kann.

So wurde vom Captcha-Provider nicht nur das verschleierte Captcha, sondern auch seine verschlüsselte Lösung an den Benutzer gesendet. Nach der Eingabe des Benutzers sendet dessen Browser die vom Benutzer gefundene und die zuvor verschlüsselt erhaltene Lösung an den Provider zurück. Das hat den Vorteil, dass der Captcha-Provider die Benutzer-Session nicht serverseitig verwalten muss. Rizzo und Duong konnten die Lösung des Captchas über ein Padding Oracle entschlüsseln und somit das Captcha brechen. Das zeigt, wie ein Angreifer manchmal selbst komplizierte kryptografische Konzepte überwinden kann, indem er nur die Fehlermeldungen eines Systems auswertet.

comments powered by Disqus
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

Ausgabe /2023