Las aplicaciones de Facebook e Instagram para iOS y Android ofrecen la capacidad de abrir enlaces y anuncios de terceros dentro de su propio navegador integrado en la app. Esto provoca varios riesgos para el usuario, dado que las aplicaciones pueden registrar cada interacción con los sitios web visitados, incluidos los datos introducidos, como direcciones, contraseñas etc…

Qué ocurre con los enlaces en Instagram?

  • Los enlaces a sitios web externos se abren dentro de la propia app de Instagram, en vez de abrirse con Safari, Chrome o cualquier otro navegador instalado.
  • Esto permite a Instagram monitorizar todo lo que ocurre en estos sitios web externos, sin consentimiento alguno del propio usuario, ni de la web visitada.
  • La app de Instagram inyecta su propio código JavaScript en todas las webs visitadas, incluido también en los ‘clics’ del usuario. Esto permite monitorizar cualquier interacción con la web, como pulsar un botón o un enlace, selección de texto, capturas de pantalla, y la introducción de datos personales (nombres, nº de tarjetas, direcciones, contraseñas etc…).

Se supone que es un problema?

Los fabricantes han incluido sus propios métodos para evitar que cualquier app pueda registrar datos ajenos a ella. Lo hacen de esta manera:

Con cerca de mil millones de usuarios activos en Instagram, te podrás imaginar la cantidad ingente de datos que Instagram está recogiendo de sus usuarios.

Respuestas para usuarios sin conocimiento técnicos

  • Instagram y Facebook pueden ver todo lo que hago online?
    • No, solo pueden ver lo que haces cuando abres un enlace o anuncio dentro de su app, con su navegador integrado.
  • Facebook roba mis contraseñas, direcciones y nº de tarjetas de crédito?
    • No, no podemos decir con precisión qué datos están recopilando, pero tiene capacidad para rastrear cualquier tipo de dato.
  • Cómo puedo protegerme?
    • Cada vez que abras un enlace o anuncio en Instagram, Facebook, o Messenger, asegúrate de tocar los 3 puntos en la esquina superior, y pulsa sobre ‘Abrir en el navegador

Qué código se inyecta?

El archivo externo de JavaScript que inyecta la app de Instagram, es el código que hace de puente entre la app y las webs visitadas. Según ‘Meta’, este código ayuda a agregar eventos (ej: en compras online) para su uso posterior a la hora de hacer campañas publicitarias y métricas de usuarios en la plataforma publicitaria de Facebook.

Riesgos y desventajas al usar el navegador integrado de Instagram

  • Privacidad & Analíticas
    • La app puede rastrear todo lo que sucede en el sitio web visitado, cada clic, desplazamiento, contenido copiado y pegado, y los propios datos introducidos en dichas webs.
  • Robo de credenciales y datos
    • Instagram tiene la capacidad de leer las credenciales introducidas en estas webs, así como claves de API, cookies etc…
  • Anuncios y referidos
    • La app de Instagram puede inyectar anuncios en las webs visitadas, o reemplazar la ‘API Key’ para hacerse con las recompensas de clics publicitarios.
  • Seguridad
    • Los navegadores llevan años optimizando la seguridad a la hora de navegar por internet. Los indicadores de sitios seguros (https) permiten a los usuarios tener un mayor control sobre cómo se envían sus datos desde y hacia la web.
    • La inyección de código JavaScript adicional en otras webs, puede provocar problemas en el funcionamiento y diseño, dejando la web con mal funciones o directamente inutilizable.
Te puede interesar:  Winrar: detectada una nueva vulnerabilidad crítica

El navegador integrado en la app de Instagram admite el autocompletado de tu dirección e información de pago. Sin embargo, no hay una razón legítima para que esto exista, dado que todo esto ya está integrado en el sistema operativo o en el navegador web en sí.

Cómo protegerte como usuario

  1. Huye del navegador integrado en la app
    • La mayoría de los navegadores integrados en la aplicación tienen una forma de abrir el sitio web en el navegador del sistema (Safari/Chrome). Tan pronto abras un enlace en Instagram, toca los 3 puntos para abrir el enlace en tu navegador.
  2. Utiliza la versión web
    • La mayoría de redes sociales, incluyendo Facebook e Instagram, tienen una versión web prácticamente igual de funcional que la app. Entra con Safari o Chrome directamente a facebook.com o instagram.com

Cómo proteger tu propio sitio web

Hasta que Instagram resuelva el problema (si es que lo hace), puedes ‘saltarte’ fácilmente la inyección de código haciéndole creer que ya está insertado en tu sitio web. Para ello basta con que incluyas el siguiente código HTML en el ‘header’ de tu sitio web:

<span id="iab-pcm-sdk"></span>
<span id="iab-autofill-sdk"></span>

Por otro lado, para prevenir que Instagram monitorice la selección de textos en tu web, incluye el siguiente código también en el ‘header’:

const originalEventListener = document.addEventListener
document.addEventListener = function(a, b) {
    if (b.toString().indexOf("messageHandlers.fb_getSelection") > -1) {
        return null;
    }
    return originalEventListener.apply(this, arguments);
}

Esto no va a solucionar que Instagram deje de inyectar código en todas las webs, pero al menos no va a ser inyectado en tu propia web, protegiendo así a tus usuarios.

Fuente y más información (en inglés)