Nueva herramienta para encontrar vulnerabilidades en la forma en que aplicaciones como Microsoft Word y Adobe Acrobat procesan JavaScript. Ataque de mutación cooperativa

Un grupo de investigadores desarrolló una herramienta capaz de detectar errores en la forma en que aplicaciones como Adobe Acrobat o Microsoft Word procesan el código JavaScript, lo que ha permitido encontrar un total de 134 fallas de seguridad, de las cuales 33 ya han recibido una clave de identificación CVE.

La herramienta se llama “Cooper”, en referencia a la técnica conocida como “Mutación Cooperativa” (Cooperative Mutation) empleada por la herramienta. Xu Peng, especialista en desarrollo de software y coautor de la herramienta, explica que herramientas como las mencionadas aceptan información de lenguajes de script; por ejemplo, Acrobat permite que JavaScript manipule archivos PDF.

Esto requiere que el PDF defina objetos PDF nativos y analice el código JavaScript. Los objetos nativos son procesados por módulos de Acrobat y un motor de JavaScript incorporado maneja los scripts, mientras que una “capa de unión” hace la traducción.

Xu y sus colaboradores afirman que el código vinculante puede verse vulnerable a una semántica inconsistente y a diversos vacíos de seguridad, lo que podría conducir a severas vulnerabilidades. Empleando Cooper, los investigadores pudieron identificar CVE-2021-21035 y CVE-2021-21028, dos vulnerabilidades severas en Adobe Acrobat.

Los desarrolladores de Cooper pudieron encontrar estos errores debido a que la técnica de mutación cooperativa modifica simultáneamente el código del script y los objetos del documento relacionado para explorar varias rutas del código vinculante. Este es un enfoque innovador y contrasta con otras técnicas de seguridad basadas en la búsqueda de fallas en scripts.

Cooper cuenta con tres componentes principales:

  • Agrupación de objetos: Par comenzar, Cooper analiza los documentos de muestra dados para extraer objetos nativos. Para reducir el espacio de búsqueda de objetos, la herramienta clasifica los objetos según sus atributos
  • Inferencia de relación: Posteriormente, la herramienta produce una gran cantidad de documentos mediante la combinación de diferentes clases de objetos y grupos de API, registrando los resultados de ejecución de los scripts integrados. Según la tasa de éxito de la ejecución del script y la distribución de las clases de objetos, Cooper infiere las relaciones entre los grupos de API y las clases de objetos
  • Mutación guiada por relación: Finalmente, Cooper aprovecha la relación inferida para guiar la selección de objetos, la generación de scripts y la mutación de objetos

Cooper puede ser descrito como una herramienta de fuzzing, capaz de inferir las relaciones para guiar el proceso de búsqueda de condiciones bajo las cuales los scripts y aplicaciones entran en un comportamiento no deseado.

La herramienta está disponible en las plataformas oficiales de los desarrolladores.

Para conocer más sobre riesgos de seguridad informática, malware, vulnerabilidades y tecnologías de la información, no dude en ingresar al sitio web del Instituto Internacional de Seguridad Cibernética (IICS).