Collaborative Computing: Networking, Applications and Worksharing. 15th EAI International Conference, CollaborateCom 2019, London, UK, August 19-22, 2019, Proceedings

Research Article

Nemesis: Detecting Algorithmically Generated Domains with an LSTM Language Model

Download
195 downloads
  • @INPROCEEDINGS{10.1007/978-3-030-30146-0_24,
        author={Dunsheng Yuan and Ying Xiong and Tianning Zang and Ji Huang},
        title={Nemesis: Detecting Algorithmically Generated Domains with an LSTM Language Model},
        proceedings={Collaborative Computing: Networking, Applications and Worksharing. 15th EAI International Conference, CollaborateCom 2019, London, UK, August 19-22, 2019, Proceedings},
        proceedings_a={COLLABORATECOM},
        year={2019},
        month={8},
        keywords={Domain Generation Algorithm LSTM Language model Deep learning},
        doi={10.1007/978-3-030-30146-0_24}
    }
    
  • Dunsheng Yuan
    Ying Xiong
    Tianning Zang
    Ji Huang
    Year: 2019
    Nemesis: Detecting Algorithmically Generated Domains with an LSTM Language Model
    COLLABORATECOM
    Springer
    DOI: 10.1007/978-3-030-30146-0_24
Dunsheng Yuan,*, Ying Xiong1, Tianning Zang2,*, Ji Huang
  • 1: National Computer Network Emergency Response Technical Team/Coordination Center of China
  • 2: Chinese Academy of Sciences
*Contact email: yuandunsheng@iie.ac.cn, zangtianning@iie.ac.cn

Abstract

Various malware families frequently apply Domain Generation Algorithms (DGAs) to generate numerous pseudorandom domain names to communicate with their Command and Control (C&C) servers. Security researchers make a lot of efforts to detect Algorithmically Generated Domains (AGDs) for fighting Botnets and relevant malicious network behaviors. In this paper, we propose a new AGD detection approach, Nemesis, based on a Long Short-Term Memory (LSTM) language model. Nemesis can identify whether given domain names are AGDs according to their string compositions, and without additional information. Nemesis first leverages an n-gram dictionary, which is built on real domain names, to tokenize domain names into n-grams. Then a pre-trained detector is used to classify domain names as real ones or AGDs according to the tokenized results. We evaluate Nemesis’ abilities to detect domain names generated by known DGAs and to discover new DGA families. It turns out that Nemesis can accurately detect AGDs with the precision of 98.6% and the recall of 96.7%. Besides, we verify that Nemesis largely outperforms several existing effective approaches.