Este repositorio contiene la reimplementación de Dennis Salzmann del concepto presentado por Rieck et al. con cujo (solo parte estática). Tenga en cuenta que en su estado actual, el código es un POC y no una API lista completa lista para la producción.
En nuestra reimplementación, combinamos un análisis léxico de las entradas de JavaScript con algoritmos de aprendizaje automático para detectar muestras maliciosas automáticamente y con precisión.
Instalación de Jassi:
cd src
git clone https://github.com/rieck/jassi.git
cd jassi
./bootstrap
./configure
make
cd ../..
Instalaciones de Python3:
install python3
install python3-pip
pip3 install -r requirements.txt
Para construir un modelo a partir de las carpetas benignas y maliciosas, que contiene archivos JS, use la opción -ti benigno malicioso y agregue su verdad terrestre correspondiente con -tc benigno malicioso. Para guardar el modelo en la ruta del modelo, use la opción --save_model modelo:
$ python3 src/main.py -ti BENIGN MALICIOUS -tc benign malicious --save_model MODEL
El proceso es similar para el proceso de clasificación. Para clasificar las muestras de JS de las carpetas Benign2 y MaliCO2, use la opción -ai benign2 maliciosa2. Agregue su verdad terrestre correspondiente con la opción -ac benigno malicioso. Para cargar un modelo de modelo existente que se utilizará para el proceso de clasificación, use la opción --Load_model Model:
$ python3 src/main.py -ai BENIGN2 MALICIOUS2 -ac benign malicious --load_model MODEL
Este proyecto tiene licencia bajo los términos de la licencia AGPL3, que puede encontrar en LICENSE .