Simple Science

Ciencia de vanguardia explicada de forma sencilla

# Informática # Criptografía y seguridad # Inteligencia artificial # Computación y lenguaje

Malware y Ofuscación de Código: El Nuevo Frente de Batalla

Explorando cómo las técnicas de ofuscación están transformando el panorama del malware con LLMs.

Seyedreza Mohseni, Seyedali Mohammadi, Deepa Tilwani, Yash Saxena, Gerald Ndawula, Sriram Vema, Edward Raff, Manas Gaur

― 9 minilectura


Ofuscación: El truco Ofuscación: El truco sigiloso del malware evadir la detección. Cómo el malware usa la ofuscación para
Tabla de contenidos

En el mundo de hoy, los programas de computadora están por todas partes, y algunos de esos programas no son precisamente amigables. El malware, por ejemplo, es el malo en el mundo del software. Está diseñado para infiltrarse en tu computadora, robar tus datos o hacer todo tipo de cosas desagradables. Para dificultar que el software de seguridad los atrape, los desarrolladores de malware a menudo usan un truco llamado Ofuscación de Código.

La ofuscación de código es como el juego de manos de un mago. Así como un mago hace que las cosas se vean diferentes y confusas para mantener al público adivinando, la ofuscación de código hace que el código original de un programa se vea distinto para confundir al software de seguridad. De esta manera, incluso si alguien sospecha que un programa es malware, se vuelve mucho más difícil probarlo.

El papel de los modelos de lenguaje grande (LLMs)

Pero ahora, tenemos algo nuevo en el escenario: los Modelos de Lenguaje Grande, o LLMs para abreviar. Estos son sistemas de IA avanzados entrenados con enormes cantidades de texto y código. Tienen el potencial de crear, cambiar e incluso ofuscar código, casi como un pequeño duende útil en un taller de programación.

Imagina un escenario donde, en lugar de un desarrollador de malware trabajando solo y lidiando con un problema de ofuscación, simplemente podría pedir ayuda a un LLM. El LLM puede producir rápidamente nuevas versiones ofuscadas del código, facilitando que los autores de malware creen malware difícil de detectar.

¿Qué es MetamorphASM?

Esto nos lleva a un proyecto llamado MetamorphASM. Este proyecto es básicamente un marco diseñado para probar qué tan bien los LLMs pueden realizar la ofuscación de código. ¡Piensa en ello como un gran parque de diversiones donde la IA se encuentra con el engaño cibernético!

El proyecto MetamorphASM incluye un conjunto de datos conocido como el Conjunto de Datos MetamorphASM (MAD). Este conjunto de datos consta de 328,200 muestras de código ensamblador ofuscado, que busca analizar qué tan efectivamente los LLMs pueden crear y entender estructuras de código complicadas y confusas.

¿Por qué es importante la ofuscación de código?

Puede que te preguntes por qué los autores de malware se molestan en ofuscar. La respuesta se reduce a un juego de escondidas. El software de seguridad a menudo depende de identificar las firmas de malware conocidas para atrapar el software malo. Si el código de malware se ve diferente cada vez que se ejecuta, se vuelve más difícil para los programas de seguridad reconocerlo. Básicamente, una buena y antigua trampa mantiene al malware a salvo de miradas indiscretas.

Diferentes técnicas de ofuscación de código

Hay varias técnicas para la ofuscación de código. Vamos a ver algunas de ellas, y sí, implican un poco de magia de programación:

1. Inserción de Código Muerto

Imagina lanzar un montón de pistas falsas en una novela de misterio. La inserción de código muerto es justo como eso. Implica agregar código extra que no hace nada útil para el programa. El código extra puede ser instrucciones aleatorias que no tienen propósito real, haciendo que el programa original sea más difícil de analizar. Así que, cuando el software de seguridad intenta averiguar qué está haciendo el código, se confunde con este desorden no funcional.

2. Sustitución de Registros

El siguiente es la sustitución de registros. En el mundo de la programación, los registros son como cajas de herramientas. Si cambias las herramientas mientras intentas arreglar algo, puede ser complicado seguir lo que estás haciendo. De manera similar, en la sustitución de registros, el malware reemplaza los nombres de los registros con otros nombres. Así que, si el código original usa EAX (el potente constructor), podría cambiarlo a EBX (el asistente de confianza). La función sigue siendo la misma, pero la apariencia cambia, haciéndolo más complicado para el software de seguridad localizar el problema.

3. Cambio de Flujo de Control

Finalmente, está el cambio de flujo de control. Esta técnica reorganiza el orden de las instrucciones en un programa mientras mantiene intacta su funcionalidad. Imagina leer una receta que sigue cambiando el orden de los pasos. Un momento estás mezclando ingredientes, ¡y al siguiente estás horneando el pastel! Esto dificulta que los sistemas de seguridad entiendan qué está haciendo el malware, ya que el flujo lógico de las operaciones se vuelve impredecible y caótico.

El desafío para el software de seguridad

El software de seguridad, o programas antivirus, trabaja incansablemente para mantener nuestros dispositivos seguros. Sin embargo, a medida que los autores de malware se vuelven más creativos con la ofuscación, esta tarea se vuelve cada vez más difícil. Cuanto más complejas y variadas son las técnicas de ofuscación, más complicado es para los programas de seguridad detectarlas.

Aquí es donde entra en juego el proyecto MetamorphASM. Su objetivo es estudiar qué tan bien los LLMs pueden manejar la ofuscación. Si los LLMs pueden aprender a generar código ofuscado, entonces también pueden ser una herramienta para que los investigadores de seguridad contrarrestar el malware.

¿Cómo funciona MetamorphASM?

El primer paso en el proyecto MetamorphASM consistió en recopilar un gran conjunto de datos de código ensamblador. Este código se recolectó de varios programas de software, apuntando específicamente a los que se ejecutan en sistemas Windows. Una vez que se reunió el conjunto de datos, pasó por un proceso de limpieza para eliminar bits innecesarios y conservar solo las secciones de código valiosas.

Luego, el código ensamblador fue ofuscado utilizando las tres técnicas descritas anteriormente: inserción de código muerto, sustitución de registros y cambio de flujo de control. Estos fragmentos transformados se guardaron de manera estructurada para un análisis posterior.

LLMs se encuentran con la ofuscación de malware

La siguiente etapa del proyecto MetamorphASM implicó probar qué tan bien se desempeñaron diferentes LLMs en la generación de código ofuscado. Se probaron varios modelos, algunos de código abierto y otros propietarios. El objetivo era ver qué modelos eran los más adecuados para la tarea en cuestión.

Los investigadores crearon puntos de referencia para evaluar los LLMs, considerando tanto métricas automáticas como revisiones manuales. Midieron qué tan bien los LLMs podían generar código ofuscado y verificaron cuán similar era ese código a la versión original. Los resultados revelaron que algunos LLMs, como GPT-4o-mini, sobresalieron en la creación de código ensamblador ofuscado.

Resultados experimentales

Curiosamente, al medir el desempeño de estos modelos, se encontró que no todos eran iguales. Algunos LLMs se destacaron en ciertas técnicas de ofuscación mientras luchaban con otras. Por ejemplo, mientras un modelo era excelente en la inserción de código muerto, podría haber tenido dificultades en la sustitución de registros.

Los investigadores destacaron que la efectividad de estos modelos variaba significativamente según la técnica específica empleada. Esto significó que, mientras algunos modelos podrían ser potentes generalistas, quizás no siempre fueran los mejores ofuscadores para cada escenario.

Evaluando los resultados

Para evaluar la calidad de la ofuscación realizada por los LLMs, los investigadores adoptaron dos métodos principales: Delta Entropy y similitud coseno. Delta Entropy mide cuánto ha cambiado la complejidad del código original, mientras que la similitud coseno mide cuán parecido es el código generado al original.

Los hallazgos indicaron que mantener un cierto nivel de Delta Entropy y similitud coseno es esencial. Si el código se vuelve demasiado complejo o demasiado similar, podría perder su funcionalidad o no estar lo suficientemente ofuscado como para engañar al software de seguridad.

Implicaciones para la ciberseguridad

Con el conocimiento adquirido del proyecto MetamorphASM, los investigadores de seguridad pueden entender mejor cómo podrían usarse los LLMs en el futuro tanto para el bien como para el mal. Por un lado, los LLMs pueden ayudar a desarrollar técnicas de ofuscación avanzadas, lo que significa que los autores de malware podrían crear amenazas más sofisticadas. Por otro lado, los investigadores de seguridad pueden usar la misma tecnología para encontrar formas efectivas de contrarrestar estas amenazas.

El objetivo último de esta investigación es construir un entorno digital más seguro. Al comprender las capacidades de los LLMs, los expertos pueden idear mejores métodos de detección y contramedidas para abordar los trucos de ofuscación empleados por el malware.

Perspectivas futuras

A medida que esta investigación sigue desarrollándose, el futuro se ve prometedor tanto para los desarrolladores de malware como para los expertos en ciberseguridad. La naturaleza de doble filo de los LLMs significa que, aunque estos modelos de IA pueden llevar a malware curioso y difícil de detectar, también pueden empoderar a los equipos de seguridad para combatir esos mismos desafíos de manera efectiva.

A medida que los investigadores profundizan en esta tierra de LLMs y ofuscación, ¿quién sabe qué otros trucos ingeniosos saldrán del sombrero de código la próxima vez? Quizás un día, incluso podamos entrenar a la IA para que se convierta en un detective experto, encontrando a esos molestos ladrones de malware escondidos en las sombras, mientras ellos piensan que son los que están realizando el truco mágico definitivo.

Conclusión

En la ongoing batalla entre el malware y la ciberseguridad, la ofuscación de código sirve como una táctica astuta para mantener el malware escondido. La introducción de los LLMs añade una nueva dimensión a esta lucha, proporcionando tanto amenazas como herramientas para los expertos en seguridad. A través de proyectos como MetamorphASM, los investigadores están allanando el camino para una mejor comprensión de estas dinámicas, esforzándose por estar un paso adelante en el juego digital del gato y el ratón. A medida que el mundo confía más en la tecnología, esta batalla probablemente evolucionará, llevando a resultados emocionantes y, quizás, divertidos en el cambiante paisaje de la ciberseguridad.

Fuente original

Título: Can LLMs Obfuscate Code? A Systematic Analysis of Large Language Models into Assembly Code Obfuscation

Resumen: Malware authors often employ code obfuscations to make their malware harder to detect. Existing tools for generating obfuscated code often require access to the original source code (e.g., C++ or Java), and adding new obfuscations is a non-trivial, labor-intensive process. In this study, we ask the following question: Can Large Language Models (LLMs) potentially generate a new obfuscated assembly code? If so, this poses a risk to anti-virus engines and potentially increases the flexibility of attackers to create new obfuscation patterns. We answer this in the affirmative by developing the MetamorphASM benchmark comprising MetamorphASM Dataset (MAD) along with three code obfuscation techniques: dead code, register substitution, and control flow change. The MetamorphASM systematically evaluates the ability of LLMs to generate and analyze obfuscated code using MAD, which contains 328,200 obfuscated assembly code samples. We release this dataset and analyze the success rate of various LLMs (e.g., GPT-3.5/4, GPT-4o-mini, Starcoder, CodeGemma, CodeLlama, CodeT5, and LLaMA 3.1) in generating obfuscated assembly code. The evaluation was performed using established information-theoretic metrics and manual human review to ensure correctness and provide the foundation for researchers to study and develop remediations to this risk. The source code can be found at the following GitHub link: https://github.com/mohammadi-ali/MetamorphASM.

Autores: Seyedreza Mohseni, Seyedali Mohammadi, Deepa Tilwani, Yash Saxena, Gerald Ndawula, Sriram Vema, Edward Raff, Manas Gaur

Última actualización: 2024-12-24 00:00:00

Idioma: English

Fuente URL: https://arxiv.org/abs/2412.16135

Fuente PDF: https://arxiv.org/pdf/2412.16135

Licencia: https://creativecommons.org/licenses/by/4.0/

Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.

Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.

Más de autores

Artículos similares