近几年,威胁情报在网络安全领域展现出其独有价值,结合大数据技术、人工智能技术,威胁情报可为企业提供决策支撑信息,降低企业整体风险,具有光明的应用前景,可威胁情报的一些内在缺陷却阻碍了其抵御风险的有效性,如准确率、覆盖率,本文以IP黑名单为例,介绍其使用中缺陷和提升准确率的最新研究成果[1]。
一、背景
IP黑名单记录了攻击者的历史信息,是威胁情报的重要组成部分,经常被企业用作于各种类型的防御,如垃圾邮件过滤、恶意流量识别等,被集成到多种类型的安全产品中,IP黑名单经常被用于做入侵防护或应急响应,在大规模网络攻击中过滤已知攻击者的流量,可以说是纵深防御体系中的第一道屏障,例如,在企业遭受DDoS攻击的时候,IP黑名单可用于过滤所有已知攻击源,降低链路负载,为了实现有效的防御,IP黑名单必须非常准确,识别出大部分攻击者的IP并且放行合法流量。
在现实应用中,企业采集到的IP黑名单往往有很大的缺陷,很难做到对攻击源的精准识别,原因大致有如下几个方面:
1. 单个企业往往只能看到网络空间的冰山一角,蜜罐部署的地理位置范围受限、蜜罐类型多样性不够等原因导致IP黑名单的覆盖度不足,这种视野受限的问题可以通过IP黑名单的共享进行一定程度的弥补;
2. 黑名单是攻击源的一个快照,攻击者往往有多种手段绕过黑名单的检测 [2];
3. 攻击源往往集中在管理不当的网络中 [3],我们往往只能采集到部分IP,因此可以考虑把IP黑名单中的IP地址扩展为IP前缀。总结来说,如果能够将多个IP黑名单进行聚合并且将IP地址扩展为IP前缀,便可提升IP黑名单的准确度,但简单的聚合和扩充往往会带来很大误差,因此本文将介绍一种智能IP黑名单聚合技术BLAG[1],在尽量降低误报的同时提升对攻击源的识别准确率,相关数据和源码应该会在近期公布,有需求的朋友可以持续关注https://steel.isi.edu/Projects/BLAG/#blag。
二、现有黑名单的共性问题
在介绍BLAG之前,我们先来看看现有黑名单的一些基础问题:
第一,每个黑名单只包含网络中的局部信息。由于不同机构只能采集到网络中特定领域的数据,单个IP黑名单一般覆盖率比较低,并且不同IP黑名单中的IP经常重复出现,如图1所示,通过分析157个公开IP黑名单(具体名单可去文章中自行查看),可以发现,IP黑名单的覆盖率普遍较低,平均为3.03%,不同企业关注的攻击类型往往也存在差异,这些不同类型的攻击IP之间会发生重叠,如图2所示,平均有20.4%的IP会发生重叠。
图1 IP黑名单覆盖率
图2 不同类型的IP重合率
第二,“惯犯”现象。在黑名单中被移除的IP经常会重新出现在同一个黑名单中,我们称这些IP为“惯犯”,这些IP“惯犯”在不同黑名单中的分布如图3所示,平均来说,29.3%的IP为“惯犯”。
图3 IP“惯犯”在黑名单中的分布
第三,攻击源共现在同一网络中。如图4所示,57.5%的IP前缀中包含至少2个恶意IP,这表明在同一网络中出现多个恶意IP的攻击概率很高,封锁整个IP前缀可以提高恶意IP的覆盖率。
图4 同一IP前缀中的恶意IP数量分布
第四,黑名单中存在噪声。由于检测算法存在偏差,黑名单中的IP并不全是恶意IP,并且由于信息更新的滞后,被清理的恶意IP也经常无法在黑名单中体现。
总之,我们可以聚合不同黑名单,并且使用IP前缀来提高黑名单的准确率,在聚合时也要有一定分寸,不能引入过多噪声。
三、BLAG技术原理
BLAG即黑名单聚合技术(blacklist aggregation),输入为一系列IP黑名单和企业允许通过的合法流量,输出为一份聚合后的黑名单,其中删除了噪声并且进行了IP前缀的提取,整体框架如图5所示,可以分3步进行:
图5 BLAG框架图
- 评估每个IP地址的信誉评分。根据上节所述,平均有29%的IP地址为“惯犯”,其中91%的IP在过去一个月内出现过。我们可以根据IP在黑名单中的出现时间进行打分,距当前时间越近,威胁程度越高,信誉值可以根据如下公式计算:
其中,
为IP地址a在黑名单b中的信誉值,l为常量,t为当前时间,
为a在b中最近出现的时间,信誉值随时间的缩短呈现指数衰减的趋势。
- 预测可能分类错误的IP。如图6所示,在矩阵R中,行为IP,列为IP黑名单,数值代表第一步计算出的IP信誉评分,其中最后一列为误分类信息,即黑名单中的噪声,该信息由企业的白名单等方式提供,我们需要找出其他可能的噪声。在这里,我们利用推荐系统中所采用的常见算法“协同过滤”进行计算,具体计算细节我们在此省略,最终我们可以得到两个中间矩阵,P和Q,P和Q满足如下条件:
我们可以得到最终矩阵R’,R’由 P和Q计算而来,其最后一行代表误分类的可能性已经填充完毕。如图7所示,IP地址128.0.0.5为误分类IP,但是128.0.0.1却没有信息,经过计算,128.0.0.1的误分类可能性为0.84,概率较高,将之作为误判IP,从直观上分析,128.0.0.1和128.0.0.5在bambenek和openbl两个黑名单中的信誉评分相近,被分类为误判IP在情理之中,而128.0.0.2-128.0.0.4与128.0.0.5的信誉评分差距较大,因此没有被分类为误判IP。最后我们需要选定一个阈值α对IP进行误判的标定。
图6 预测可能分类错误的IP
- 将IP地址扩充为IP前缀。如图7所示,最后的IP黑名单会经过两步检查,第一步先检查该IP是否在白名单中,第二步检查该IP是否在第二步中被判定为误判,若其中任何一步判定该IP为误判,则不进行IP前缀的扩充,以169.231.140.68为例,在第二步中被判定为误判,则不进行前缀扩充,193.1.64.5,193.1.64.8没有发生误判,也不在白名单中,则进行IP前缀的扩充,最后的黑名单为193.1.64.0/24(在这里,我们一般使用长度为24的网络号)。
图7 将IP地址扩充为IP前缀
BLAG黑名单聚合方法在垃圾邮件检测、一个校园网的DDoS攻击、针对根DNS服务器的DDoS攻击这些场景下可以有95%-99%的检测准确率,并且比现有的黑名单技术能更快地检测到攻击者,具体使用的数据和横向比较的方法,感兴趣的朋友可以直接参考原文[1]。
在实际部署过程当中,需要注意如下事项:
- 收集到的黑名单应该尽量多,如上节所述,每个黑名单的视野都极其有限,平均为3%,这些黑名单可以通过公开信息和威胁情报共享等渠道实现。
- 为了删除黑名单中的噪声,企业应该采集业务所需的合法流量,流量的采集时长也需要进行合理设置。
- 系统在部署过程中有几个参数需要调节,分别为步骤一中常量l的取值,文章[1]的取值为30,步骤二中的阈值α,这个参数需要根据实际情况进行调节,协同过滤中使用的隐变量个数K,该参数需要根据计算耗时、结果准确率进行调节,文章[1]取值为5。
四、总结
黑名单技术在网络安全中被广泛使用,并且随着威胁情报技术和概念的兴起,黑名单技术愈发凸显其重要性,但是由于企业的局限性,不可能观测到网络中的所有数据,黑名单聚合,或者称之为威胁情报共享的需求愈发强烈,本文以黑名单聚合为例,介绍了在威胁情报共享中进行数据融合的关键技术,在此基础上大大提升了原有黑名单的准确性,进一步保障了企业安全。另外对于不同类型的情报数据,如域名数据,文件数据,我们认为也可以采用类似的方法进行融合,相关实验结果有待进一步研究。
参考文献:
[1].Ramanathan, Sivaramakrishnan, Jelena Mirkovic, and Minlan Yu. "BLAG: Improving the Accuracy of Blacklists."
[2].Noroozian, Arman, et al. "Platforms in everything: analyzing ground-truth data on the anatomy and economics of bullet-proof hosting." 28th {USENIX} Security Symposium ({USENIX} Security 19). 2019.
[3].Zhang, Jing, et al. "On the Mismanagement and Maliciousness of Networks." NDSS. 2014.
关于天枢实验室
天枢实验室聚焦安全数据、AI攻防等方面研究,以期在“数据智能”领域获得突破。
内容编辑:天枢实验室 童明凯 责任编辑:肖晴