Mozilla implementa la proteccion contra ataques de inyeccion de codigo en Firefox

firefox

Mozilla implementó medidas de protección para bloquear los ataques de inyección de código en el navegador web Firefox, y la superficie de ataque se redujo al eliminar funciones similares a eval () y ocurrencias de scripts en línea.

"Una forma efectiva y comprobada de contrarrestar los ataques de inyección de código es reducir la superficie de ataque mediante la eliminación de artefactos potencialmente peligrosos en la base de código y, por lo tanto, endurecer el código en varios niveles", dijo el equipo de seguridad de Mozilla hoy.

"Para hacer que Firefox sea resistente a tales ataques de inyección de código, eliminamos las apariciones de scripts en línea, así como también eliminamos las funciones similares a eval()".

Eliminación de scripts en línea

Mozilla reescribió todo el controlador de eventos en línea y movió el código JavaScript en línea a los archivos empaquetados para todo Firefox sobre: ​​páginas, una lista de las 45 que están disponibles aquí , que están expuestas a ataques de inyección de código a través de scripts en línea.

Este tipo de páginas están diseñadas para proporcionar a los usuarios una interfaz simple para inspeccionar información relacionada con el funcionamiento interno de Firefox, como es el caso de la página about: config que "expone una API para inspeccionar y actualizar preferencias y configuraciones".

Dado que: las páginas usan HTML y JavaScript como páginas web normales, los posibles atacantes podrían aprovechar eso para inyectar scripts maliciosos en el contexto de seguridad del navegador y así poder realizar acciones arbitrarias en nombre de los usuarios de Firefox.

"Esto nos permitió aplicar una política de seguridad de contenido (CSP) sólida como 'default-src chrome:' que asegura que el código JavaScript inyectado no se ejecute", dice Mozilla. "En cambio, el código JavaScript solo se ejecuta cuando se carga desde un recurso empaquetado utilizando el protocolo chrome interno".

Al hacer que sea imposible inyectar scripts en línea dentro de las páginas about: de Firefox, Mozilla ha creado una barrera eficiente contra los ataques de inyección de código que podría conducir a la ejecución de código arbitrario al abusar de este vector de ataque.

Aserciones de tiempo de ejecución para no permitir funciones eval()

"La función JavaScript eval (), junto con la 'nueva función' y 'setTimeout () / setInterval ()' similares, es una herramienta poderosa pero peligrosa. Analiza y ejecuta una cadena arbitraria en el mismo contexto de seguridad que ella misma". También agrega el equipo de seguridad de Mozilla.

"Este esquema de ejecución permite convenientemente ejecutar código generado en tiempo de ejecución o almacenado en ubicaciones que no sean de script, como el Modelo de Objeto de Documento (DOM)".

Como Mozilla detalla más en sus documentos web de desarrollo, "eval () es una función peligrosa, que ejecuta el código que se pasa con los privilegios de la persona que llama. Si ejecuta eval () con una cadena que podría verse afectada por una parte maliciosa, puede terminar ejecutando código malicioso en la máquina del usuario con los permisos de su página web / extensión ".

Para contrarrestar este problema, Mozilla también ha reescrito "todo el uso de funciones similares a 'eval ()' desde contextos privilegiados del sistema y desde el proceso padre en la base de código de Firefox" para frenar el uso de eval () y así reducir aún más la superficie de ataque .

Las aserciones de tiempo de ejecución también se han agregado a la base de código de Firefox, una medida diseñada para no permitir funciones similares a eval () en contextos de script con privilegios del sistema.

Mozilla también descubrió llamadas a eval () fuera de la base de código de Firefox mientras trabajaba para eliminar todas las funciones similares a eval (). Por ejemplo, los usuarios de Firefox incluirían funciones eval () dentro de los archivos de personalización como userChrome.js para personalizar Firefox en el momento del inicio.

Las verificaciones de tiempo de ejecución del equipo de seguridad de Mozilla validaron que los usuarios sí incluyeron evaluaciones en algunos de estos archivos de personalización. Para permitir a los usuarios personalizar su experiencia de Firefox, Mozilla dice que el navegador deshabilitará el "mecanismo de bloqueo y permitirá el uso de eval ()".

"En el futuro, nuestras aserciones evaluadas (eval) continuarán informando al equipo de seguridad de Mozilla de instancias aún desconocidas de eval () que auditaremos, evaluaremos y restringiremos a medida que fortalezcamos aún más el panorama de seguridad de Firefox", concluye Mozilla.

Fecha actualización el 2021-10-15. Fecha publicación el 2019-10-15. Categoría: firefox Autor: Oscar olg Mapa del sitio Fuente: bleempingcomputer Version movil