¿Peligro de extensión del navegador sin ningún permiso?

5

Suponiendo que una extensión para Firefox o Chrome no solicite Permiso de WebExtensions , ¿qué daño podría hacer esta extensión?

O dicho de otra forma: ¿qué acciones (potencialmente maliciosas) puede realizar una extensión sin permisos que un sitio web normal no podría hacer?

    
pregunta tim 20.10.2018 - 09:12
fuente

1 respuesta

0

Esto es sorprendentemente difícil de encontrar información.

De forma predeterminada, las extensiones están sujetas a una Política de seguridad de contenido (CSP) de:

"script-src 'self'; object-src 'self';"

En este caso, la palabra clave self se refiere al paquete de extensión y, por lo tanto, pueden acceder a cualquier archivo que esté incluido en el mismo paquete de extensión. Esto sugiere fuertemente que las extensiones no pueden acceder a ningún script que esté alojado en otro lugar, sin que se anule el CSP predeterminado. Del mismo modo, no pueden ejecutar scripts usando eval sin permitirlo explícitamente.

Sin embargo, esto no requiere realmente un permiso, por lo que, en teoría, dada una falla JS autocontenida que puede comprometer el navegador, una extensión sin permisos podría ejecutar código arbitrario. Esto tiene un beneficio limitado: tal falla supuestamente funcionaría también desde una página web, por lo que no cumple con sus requisitos.

Basado en el repositorio de ejemplos de extensiones web , los permisos explícitos son no es necesario cambiar el estilo de un sitio específico (por ejemplo, el ejemplo de borderify), el contenido de texto que se muestra al usuario (por ejemplo, el ejemplo de Sustitución de Emoji), o copiar datos de páginas al portapapeles del sistema (ejemplo de elección a portapapeles) - el ejemplo del portapapeles no requiere la capacidad de "Acceder a sus datos para todos los sitios web", lo que está implícitamente otorgado por el valor content_scripts value <all_urls> .

Por lo tanto, es posible ver algunas acciones maliciosas potenciales, aunque parece posible que los sitios las bloqueen (consulte las notas sobre addons.mozilla.org que prohíben los scripts de contenido):

  • Cambie el destino de los formularios, para que los datos se envíen a un tercero al enviarlos (envío activado por el usuario; esto es solo un cambio de texto)
  • Modifique los valores que se muestran en las páginas (por ejemplo, cambie el objetivo de los pagos de banca en línea donde no se usa un segundo factor para confirmar esto, agregue un mensaje de "perdonó su pago, inténtelo de nuevo" cuando la página devuelva un "pago" completar "mensaje)
  • Combine con otra aplicación que pueda leer el contenido del portapapeles, y use la extensión para obtener datos más útiles en el portapapeles (por ejemplo, copiar valores de sitios registrados que no están visibles de otra manera)

Todo esto depende de que el actor malintencionado pueda hacer conjeturas razonables sobre qué páginas visitarán los usuarios, pero si se asume que una base de usuarios grande, esto se convierte en un juego de números, probablemente alguien visite la página de destino en algún momento.

    
respondido por el Matthew 22.10.2018 - 16:56
fuente

Lea otras preguntas en las etiquetas