Este repositório contém a reimplementação de Dennis Salzmann do conceito apresentado por Rieck et al. com Cujo (apenas parte estática). Observe que, em seu estado atual, o código é um POC e não uma API de produção totalmente pronta para produção.
Em nossa reimplementação, combinamos uma análise lexical de entradas de JavaScript com algoritmos de aprendizado de máquina para detectar automaticamente amostras maliciosas.
Instalação Jassi:
cd src
git clone https://github.com/rieck/jassi.git
cd jassi
./bootstrap
./configure
make
cd ../..
Instalações Python3:
install python3
install python3-pip
pip3 install -r requirements.txt
Para construir um modelo a partir das pastas benignas e maliciosas, contendo arquivos JS, use a opção -ti benigno malicioso e adicione sua verdade correspondente à verdade com -tc benigno malicioso. Para salvar o modelo no caminho do modelo, use a opção -Save_model Model:
$ python3 src/main.py -ti BENIGN MALICIOUS -tc benign malicious --save_model MODEL
O processo é semelhante para o processo de classificação. Para classificar as amostras JS das pastas benigna2 e maliciosas2, use a opção -ai benign2 malicion2. Adicione sua verdade correspondente à verdade com a opção -aC benigno malicioso. Para carregar um modelo existente a ser usado para o processo de classificação, use o modelo Option --load_model:
$ python3 src/main.py -ai BENIGN2 MALICIOUS2 -ac benign malicious --load_model MODEL
Este projeto está licenciado nos termos da licença AGPL3, que você pode encontrar na LICENSE .