
이 저장소는 도메인을 DGA 또는 정상(benign)으로 분류하는 매우 간단한 코드를 포함합니다. 이 코드는 arXiv 논문(https://arxiv.org/abs/1611.00791)의 결과를 시연합니다. 차이점 중 하나는 데이터셋입니다. 논문과 이 저장소 모두 정상 도메인으로 Alexa 상위 1백만 개를 사용하지만, 이 저장소는 단순함을 위해 자체 도메인을 생성합니다.
또한 논문의 LSTM 및 바이그램(bigram) 분류기만 구현했습니다. 이 둘은 가장 성능이 좋은 분류기이며 Keras로 구현하기 간단합니다.
python run.py는 모든 데이터를 다운로드 및 생성하고, 분류기를 훈련 및 평가하며, PNG(ROC 곡선)를 디스크에 저장합니다.
기본값은 1폴드(fold)로 설정되어 속도를 높입니다. 이 코드는 로컬 머신 또는 GPU가 있는 머신에서 실행할 수 있습니다 (GPU가 당연히 훨씬 빠릅니다).
이 저장소에는 11개의 DGA 알고리즘이 있습니다. 일부는 https://github.com/baderj/domain_generation_algorithms 저장소에서 가져온 것입니다. 각 파일에 이를 명시했고 동일한 GNU 라이선스를 유지했습니다. 다만 TLD를 허용하지 않는 옵션을 추가하고 일부 알고리즘의 크기를 변경하는 등 약간의 수정을 가했습니다.