Suchen

Risiko Security-Patches Trotz Patch ein mögliches Datenleck bei Facebook

| Autor / Redakteur: Ron Masas / Peter Schmitz

Dass persönliche Daten von Facebook-Nutzern über eine Schwachstelle in Chrome abgreifbar waren, war eine der Schlagzeilen im Sommer des Jahres. Patch drauf, Gefahr gebannt, ist die übliche Vorgehensweise, aber dieses Mal entpuppte sich der Patch als Kuckucksei, denn die gestopfte Sicherheitslücke bedingte das nächste Datenleck.

Firmen zum Thema

Wie eine gestopfte Sicherheitslücke bei Facebook das nächste Datenleck bedingte.
Wie eine gestopfte Sicherheitslücke bei Facebook das nächste Datenleck bedingte.
(Bild: Pixabay / CC0 )

Sicherheitsexperten von Imperva schauten nach dem Patch noch mal genauer hin, ob sich noch weitere Schlupflöcher zeigten, die man mit der entsprechenden kriminellen Energie ausnutzen könnte. Und tatsächlich: Was auftauchte, war ein Fehler, der es anderen Websites ermöglichen würde, private Informationen über Nutzer und ihre Kontakte abzuziehen. Zusammen mit dem Facebook Security Team machte sich Imperva daran, das Problem zu lösen. Schon während des Identifizierungsprozesses für das ursprüngliche Chrome-Problem wurden die Online-Suchergebnisse von Facebook untersucht. In deren HTML-Code zeigte sich, dass jedes Ergebnis ein iframe-Element enthielt, wahrscheinlich eingesetzt für das interne Tracking von Facebook. Zur Erläuterung: Mit dem iframe-Element kann eine weitere HTML-Seite in eine aktuelle Seite eingebunden werden. Mit dem Wissen um dieses besondere Cross-Origin-Verhalten von iframes entstand die folgende Vorgehensweise.

Für den Einstieg half ein Blick auf die Facebook Search Page. Der Endpunkt dort erwartet eine GET-Anfrage mit einer Reihe von Suchparametern. Der Endpunkt ist, wie die meisten Such-Endpunkte, nicht seitenübergreifend vor gefälschten Anfragen abgesichert (CSRF), so dass Benutzer die Suchergebnisseite normalerweise über eine URL teilen können. Dies ist in den meisten Fällen in Ordnung, da der Benutzer keine Aktionen durchführt, was diesen CSRF-Angriff von selbst bedeutungslos macht. Allerdings kommen iframes, im Gegensatz zu den meisten Web-Elementen, in Teilen mit Dokumenten anderer Seiten in Berührung. In der Kombination mit der CSRF-Suche lag hier das Problem.

Im Video zeigen die Security-Experten von Imperva, wie der Angriff ablaufen könnte.

So hätte ein Angriff verlaufen können

Damit dieser Angriff funktioniert, muss der Facebook-Benutzer dazu gebracht werden, die bösartige Website zu öffnen und irgendwo drauf zu klicken. Hier kann es sich um eine beliebige Website handeln, auf der sich JavaScript ausführen lässt. Über den Klick öffnet sich ein Popup oder eine neue Registerkarte auf der Facebook-Suchseite, auf der der Benutzer gezwungen wird, eine Suchanfrage auszuführen. Da die Anzahl der iframe-Elemente auf der Seite die Anzahl der Suchergebnisse widerspiegelt, lassen sie sich einfach durch Zugriff auf die Eigenschaft fb.frames.length zählen.

Durch die Manipulation der Grafiksuche von Facebook ist es möglich, Suchanfragen zu erstellen, die persönliche Informationen über den Benutzer widerspiegeln. Zum Beispiel kann man durch die Suche: "Seiten, die ich mag mit Namen `Imperva`", Facebook dazu zwingen, ein Ergebnis anzugeben, wenn dem Benutzer die Imperva-Seite gefällt, oder eben kein Ergebnis anzuzeigen, wenn dies nicht der Fall ist

Durch die Suche: "Seiten, die ich mag mit Namen `Imperva`", Facebook dazu zwingen, ein Ergebnis anzugeben, wenn dem Benutzer die Imperva-Seite gefällt, oder eben kein Ergebnis anzuzeigen, wenn dies nicht der Fall ist.
Durch die Suche: "Seiten, die ich mag mit Namen `Imperva`", Facebook dazu zwingen, ein Ergebnis anzugeben, wenn dem Benutzer die Imperva-Seite gefällt, oder eben kein Ergebnis anzuzeigen, wenn dies nicht der Fall ist.
(Bild: Imperva)

Ähnliche Abfragen können erstellt werden, um Daten über die Freunde des Benutzers zu erhalten. Zum Beispiel kann die Suche nach "meinen Freunden, die Imperva mögen" zeigen, ob der aktuelle Benutzer Freunde hat, die die Imperva Facebook-Seite mögen.

Weitere interessante Beispiele für die Art der Daten, die extrahiert werden konnten:

Dieser Vorgang kann wiederholt werden, ohne dass neue Popups oder Registerkarten geöffnet werden müssen. Denn der Angreifer kann durch den folgenden Code steuern, wo sich das Facebook-Fenster befindet:

Der Angriff kann wiederholt werden, ohne dass neue Popups oder Registerkarten geöffnet werden müssen, denn der Angreifer kann durch den folgenden Code steuern, wo sich das Facebook-Fenster befindet.
Der Angriff kann wiederholt werden, ohne dass neue Popups oder Registerkarten geöffnet werden müssen, denn der Angreifer kann durch den folgenden Code steuern, wo sich das Facebook-Fenster befindet.
(Bild: Imperva)

Dies ist besonders gefährlich für mobile Benutzer, da die geöffnete Registerkarte leicht im Hintergrund verloren gehen kann. So kann der Angreifer die Ergebnisse für mehrere Abfragen extrahieren, während sich der Benutzer ein Video ansieht oder einen Artikel auf der Website des Angreifers liest.

Mit dieser erweiterten Fehlersuche konnte Imperva helfen, das potenzielle Schlupfloch zu stopfen, bevor größerer Schaden entstehen konnte.

Über den Autor: Ron Masas ist Security Researcher bei Imperva.

(ID:45637093)