BGP前缀劫持是针对Internet组织的持久威胁,原因是域间路由系统缺乏授权和身份验证机制。
仅在2017年,数千起路由事件导致代价高昂的中断和信息拦截,而问题的确切程度未知。尽管在过去20年中已经进行了大量研究以保护网络免受BGP劫持(检测,反应性缓解,主动防御)的影响,但除了RPKI之外,大多数提议的解决方案还没有找到适合工业的方式。虽然它的部署仍然非常有限。因此,网络仍然容易受到劫持事件的影响,这些事件通常需要数小时(甚至数天)才能得到解决。
在这篇文章中,我们介绍了ARTEMIS(自动和实时dEtection和MItigation系统),这是一个可以被运营商用来保护自己的网络免受BGP前缀劫持事件的防御系统。使用真实实验,我们已经证明ARTEMIS可以在几秒钟内检测到前缀劫持事件并在一分钟内中和它们;比目前的做法快几个数量级。
关键点:
ARTEMIS是一种针对BGP前缀劫持的防御系统,包括监控,检测和缓解服务,并在内部运行。它将劫持检测和缓解时间从数小时/天减少到几秒或几分钟。系统可配置为手动和自动缓解。
ARTEMIS概述
ARTEMIS基于AS本身运行的全面,准确和快速检测,可以灵活,快速地缓解劫持事件。它由AS用于保护其自己的前缀,并且作为在网络运营中心(NOC)中的VM/容器上运行的软件在内部运行。运营商只需要配置ARTEMIS,提供有关已宣布的网络前缀及其邻居的信息(配置文件;其生成可以使用来自IRR,RPKIDB和本地路由器的信息自动生成)。
该系统由三个主要模块/服务组成:
监视,从公共监视器(例如,RIPERIS和RouteView)和本地路由器接收信息。
检测,通过将监视信息与配置文件(“基础事实”)进行比较来识别劫持事件。
减缓,经由在内部自定义(或任选外包)机制,以所检测到的事件劫持自动或手动反应。
图1-ARTEMIS系统概述
ARTEMIS可以检测到简单的劫持(例如,涉及假源或受保护网络的上游AS)和高级劫持(例如,子前缀,中间人或路径操纵攻击)。图2描绘了ARTEMIS如何在后一种情况下操作的示例(使用伪链接进行路径操作)。
图2-ARTEMIS操作示例:通过伪链接+子前缀进行路径操作
监控
ARTEMIS通过利用普遍公开的BGP监控服务(例如RIPERIS和RouteViews(以及他们最近获得的实时流功能))持续监控互联网控制平面。
具体来说,它从以下地址接收实时BGP更新:
RIPERIS使用socket.io接口进行监视
RouteViews和RIPERIS监视器,使用BGPStreamAPI和本地BGP路由器通过exaBGP和iBGP。
在我们的工作中,我们表明现有的公共监控基础设施可以实现对所有有影响力的劫持事件的实时检测。实际上,虽然劫持者可以采用多种手段实现隐身,即BGP监视器看不到劫持,但这只能以有限的影响(不到AS级污染的1-2%)为代价来实现。
将更多监视器转换为实时流式传输将进一步提高全局可见性并缩短检测时间。
发现
检测通过交叉检查监控模块/服务接收的BGP更新,针对本地配置文件(例如,源/邻居ASN和已公布的前缀)和知识库(包含例如观察到的AS级链路和相关元数据)由ARTEMIS自动创建并存储在本地。
ARTEMIS检测方法是:
全面的检测控制平面上可见的所有可能的攻击类型。准确,为基本劫持类型生成零误报(FP)/否定(FN)(例如,虚假起源/上游公告,或任何类型的子前缀劫持),以及非常低的可调FP-FN权衡其他(例如,路径操纵攻击)。具体而言,基于使用PEERING测试平台的实际实验,我们已经证明实时监测和检测的阶段只需几秒钟,这与现有检测系统有所不同(见图3)。
图3-ARTEMIS检测延迟(箱线图;y轴);字母(x轴)表示用作受害者和劫持者的不同PoP
减轻
利用可靠的检测信息,ARTEMIS可以自动缓解劫持事件。
检测后可立即触发缓解;如果需要,也可以手动缓解(例如,等待操作员批准)。此外,缓解可以是灵活的,例如,可根据前缀,劫持类型,观察到的影响等进行配置。
目前,ARTEMIS提供两种主要的缓解方法。第一种方法基于“自己动手”的方法,网络通过前缀解聚反应,以便将流量吸引回自己的路由器。此技术对所有未经过滤的前缀都有效,特定于/24。
对于/24前缀的攻击,ARTEMIS可以启用类似于当前提供的DDoS保护即服务的缓解解决方案。特别是,受影响的AS可以请求其他(协作)网络从其自己的场所(多个源AS)宣布被劫持的前缀,然后将它们吸引的流量隧道传送回受害者(例如,通过受害者的上游提供商)。
正如我们在图4中所示,基于我们的PEERING实验,劫持的监测-检测-缓解周期最多需要1分钟。因此,脱离目前的人工干预方法,将重点放在网络本身,大大减少了防御对策的反应时间。
图4-PEERING试验台的真实实验;检测和缓解周期
最先进的
网络运营商目前使用两种主要的防御类型处理BGP前缀劫持:主动(如RPKI)和被动(如第三方检测服务),提出运营商需要手动验证和解决的警报(例如,通过前缀解除聚合)或联系其他网络进行过滤)。
一方面,RPKI和BGPsec等技术只有在全局部署时才能完全有效(并且仍然可能无法阻止所有潜在的攻击);实际上,由于相关的技术和财务成本/风险,以及有限采用和部署之间的循环依赖性,运营商不愿意部署它们(目前只有不到10%的前缀由ROA承保)(见图5)。
图5-不使用RPKI的原因
另一方面,当前的第三方服务存在多个问题,例如:
全面性有限,因为它们只检测到简单的攻击。
FP和FN方面的准确度有限。
延迟解决劫持问题。
妥协隐私和共享私人信息的需要(例如网络的路由策略)。
因此,在这种制度下,前缀劫持仍会影响网络的关键时间段,最长可达数天(见图6),对受害者网络的成本和声誉造成严重后果。