Mis proyectos

Framework para la creacion de muestras de malware potenciado por inteligencia artificial.


Objetivo

Desarrollar una PoC en forma de framework capaz de generar muestras de malware potenciado con Inteligencia Artificial.
En la etapa inicial del proyecto, al ser el producto muestras de malware, este tendrá éxito si los antivirus son capaces de etiquetar los archivos generados como maliciosos. En etapas posteriores intentaré incluir técnicas de evasión.

Cómo??

El sistema usa algoritmos de generación de texto con LSTM (Long Short Term Memory). Este tipo de algoritmo es una RNN (Recurrent Neural Network) capaz de clasificar, procesar y predecir datos en base a series en el tiempo.
Para más información sobre LSTM.

Escencialmente lo que hace este algoritmo es aplicarles trasformaciones matriciales a los datos de entrada de tal manera de “recordar” u “olvidar” patrones en los datos y de esta forma predecir un comprtamiento futuro. Similar a predecir el cambio del valor de una acción en bolsa en relación a sus valores historicos.


Como cualquier algoritmo de Machine Learning, LSTM necesita 2 cosas:

En MalwareIA, la predicción de datos pasa a ser predicción de texto. Pero no cualquier tipo de texto, sino código de máquina.
El malware puede ser escrito en múltiples lenguajes de programación de bajo nivel como Assembler o C, pero también en lenguajes de alto nivel como pueden ser Python o JAVA, entre otros. Además de venir en múltiples formatos, pdf, dll, exe, etc. Como vemos hay gran cantidad de variables. El primer paso es tratar de unificar todas esas variables en un solo tipo para poder entrenar al sistema. Cada paramentro de ese tipo será una entrada de la LSTM (los xt de la imagen de arriba).
Lo que todos los malwares (y en realidad todos los archivos del sistema) tienen en común es que pueden ser leidos binario o en su correspondiente valor hexagesimal. Por lo que las entradas xt serán HEX y por supuesto que las salida, el “código” generado ,también será en HEX.
El tiempo requerido para entrenar este tipo de algoritmos es muy largo y el proceso muy lento, por lo que espero que tomará alrededor de un par de meses en completar el entrenamiento completamente.


1Nunca he tenido tantos malwares en mi PC.

Log

Sep 2018
Se inicia el proceso de diseño.
Estudio de LSTM, prototipado y pruebas con texto plano.

Nov 2018
Se consigue acceso a más de 10TB de muestras de malware. Solo se usarán las del 2018 (~200.000).

Feb 2019
Comienza el entrenamineto con un subconjunto de datos de datos de prueba para estimar tiempos y presición de la LSTM.
Luego de los ajustes que correspondan se entrenará con el total de los datos de prueba

© 2018. All rights reserved.

Powered by Hydejack v8.2.0