1.31 恶意域名检测研究与应用综述


0x00 引言

  • 恶意域名解析,是指用户的正常 DNS解析请求解析到他人的服务器上或是攻击者的恶意服务器上,而被解析的服务器上实际没有相应的站点
  • 对抗历史
    • 硬编码IP→IP封锁阻断连接
    • DNS域名解析定位C&C服务器→域名黑名单
    • DGA→检测识别DGA
  • 使用DGA的优势在于模糊了控制服务器的节点位置,该方法的灵活性还让网络安全管理员无法阻止所有可能的域名,并且注册一些域名对攻击者来说成本很低。

0x01 DGA

几类常见的DGA域名:

  • Conficker是针对 Microsoft Windows操作系统的计算机蠕虫,最初于 2008年末被发现。它使用Windows操作系统软件中的缺陷和对管理员密码的字典攻击在形成僵尸网络时传播。几乎所有以 Conficker为依托的高级恶意软件技术都已被研究人员所熟知,但这种病毒的综合使用使得它难以根除

  • CryptoLocker勒索软件攻击是一 种 针 对 运 行Microsoft Windows的计算机的木马,它通过受感染的电子邮件附件以及现有的 GameoverZeus僵尸网络传播。它使用 DGA从英文字母表 a~y中随机选取生成字符串长度为 12至 15的二级域名,每周大约生成1000个域名。

  • Ramnit是一种类似 Zeus的恶意软件。它使用DGA与其C2服务器通信。感染后,样本开始快速连续地对许多不同的域进行 DNS查询。DGA使用随机数生成器首先通过均匀地选择 8到 19个字符之间的长度来确定第二级域的长度。接下来,DGA通过从“a”到“x”统一选取字母来确定第二级域(字母“z”不能被选中),然后附加静态顶级域“.com”

  • symmi的所有随机方面都是真正的伪随机,它通过当前的日期和编码常量,利用随机数生成器生成种子。它包含三级域名,在第三级域中,除字母“j”之外,从元音和辅音中随机交替的挑选字母,因此随后的字母总是来自其他字符类,这样选取的字符组成的域名几乎是可读的。生成第三级域后,DGA会附加配置的第二级和顶级字符串,如“.ddns.net”

  • Suppobox与现有的大部分 DGA都是利用伪随机字符串生成的域名家族不同,它利用英文单词列表,从英文单词列表中随机选择两个单词连接在一起生成恶意域名。

  • 从简单的随机绘制字符的方法到尝试模拟真实域中的字符或单词分布的方法。例如:ramnit使用从随机种子开始的乘法、除法和模数的组合来创建域名;symmi为了能够生成几乎可发音的域名,随机交替选择元音或辅音类。另一方面,suppobox通过连接两个伪随机选择的英语词典单词来创建域。

0x02 DGA域名检测和应用

早期的研究,通过逆向恶意样本的 DGA算法,提前抢注域名来控制恶意软件与 C&C通信。但这种方法所消耗的人力资源过大且应用受限。(StoneGrossB,CovaM,CavallaroL,etal.Your Botnet is My Botnet:Analysis of a Botnet Takeover[C]//Proceeding sof the 16th ACM conference on Computer and communications security. ACM, 2009: 635-647.)

2.1 基于特征提取的机器学习方法的检测

2.1.1 域名字符统计特征的检测

  • 利用合法域名与 DGA域名在字符分布上有明显的差异,Davuth等以域名的bigram作为特征,通过人工阈值的方式过滤出现频率较低的 bigram,采用支持向量机分类器检测随机域名。(DavuthN, Kim SR. Classification of malicious domain name susing support vector machine and bigram method [J].International Journal of Security& Its Applications, 2013, 7(1):51-58.)
  • Yadav等通过查看同一组IP地址的所有域中的 unigram和 bigram特征分布,查找算法生成的域名的固有模式来检测 DNS流量中的域名。(Yadav E, Reddy AKK, Reddy ALN, et al. Detecting algorithmically generated malicious domain names [C]//Acm Sigcomm Conference on Internet Measurement. DBLP, 2010.)
  • 在域名长度上,Mowbray等在域名查询服务中通过使用不寻常的字符串长度分布来检测恶意域名。(Mowbray M, Hagen J.Finding domain generation algorithms by looking at length distribution [C]// IEEE International Symposiumon Software Reliability Engineering Workshops.USA:IEEE,2014:395-400.)
  • 王红凯等提出了一种基于随机森林的随机域名检测方法。该方法以人工提取的域名长度、域名字符信息熵分布,元音辅音比、有意义的字符比率等特征来构建随机森林模型训练分类,实现对随机域名的检测。(王红凯,张旭东,杨维永,等.基于随机森林的 DGA域名检测方法:中国,CN105577660A[P].2016-05-11)
  • Agyepong等也利用算法生成域名与正常域名的字符分布的不同,分别利用域名K-L距离、编辑距离、Jaccard系数分别作为特征向量的识别效果(Agyepong E, Buchanan W J, Jones K. Detection of Algorithmically Generated Malicious Domain [C]//International Conference of Advanced Computer Science & Information Technology. 2018)
  • 使用分词算法将域名分割成单个词,来扩展特征集的大小以提高检测恶意域名的能力。(Wang W,Shirley K. BreakingBad:Detecting malicious domains using word segmentation[C]//Proceeding sof the 9th Workshop on Web 2.0 Security and Privacy (W2SP), 2015.)

2.1.2 DNS流量信息的检测

  • 在 DNS流量分析上面,提出了一种依赖于 fastflux僵尸网络的三个特征:委托代理模式、恶意活动的执行者和硬件性能,来检测Web服务是否被fastflux僵尸网络实时托管。(Hsu C H, Huang C Y, Chen K T. Fast-flux bot detection in realtime[C]//International Conference on Recent Advances in Intrusion Detection. Springer-Verlag,2010)
  • Blige等介绍了一个名为Exposure的系统,它利用 DNS分析技术来检测涉及恶意活动的域,通过从 DNS流量中提取 15个特征来描述 DNS名称的不同属性以及查询它们的方式。(Bilge L,Kirda E,Kruegel C,et al.EXPOSURE:Finding Malicious Domains Using Passive DNS Analysis[C]//Proceedings of the Network and Distributed System Security Symposium, NDSS2011, 2011.)
  • Antonakakis等通过分析因名称错误响应的域名的DNS查询,也称为 NXDOMAIN响应,即不存在 IP地址的域名,并设计了一个名为Pleisdes的系统来检测 DGA生成的域。它主要利用由DGA生成的域名中,只有相对较少的域名成功解析为 C&C服务器的地址的特点。当 Pleiades找到一组NXDOMAIN时,它应用统计学习技术构建 DGA模型,然后用它来检测用同一种 DGA算法的受感染的主机,并检测与 DGA看起来类似的活动域名,因为其有可能指向僵尸网络 C&C服务器的地址。Pleiades具有能够发现和建模新的 DGA而无需劳动密集型恶意软件逆向工程的优势。另外 Pleiades通过监控本地网络中的DNS流量来实现这些目标,而无需大规模部署先前工作所需的 DNS分析工具。(Antonakakis M,Perdisci R.From throw away traffic to bots:detecting the rise of DGA-based malware[C]//Usenix Conference on Security Symposium.2012)
  • Zhou Y L等人也通过分析 NXDOMAIN响应来检测 DGA域名。(Zhou Y L, Li Q S, Miao Q D, et al. DGA-Based Botnet Detection Using DNS Traffic [J].Journal of Internet Services and Information Security,2013,3(3/4):116 -123.)
  • 通过DNS数据源及其丰富度、数据分析方法以及评估策略和度量,对近年来使用 DNS数据的恶意域名检测技术的一般框架分类,并就 DNS领域下的检测提出了一些挑战:大规模的真实 DNS数据日志很少公开可用,恶意域的特征弹性以及缺少评估的具体方案。(①Yury Z, Issa K, Ting Y, et al.A Survey on Malicious Domains Detection through DNS Data Analysis [J]. ACM Computing Surveys, 2018, 51(4):1-36.②Sadegh T, Amine B, Chadi A, et al. Detecting Internet Abuse by Analyzing Passive DNS Traffic:A Survey of Implemented Systems [J].IEEE Communications Surveys&Tutorials, 2018, 20(4):3389-3415)
  • 通过网络的 DNS流量的上下文信息及域名的统计特征对潜在的 DGA分类有一定的成果,但是这些不能满足实时检测和预防的现实安全应用的需求。为满足实时检测的要求,诸多的实时方法都使用手工挑选的特征(例如:熵、字符串长度、元音比、辅音比等)。然而,这些依赖人工提取特征检测方法存在着误报率较高、整体检测率低的问题。主要原因有两方面:
    • 大多数现有的基于网络的僵尸网络检测方法仅限于数据包检测级别,大多数方法也主要关注网络流的部分特征,不能完全表征僵尸网络的异常行为;
    • 僵尸网络与时俱进,利用先进的思想和技术来逃避检测。特别是为了应对人工提取的特征检测,攻击者可以设计新的 DGA算法以绕过某些固定的特征。

2.2 基于无特征提取的深度学习方法的检测

  • 手工提取特征的缺点:
    • 手工提取的特征容易规避
    • 手工提取特征耗时
    • Antonakakis等提出了无特征的实时技术隐马尔可夫模型(HMM)。但HMM在检测 DGA方面表现不佳(Antonakakis M, Perdisci R, Dagon D, et al. Building a Dynamic Reputation System for DNS [C]//Usenix Conference on Security. USENIX Association,2010)
    • 提出了一种基于 Word-hashing技术的深度学习网络对域名进行分类,其不仅避免了手工提取特征还发现了传统统计方法无法发现的特征。(赵科军,葛连升,秦丰林,等.基于 word-hashing的 DGA僵尸网络深度检测模型[J].东南大学学报(自然科学版),2017,47(S1):30-33)

2.2.1 RNN在域名检测中的应用

循环神经网络(RNN)因其能捕获序列之间有意义的时间关系被应用于各种自然语言任务中。但 RNN在长链操作中易导致梯度消失问题,不具备学习长期依赖信息的能力。LSTM在 RNN的基础上增加一个状态信息使其能够学习长期依赖信息,在长时间的学习模式方面非常擅长文本和言语处理,因此被广泛应用。

  • Woodbridge等利用长短期记忆网络实现对 DGA的实时预测,而无需上下文信息或手动创建的特征。(Woodbridge J, Anderson H S, Ahuja A, et al. Predicting Domain Generation Algorithms with Long Short-Term Memory Networks [EB]. eprintar Xiv:1611.00791,. 2016.)

image-20220202164406485

  • Yu等为了比较深度学习方法的优势,以传统的机器学习方法中比较有效的基于特征构建的随机森林模型作为基准实验,利用 LSTM网络和 CNN网络进行域名 检测分类比较。(Yu B, Gray D L, Pan J, et al. Inline DGA Detection with Deep Networks [C] // IEEE International Conference on Data Mining Workshops. IEEE, 2017.)在 整 体 检 测 率 上,CNN和LSTM模型相对于随机森林有突出的表现,但在个别DGA上表现不佳。存在的原因大概有两方面:
    • 数据不平衡导致检测率低或识别误差大;
    • 传统的DGA和基于字典的 DGA之间存在偏差的样本分布。
  • Tran等提出了一种改进的成本敏感的LSTM算法来应对 DGA域名数据多类不平衡的问题,相对原始敏感 LSTM算法,具有较高的准确率。(Tran D, Mac H, Tong V, et al. A LSTM-based framework for handling multiclass imbalance in DGA botnet detection [J]. Neurocomputing, 2018, 275: 2401 -2413.)
  • Vinayakumar等也比较了几种常见的神经网络模型。他们对递归神经网络(RNN)、身份递归神经网络(I-RNN)、长期短期记忆(LSTM)、卷积神经网络(CNN)和卷积神经网络长短期内存(CNN-LSTM)体系结构五类神经网络进行实验比较。结果表明,深度学习方法,特别是递归神经网络系列和混合网络显示出优越的性能,最高检测率分别为 0.9945和 0.9879。主要原因是深度学习方法具有捕获层次特征提取和序列输入中的长期依赖性的固有机制。(Vinayakumar R, Soman K P, Poornachandran P, et al. Evaluating deep learning approaches to characterize and classify the DGA satscale [J].Journal of Intelligent & Fuzzy Systems, 2018, 34(3):1265-1276.)

以循环神经网络为基本框架的检测模型对随机性高的DGA域名检测准确率高,但对随机性低的 DGA域名识别率低,导致对正常域名产生较高的误报。因此,此类网络在低随机性和基于字典的 DGA域名成为其未来的主要发展点。

2.2.2 GAN在域名检测的应用

GAN是一种深度学习模型,为生成模型提供了一个新的框架。它借鉴博弈论中的纳什均衡思想,使生成器和鉴别器相互学习以生成模拟数据。生成器捕获实际数据的分布,而鉴别器估计样本来自训练集的概率。

  • 纳什均衡:Nash equilibrium,又称非合作博弈均衡,是博弈论的一个重要术语,在一个博弈过程中,无论对方的策略选择如何,当事人一方都会选择某个确定的策略,则该策略被称作支配性策略。如果任意一位参与者在其他所有参与者的策略确定的情况下,其选择的策略是最优的,那么这个组合就被定义为纳什均衡。
  • Anderson等利用了生成对抗网络的思想,构建了基于深度学习的 DGA域名生成对抗样本方法。在一系列的对抗轮回中,生成器学习生成检测器越来越难以检测的域名。相反地,检测器通过更新其参数以提高检测。其提出的生成对抗网络是基于预先训练的自动编码器(编码器+解码器),其中自动编码器先在Alexa的一百万个域中训练,以生成看起来更像真实域名的域。然后在生成对抗网络中竞争性地重新组装编码器和解码器,模型框架大致如图 3所示。由于编解码器是预训练好的,因此,在对抗训练中,只训练生成模型的生成层和判别模型的逻辑回归层。最后用随机森林 DGA分类器来验证生成的对抗样本的表现力。(Anderson H S, Woodbridge J, Filar B. Deep DGA:Adversarially Tuned Domain Generation and Detection[C]//Acm Workshop on Artificial Intelligence&Security. ACM, 2016.)
image-20220202171653070
  • 采用了 GAN的思想来生成恶意域名对抗样本,不同之处在于编码器部分的设计,后者设计了基于的 Ascall编码方式定义域名编、解码器对域名字符进行向量映射及逆映射,然后将处理好的数据输入对抗网络。接着用生成的样本与真实的数据的检测率作对比实验,以验证生成的对抗样本的有效性。(袁辰.基于对抗模型的恶意域名检测方法的研究与实现[D].北京:北京建筑大学,2018)
  • GAN在自然图像分类处理上取得了较好的成果,但是朴素 GAN在处理像序列这种离散数据上存在两个问题:
    • 生成器难以传递梯度更新
    • 鉴别器难以评估非常完整的序列
  • 将视角放在了鉴别器上,提出了一种基于生成对抗网络的僵尸网络检测增强框架,该网络通过生成器连续生成“假”样本,并扩展标记的数量,以帮助原始模型进行僵尸网络检测和分类。(Yin C, Zhu Y, Liu S, et al. An enhancing framework for botnet detection using generative adversarial networks [C]// International Conference on Artificial Intelligence & Big Data. 2018)

2.3 基于附加条件的深度学习方法的检测

单纯的深度学习的检测方法在应对越来越智能的DGA域名上的表现不佳,为此后面的研究都在深度学习方法的基础上增加了附加条件以提高检测率。

  • LSTM在域名很长时,很难学会合理的表达。提出了一个结合注意机制的 LSTM模型。该模型将注意力集中在域中更重要的子串并改善域的表达,并在 DGA检测中实现更好的性能,尤其是对于长域。在二元分类中,其误报率分别低至 1.29%和假负率 0.76%(Chen Y,Zhang S,Liu J,et al.Towards a Deep Learning Approach for Detecting Malicious Domains[C]//IEEE International Conference on Smart Cloud(SmartCloud), IEEE, 2018.)
  • 陈立皇等也提出了一种基于注意力机制的深度学习模型,不同的是,他们提出一种域名的多字符随机性提取方法,提升了识别低随机 DGA域名的有效性。(陈立皇,程华,房一泉.基于注意力机制的 DGA域名检测算法[J].华东理工大学学报(自然科学版),2019, 45(3): 478-485.)
  • Satoh等通过词法分析和 Web搜索来估计域名随机性,但该方法对域名长度较短时,无法区分,不包含在字典中的域名会被误判。(Satoh A, Nakamura Y, Nobayashi D, et al. Estimating the Randomness of Domain Names for DGA Bot Callbacks [J]. IEEE Communications Letters,2018,22(7):1378-1381.)
  • 为了逃避应用神经网络的检测技术,恶意域名已升级为多个单词的组合来欺骗神经网络的检测。Curtin等提出了smash分数来评估 DGA域名像英文单词的程度,然后设计了一种新的模型:递归神经网络架构与域名注册信息的组合。虽然实验在对matsnu和 suppobox这种看起来像自然域名的家族的检测效果好,但是在那些看起来不像自然域名DGA系列表现效果欠佳。(Curtin R R, Gardner A B, Grzonkowski S, et al. Detecting DGA domains with recurrent neural networks and side information [EB]. EprintarXiv:1810.02023,2018.)

0x04 结语及未来的研究方向

恶意软件从简单的利用域名生成算法生成伪随机字符串的域名来和控制与命令服务器连接,发展到为躲避神经网络检测的更智能化的域名,即由英语单词构成的域名。与之对抗的,网络安全研究人员也从手工提取域名字符特征、DNS流量特征的机器学习方法发展到利用神经网路自动学习特征的转变和改进来提高模型的检测率与性能。

4.1 DGA域名变体的研究

DGA域名变体生成的域名大多数为了躲避基于字符特征的模型检测,利用英语单词列表随机生成。虽然这类伪域名从马尔可夫模型或是 n-gram分布的角度来看,都和正常域名没有太大的区别。但是通过观察这些域名可以看出域名的长度与正常域名相差较大,以及这些域名都是由几个毫无关联的单词拼凑而成,因此可以针对这两个角度对这类域名检测。

  • n-gram分布:N-Gram(有时也称为N元模型)是自然语言处理中一个非常重要的概念,通常在NLP中,人们基于一定的语料库,可以利用N-Gram来预计或者评估一个句子是否合理。另外一方面,N-Gram的另外一个作用是用来评估两个字符串之间的差异程度。这是模糊匹配中常用的一种手段。参考:https://www.jianshu.com/p/4452cf120bd7

4.2 恶意域名对抗样本的生成方法研究

  • 现有的伪随机域名生成方式大概分为两类:
    • 通过逆向工程等手段破解 DGA生成算法,还原 DGA算法生成伪随机域名,但这类生成的域名大都具有固定模式,在有限数据集上训练的模型缺乏对新的 DGA变体的预测。
    • 通过生成对抗网络来生成对抗样本

利用 GAN生成了域名的对抗样本,并用实验证明了对抗样本在充当恶意域名数据及预测未知DGA家族上有可观的表现。但由于 GAN主要是处理连续数据,对离散序列数据的上表现较差,所以针对文本序列数据处理,提出了 SeqGAN(Sequence GenerativeAdversarialNetworks)来解决朴素 GAN在离散数据处理上的问题,并在语言文本上有不错的表现。相信未来通过SeqGAN生成的域名对抗样本会有更高的质量。(①Yu L, Zhang W, Wang J, et al. SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient [C]//Proceedings of the Thirty First AAAI Conferenceon Ar tificial Intelligence(AAAI17).2017:2852-2858.②Pascual S, Bonafonte A, Serrà J. SEGAN: Speech Enhancement Generative Adversarial Network [EB]. Eprintar Xiv: 1703. 09452, 2017.)

4.3 恶意域名的检测模型

基于现有的检测模型,如何设计一个高效的检测模型是一个难点,因为伪域名越来越智能化,可以逃避一般的神经网络模型的检测。同时如何将模型设计成为一个既可以作为单独的模型,也可以作为更大的 DGA检测系统的一部分,还可以包含网络流量,运用到实时的网络安全系统中也是未来的可发展点。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM