Ce référentiel contient la réimplémentation par Dennis Salzmann du concept présenté par Rieck et al. avec Cujo (partie statique uniquement). Veuillez noter que dans son état actuel, le code est un POC et non une API à part entière pour la production.
Dans notre réimplémentation, nous avons combiné une analyse lexicale des entrées JavaScript avec des algorithmes d'apprentissage automatique pour détecter automatiquement et avec précision les échantillons malveillants.
Installation de Jassi:
cd src
git clone https://github.com/rieck/jassi.git
cd jassi
./bootstrap
./configure
make
cd ../..
Installations Python3:
install python3
install python3-pip
pip3 install -r requirements.txt
Pour construire un modèle à partir des dossiers bénins et malveillants, contenant des fichiers JS, utilisez l'option -ti bienveillante malveillante et ajoutez leur vérité au sol correspondante avec -tc malveillant bénin. Pour enregistrer le modèle dans le chemin du modèle, utilisez l'option - Save_Model Modèle:
$ python3 src/main.py -ti BENIGN MALICIOUS -tc benign malicious --save_model MODEL
Le processus est similaire pour le processus de classification. Pour classer les échantillons JS à partir des dossiers Benign2 et Maliceous2, utilisez l'option -ai benign2 Malicious2. Ajoutez leur vérité fondamentale correspondante avec l'option -ac malveillant bénin. Pour charger un modèle existant à utiliser pour le processus de classification, utilisez le modèle Option --load_model:
$ python3 src/main.py -ai BENIGN2 MALICIOUS2 -ac benign malicious --load_model MODEL
Ce projet est concédé sous licence de la licence AGPL3, que vous pouvez trouver dans LICENSE .