Page 1
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License.
The OWASP Foundation
OWASP
http://www.owasp.org
UI-Redressing-Angriffe auf Android
Marcus Niemietz Ruhr-Universität Bochum [email protected] http://www.mniemietz.de
07. November 2012
Page 2
OWASP 2
Über meine Person
Horst Görtz Institut für IT-Sicherheit Buch
Clickjacking und UI-Redressing
Websicherheit: Trainings, Penetrationstests
Speaker auf der BlueHat, CONFidence, SIGINT, PHDays, ... Twitter: @mniemietz
Page 3
OWASP 3
Überblick
Einführung Angriffe und Gegenmaßnahmen
UI-Redressing Tapjacking
Zusammenfassung und Ausblick
Page 4
OWASP 4
Allgemeines
In diesem Vortrag werden mindestens zwei wichtige Fragen beantwortet:
1. Welche UI-Redressing-Angriffe und
Gegenmaßnahmen lassen sich auf das Betriebssystem Android übertragen?
2. Kann eine Android-Applikation – die keine Rechte besitzt – Aktionen wie etwa Telefonanrufe ausführen?
Page 5
OWASP 5
Einführung
Page 6
OWASP 6
Einführung – Android
Linux-basiertes OS Überwiegend für
mobile Geräte
Einsatzbereiche Smartphones Tablet-Computer TV-Geräte
Entwickler: Open Handset Alliance
Geführt von Google Erste Veröffentlichung
im September 2008 Android 4.0.3 im
Dezember 2011
Page 7
OWASP 7
Einführung – Android
Weltweite Smartphone-Verkäufe Quelle: Gartner (November 2011)
0
37.500.000
75.000.000
112.500.000
150.000.000
3Q2010
3Q2011
Android Symbian iOS RIM Others
Page 8
OWASP 8
Einführung – Android
Verteilung der Android-Versionen Android.com; Zeitraum von 14 Tagen – 01.02.2012
0 15 30 45 60
2.1
2.2
2.3.3 - 2.3.7
Other
Page 9
OWASP 9
Einführung – Android
Android 2.3.3 Android 4.0
Page 10
OWASP 10
Angriffe und Gegenmaßnahmen
Page 11
OWASP 11
UI-Redressing
Page 12
OWASP 12
UI-Redressing
Zitat aus „Clickjackung und UI-Redressing“ „UI-Redressing ist eine Technik, die die Veränderung
des Verhaltens sowie optional auch des Aussehens einer Webseite beschreibt.“
Der Ursprung allen Übels: Clickjacking Seit dem Jahr 2002 bekannt Seit 2008 in bewusster Verwendung
Page 13
OWASP 13
UI-Redressing – Clickjacking
Page 14
OWASP 14
UI-Redressing – Clickjacking
Page 15
OWASP 15
UI-Redressing – Clickjacking
Page 16
OWASP 16
UI-Redressing – Clickjacking
Page 17
OWASP 17
UI-Redressing – Clickjacking
Page 18
OWASP 18
UI-Redressing
Clickjacking Strokejacking Text injection per Drag & Drop Content extraction Pop-up-Blocker umgehen, Event-Recycling SVG-Maskierungen
Page 19
OWASP 19
UI-Redressing
Clickjacking Classic-Clickjacking Nested-Clickjacking Likejacking und Sharejacking Cursorjacking Filejacking, Cookiejacking Eventjacking, Classjacking Tapjacking, Tabnabbing Double-Clickjacking Kombinationen mit CSRF, XSS und CSS
Page 20
OWASP 20
UI-Redressing
Gängige Browser unter Android verfügbar Default Android-Brower (WebKit) Dolphin (WebKit) Firefox (Gecko) Opera Mini (Presto) Opera Mobile (Presto)
Page 21
OWASP 21
UI-Redressing
Genannte UI-Redressing-Angriffe sind alle anwendbar, bis auf Cursorjacking Cookiejacking Double-Clickjacking und Pop-Up-Blocker Bypasses
Gegenmaßnahmen sind verfügbar X-Frame-Options JavaScript Frame-Buster NoScript
Page 22
OWASP 22
UI-Redressing Tapjacking
Page 23
OWASP 23
UI-Redressing – Tapjacking
Vorabwissen Trendmicro hat im Mai 2012 herausgefunden, dass es
in Google Play 17 Apps mit über 700.000 Downloads gibt
Davon enthielten sechs Anwendungen Malware, der Rest unaufgeforderte Werbung
Idee Ein Opfer soll eine Aktion ausführen, die ursprünglich
nicht geplant war Bösartige Applikation hochladen, die „keine“ Rechte hat Etwa als Computerspiel getarnt
Page 24
OWASP 24
UI-Redressing – Tapjacking
Android Trust-Modell Eine Anwendung darf eine Anwendung öffnen,
allerdings darf sie nicht mit dieser interagieren
Idee Pop-up-Fenster für Feedbacks nutzen
„Message saved as a draft“ Lautstärkeregler
Feedbacks sind über toast-Objekte generierbar
Page 25
OWASP 25
UI-Redressing – Tapjacking
Page 26
OWASP 26
UI-Redressing – Tapjacking
Jack Mannino hat im Jahr 2011 einen Machbarkeitsnachweis publiziert
Toast-Objekt mit der Konstante LENGTH_LONG verwendet Die Nachricht wird für wenige Sekunden angezeigt Künstliche Verlängerung durch ständiges Neuladen
Die Nachricht sieht aus wie eine normale Applikation – inkl. Dummy-Buttons
Page 27
OWASP 27
UI-Redressing – Tapjacking
GO
FunnyPictures
Buy for200$
GO
Page 28
OWASP 28
UI-Redressing – Tapjacking
Page 29
OWASP 29
UI-Redressing – Tapjacking
Kontaktdaten verändern Browser sowie Webseiten manipulieren
Code Injections möglich Cross-Device Scripting
Touch-Gesten können geloggt werden Vordefinierte Telefonanrufe Applikationen im Hintergrund installieren
Page 30
OWASP 30
UI-Redressing – Tapjacking
Vorhandene Gegenmaßnahme setFilterTouchesWhenObscured() oder das
Attribut android:filterTouchesWhenObscured! Nur eigene Applikationen können geschützt werden
Schwerwiegendes Problem Der Home-Screen ist angreifbar Vorhandene nativ implementierte Applikationen sind
nicht geschützt
Page 31
OWASP 31
UI-Redressing – Tapjacking
Idee: Drittes Layer zum Schutz Blockt alle Touch-Gesten die von „oben“ kommen Wird immer im Hintergrund einer Applikation geladen
Problem Änderung im System notwendig sind Vom Android-Team zu implementieren
Page 32
OWASP 32
UI-Redressing – Tapjacking
GO
FunnyPictures
Buy for200$
GO
Page 33
OWASP 33
Zusammenfassung und Ausblick
Page 34
OWASP 34
Zusammenfassung und Ausblick
UI-Redressing und insbesondere Clickjacking ist gefährlich
Bekannte UI-Redressing-Angriffe sind größtenteils auf Android übertragbar
Es gibt browserbasierende und browserlose UI-Redressing-Angriffe
Es gibt auf beiden Seiten Schutzmechnismen, die jedoch insbesondere bei Android unzureichend sind
Zukünftig wird es mehr Angriffe geben
Page 35
OWASP 35
Referenzen
http://developer.android.com/resources/dashboard/platform-versions.html
Framing Attacks on Smart Phones and Dumb Routers:Tap-jacking and Geo-localization Attacks, http://seclab.stanford.edu/websec/framebusting/tapjacking.pdf
Marcus Niemietz (Mai 2012), Clickjacking und UI-Redressing
Michal Zalewski (Dez. 2011), The Tangled Web: A Guide to Securing Modern Web Application
Page 36
OWASP 36
Vielen Dank für die Aufmerksamkeit.
Fragen?