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.
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
Neu entdeckte Sicherheitslücken machen den Einsatz von PGP und S/MIME potenziell unsicher.