Sichere Kodierungstechnik: Reden wir über Tapjacking

Veröffentlicht Okt 31, 2017
von Pieter De Cremer
FALLSTUDIE

Sichere Kodierungstechnik: Reden wir über Tapjacking

Veröffentlicht Okt 31, 2017
von Pieter De Cremer
Ressource anzeigen
Ressource anzeigen
Benutzer mit Mobiltelefon in der Hand
Benutzer mit Mobiltelefon in der Hand

Tapjacking, eine Kombination aus "Tap" und "Hijacking", bedeutet genau das. Es ist ein Angriff, bei dem der Angreifer die Taps des Benutzers entführt und ihn dazu bringt, etwas zu tun, was er nicht beabsichtigt hat. Wie funktioniert es also und wie können wir es verhindern?

Beginnen wir unsere Geschichte mit Bildschirm-Overlays. Bildschirm-Overlays oder wie Google sie nennt, Fenster mit dem Typ TYPE_APPLICATION_OVERLAY. Dies sind Fenster, die über andere Apps gezeichnet werden und normalerweise nur einen Teil des Bildschirms verdecken. Sie werden oft verwendet (wie das Beispielbild unten), wenn eine App neue Berechtigungen anfordert.

Der Anwendung den Zugriff auf Ihr Kontakt-Popup erlauben

Dies ist eigentlich eine coole und lustige Funktion und immer mehr Apps beginnen, sie zu nutzen, denken Sie an Facebooks Chat-Blasen oder die Google Maps-Navigation in einer Ecke Ihres Bildschirms, wie der Screenshot unten.

Secure Code Warrior Einführungsvideo

Allerdings gibt es einige Sicherheitsrisiken, die mit diesen Overlays verbunden sind. Jedes aktive Bildschirm-Overlay kann auf Tippen hören, wie sonst würde Facebook wissen, dass wir die Sprechblase angetippt oder gezogen haben? Dies ermöglicht es Apps, Sie auszuspionieren und möglicherweise Passwörter und Kreditkartendaten zu stehlen.

Einen Schritt weiter, und daher kommt der Begriff Tapjacking, können Overlays Dinge über andere Apps zeichnen und den Benutzer dazu verleiten, verschiedene Aktionen auszuführen. Der Benutzer denkt, dass er mit dem Overlay interagiert, aber in Wirklichkeit führen seine Taps auch Aktionen in der darunter liegenden App aus. Auf diese Weise kann das Overlay Sie dazu verleiten, bestimmte Berechtigungen zu aktivieren oder gefährliche Einstellungen zu ändern, wie in diesem alten YouTube-Video gezeigt wird.

Das obige Demonstrationsvideo wurde 2010 auf YouTube hochgeladen, wurde also auf einer älteren Version von Android durchgeführt. Der Angriff ist aber auch heute noch relevant, da Schwachstellen bekannt wurden, die Tapjacking in neueren Versionen von Android wie Nougat und Marshmallow ermöglichen.

Was können Sie also dagegen tun? Als Benutzer ist es wichtig, die Konsequenzen dieser Überlagerungen zu erkennen und sich der Apps bewusst zu sein, die sie verwenden. Ab API-Level 23 (Android 6.0 Marshmallow) ist dies zu einer Erlaubnis geworden, die vom Benutzer explizit erteilt werden muss. Damit sind aber immer noch 50 % der Android-Nutzergefährdet. Sie können immer noch in den Einstellungen unter "Anzeige über anderen Apps" überprüfen, welche Apps diese Erlaubnis nutzen.

Als Entwickler liegt es an uns, dafür zu sorgen, dass Benutzeraktionen mit dem vollen Wissen und der Zustimmung des Benutzers durchgeführt werden. Android bietet eine Einstellung für Ihre Ansichten, die genau das tut, genannt filterTouchesWhenObscured. Wenn sie aktiviert ist, verwirft das Framework Berührungen, die empfangen werden, wenn das Fenster der Ansicht von einem anderen sichtbaren Fenster verdeckt wird. So einfach ist das: Setzen Sie filterTouchesWhenObscured auf true, und Ihre App ist vor Tapjacking sicher.

Viel Glück und bis nächste Woche!

Manchmal ist es wichtig, dass eine Anwendung in der Lage ist, zu überprüfen, ob eine Aktion mit vollem Wissen und Einverständnis des Benutzers durchgeführt wird, wie z. B. das Erteilen einer Berechtigungsanfrage, das Tätigen eines Kaufs oder das Klicken auf eine Werbung. Leider könnte eine bösartige Anwendung versuchen, den Benutzer dazu zu verleiten, diese Aktionen unbewusst auszuführen, indem sie den beabsichtigten Zweck der Ansicht verschleiert.

https://developer.android.com/reference/android/view/View.html

Ressource anzeigen
Ressource anzeigen

Autor

Pieter De Cremer

Sie wollen mehr?

Tauchen Sie ein in unsere neuesten Erkenntnisse über sichere Kodierung im Blog.

Unsere umfangreiche Ressourcenbibliothek zielt darauf ab, die menschliche Herangehensweise an eine sichere Weiterbildung im Bereich der Programmierung zu stärken.

Blog ansehen
Sie wollen mehr?

Holen Sie sich die neuesten Forschungsergebnisse zur entwicklergesteuerten Sicherheit

Unsere umfangreiche Ressourcenbibliothek ist voll von hilfreichen Ressourcen, von Whitepapers bis hin zu Webinaren, die Ihnen den Einstieg in die entwicklungsorientierte sichere Programmierung erleichtern. Erforschen Sie sie jetzt.

Ressourcendrehscheibe

Sichere Kodierungstechnik: Reden wir über Tapjacking

Veröffentlicht Okt 31, 2017
Von Pieter De Cremer

Tapjacking, eine Kombination aus "Tap" und "Hijacking", bedeutet genau das. Es ist ein Angriff, bei dem der Angreifer die Taps des Benutzers entführt und ihn dazu bringt, etwas zu tun, was er nicht beabsichtigt hat. Wie funktioniert es also und wie können wir es verhindern?

Beginnen wir unsere Geschichte mit Bildschirm-Overlays. Bildschirm-Overlays oder wie Google sie nennt, Fenster mit dem Typ TYPE_APPLICATION_OVERLAY. Dies sind Fenster, die über andere Apps gezeichnet werden und normalerweise nur einen Teil des Bildschirms verdecken. Sie werden oft verwendet (wie das Beispielbild unten), wenn eine App neue Berechtigungen anfordert.

Der Anwendung den Zugriff auf Ihr Kontakt-Popup erlauben

Dies ist eigentlich eine coole und lustige Funktion und immer mehr Apps beginnen, sie zu nutzen, denken Sie an Facebooks Chat-Blasen oder die Google Maps-Navigation in einer Ecke Ihres Bildschirms, wie der Screenshot unten.

Secure Code Warrior Einführungsvideo

Allerdings gibt es einige Sicherheitsrisiken, die mit diesen Overlays verbunden sind. Jedes aktive Bildschirm-Overlay kann auf Tippen hören, wie sonst würde Facebook wissen, dass wir die Sprechblase angetippt oder gezogen haben? Dies ermöglicht es Apps, Sie auszuspionieren und möglicherweise Passwörter und Kreditkartendaten zu stehlen.

Einen Schritt weiter, und daher kommt der Begriff Tapjacking, können Overlays Dinge über andere Apps zeichnen und den Benutzer dazu verleiten, verschiedene Aktionen auszuführen. Der Benutzer denkt, dass er mit dem Overlay interagiert, aber in Wirklichkeit führen seine Taps auch Aktionen in der darunter liegenden App aus. Auf diese Weise kann das Overlay Sie dazu verleiten, bestimmte Berechtigungen zu aktivieren oder gefährliche Einstellungen zu ändern, wie in diesem alten YouTube-Video gezeigt wird.

Das obige Demonstrationsvideo wurde 2010 auf YouTube hochgeladen, wurde also auf einer älteren Version von Android durchgeführt. Der Angriff ist aber auch heute noch relevant, da Schwachstellen bekannt wurden, die Tapjacking in neueren Versionen von Android wie Nougat und Marshmallow ermöglichen.

Was können Sie also dagegen tun? Als Benutzer ist es wichtig, die Konsequenzen dieser Überlagerungen zu erkennen und sich der Apps bewusst zu sein, die sie verwenden. Ab API-Level 23 (Android 6.0 Marshmallow) ist dies zu einer Erlaubnis geworden, die vom Benutzer explizit erteilt werden muss. Damit sind aber immer noch 50 % der Android-Nutzergefährdet. Sie können immer noch in den Einstellungen unter "Anzeige über anderen Apps" überprüfen, welche Apps diese Erlaubnis nutzen.

Als Entwickler liegt es an uns, dafür zu sorgen, dass Benutzeraktionen mit dem vollen Wissen und der Zustimmung des Benutzers durchgeführt werden. Android bietet eine Einstellung für Ihre Ansichten, die genau das tut, genannt filterTouchesWhenObscured. Wenn sie aktiviert ist, verwirft das Framework Berührungen, die empfangen werden, wenn das Fenster der Ansicht von einem anderen sichtbaren Fenster verdeckt wird. So einfach ist das: Setzen Sie filterTouchesWhenObscured auf true, und Ihre App ist vor Tapjacking sicher.

Viel Glück und bis nächste Woche!

Manchmal ist es wichtig, dass eine Anwendung in der Lage ist, zu überprüfen, ob eine Aktion mit vollem Wissen und Einverständnis des Benutzers durchgeführt wird, wie z. B. das Erteilen einer Berechtigungsanfrage, das Tätigen eines Kaufs oder das Klicken auf eine Werbung. Leider könnte eine bösartige Anwendung versuchen, den Benutzer dazu zu verleiten, diese Aktionen unbewusst auszuführen, indem sie den beabsichtigten Zweck der Ansicht verschleiert.

https://developer.android.com/reference/android/view/View.html

Wir bitten Sie um Ihre Erlaubnis, Ihnen Informationen über unsere Produkte und/oder verwandte Themen der sicheren Codierung zuzusenden. Wir werden Ihre persönlichen Daten immer mit äußerster Sorgfalt behandeln und sie niemals zu Marketingzwecken an andere Unternehmen verkaufen.

Senden
Um das Formular abzuschicken, aktivieren Sie bitte "Analytics"-Cookies. Sie können die Cookies wieder deaktivieren, sobald Sie fertig sind.