罗海波,陈星池,董建虎
(广东东软学院 计算机学院,广东 佛山 528225)
动态域名生成算法(Domain Generate Algorithm,DGA)能够有效地生成伪随机域名。攻击者常常会使用域名将恶意程序连接至命令控制服务(Command and Control Server,CC服务器),从而达到操控受害者机器的目的[1]。攻击者可以轻松更改这些域名和IP,即使CC服务器地址部分失效或者变更也能保持连接,而且这些域名往往与恶意程序中的编码混合在一起,具有很强的隐蔽性。
截至2019年12月,网上公开的基于DGA算法变种就已经达到44种[2]。恶名昭彰的恶意软件Zeus和Conficker就是使用了该算法。DGA算法是实现恶意程序的重要技术,分析、复现、检测伪随机域名,进而有效地检测恶意程序,对于国家、企事业、军民网络空间安全有其现实意义。
用于应对 DGA算法生成恶意域名的传统方法有黑名单过滤和通过逆向恶意样本中的 DGA算法,提前抢注域名来夺取CC服务器的控制权。据研究表明,前者无法对动态生成的 DGA域名实时更新,准确率不高;后者虽然可以通过逆向样本深入理解该样本的 DGA算法和生成恶意域名机制,但是需要消耗大量的时间和精力,效率不高[3]。因此,人们的研究方向主要放在对DGA域名的实时检测,主流技术包括利用机器学习的方法构建 DGA域名分类器、使用深度学习的神经网络模型进行检测。
首先介绍了 DGA域名的研究背景和价值,DGA域名的特点、分类和基本定义。然后介绍了人工智能中几种流行的智能算法,例如XGBoost、朴素贝叶斯、多层感知器和循环神经网络。……