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.

Post-Quantum Cryptography: Quantum Computers Will Break Today’s Encryption – Are You Ready?
Post-quantum cryptography (PQC) is critical for protecting data from quantum computing threats. Learn how “harvest now, decrypt later” exposes risk and how developers can prepare for quantum-safe security.

Observe and Secure the ADLC: A Four-Point Framework for CISOs and Development Teams Using AI
While development teams look to make the most of GenAI’s undeniable benefits, we’d like to propose a four-point foundational framework that will allow security leaders to deploy AI coding tools and agents with a higher, more relevant standard of security best practices. It details exactly what enterprises can do to ensure safe, secure code development right now, and as agentic AI becomes an even bigger factor in the future.
Secure AI-driven development before it ships
See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.