Sichere Kodierungstechnik: Reden wir über Tapjacking
Sichere Kodierungstechnik: Reden wir über Tapjacking
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.
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.
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
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.
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.
Sichere Kodierungstechnik: Reden wir über Tapjacking
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.
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.
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