[论文解读] Predicting Domain Generation Algorithms with Long Short-Term Memory Networks
本文提出一个无特征的基于LSTM的分类器,能够实时(按域)检测DGA生成的域名,并可以按恶意软件家族对域名进行分类,在没有上下文数据的情况下达到最先进的AUC和F1分数。它还提供可重复的开源代码。
Various families of malware use domain generation algorithms (DGAs) to generate a large number of pseudo-random domain names to connect to a command and control (C&C) server. In order to block DGA C&C traffic, security organizations must first discover the algorithm by reverse engineering malware samples, then generating a list of domains for a given seed. The domains are then either preregistered or published in a DNS blacklist. This process is not only tedious, but can be readily circumvented by malware authors using a large number of seeds in algorithms with multivariate recurrence properties (e.g., banjori) or by using a dynamic list of seeds (e.g., bedep). Another technique to stop malware from using DGAs is to intercept DNS queries on a network and predict whether domains are DGA generated. Such a technique will alert network administrators to the presence of malware on their networks. In addition, if the predictor can also accurately predict the family of DGAs, then network administrators can also be alerted to the type of malware that is on their networks. This paper presents a DGA classifier that leverages long short-term memory (LSTM) networks to predict DGAs and their respective families without the need for a priori feature extraction. Results are significantly better than state-of-the-art techniques, providing 0.9993 area under the receiver operating characteristic curve for binary classification and a micro-averaged F1 score of 0.9906. In other terms, the LSTM technique can provide a 90% detection rate with a 1:10000 false positive (FP) rate---a twenty times FP improvement over comparable methods. Experiments in this paper are run on open datasets and code snippets are provided to reproduce the results.
研究动机与目标
- 提出在没有上下文数据或人工特征的情况下进行实时DGA检测的必要性。
- 提出一个基于LSTM的按域DGA分类器。
- 在多种DGA家族中,与回顾性和实时基线进行评估。
- 显示该方法支持按恶意软件家族进行多类分类,并提供可重复的代码。
提出的方法
- 使用一个嵌入层,随后是一个LSTM,以学习域名中的字符级模式。
- 在LSTM层后应用 dropout,并为二元输出使用逻辑回归分类器,或为多类输出使用多项逻辑回归。
- 在公开数据集上进行训练和测试,将 Alexa top 1M 域名用作 benign,将 Bambenek OSINT DGA 提供的数据作为 DGAs。
- 将 LSTM 与 HMM、基于二元组的逻辑回归以及使用手工特征的随机森林进行比较。
- 提供开源的 Python/Keras 实现以实现复现。
实验结果
研究问题
- RQ1一个按域DGA分类器是否能够在没有任何上下文信息的情况下检测DGA域名?
- RQ2基于LSTM的模型是否在实时DGA检测方面优于基于特征的方法和回顾性方法?
- RQ3该方法是否能够进行多类分类,将域名归因到具体的DGA家族?
- RQ4在现实中的开源数据设置下可实现的性能指标(AUC、F1、精确度、召回率)有哪些?
主要发现
- LSTM 在二元分类中实现 AUC = 0.9993,优于替代方法。
- LSTM 获得微平均 F1=0.9906,且比以前的方法显著降低假阳性率(如1:10000)。
- 该模型能够跨越 30 个 DGA 家族进行高准确度的多类分类。
- 对一个域名的分类在普通硬件上大约需要 20 ms。
- 使用开源数据集和 Keras 实现,代码和实验具有可重复性。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。