Zum Abschluss des Themas "Clickjacking" geht es in dieser und der nächsten Folge um die abgesehen von den "Likejacking"-Angriffen aktuellsten Entwicklungen: Die im April von Paul Stone von Context Information Security auf der Sicherheitskonferenz Black Hat Europe 2010 vorgestellten Clickjacking-Angriffe (Whitepaper, Präsentation als PDF und Video als .m4v).
Donnerstag, 17. Juni 2010
Clickjacking - The next Generation
Für eigene Experimente hat Paul Stone ein Clickjacking Tool entwickelt, das sich in einer frühen Beta-Phase befindet und am besten im Firefox 3.6 funktioniert. Zwei der neuen Angriffe können damit komfortabel nachvollzogen werden. Der simulierte Angriff kann entweder in einem sichtbaren Modus zum Beobachten der einzelnen Schritte oder in einem unsichtbaren Modus ähnlich einem richtigen Angriff vorgeführt werden.
Fragment-Identifier als Wegweiser
Als erste Neuerung verweist Paul Stone auf die Möglichkeit, den
Zielframe statt über Pixelkoordinaten über Fragment-Identifier zu
positionieren. Während bei der absoluten Positionierung über
Pixelkoordinaten z.B. dynamische Inhalte zu einer Verschiebung des Ziels
führen können, wird es bei der Positionierung über
Fragment-Identifier immer am oberen Rand des Sichtbereichs positioniert.
Dabei können nicht nur die bekannten Anker nach dem Muster
<a name="irgendwas"> angesprungen werden, sondern
alle Elemente, die ein ID-Attribut haben, z.B.
<div id="name">. Da ID-Attribute oft im
Zusammenhang mit Style-Informationen oder JavaScript-Code eingesetzt werden,
ist die Wahrscheinlichkeit, dass ein gewünschtes Zielobjekt ein ID-Attribut
enthält, ziemlich hoch.
Falls das gewünschte Ziel kein ID-Attribut enthält und kein Anker in der Nähe ist, kann eine Kombination beider Positionierungsansätze die Wahrscheinlichkeit erhöhen, dass das Ziel tatsächlich an der richtigen Position liegt: Ist bekannt, dass das Ziel z.B. 100 Pixel über einem Anker oder einem Objekt mit ID liegt, kann die Seite mit diesem Fragment-Identifier geladen werden, was den darüber identifizierten Ankerpunkt bzw. das darüber identifizierte Objekt an den oberen Rand des iframes positioniert. Danach muss der Zielframe dann nur noch um 100 Pixel verschoben werden, um das eigentliche Ziel an die gewünschte Position zu bringen.
Texte in Textfelder einfügen
Clickjacking heißt Clickjacking, weil damit Klicks entführt werden - und damit ist auch schon die größte Einschränkung des Angriffs erfasst: Es ist nicht möglich, Textfelder zu manipulieren. Um diese Einschränkung zu umgehen, setzt Paul Stone auf die Drag&Drop-API, die als Teil von HTML5 standardisiert wurde. Mit der API ist es möglich, Daten an den Beginn einer Verschiebe-Operation zu setzen und die fallen gelassenen Daten zu lesen. Und das ohne die Einschränkungen der Same-Origin-Policy, die Daten können beliebig über Domaingrenzen hinweg verschoben werden. Das erlaubt in Verbindung mit Clickjacking einen neuen Angriff, der von Paul Stone als 'Text-Field Injection' bezeichnet wird:
- Eine bösartige Webseite bringt den Benutzer dazu, ein Objekt auf der Seite zu verschieben.
- Beim Start der Verschiebe-Operation wird der gewünschte Text über die Drag&Drop-API ausgewählt.
- Nachdem die Verschiebe-Operation gestartet wurde, wird ein unsichtbarer iframe unter dem Mauszeiger platziert, der ein Formular auf einer anderen Website enthält. Dessen Textfeld liegt dabei genau unter dem Mauszeiger.
- Beim Fallen lassen landet der vom Angreifer ausgewählte Text im Formular.
Diese Schritte können so oft wiederholt werden, bis alle gewünschten Texte kopiert bzw. Felder gefüllt wurden, danach wird über Clickjacking der Sende-Button ausgelöst.
Die entscheidende Frage ist: Warum sollte der Benutzer überhaupt eine Drag&Drop-Operation durchführen? Dafür ist wieder etwas Social Engineering erforderlich, z.B. in Form eines Spiels. Aber auch andere Aktionen können missbraucht werden, z.B. das Bewegen eines Sliders. Da der Angreifer die Positionen des Start- und Zielpunkts kontrolliert, sind Richtung und Distanz der Verschiebe-Operation egal, wichtig ist nur, dass der Mauszeiger nach dem Druck auf die Maustaste einige Pixel bewegt und danach die Maustaste losgelassen wird.
Ein Angreifer kann so Formulare auf fremden Seiten mit Texten seiner Wahl füllen. Es ist aber auch möglich, Texte von fremden Seiten in die eigene Seite kopieren zu lassen und dadurch sensitive Informationen auszuspähen. Wie das funktioniert, erfahren Sie in der nächsten Folge - hier auf ceilers-news.de!
Übersicht über alle Artikel zum Thema
- Clickjacking - Angriffe auf Seiten ohne Schwachstellen
- Clickjacking - Auch komplizierte Aktionen sind möglich
- Clickjacking - Framebuster oder HTTP-Header verhindern Angriffe
- Der Angriff der Clickjacking-Würmer, "Likejacking" und "Buttonjacking"
- Clickjacking - "Likejacking" unter die Haube geguckt
- Clickjacking - The next Generation
- Clickjacking - Drag&Drop-Angriffe und weitere Neuigkeiten
- Cookiejacking - Keksdiebe im Internet Explorer
- Likejacking - Facebook im Visier der Cyberkriminellen
- Clickjacking - Gute und Schlechte Nachrichten
- Standpunkt: Clickjacking gegen Flash, urchin.js und Duqu - nichts als Wiederholungen!







2010 war ein gerade aus Sicht der IT-Sicherheit ereignisreiches Jahr. 2011 kann es gerne ruhiger zugehen, aber vermutlich gilt wie immer die Regel von Bernd dem Brot: "Alles ist wie immer, nur schlimmer! Einige Beispiele: So hat z.B. das Bund
Aufgenommen: Jan 03, 09:14
Ich habe soeben die Präsentationen zu meinen Vorträgen auf der WebTech Conference hochgeladen. Sie finden Sie auf www.ceilers-it.de/konferenzen/ sowie auch hier: Client Security im Web 2.0 und mit HTML5 Beschreibung: Schwachstel
Aufgenommen: Okt 12, 16:08