Técnica de codificación segura: hablemos de Tapjacking

Tapjacking, una combinación de «toque» y «secuestro», significa precisamente eso. Se trata de un ataque en el que el atacante secuestra los toques del usuario y lo engaña para que haga algo que no pretendía. Entonces, ¿cómo funciona y cómo lo prevenimos?
Empezaremos nuestra historia con superposiciones de pantalla. Superposiciones de pantalla o, como las llama Google, ventanas con el tipo TYPE_APPLICATION_OVERLAY. Se trata de ventanas que se dibujan sobre otras aplicaciones y, por lo general, solo ocultan una parte de la pantalla. Se utilizan con frecuencia (como en la imagen de ejemplo que aparece a continuación) cuando una aplicación solicita nuevos permisos.

De hecho, esta es una función genial y divertida, y cada vez más aplicaciones comienzan a usarla, piense en las burbujas de chat de Facebook o en la navegación de Google Maps en una esquina de la pantalla, como en la captura de pantalla de abajo.

Sin embargo, existen algunos riesgos de seguridad relacionados con estas superposiciones. Cualquier pantalla superpuesta activa puede escuchar los toques. ¿De qué otra manera sabría Facebook que hemos pulsado o arrastrado la burbuja? Esto permite que las aplicaciones te espíen y, potencialmente, roben contraseñas y datos de tarjetas de crédito.
Un paso más allá, y de ahí proviene el término tapjacking, las superposiciones pueden dibujar cosas sobre otras aplicaciones engañando al usuario para que realice diferentes acciones. El usuario cree que está interactuando con la superposición, pero en realidad, sus toques también realizan acciones en la aplicación subyacente. De esta forma, la superposición puede engañarte para que habilites ciertos permisos o cambies algunas configuraciones peligrosas, como se demuestra en este artículo vídeo antiguo de YouTube.
El vídeo de demostración de arriba se subió a YouTube en 2010, por lo que se hizo en una versión anterior de Android. Sin embargo, el ataque sigue siendo relevante hoy en día, ya que vulnerabilidades salió a la luz que permite el tapjacking en versiones más recientes de Android, como Nougat y Marshmallow.
Entonces, ¿qué puedes hacer al respecto? Como usuario, es importante darse cuenta de las consecuencias de estas superposiciones y estar al tanto de las aplicaciones que las utilizan. A partir del nivel 23 de API (Android 6.0 Marshmallow), se ha convertido en un permiso que tiene que ser otorgado explícitamente por el usuario. Sin embargo, eso deja 50% de Androidlos usuarios siguen siendo vulnerables. Aún puedes comprobar qué aplicaciones hacen uso de este permiso en la configuración, en la sección «Mostrar en lugar de otras aplicaciones».
Como desarrolladores, nos corresponde a nosotros asegurarnos de que las acciones de los usuarios se realicen con el pleno conocimiento y consentimiento del usuario. Android proporciona una configuración para tus vistas que hace precisamente eso, denominada Filtra los toques cuando están oscurecidos. Cuando está habilitada, el marco descartará los toques que se reciban cada vez que la ventana de vistas quede oculta por otra ventana visible. Es tan simple como eso, ¡listo! Filtra los toques cuando están oscurecidos a la verdad, y tu aplicación está a salvo del robo de información.
¡Buena suerte y nos vemos la semana que viene!
A veces es esencial que una aplicación pueda verificar que una acción se está realizando con el pleno conocimiento y consentimiento del usuario, como conceder una solicitud de permiso, realizar una compra o hacer clic en un anuncio. Lamentablemente, una aplicación malintencionada podría intentar engañar al usuario para que realice estas acciones sin saberlo, ocultando el propósito previsto de la visualización.
https://developer.android.com/reference/android/view/View.html
Govern AI-driven development before it ships
Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.
Explore more blogs
Lorem ipsum diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis.
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

One Culture of Security: How Sage built their security champions program with agile secure code learning
Discover how Sage enhanced security with a flexible, relationship-focused approach, creating 200+ security champions and achieving measurable risk reduction.

El futuro de la gobernanza de software de IA se construye sobre asociaciones sólidas
Descubra por qué Secure Code Warrior se está convirtiendo en una empresa centrada en el canal y cómo los socios de confianza ayudan a las organizaciones a adoptar la gobernanza de software de IA de forma segura y a escala.
Secure AI-driven development before it ships
See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.

