Blog

Technique de codage sécurisé : Parlons du Tapjacking

Pieter De Cremer
Publié le 31 octobre 2017

Le tapjacking, combinaison de "tap" et de "hijacking", signifie exactement cela. Il s'agit d'une attaque où l'attaquant détourne les robinets de l'utilisateur et l'amène à faire quelque chose qu'il n'avait pas l'intention de faire. Comment cela fonctionne-t-il et comment pouvons-nous l'empêcher ?

Commençons par les superpositions d'écran. Les superpositions d'écran ou, comme Google les appelle, les fenêtres de type TYPE_APPLICATION_OVERLAY. Il s'agit de fenêtres qui se superposent à d'autres applications et qui ne masquent généralement qu'une partie de l'écran. Elles sont souvent utilisées (comme dans l'exemple ci-dessous) lorsqu'une application demande de nouvelles autorisations.

Autoriser l'application à accéder à votre fenêtre contextuelle de contact

Il s'agit d'une fonctionnalité intéressante et amusante que de plus en plus d'applications commencent à utiliser. Pensez aux bulles de chat de Facebook ou à la navigation de Google Maps dans un coin de votre écran, comme dans la capture d'écran ci-dessous.

Secure Code Warrior Vidéo d'introduction

Cependant, ces superpositions présentent des risques pour la sécurité. Comment Facebook pourrait-il savoir que nous avons appuyé sur la bulle ou que nous l'avons fait glisser ? Cela permet aux applications de vous espionner et de voler potentiellement des mots de passe et des données de carte de crédit.

Un peu plus loin, et c'est de là que vient le terme tapjacking, les overlays peuvent dessiner des choses au-dessus d'autres applications en trompant l'utilisateur pour qu'il effectue différentes actions. L'utilisateur pense qu'il interagit avec la superposition, mais en réalité, ses tapotements exécutent également des actions dans l'application sous-jacente. De cette manière, la superposition peut vous inciter à activer certaines permissions ou à modifier certains paramètres dangereux, comme le montre cette ancienne vidéo de YouTube.

La vidéo de démonstration ci-dessus a été téléchargée sur YouTube en 2010, elle a donc été réalisée sur une ancienne version d'Android. Mais l'attaque est toujours d'actualité, car des vulnérabilités permettant le tapjacking dans les versions plus récentes d'Android, comme Nougat et Marshmallow, ont été mises en lumière.

Que pouvez-vous faire à ce sujet ? En tant qu'utilisateur, il est important de prendre conscience des conséquences de ces superpositions et d'être attentif aux applications qui les utilisent. Depuis le niveau 23 de l'API (Android 6.0 Marshmallow), il s'agit d'une permission qui doit être explicitement accordée par l'utilisateur. Toutefois, 50 % des utilisateurs d'Androidsont encore vulnérables. Vous pouvez toujours vérifier quelles applications utilisent cette permission dans les paramètres sous "Affichage par rapport aux autres applications".

En tant que développeurs, nous devons nous assurer que les actions de l'utilisateur sont effectuées en toute connaissance de cause et avec son consentement. Android fournit un paramètre pour vos vues qui fait exactement cela, appelé filterTouchesWhenObscured. Lorsqu'il est activé, le framework écarte les touches reçues lorsque la fenêtre de la vue est masquée par une autre fenêtre visible. C'est aussi simple que cela, définissez filterTouchesWhenObscured à true, et votre application sera à l'abri du tapjacking.

Bonne chance et à la semaine prochaine !

Il est parfois essentiel qu'une application puisse vérifier qu'une action est effectuée en toute connaissance de cause et avec le consentement de l'utilisateur, par exemple pour accorder une demande d'autorisation, effectuer un achat ou cliquer sur une publicité. Malheureusement, une application malveillante pourrait essayer de tromper l'utilisateur pour qu'il effectue ces actions à son insu, en dissimulant l'objectif de la vue.

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

Utilisateur avec un téléphone portable à la main
Utilisateur avec un téléphone portable à la main
Voir la ressource
Voir la ressource

Il est parfois essentiel qu'une application puisse vérifier qu'une action est effectuée en toute connaissance de cause et avec le consentement de l'utilisateur.

Vous souhaitez en savoir plus ?

Chercheur en sécurité applicative - Ingénieur R&D - Doctorant

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Réservez une démonstration
Partager sur :
Auteur
Pieter De Cremer
Publié le 31 octobre 2017

Chercheur en sécurité applicative - Ingénieur R&D - Doctorant

Partager sur :
Utilisateur avec un téléphone portable à la main
Utilisateur avec un téléphone portable à la main

Le tapjacking, combinaison de "tap" et de "hijacking", signifie exactement cela. Il s'agit d'une attaque où l'attaquant détourne les robinets de l'utilisateur et l'amène à faire quelque chose qu'il n'avait pas l'intention de faire. Comment cela fonctionne-t-il et comment pouvons-nous l'empêcher ?

Commençons par les superpositions d'écran. Les superpositions d'écran ou, comme Google les appelle, les fenêtres de type TYPE_APPLICATION_OVERLAY. Il s'agit de fenêtres qui se superposent à d'autres applications et qui ne masquent généralement qu'une partie de l'écran. Elles sont souvent utilisées (comme dans l'exemple ci-dessous) lorsqu'une application demande de nouvelles autorisations.

Autoriser l'application à accéder à votre fenêtre contextuelle de contact

Il s'agit d'une fonctionnalité intéressante et amusante que de plus en plus d'applications commencent à utiliser. Pensez aux bulles de chat de Facebook ou à la navigation de Google Maps dans un coin de votre écran, comme dans la capture d'écran ci-dessous.

Secure Code Warrior Vidéo d'introduction

Cependant, ces superpositions présentent des risques pour la sécurité. Comment Facebook pourrait-il savoir que nous avons appuyé sur la bulle ou que nous l'avons fait glisser ? Cela permet aux applications de vous espionner et de voler potentiellement des mots de passe et des données de carte de crédit.

Un peu plus loin, et c'est de là que vient le terme tapjacking, les overlays peuvent dessiner des choses au-dessus d'autres applications en trompant l'utilisateur pour qu'il effectue différentes actions. L'utilisateur pense qu'il interagit avec la superposition, mais en réalité, ses tapotements exécutent également des actions dans l'application sous-jacente. De cette manière, la superposition peut vous inciter à activer certaines permissions ou à modifier certains paramètres dangereux, comme le montre cette ancienne vidéo de YouTube.

La vidéo de démonstration ci-dessus a été téléchargée sur YouTube en 2010, elle a donc été réalisée sur une ancienne version d'Android. Mais l'attaque est toujours d'actualité, car des vulnérabilités permettant le tapjacking dans les versions plus récentes d'Android, comme Nougat et Marshmallow, ont été mises en lumière.

Que pouvez-vous faire à ce sujet ? En tant qu'utilisateur, il est important de prendre conscience des conséquences de ces superpositions et d'être attentif aux applications qui les utilisent. Depuis le niveau 23 de l'API (Android 6.0 Marshmallow), il s'agit d'une permission qui doit être explicitement accordée par l'utilisateur. Toutefois, 50 % des utilisateurs d'Androidsont encore vulnérables. Vous pouvez toujours vérifier quelles applications utilisent cette permission dans les paramètres sous "Affichage par rapport aux autres applications".

En tant que développeurs, nous devons nous assurer que les actions de l'utilisateur sont effectuées en toute connaissance de cause et avec son consentement. Android fournit un paramètre pour vos vues qui fait exactement cela, appelé filterTouchesWhenObscured. Lorsqu'il est activé, le framework écarte les touches reçues lorsque la fenêtre de la vue est masquée par une autre fenêtre visible. C'est aussi simple que cela, définissez filterTouchesWhenObscured à true, et votre application sera à l'abri du tapjacking.

Bonne chance et à la semaine prochaine !

Il est parfois essentiel qu'une application puisse vérifier qu'une action est effectuée en toute connaissance de cause et avec le consentement de l'utilisateur, par exemple pour accorder une demande d'autorisation, effectuer un achat ou cliquer sur une publicité. Malheureusement, une application malveillante pourrait essayer de tromper l'utilisateur pour qu'il effectue ces actions à son insu, en dissimulant l'objectif de la vue.

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

Voir la ressource
Voir la ressource

Remplissez le formulaire ci-dessous pour télécharger le rapport

Nous aimerions que vous nous autorisiez à vous envoyer des informations sur nos produits et/ou sur des sujets liés au codage sécurisé. Nous traiterons toujours vos données personnelles avec le plus grand soin et ne les vendrons jamais à d'autres entreprises à des fins de marketing.

Soumettre
Pour soumettre le formulaire, veuillez activer les cookies "Analytics". N'hésitez pas à les désactiver à nouveau une fois que vous aurez terminé.
Utilisateur avec un téléphone portable à la main

Le tapjacking, combinaison de "tap" et de "hijacking", signifie exactement cela. Il s'agit d'une attaque où l'attaquant détourne les robinets de l'utilisateur et l'amène à faire quelque chose qu'il n'avait pas l'intention de faire. Comment cela fonctionne-t-il et comment pouvons-nous l'empêcher ?

Commençons par les superpositions d'écran. Les superpositions d'écran ou, comme Google les appelle, les fenêtres de type TYPE_APPLICATION_OVERLAY. Il s'agit de fenêtres qui se superposent à d'autres applications et qui ne masquent généralement qu'une partie de l'écran. Elles sont souvent utilisées (comme dans l'exemple ci-dessous) lorsqu'une application demande de nouvelles autorisations.

Autoriser l'application à accéder à votre fenêtre contextuelle de contact

Il s'agit d'une fonctionnalité intéressante et amusante que de plus en plus d'applications commencent à utiliser. Pensez aux bulles de chat de Facebook ou à la navigation de Google Maps dans un coin de votre écran, comme dans la capture d'écran ci-dessous.

Secure Code Warrior Vidéo d'introduction

Cependant, ces superpositions présentent des risques pour la sécurité. Comment Facebook pourrait-il savoir que nous avons appuyé sur la bulle ou que nous l'avons fait glisser ? Cela permet aux applications de vous espionner et de voler potentiellement des mots de passe et des données de carte de crédit.

Un peu plus loin, et c'est de là que vient le terme tapjacking, les overlays peuvent dessiner des choses au-dessus d'autres applications en trompant l'utilisateur pour qu'il effectue différentes actions. L'utilisateur pense qu'il interagit avec la superposition, mais en réalité, ses tapotements exécutent également des actions dans l'application sous-jacente. De cette manière, la superposition peut vous inciter à activer certaines permissions ou à modifier certains paramètres dangereux, comme le montre cette ancienne vidéo de YouTube.

La vidéo de démonstration ci-dessus a été téléchargée sur YouTube en 2010, elle a donc été réalisée sur une ancienne version d'Android. Mais l'attaque est toujours d'actualité, car des vulnérabilités permettant le tapjacking dans les versions plus récentes d'Android, comme Nougat et Marshmallow, ont été mises en lumière.

Que pouvez-vous faire à ce sujet ? En tant qu'utilisateur, il est important de prendre conscience des conséquences de ces superpositions et d'être attentif aux applications qui les utilisent. Depuis le niveau 23 de l'API (Android 6.0 Marshmallow), il s'agit d'une permission qui doit être explicitement accordée par l'utilisateur. Toutefois, 50 % des utilisateurs d'Androidsont encore vulnérables. Vous pouvez toujours vérifier quelles applications utilisent cette permission dans les paramètres sous "Affichage par rapport aux autres applications".

En tant que développeurs, nous devons nous assurer que les actions de l'utilisateur sont effectuées en toute connaissance de cause et avec son consentement. Android fournit un paramètre pour vos vues qui fait exactement cela, appelé filterTouchesWhenObscured. Lorsqu'il est activé, le framework écarte les touches reçues lorsque la fenêtre de la vue est masquée par une autre fenêtre visible. C'est aussi simple que cela, définissez filterTouchesWhenObscured à true, et votre application sera à l'abri du tapjacking.

Bonne chance et à la semaine prochaine !

Il est parfois essentiel qu'une application puisse vérifier qu'une action est effectuée en toute connaissance de cause et avec le consentement de l'utilisateur, par exemple pour accorder une demande d'autorisation, effectuer un achat ou cliquer sur une publicité. Malheureusement, une application malveillante pourrait essayer de tromper l'utilisateur pour qu'il effectue ces actions à son insu, en dissimulant l'objectif de la vue.

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

Accès aux ressources

Cliquez sur le lien ci-dessous et téléchargez le PDF de cette ressource.

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Voir le rapportRéservez une démonstration
Télécharger le PDF
Voir la ressource
Partager sur :
Vous souhaitez en savoir plus ?

Partager sur :
Auteur
Pieter De Cremer
Publié le 31 octobre 2017

Chercheur en sécurité applicative - Ingénieur R&D - Doctorant

Partager sur :

Le tapjacking, combinaison de "tap" et de "hijacking", signifie exactement cela. Il s'agit d'une attaque où l'attaquant détourne les robinets de l'utilisateur et l'amène à faire quelque chose qu'il n'avait pas l'intention de faire. Comment cela fonctionne-t-il et comment pouvons-nous l'empêcher ?

Commençons par les superpositions d'écran. Les superpositions d'écran ou, comme Google les appelle, les fenêtres de type TYPE_APPLICATION_OVERLAY. Il s'agit de fenêtres qui se superposent à d'autres applications et qui ne masquent généralement qu'une partie de l'écran. Elles sont souvent utilisées (comme dans l'exemple ci-dessous) lorsqu'une application demande de nouvelles autorisations.

Autoriser l'application à accéder à votre fenêtre contextuelle de contact

Il s'agit d'une fonctionnalité intéressante et amusante que de plus en plus d'applications commencent à utiliser. Pensez aux bulles de chat de Facebook ou à la navigation de Google Maps dans un coin de votre écran, comme dans la capture d'écran ci-dessous.

Secure Code Warrior Vidéo d'introduction

Cependant, ces superpositions présentent des risques pour la sécurité. Comment Facebook pourrait-il savoir que nous avons appuyé sur la bulle ou que nous l'avons fait glisser ? Cela permet aux applications de vous espionner et de voler potentiellement des mots de passe et des données de carte de crédit.

Un peu plus loin, et c'est de là que vient le terme tapjacking, les overlays peuvent dessiner des choses au-dessus d'autres applications en trompant l'utilisateur pour qu'il effectue différentes actions. L'utilisateur pense qu'il interagit avec la superposition, mais en réalité, ses tapotements exécutent également des actions dans l'application sous-jacente. De cette manière, la superposition peut vous inciter à activer certaines permissions ou à modifier certains paramètres dangereux, comme le montre cette ancienne vidéo de YouTube.

La vidéo de démonstration ci-dessus a été téléchargée sur YouTube en 2010, elle a donc été réalisée sur une ancienne version d'Android. Mais l'attaque est toujours d'actualité, car des vulnérabilités permettant le tapjacking dans les versions plus récentes d'Android, comme Nougat et Marshmallow, ont été mises en lumière.

Que pouvez-vous faire à ce sujet ? En tant qu'utilisateur, il est important de prendre conscience des conséquences de ces superpositions et d'être attentif aux applications qui les utilisent. Depuis le niveau 23 de l'API (Android 6.0 Marshmallow), il s'agit d'une permission qui doit être explicitement accordée par l'utilisateur. Toutefois, 50 % des utilisateurs d'Androidsont encore vulnérables. Vous pouvez toujours vérifier quelles applications utilisent cette permission dans les paramètres sous "Affichage par rapport aux autres applications".

En tant que développeurs, nous devons nous assurer que les actions de l'utilisateur sont effectuées en toute connaissance de cause et avec son consentement. Android fournit un paramètre pour vos vues qui fait exactement cela, appelé filterTouchesWhenObscured. Lorsqu'il est activé, le framework écarte les touches reçues lorsque la fenêtre de la vue est masquée par une autre fenêtre visible. C'est aussi simple que cela, définissez filterTouchesWhenObscured à true, et votre application sera à l'abri du tapjacking.

Bonne chance et à la semaine prochaine !

Il est parfois essentiel qu'une application puisse vérifier qu'une action est effectuée en toute connaissance de cause et avec le consentement de l'utilisateur, par exemple pour accorder une demande d'autorisation, effectuer un achat ou cliquer sur une publicité. Malheureusement, une application malveillante pourrait essayer de tromper l'utilisateur pour qu'il effectue ces actions à son insu, en dissimulant l'objectif de la vue.

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

Table des matières

Télécharger le PDF
Voir la ressource
Vous souhaitez en savoir plus ?

Chercheur en sécurité applicative - Ingénieur R&D - Doctorant

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Réservez une démonstrationTélécharger
Partager sur :
Centre de ressources

Ressources pour vous aider à démarrer

Plus d'articles
Centre de ressources

Ressources pour vous aider à démarrer

Plus d'articles