Blog

Técnica de programación segura: Hablemos sobre el Tapjacking

October 31, 2017
Pieter De Cremer
Persona con una camisa rosa y vaqueros sosteniendo un smartphone con el pulgar cerca de la pantalla.

El tapjacking, una combinación de "tap" (toque) y "hijacking" (secuestro), significa exactamente eso. Es 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 podemos prevenirlo?

Comencemos nuestra historia con las superposiciones de pantalla. Las superposiciones de pantalla, o como las llama Google, ventanas que usan el tipo TYPE_APPLICATION_OVERLAY. Son ventanas que se dibujan sobre otras aplicaciones y, por lo general, solo ocultan una parte de la pantalla. A menudo se utilizan (como en la imagen de ejemplo a continuación) cuando una aplicación solicita nuevos permisos.

Allow Application To Access Your Contact Popup

En realidad, esta es una función genial y divertida que cada vez más aplicaciones empiezan a utilizar; piense en las burbujas de chat de Facebook o en la navegación de Google Maps en una esquina de su pantalla, como en la captura de pantalla a continuación.

Secure Code Warrior Introduction Video

Sin embargo, existen algunos riesgos de seguridad relacionados con estas superposiciones. Cualquier superposición de pantalla activa puede detectar toques; ¿de qué otra manera sabría Facebook que tocamos o arrastramos la burbuja? Esto permite que las aplicaciones lo espíen y potencialmente roben contraseñas y datos de tarjetas de crédito.

Un paso más allá, y de aquí proviene el término tapjacking, las superposiciones pueden dibujar elementos 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 manera, la superposición puede engañarlo para que habilite ciertos permisos o cambie configuraciones peligrosas, como se demuestra en este video antiguo de YouTube.

El video de demostración anterior se subió a YouTube en 2010, por lo que se realizó en una versión anterior de Android. Pero el ataque sigue siendo relevante hoy en día, ya que han salido a la luz vulnerabilidades que permiten el tapjacking en versiones más recientes de Android, como Nougat y Marshmallow.

Entonces, ¿qué puede hacer al respecto? Como usuario, es importante comprender las consecuencias de estas superposiciones y estar atento a las aplicaciones que las utilizan. A partir del nivel de API 23 (Android 6.0 Marshmallow), esto se ha convertido en un permiso que debe ser otorgado explícitamente por el usuario. Sin embargo, eso deja al 50% de los usuarios de Android aún vulnerables. Todavía puede verificar qué aplicaciones hacen uso de este permiso en la configuración, bajo "Mostrar sobre otras aplicaciones".

Como desarrolladores, depende de nosotros asegurarnos de que las acciones del usuario se realicen con su pleno conocimiento y consentimiento. Android proporciona una configuración para sus vistas que hace exactamente eso, llamada filterTouchesWhenObscured. Cuando está habilitada, el marco descartará los toques recibidos siempre que la ventana de la vista esté oculta por otra ventana visible. Es así de simple: establezca filterTouchesWhenObscured en verdadero y su aplicación estará a salvo del tapjacking.

¡Buena suerte y nos vemos la próxima semana!

A veces es fundamental que una aplicación pueda verificar que una acción se realiza con el pleno conocimiento y consentimiento del usuario, como al otorgar una solicitud de permiso, realizar una compra o hacer clic en un anuncio. Desafortunadamente, una aplicación maliciosa podría intentar engañar al usuario para que realice estas acciones sin saberlo, ocultando el propósito previsto de la vista.

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

Eslogan

Controle el desarrollo impulsado por IA antes de su lanzamiento

Mida el riesgo asistido por IA, aplique políticas de codificación segura en el momento de la confirmación y acelere la entrega segura en todo su ciclo de vida de desarrollo de software (SDLC).

Reservar una demostración
Biblioteca de recursos

Explorar más blogs

Acceda a contenido especializado sobre programación segura, gobernanza de IA y gestión de riesgos de software.

ver todo
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Una cultura de seguridad: cómo Sage creó su programa de defensores

Descubre cómo Sage reforzó su seguridad con un enfoque flexible y centrado en las relaciones, logrando formar a más de 200 expertos en seguridad y alcanzar una reducción de riesgos cuantificable.

Más información
Icono de ventana de navegador con las letras KVK en negrita y dos líneas horizontales azules debajo sobre un fondo azul degradado.
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Kamer van Koophandel: Seguridad a escala impulsada por los desarrolladores

La Cámara de Comercio (Kamer van Koophandel) comparte cómo integró la programación segura en el desarrollo diario mediante certificaciones basadas en roles, evaluaciones comparativas de puntuación de confianza y una cultura de responsabilidad compartida en seguridad.

Más información
Logotipo de Insurance Australia Group con texto y un icono en azul y gris dentro del diseño de una ventana de navegador web.
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Cómo un «Juego de Códigos» guía a IAG Group hacia un futuro de programación más seguro

IAG Group es la entidad detrás de muchas de las principales compañías de seguros en la región de Asia-Pacífico, que suscribe pólizas para millones de clientes por un valor aproximado de 11.400 millones de dólares australianos en primas anuales.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Mes de la Concienciación sobre Ciberseguridad 2026: Comprender la seguridad de la IA es fundamental para la defensa empresarial

Hemos llegado a un punto en el que la mayoría de las principales empresas de IA han pedido públicamente una ralentización global en el desarrollo de la IA para que las medidas de seguridad puedan ponerse al día, pero la verdad es que ya se han materializado graves problemas de seguridad. Esto deja a innumerables líderes de seguridad y equipos ejecutivos en una situación urgente, a medida que los costes monetarios y de riesgo de la implementación de la IA siguen acumulándose.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Habilitador 8: Branding de su programa

Un programa de codificación segura necesita algo más que un buen contenido para tener éxito. El Habilitador 8 muestra cómo el branding transforma la participación en una experiencia codiciada basada en el estatus.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Cada empleado está ahora en la primera línea de la ciberseguridad de la IA

El panorama tecnológico empresarial está cambiando a una velocidad que pocos previeron hasta que fue demasiado tarde. Hemos cruzado oficialmente el umbral del código escrito por humanos y la asistencia básica de copilotos hacia la era del Ciclo de Vida de Desarrollo Agéntico (ADLC). Si bien los agentes de IA autónomos prometen una eficiencia sin precedentes en múltiples funciones, también traen consigo una clase completamente nueva de riesgos regulatorios y de seguridad.

Más información

Proteja el desarrollo basado en IA antes de su lanzamiento

Identifique riesgos de desarrollo, aplique políticas y prevenga vulnerabilidades en todo el ciclo de vida de su software.

Reservar una demostración
No se encontraron elementos.