崔甲, 施蕾, 李娟, 刘照辉, 姚原岗
(中国信息安全测评中心,北京 100089)
当前全球网络空间的国家级博弈与对抗日趋激烈,以关键信息基础设施作为主要攻击目标的安全事件频发(例如2016年的乌克兰停电事件[1]). 在非协作网络环境下,传统以IP追溯(trace back)技术定位攻击者的方法已无法作为指认攻击者身份的直接证据,因此如何溯源真正的攻击者及幕后组织成为难题. 美国国防部高级研究计划局(DARPA)早在2011年就提出以革命性方法研究威胁溯源归因的“网络基因组计划”[2],之后又于2016年提出“增强归因计划”[3],两个计划都是研究以恶意代码分析、行动基础设施分析以及攻击组织画像为主的溯源分析关键技术,并且它们均已成熟应用于美国近年来针对中国等国家发布的APT报告中,例如APT1[4]、APT30[5]、APT10[6]、CAMERASHY[7]等. 大量APT报告中都包括针对域名系统DNS数据的检测分析,并结合Whois等基础信息库对攻击者的溯源分析.
作为互联网核心服务的域名系统(domain name system,DNS),其功能是将域名和IP进行相互映射. 由于在设计上缺乏安全验证机制,常作为黑客发动网络攻击重要行动基础设施. 例如,为逃避检测、阻断和追踪而采用Fast-Flux[8]技术和随机域名生成算法DGA[9]. 国内外安全界已认识到分析DNS数据在发现、防范、预警外部网络威胁等方面的重要价值.
在充分调研和深入分析已有恶意域名检测研究成果的基础上,综合各类恶意域名检测方法的优缺点,本文中提出了一个新型的恶意域名检测框架(malicious domain detection framework,MDDF). 该框架通过综合各检测技术的优势,弥补了各自缺点,最终综合每种检测方法的评分,给出最终的域名信誉度评分,能够客观描述域名的恶意程度. 该框架适合部署于大型网络ISP的汇聚口,如图1所示.
图1 MDDF恶意域名检测框架Fig.1 Malicious domain detection framework
MDDF框架包括六部分.
① 黑/白域名过滤器. 过滤的本质是对接入的DNS请求/应答报文进行标记,排除包含在域名白名单对应的DNS报文,告警域名黑名单中对应的DNS报文,然后仅分析那些“灰色”域名的属性,目的是减少真实分析的数据量. 域名黑白名单的获取来源于开源威胁情报网站或权威网络安全公司网站,如表1所示.
表1 域名黑白名单来源
② DNS记录解析器. 依据RFC 1035文档正确解析DNS报文中各个字段标识,以满足后端3个检测分析引擎相应的内容需求. 经过DNS记录解析器的DNS流量保存为半结构化json结构分别输入3个检测引擎,每个检测引擎根据需求进行域名分析.
③ 基于特征分类的检测引擎. 通过提取解析的DNS记录的字段特征,生成用于检测的特征向量,并将特征向量输入分类器进行检测,给出相应的域名信誉度打分FC(d). 表2给出了提取的4类DNS特征.
表2 基于特征分类的恶意域名检测
④ 基于规则的异常检测引擎. 该检测引擎主要以DNS记录的字段为主,借鉴IDS[11]和DPI检测技术,针对正常DNS请求应答报文中的字段建立规则模型,凡是不符合该模型的均被认为是异常的,给出相应的域名信誉度打分RA(d). 例如:DNS请求域名的应答IP地址指向诸如127.0.0.1、192.168.0.1的内网地址;DNS请求域名的应答IP地址与DNS服务器IP地址相同;DNS应答中的TTL值过小;DNS载荷中包含加密信息等.
⑤ 基于域名IP关联关系的检测引擎. 该检测引擎只关注域名与IP的对应关系,基于被动DNS数据库中的域名和IP历史对应关系. 首先构建一个域名和IP的对应二分图,若两个域名共享IP地址,则在域名关联关系图中连接两个域名,并在两点连接边上赋权重,权重以共享IP数量为计算单位. 之后通过在该图中基于路径信誉度传播算法对域名进行信誉度DR(d)分析计算.
如图2所示,域名D1~D6对应IP地址I1~I7,D3和D6共享I2和I6,则右图中D3和D6边权重为2,D1和D5不共享IP,则右图中两点不连接. 假设D3确定为恶意域名,则与D3共享IP的域名为D2和D6,根据边权重,D3和D6关联关系更紧密,因此域名D6的恶意程度高于D2.
图2 基于域名-IP关联关系的方法Fig.2 Domain-IP relationship based method
⑥ 域名信誉度计算器:综合3个检测引擎的信誉度打分FC(d)、RA(d)和DR(d)计算域名的最终信誉度MD(d),计算方法可以采用加权平均等方法获得.
为了验证MDDF框架检测效率,捕获了本地网络出口7 d的DNS流量,并搭建了一个模拟真实网络流量的实验平台进行重放. 整合了表1的白名单,共包括20 047个二级域名,同时也将黑名单数据进行了清洗和筛选,获得的黑名单信息如表3所示.
表3 域名黑名单信息
对于基于特征的分类检测引擎,随机挑选了4 d的DNS数据用于训练分类器模型,其中包含已经进行标记的已知恶意域名对应的DNS数据. 对于基于域名-IP关联分析的检测引擎,申请了Farsight公司的(http://www.dnsdb.info)的被动DNS查询API,分别查询了白名单和黑名单域名对应的pDNS数据构成pDNS数据库. 基于规则的异常DNS检测使用了国内某安全厂商的IDS产品进行协同检测. 重放7 d的DNS流量进行在线检测,并分别对3个检测引擎检测结果进行评估,最后与MDDF检测结果进行对比.
图3是各检测引擎的实验结果对比(FC:基于特征的分类检测,RA:基于规则的异常检测,DR:基于域名IP关联关系的检测),从结果来看MDDF检测效率最佳. 原因是MDDF框架综合了当前恶意域名检测领域3种最主流的检测方法:基于特征分类的检测方法、基于域名IP关联关系的检测方法以及基于规则的异常检测方法,虽然3种方法检测方法和技术不同,但目标都是对DNS报文及其包含的请求应答域名进行恶意程度分析. MDDF结合3个检测引擎的优势相互补充并同步检测,综合3种结果提升恶意域名的检出率,降低误报率.
图3 在线检测的实验结果对比Fig.3 Online DNS detection experiment results
基于特征分类的检测方法需要从DNS报文中提取选择度较高的特征,并需要典型且较完备的样本集进行训练以获得较好的分类效果,但其缺点是如果所获得的样本集与真实测试集有较大区别时则分类的效果不好,需要不断训练更新分类模型,同时攻击者也容易构造DNS报文躲避这类检测. 基于域名IP关联关系的检测方法则避免了基于特征分类方法的不足,利用域名与IP地址之间对应关系对域名进行分析,但如果所检测域名及IP地址为攻击者利用的新资源,并未出现在被动DNS数据库中,则该方法将失效,同时pDNS数据集作为一类高价值数据较难获得. MDDF中引入基于DNS异常的规则检测,是从DNS报文中发现不符合正常DNS请求应答报文的特征对DNS报文进行分析判别,也是一种最直接有效的检测方法,但是所导入的规则需要人工介入不断总结提炼才能加以完善. MDDF综合了上述3种域名检测方法,将他们的优缺点相互补充,从不同角度对DNS流量进行分析计算,最终得到一个域名的综合信誉评分. 3个检测引擎内部还可相互协作,例如基于特征分类的检测方法能够导出特征并生成检测规则,进一步完善基于规则的异常检测方法,而规则产生的误报可以通过基于域名IP关联关系的方法进行判断并排除误报.
借助机器学习等高级数据分析技术挖掘DNS数据来发现网络中潜在的恶意域名是当前网络安全领域一个热门研究方向,目的是从网络攻击发起的行动性基础设施入手发现攻击者的行动线索并尽早加以阻断并及时进行预警和防护,同时也是网络威胁溯源分析的一个重要支撑. 本文提出的恶意域名检测框架MDDF主要针对流量中DNS请求应答报文进行检测分析,框架涵盖了3类主流的恶意域名检测方法并且将其特点进行相互补充,能够达到较好的恶意域名检测效果.