Technique de codage sécurisé : Parlons du Tapjacking
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.
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.
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
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.
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émonstrationChercheur en sécurité applicative - Ingénieur R&D - Doctorant
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.
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.
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
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.
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.
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
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émonstrationChercheur en sécurité applicative - Ingénieur R&D - Doctorant
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.
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.
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
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échargerRessources pour vous aider à démarrer
Évaluation comparative des compétences en matière de sécurité : Rationalisation de la conception sécurisée dans l'entreprise
Le mouvement "Secure-by-Design" (conception sécurisée) est l'avenir du développement de logiciels sécurisés. Découvrez les éléments clés que les entreprises doivent garder à l'esprit lorsqu'elles envisagent une initiative de conception sécurisée.
DigitalOcean réduit sa dette de sécurité avec Secure Code Warrior
L'utilisation par DigitalOcean de la formation Secure Code Warrior a considérablement réduit la dette de sécurité, permettant aux équipes de se concentrer davantage sur l'innovation et la productivité. L'amélioration de la sécurité a renforcé la qualité des produits et l'avantage concurrentiel de l'entreprise. À l'avenir, le score de confiance SCW les aidera à améliorer leurs pratiques de sécurité et à continuer à stimuler l'innovation.
Ressources pour vous aider à démarrer
La note de confiance révèle la valeur des initiatives d'amélioration de la sécurité par la conception
Nos recherches ont montré que la formation au code sécurisé fonctionne. Le Trust Score, qui utilise un algorithme s'appuyant sur plus de 20 millions de points de données d'apprentissage issus du travail de plus de 250 000 apprenants dans plus de 600 organisations, révèle son efficacité à réduire les vulnérabilités et la manière de rendre l'initiative encore plus efficace.
Sécurité réactive contre sécurité préventive : La prévention est un meilleur remède
L'idée d'apporter une sécurité préventive aux codes et systèmes existants en même temps qu'aux applications plus récentes peut sembler décourageante, mais une approche "Secure-by-Design", mise en œuvre en améliorant les compétences des développeurs, permet d'appliquer les meilleures pratiques de sécurité à ces systèmes. C'est la meilleure chance qu'ont de nombreuses organisations d'améliorer leur sécurité.
Les avantages de l'évaluation des compétences des développeurs en matière de sécurité
L'importance croissante accordée au code sécurisé et aux principes de conception sécurisée exige que les développeurs soient formés à la cybersécurité dès le début du cycle de développement durable, et que des outils tels que le Trust Score de Secure Code Warriorles aident à mesurer et à améliorer leurs progrès.
Assurer le succès des initiatives de conception sécurisée de l'entreprise
Notre dernier document de recherche, Benchmarking Security Skills : Streamlining Secure-by-Design in the Enterprise est le résultat d'une analyse approfondie d'initiatives réelles de conception sécurisée au niveau de l'entreprise, et de l'élaboration d'approches de meilleures pratiques basées sur des conclusions fondées sur des données.