Tapjacking
Dernière mise à jour
Dernière mise à jour
Le tapjacking est l'équivalent du clickjacking dans une application Android. Une application malveillante amène l'utilisateur à cliquer sur un contrôle de sécurité (bouton de confirmation permettant de désactiver un élément de sécurité par exemple) en utilisant une superposition, par exemple, pour masquer l'UI. Sur cette page, nous différencions deux variantes d'attaque : l'occlusion complète et l'occlusion partielle. En cas d'occlusion complète, le pirate masque la zone tactile, tandis que dans le cas d'une occlusion partielle, la zone tactile n'est pas masquée.
Si une activité sensible est exportée, il est possible d'importer l'activté dans une application malveillante qui se charge tout simplement de modifier l'UI de manière modifier l'utilisation légitime de l'activité originale.
L'autorisation SYSTEM_ALERT_WINDOW
permet à une application de créer une fenêtre superposée pour toutes les applications.
Il est possible d'utiliser Toast.setView()
pour personnaliser l'apparence d'un message de type toast. Sur Android 10 (niveau d'API 29) et versions antérieures, des applications malveillantes peuvent lancer de tels toasts en arrière-plan.
Il est possible d'éviter cette limitation dans certains cas à l'aide d'un toast burst, dans lequel il est possible de mettre plusieurs toasts en attente au premier plan, qui continuent de se lancer même une fois que l'application passe en arrière-plan.
Les attaques de toasts en arrière-plan et les toast bursts sont entièrement atténuées depuis Android 12 (niveau d'API 31).
Tapjacker est une application design pour PoC des vulnerabilités de tapjacking.