
Classificador baseado em LSTM para detectar domínios gerados por algoritmo de geração de domínios (DGA), com implementações Keras de redes neurais e modelos de bigramas para inteligência de ameaças DNS.
Este repositório contém um código muito simples para classificar domínios como DGA ou benignos. Este código demonstra nossos resultados em nosso artigo no arxiv aqui: https://arxiv.org/abs/1611.00791. Uma diferença são os conjuntos de dados. Tanto o artigo quanto este repositório usam o Alexa top 1 milhão como benigno, mas este repositório gera seus próprios domínios por simplicidade.
Também implementamos apenas o classificador LSTM e o de bigramas do artigo. Esses são os dois melhores classificadores e são simples de implementar em Keras.
python run.py fará o download e gerará todos os dados, treinará e avaliará o classificador e salvará um PNG em disco (a curva ROC).
Por padrão, usa 1 dobra para acelerar as coisas. Este código será executado em sua máquina local ou em uma máquina com GPU (a GPU, é claro,
será muito mais rápida).
Temos 11 algoritmos DGA em nosso repositório. Alguns são do repositório https://github.com/baderj/domain_generation_algorithms Nós os anotamos em cada arquivo e mantivemos a mesma licença GNU. No entanto, fizemos algumas pequenas edições como permitir a ausência de TLD e variar o tamanho de alguns algoritmos.