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)

Lücken finden

Der Angreifer führt im ersten Schritt n Login-Anfragen mit einem existierenden Benutzer durch und sammelt die Antworten (A1, A2, … , An). Er führt weiterhin n Login-Anfragen mit einem nicht-existierenden Benutzer durch und sammelt die Anfragen (B1, B2, … Bn). Im zweiten Schritt bildet er die gemeinsame Longest Common Subsequence (LCS) jeweils von A und B, wodurch alle dynamischen Teile, die nicht von der Existenz des Benutzernamens abhängen, herausgefiltert werden. XA und XB enthalten dann als Resultat den statischen Kern der Antworten. Im dritten Schritt vergleicht der Angreifer XA und XB. Werden in diesem Schritt noch Unterschiede gefunden, so hängen diese Unterschiede davon ab, ob der Benutzername existiert oder nicht, und der Angreifer hat eine generische Schwachstelle in der Zielanwendung gefunden. Der Angreifer kann jetzt einen Brute-Force-Angriff mit verschiedenen Benutzernamen starten und anhand der Antworten herausfinden, ob ein Benutzername existiert oder nicht.

Gegenmaßnahmen

Um Informationslecks durch Fehlermeldungen zu verhindern, sollten Fehlermeldungen so generisch wie möglich sein. Es reicht in vielen Fällen aus, den Benutzern eine generische Seite zu zeigen, in der zusätzlich zu der generischen Fehlermeldung eine zufällig generierte und eindeutige Fehler-ID zugeordnet wird. Kann der Benutzer sein Problem nicht selbst lösen, so können Administratoren über die Fehler-ID die detaillierte Fehlermeldung einsehen. So hat man verhindert, dass ein Angreifer vertrauliche Informationen durch die Analyse der Fehlermeldungen erhält. Zusätzlich sollten Administratoren die Fehlerzustände loggen und die Gesamtzahl der Fehlermeldungen beobachten. Steigt die Anzahl der Fehler zeitabhängig stark an, oder lassen sich viele Fehler auf wenige Benutzer zurückverfolgen, so könnte das ein Anzeichen für einen Angriff sein.

Seitenkanäle führen zu Informationslecks, die nur bei genauem Hinsehen sichtbar werden und können über Jahre unentdeckt bleiben. In den hier gezeigten Seitenkanälen stecken die Informationslecks in den dynamischen Fragmenten des HTTP- und HTML-Anteils von Web-Seiten. Da Web-Seiten auch weiterhin zunehmend dynamischer werden, wächst die Wahrscheinlichkeit für solche Seitenkanäle, und es wird schwieriger, die Seitenkanäle und die ungefährlichen dynamischen Teile auseinanderzuhalten. Es bleibt daher den Programmierern der Anwendungen überlassen, solche Seitenkanäle zu entdecken und zu schließen, wie es die Postfixadmin- und den Typo3-Entwickler taten. ( jcb )

Infos

  1. Tibor Jager und Juraj Somorovsky: "How to break XML Encryption", ACM CCS 2011.
  2. Felix Freiling und Sebastian Schinzel: "Detecting Hidden Storage Side Channel Vulnerabilities in Networked Applications", IFIP Sec 2012
  3. Juliano Rizzo und Thai Duong: "Practical Padding Oracle Attacks", Usenix WOOT 2010

Der Autor

Dr. Sebastian Schinzel ist wissenschaftlicher Mitarbeiter der Universität Erlangen-Nürnberg und erforscht dort verdeckte Informationslecks in Web-Anwendungen. Er ist zudem seit mehr als sechs Jahren als Autor, Referent und Penetrationstester tätig und berät Unternehmen zu der Sicherheit von Softwareanwendungen.

comments powered by Disqus
Mehr zum Thema

EFAIL: Sicherheitslücken in und um GPG und S/MIME

Neu entdeckte Sicherheitslücken machen den Einsatz von PGP und S/MIME potenziell unsicher. 

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