12 de septiembre de 2026

SOCaaS

Centro de Operaciones de Seguridad como servicio

Los ataques a intérpretes de códigos de bytes oscurecen las actividades de inyección maliciosas


Los atacantes pueden ocultar sus intentos de ejecutar código malicioso insertando instrucciones en el código de máquina en memoria utilizado por los intérpretes de software de muchos lenguajes de programación como VBScript y Python, como demostrará un grupo de investigadores japoneses en la próxima conferencia Black Hat USA. semana .

Los intérpretes toman código de software legible por humanos y traducen cada línea en código de bytes: instrucciones de programación granulares que la máquina subyacente, a menudo virtual, entiende. El equipo de investigación logró insertar instrucciones maliciosas en el código de bytes almacenado en la memoria antes de la ejecución y, dado que la mayoría de los programas de seguridad no escanean el código de bytes, sus cambios no fueron detectados.

Esta técnica podría permitir a los atacantes ocultar sus actividades maliciosas a la mayoría del software de seguridad de terminales. Investigadores de NTT Security Holdings Corp. y la Universidad de Tokio demostrará esta posibilidad en Black Hat. con el intérprete de VBScriptdice Toshinori Usui, científico de NTT Security. Los investigadores ya han confirmado que la técnica también funciona para insertar código malicioso en los procesos en memoria de los intérpretes Python y Lua.

«El malware a menudo oculta su comportamiento inyectando código malicioso en procesos inofensivos, pero los ataques de tipo inyección existentes tienen comportamientos distintivos… que son fácilmente detectados por los productos de seguridad», dice Usui. «Al intérprete no le importa que un proceso remoto lo sobrescriba, por lo que podemos reemplazar fácilmente el código de bytes generado con nuestro código malicioso, y esa es exactamente la característica que explotamos».

Los ataques de código de bytes no son necesariamente nuevos, pero son relativamente novedosos. En 2018, un grupo de investigadores de la Universidad de California en Irvine publicó un artículo, «Los ataques de corrupción de códigos de bytes son reales y cómo defenderse de ellos» Presentamos ataques y defensas de código de bytes. El año pasado, los administradores de Python Package Index (PyPI) eliminaron un paquete malicioso llamado fshec2 que inicialmente no fue detectado porque Todo el código malicioso se compiló como código de bytes.. Python compila su código de bytes en archivos PYC que pueden ser ejecutados por el intérprete de Python.

«Puede ser el primer ataque a la cadena de suministro que aprovecha el hecho de que los archivos de código de bytes de Python (PYC) se pueden ejecutar directamente, y se produce en medio de un aumento en los envíos maliciosos al índice de paquetes de Python», dijo Karlo Zanki, ingeniero inverso de ReversingLabs. dijo en un análisis del incidente de junio de 2023. «Si es así, esto representa un riesgo adicional para la cadena de suministro, ya que es probable que la mayoría de las herramientas de seguridad que solo escanean archivos de código fuente (PY) de Python pasen por alto este tipo de ataques».

Más que malware precompilado

Después de un compromiso inicial, los atacantes tienen algunas opciones para extender su control sobre un sistema comprometido: pueden realizar trabajos de reconocimiento, intentar comprometer aún más el sistema utilizando malware o ejecutar herramientas que ya están en el sistema, lo que se conoce como «ganancia de vida». -el-sistema». estrategia «tierra».

La variante de las técnicas de ataque de código de bytes de los investigadores de NTT esencialmente cae en la última categoría. En lugar de utilizar archivos de código de bytes precompilados, su ataque, llamado Bytecode Jiu-Jitsu, implica inyectar código de bytes malicioso en la memoria de un intérprete en ejecución. Dado que la mayoría de las herramientas de seguridad no inspeccionan el código de bytes en la memoria, el ataque puede ocultar las instrucciones maliciosas de la inspección.

Este enfoque permite a los atacantes omitir otros pasos obviamente maliciosos, como llamar a API sospechosas para crear subprocesos, asignar memoria ejecutable y modificar punteros de instrucciones, afirma Usui.

«Si bien el código nativo contiene instrucciones que la CPU ejecuta directamente, los códigos de bytes para la CPU son solo datos que el intérprete interpreta y ejecuta», dice. “Por lo tanto, a diferencia del código nativo, el código de bytes no requiere permiso de ejecución. [and our technique] No es necesario preparar un área de almacenamiento con permiso de ejecución».

Mejor defensa para los intérpretes

Los desarrolladores de intérpretes, los desarrolladores de herramientas de seguridad y los arquitectos de sistemas operativos pueden tener alguna influencia en el problema. Si bien los ataques al código de bytes no explotan las vulnerabilidades de los intérpretes sino más bien la forma en que ejecutan el código, ciertas modificaciones de seguridad, como las sumas de verificación de punteros, podrían mitigar el riesgo, según el documento de UC Irvine.

Los investigadores de NTT Security determinaron que la defensa de suma de comprobación probablemente no sería eficaz contra sus técnicas y recomendaron que los desarrolladores aplicaran medidas de protección contra escritura para eliminar el riesgo. “La contramedida definitiva es limitar la escritura de memoria al intérprete”, dice Usui.

El propósito de mostrar una nueva técnica de ataque es mostrar a los investigadores y defensores de la seguridad lo que podría ser posible, no enseñar tácticas a los atacantes, enfatiza. «Nuestro objetivo no es abusar de las tácticas defensivas, sino, en última instancia, ser una señal de alarma para los investigadores de seguridad de todo el mundo», afirma.





Nos llegó este contenido de ciberseguridad de: DarkReading

Podrás encontrar la noticia original en el siguiente enlace: https://www.darkreading.com/vulnerabilities-threats/attacks-on-bytecode-interpreters-conceal-malicious-injection-activity

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *