01 概 述

互联网是一个分布自治的网络,目前由近8万个自治域(AS)组成,各个自治域内使用域内路由协议保证域内各个网段的网络可达性,而域间使用BGP协议交换路由信息来保障各个AS之间的连通性。BGP协议是一个古老的协议,至今已经使用了二十多年,但是有一个安全缺陷仍未解决,即BGP协议缺少路由真实性验证机制。换句话说,任何AS伪造的虚假路由信息都会被其他AS无条件接受。所以,目前的BGP路由系统是一个基于信任的系统,其正常稳定运行依赖于各个AS之间交换的路由信息是真实可靠的。

BGP劫持就是利用了BGP这一安全缺陷的一种流量劫持攻击。BGP劫持的攻击者通过向路由系统中宣告虚假路由,从而达到劫持流量的目的。BGP劫持的产生可以分为两种情况:错误配置和恶意攻击。

2008年巴基斯坦电信劫持YouTube事件是一个广为人知的由于管理员错误配置导致的前缀劫持事件。该事件中,巴基斯坦电信仅仅向全世界错误宣告了YouTube的一条前缀,就导致全世界大部分地区的流量无法正确到达YouTube。

在2018年,哥伦比亚一个小型ISP使用BGP劫持成功劫持了亚马逊的权威DNS服务器的IP地址,然后用该IP地址搭建虚假的DNS服务器,从而实现DNS劫持。随后攻击者将一个加密货币钱包的域名重定向到攻击者搭建的钓鱼服务器,最后成功盗取用户的登录信息。

目前,国内外关于抵御BGP劫持的研究主要分两大类:劫持预防技术和劫持检测技术。劫持预防技术包括RPKI、ASPA和BGPsec,目前全球RPKI的部署量达到30%左右;而劫持检测技术则是事后补救,使用检测技术发现劫持,然后再及时响应,减小损失。

BGP路由地址前缀劫持的典型特征是两个AS同时宣告了某个IP地址前缀。但是这一现象并不是判断BGP路由前缀劫持的充分条件,由于互联网中存在多宿主路由、DDOS劫持清洗等各种情况,一个IP地址前缀由多个AS宣告也可能是一种正常行为,因此检测系统需要利用丰富的领域知识和规则过滤合法MOAS(Multiple Origin AS ,MOAS)事件。但是由于互联网分布式自治的特点,要准确过滤所有合法MOAS事件是不可能的,而检测系统的目的,是发现可疑现象并向运行人员预警,因此这些检测到的事件被称为“疑似劫持事件”。

本报告分析了从2022年1月至2022年12月的疑似BGP路由前缀劫持事件,揭露了最近一年的疑似BGP劫持事件的总体特点。

02 测量方法

分析事件的来源为路由劫持监测平台BGPWatch。BGPWatch是清华大学网络研究院Dragonlab实验室自主开发的一套基于多源AS (Multiple Origin AS ,MOAS)事件的前缀劫持事件检测系统,于2021年10月上线。该系统利用丰富的领域知识和规则过滤合法MOAS事件,从而筛选出疑似前缀劫持事件,系统还根据被劫持前缀和受害者AS的重要性对事件进行评级。此外,系统还提供事件分析和回放功能。

BGPWatch通报的劫持事件由劫持者AS信息、受害者AS信息、被劫持前缀信息、劫持时间、劫持等级和劫持回放等字段构成。图1为一条劫持事件。事件的等级规则如下:当被劫持前缀包含的网站数量大于5,该事件等级为high level(高级),当劫持前缀包含的网站数量大于1小于5时或者受害者AS是IDC/CDN或者顶级ICP时,该事件等级为middle level(中级),否则该事件等级为low level(低级)。

图1一个路由劫持事件

03 疑似劫持事件分析

  • 3.1 每日事件数量分布

从2022年01月01日到2022年12月31日,BGPWatch系统报告的劫持事件历史曲线如图2所示。蓝色线为每日劫持事件的数量折线图,橙色线为过滤了持续时间小于3分钟的劫持事件图(考虑到BGP收敛时间在3分钟左右)。

如图中蓝色曲线,系统共报告了2599个劫持事件,其中有19天没有产生劫持事件。平均每天有7条报告,中位数为5.0,最大值为560,方差为923.79。

如图中橙色曲线,对于大于等于3分钟的疑似劫持事件,BGPWatch系统报告了1346个劫持事件。平均每天有4.15条报告,中位数为4.0,最大值为28,方差为9.66。

图2每日劫持事件历史曲线

从图2可以看出,超过99%的日期通报的劫持事件数量都低于100,过滤掉3分钟以下的事件之后,整体分布情况基本没有变化,只是在数量上有所下降。

考虑到BGP收敛时间在3分钟左右,本分析报告后续的统计数据只针对大于等于3分钟的疑似劫持事件。

图3为通报事件数量最多的10天相关信息。

图3每日攻击事件数量TOP 10

每日攻击事件数量的CDF分布如图4,每日劫持事件报告的数量分布基本满足幂率分布。

图4 每日攻击事件数量CDF图

  • 3.2 持续时间分布

持续时间的平均值为0天6小时15分钟,中位数为44.0分钟,方差为421884.69,最小值为3分钟,最大值为2856分钟,(注意,本系统将时长超过48小时的MOAS事件当作是正常事件,因为劫持事件发生后,管理员会迅速反应,所以劫持的时间一般不会超过48小时)。持续时间的分布CDF图如图5, 可以看出80%的劫持事件持续时间小于500分钟(8.33小时),60%的劫持事件持续时间小于100分钟。

图5 劫持事件持续时间分布

  • 3.3 被劫持前缀分布

被劫持前缀(经过去重)共1352个,其中危害程度高的事件中受害者前缀共59个,中等危害程度的事件中受害者前缀共173个。

IPv4被劫持前缀的前缀长度分布如图6所示。超过80%的被劫持前缀长度为24,余下的占比较多的前缀长度有23、22。

图6 IPv4被劫持前缀的前缀长度分布

IPv6被劫持前缀的前缀长度分布如图7所示。长度为48的前缀占比三分之一,余下的占比较多的前缀长度中有44、32。

图7 IPv6被劫持前缀的前缀长度分布

  • 3.4 劫持事件的危害等级分布

系统根据劫持事件造成的危害将劫持事件分为高中低3档。全部1348次事件中,共有高危害事件94次,中危害事件177次,低危害事件1077次。劫持事件级别统计如图8所示。

图8劫持事件级别占比

每天平均发生高危害事件0.29次,中位数为0次,方差为0.48。去掉所有报告为0的日期后,每天平均发生高危害事件1.34次,中位数为1.0次,方差为0.83。所有高危害事件的受害者前缀拥有的网站数量的平均值为322.89个,中位数为61.0个。

高危、中危、全部事件历史曲线图如图9所示。

图9高、中、全部事件历史曲线图

365天中,有70天产生了高危事件,占到了总天数的19.72%。且高危事件数量与当天的事件总数呈正相关。

每日高、中、全部事件的CDF分布如图10所示。

图10 每日高、中、全部事件数量的CDF分布图

每日高危害事件数量TOP 10天数据如图11所示,危害程度TOP 10事件(按照受害者前缀所包含网站数量排序)的数据如表1所示。

图11 每日高危害事件数量TOP 10天数据

表1 危害程度TOP 10事件(按照受害者前缀所包含网站数量排序)

表1 危害程度TOP 10事件(按照受害者前缀所包含网站数量排序)

  • 3.5 攻击者、受害者AS分析

图 6-12 每日攻击者和受害者AS数量历史曲线

每日攻击者和受害者AS数量历史曲线如图12所示。

攻击者和受害者AS在CAIDA上的AS排名(经过去重)的分布图如图13所示。从图13可以看出,受害者AS排名明显比攻击者AS排名靠前。

图13 攻击者和受害者AS在CAIDA上的AS排名分布

  • 3.6 劫持事件的国家/地区分布

在所有劫持事件中,国家/地区作为受害者的事件数量地图如图14,具体数量分布如图15所示。

图14 国家/地区作为受害者的事件数量地图

图15国家/地区作为受害者的事件数量分布

在所有劫持事件中,国家/地区作为攻击者的事件数量地图如图16,具体数量分布如图17所示。

图16 国家/地区作为攻击者的事件数量地图

图17国家/地区作为攻击者的事件数量分布

按照攻击者AS数量、受害者AS数量统计,美国拥有数量最多的攻击者AS,和数量第一的受害者AS,此外,香港、英国、中国、土耳其、巴西同时在攻击者和受害者国家AS数量中排名前十。香港共有12个AS既属于攻击者也属于受害者,英国共有7个AS既属于攻击者也属于受害者,中国共有3个AS既属于攻击者也属于受害者,土耳其共有7个AS既属于攻击者也属于受害者,巴西共有1个AS既属于攻击者也属于受害者。

  • 3.7 劫持事件影响范围

系统通过多个观察点采集数据。在攻击者宣告劫持的前缀后,该宣告会在互联网中进行扩散。但是由于目前RPKI的部署及最短路径选择等因素的影响,劫持宣告并不能扩散到所有的观察点。

大部分劫持事件都被多个观察点捕获到,如图18所示,大约60%的事件会被1%-20%的观察点观察到。

图18 劫持事件影响到的观察点比例分布CDF图

将(攻击者AS,日期)作为指纹,合并并统计数据可以得到1142次攻击事件。其中有332(29.07%)起事件,存在超过一半观察点观察到劫持。有1(0.09%)起事件,所有观测点都观测到了劫持事件。图19为按照(攻击者AS,日期)统计的劫持事件,图20为(攻击者AS,日期)作为指纹的劫持事件影响到的观察点比例分布。

图19将(攻击者AS,日期)作为指纹的劫持事件数量历史曲线

图20将(攻击者AS,日期)作为指纹的劫持事件影响到的观察点比例分布、

04 总 结

本文使用BGPWatch平台的数据分析了 2022 年 BGP 路由前缀的可疑劫持事件。根据数据,我们可以得出结论;

(1) BGP路由前缀劫持事件的传播受到一定限制

这一点从各个事件的观察点数量就可以看出来。大约 60% 的事件仅由 1%-20% 的观察点观察到。这是因为当前部署的 RPKI 正在增加,因此可以防止劫持公告传播到所有观察点。

(2) 大多数路由前缀劫持事件影响不大

在所有事件中,高危事件占6.97%,中危事件占13.13%,低危事件占79.90%。

(3) 路由前缀劫持事件仍然是互联网的一大威胁

例如,AS13414 (TWITTER) 被 AS8342 (RTCOMM-AS, RU) 劫持,Crypto Exchange KLAYswap 在 BGP 劫持后损失了 190 万美元。

(4) 部分事件仍需进一步研究

由于互联网存在多宿主路由、DDOS劫持防护、IP地址买卖租赁等问题,很难准确过滤所有合法的MOAS事件,部分事件仍需要更多持续调查。

最后,我们建议网络运营商和管理员:

(1) 监控网络并及时获得警报

网络运营商可以订阅我们的平台以了解他们的前缀劫持事件并获得及时警报。

(2)部署防劫持技术

RPKI 对于保护网络免遭劫持非常有用。其他路由路径劫持防范和检测技术目前正在研发中,运营商应及时跟踪进展并部署。

声明:本文来自风眼实验室,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。