Blog

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

October 31, 2017
Pieter De Cremer

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.

Allow Application To Access Your Contact Popup

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.

Secure Code Warrior Introduction Video

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

Lema

Govern AI-driven development before it ships

Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.

book a demo
Lema

Explore more blogs

Lorem ipsum diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis.

browse all
Case Study
Filter Label
This is some text inside of a div block.

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.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

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

Learn More
Case Study
Filter Label
This is some text inside of a div block.

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.

Learn More
Blog
Filter Label
This is some text inside of a div block.

Are you a CISO or Engineering Leader worried about the Security and Cost of LLM code generation?

Review the SCW AI Trust Index, our proprietary LLM benchmarking data, before going all-in on an AI model.

Learn More
Blog
Filter Label
This is some text inside of a div block.

Enabler 6: Regular Reporting to Leadership

Executive buy-in doesn't sustain itself. Enabler 6 shows how regular reporting keeps leadership engaged, informed, and invested in program success.

Learn More
Blog
Filter Label
This is some text inside of a div block.

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.

Learn More

Secure AI-driven development before it ships

See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.

Book a demo