姜 天,匡立伟
(1.武汉邮电科学研究院,湖北 武汉 430073;2.烽火通信科技股份有限公司,湖北 武汉 430073)
僵尸网络(botnet)通常由大量被感染恶意代码的主机(bot)、命令和控制服务器(C&C server)以及主控端(Botmaster)构成。攻击者使用主控端向C&C server发送操作指令,服务器再将命令下达到各个被控制主机,进而实现对目标终端的分布式拒绝服务(Distributed Denial of Service,DDOS)、垃圾邮件分发以及恶意软件下载等网络攻击[1]。为了防止C&C服务器的域名被黑名单拦截,避免出现主机域名无法解析的情况,攻击者会使用一种域名变换技术(Domain-Flux)来达到高频率映射C&C服务器域名到IP地址的目的[2],域名生成算法(DGA)则是该技术的具体实现。首先DGA会定期生成大量的随机域名,接着C&Cserver选择其中指定的域名进行注册,注册完成后被控制主机能够解析服务器的地址。
使用DGA生成恶意域名,一定程度上增强了僵尸网络的隐蔽性和灵活性。针对字符级别的DGA域名检测,文中提出的方法能够对DGA家族进行识别和分类,并且能够有效提升发现和追踪僵尸网络的能力。
对于字符级别的恶意域名,目前主要分为基于统计特征的机器学习和基于深度学习模型两种检测方式[3]。
由于正常域名和恶意域名之间的差异主要体现在主机名上,因此通过人工提取字符的统计特征,然后使用相应的机器学习算法即可完成DGA检测任务。文献[4]提取了域名字符的统计特征和n-gram特征,并使用3种机器学习模型来评估域名特征识别性能。实验结果表明,使用特征组合的n-gram(n=1,2,3)模型所得的精确率和召回率较高,并且多层感知器(MLP)的DGA域名检测准确率高于其他两种算法。……