为互联网创建一个安全的底层
摘要:
对手可以利用跨域路由漏洞拦截通信并破坏关键互联网应用的安全性。与此同时,部署诸如边界网关安全协议(BGPsec)和下一代网络上的可扩展性、控制和隔离(SCION)等安全路由解决方案仍然有限。我们如何利用新兴的安全路由骨干,并将其安全属性扩展到更广泛的互联网中呢?我们设计并部署了一个引导安全路由的架构。我们的主要见解是将安全路由骨干抽象为一个虚拟自治系统(AS),称为安全骨干AS(SBAS)。虽然SBAS在互联网上看起来像一个AS,但它是一个联合网络,参与者之间使用安全骨干交换路由。SBAS在多个位置(称为出现点或PoPs)为其客户的IP前缀发布BGP公告,从而使非参与主机的流量被路由到附近的SBAS PoP(然后通过安全骨干路由到真正的前缀所有者)。通过这种方式,我们是第一个将联合安全非BGP路由骨干与BGP互联网集成的公司。我们展示了我们的架构的实际部署,使用SCIONLab来模拟安全骨干和PEERING框架来向互联网进行BGP公告。一组真实的攻击和互联网规模的模拟表明,SBAS显著降低了路由攻击的威胁。最后,我们对网络运营商进行了调查,以更好地了解最佳治理和激励模型。
跨域路由漏洞:
跨域路由漏洞(Cross-Origin Router Vulnerability)是指攻击者通过构造特殊的URL或注入恶意脚本,利用 Web 应用程序中存在的路由设计漏洞,实现对应用程序进行未授权访问、信息泄露、篡改数据或执行操作等攻击行为。
攻击者可以通过构造不同来源的URL,绕过同源策略限制,向目标 Web 应用程序发送请求。如果该应用程序的路由设置存在漏洞,攻击者可能会访问到不应该被公开的敏感页面或功能,并进一步发起攻击,比如提交表单、修改数据库等。
为了避免跨域路由漏洞,Web 应用程序需要正确配置路由机制并严格实施访问控制策略。同时,开发人员应该注意安全编码规范,不要将敏感信息直接传递给 URL 参数或存储在客户端,以防止攻击者利用 URL 参数或 XSS 等方式进行攻击。
边界网关安全协议(BGPsec):
Border Gateway Protocol Security (BGPsec)是一种用于保护互联网自治系统(AS)之间的BGP路由信息安全的协议。BGPsec可以帮助防止网络攻击者在互联网中篡改或伪造路由信息,从而保护企业、ISP和其他组织的网络安全。
BGPsec使用公钥基础设施(PKI)来验证路由器之间传输的BGP消息的真实性,并确保这些消息没有被篡改或者被欺骗者所替换。这种加密和验证技术有助于增强现有的BGP协议,以更有效地防止路由劫持和其他恶意行为。
虽然BGPsec可以提供更强大的安全性,但它需要网络参与者进行配置和支持。目前只有少数网络运营商和企业开始部署BGPsec。
安全路由骨干:
安全路由骨干(Secure Backbone Router)是指一种能够抵御威胁和攻击的高可靠、高性能路由器,被广泛应用于重要的网络基础设施中,如互联网骨干网、ISP 大型网络以及政府机构内部网络等。安全路由骨干具有以下特点:
<1>高可靠性:安全路由骨干采用冗余设计和高可靠性组件,能够在硬件故障或网络异常情况下快速自愈,保证了网络服务的连续性。
<2>高性能:安全路由骨干采用多核心 CPU、高速缓存和专业的交换芯片,能够处理海量数据包和复杂的网络协议,保证网络传输带宽和速度。
<3>多层安全防护:安全路由骨干通过多层安全防护措施来保障网络安全,如基于硬件的数据包过滤、访问控制列表(ACL)、IPSec、SSL VPN、DDoS 防护等技术,能够有效地抵御网络攻击和威胁。
<4>灵活扩展:安全路由骨干提供灵活的扩展方式,如可插拔模块、扩展卡等,能够适应不同的网络规模和需求。
安全路由骨干是网络基础设施中重要的一环,其安全性和可靠性直接影响到整个网络的稳定性和安全性。
虚拟自治系统(AS):
虚拟自治系统(AS)是一种将多个物理自治系统(AS)组合在一起形成一个逻辑上的自治系统。它通过使用虚拟化技术,可以将多个独立的物理网络连接到同一逻辑AS中,从而实现更高效、灵活和可靠的网络架构。
虚拟自治系统通常由计算机软件定义网络(SDN)控制器来管理。这些控制器负责管理网络中的所有路由器和交换机,并根据网络流量负载进行动态调整。此外,虚拟自治系统还可以提供许多其他功能,例如故障转移、业务连续性和安全性等。
同源策略限制:
同源策略(Same-origin policy)是指浏览器的一种安全机制,用于限制从一个源加载的文档或脚本与来自另一个源的资源进行交互。它通过比较两个 URL 的协议、主机名和端口号是否完全相同来判断是否属于同源。
同源策略限制了 Web 应用程序之间的交互,防止恶意站点利用跨站点脚本(XSS)、跨站点请求伪造(CSRF)等攻击手段获取用户的敏感信息或执行操作。例如,在同源策略下,JavaScript 无法从一个域中读取或操作另一个域的 Cookie、DOM 或 XMLHttpRequest 对象。
为了允许不同源的 Web 应用程序进行交互,Web 标准定义了 CORS(Cross-Origin Resource Sharing)规范,用于在服务器端通过 HTTP 头部控制对跨域资源的访问权限。通常情况下,服务器只会给符合要求的来源设置 Access-Control-Allow-Origin 头部,其他来源则无法访问该资源。
一、简介
1.背景
现实中的自治域间路由协议——边界网关协议(BGP)以其不安全而臭名昭著。攻击者可以利用BGP中的漏洞广告虚假路由,并劫持或拦截通向受害者的通信。
最初的安全路由方案集中在实现起点验证上,即验证IP前缀的所有者(起点自治系统(AS)),以防止前缀劫持攻击。标准化机制是资源公钥基础设施(RPKI),它生成将IP前缀绑定到起点AS的记录。然而,起点验证对于防止更为复杂的,操纵路由路径的拦截攻击来说是不足够的。最近的工作证明了拦截攻击的严重性,包括监视和破坏关键的互联网应用程序。其他提议通过认证整个路径信息来保证路由骨干中的路径安全。边界网关协议安全(BGPsec)通过加密签名和验证BGP路径来增强BGP。然而,BGPsec需要对现有的路由基础设施进行重大改变,并尚未实际部署。私有骨干网和干净的互联网体系结构,如可伸缩性、控制和隔离下一代网络(SCION)也已被提出。虽然它们在生产网络中得到了部署,但尚不能普遍使用。
资源公钥基础设施(RPKI):
RPKI(Resource Public Key Infrastructure)是一种数字证书基础设施,旨在提高因特网路由的安全性和稳定性。它允许互联网服务提供商 (ISP) 和其他网络操作者验证拥有特定 IP 地址前缀的组织的授权机构,并从该授权机构获得对该前缀的合法授权。
具体来说,RPKI通过建立一个数字签名证书链,将 IP 地址前缀与拥有者的信息联系起来,并使这些信息可用于验证路由更新的来源。这可以帮助防止 BGP(Border Gateway Protocol)路由攻击,例如 IP 地址劫持和路由欺骗,以及减轻由此引起的网络故障。
2.本文的贡献
在这样的情况下,我们能否设计一个可用于今天互联网的系统,通过利用新兴的安全路由骨干(例如SCION)来提高路由安全性?为了实现这一目标,我们提出了Secure Backbone AS (SBAS)——一种新型的联合骨干基础设施:
SBAS将安全骨干抽象为一个虚拟AS,通过传统的BGP与传统AS进行交互。在SBAS内部,安全骨干允许参与客户之间进行路由,并且免疫于BGP攻击。SBAS确保从参与客户接收到的公告是经过授权的,使用现有技术如RPKI,SBAS客户将优先考虑从SBAS接收到的路由。尽管客户与SBAS的连接可能会跨越一个短隧道,但我们证明即使在这种情况下,SBAS也能带来显著的安全效益。
3.具体实现
更具体地说,参与客户通过安全隧道——**虚拟私人网络(VPN)与SBAS相连,如果它不是直接相邻的。参与客户可以通过一个或多个分布式点(PoPs)**连接到SBAS。客户可以自己带上前缀通过SBAS进行公告(例如,具有自己的地址空间的AS),或者使用由SBAS分配的IP前缀(例如,没有对其地址空间进行控制的单个客户端和服务器)。在SBAS内部,客户地址空间通过PoPs之间的SBAS-内部iBGP网格进行分布,允许PoPs向传统的BGP邻居宣布客户前缀(为非参与主机提供连接性和改进的安全性)。
我们强调SBAS与传统BGP兼容:这使得SBAS能够在SBAS客户与非参与AS之间路由流量,即使一个通信端点不参与SBAS,也能提供安全效益。
参与客户:
可以是AS或单个终端主机
虚拟私人网络(VPN):
虚拟私人网络(VPN)是一种通过公共互联网或其他公共网络建立安全连接的技术。它通过加密数据流以及在源和目标之间创建隧道来实现网络通信的保密性、完整性和可用性。VPN 可以用于许多不同的目的,例如:
<1>远程访问:允许用户从远程地点安全地访问公司内部网络。
<2>在线隐私:通过隐藏 IP 地址和位置,防止第三方跟踪和监视您的在线活动。
<3>绕过封锁:绕过限制访问特定网站或服务的国家或组织。
<4>安全文件共享:允许用户安全地共享敏感信息和数据文件。
常见的 VPN 技术包括 PPTP、L2TP / IPSec、SSL 和 OpenVPN 等。企业可以使用此技术来提高员工的远程办公效率,并确保数据的安全性和机密性。
分布式点(PoPs):
PoP是指“Point of Presence”,意为“存在点”或“接入点”。在计算机网络中,PoP通常指位于数据通信网络核心和边缘之间的一个物理位置,它提供了不同类型的网络服务,使得用户能够使用这些服务并访问互联网。
通常情况下,PoP是由网络服务提供商 (ISP)、云服务提供商或内容分发网络(CDN)提供的。PoP通常包括服务器、路由器、交换机和固定带宽等组件。通过在全球范围内部署多个PoP,ISP和云服务提供商可以确保其服务更快地到达用户,并提高服务可用性和性能。
总之,PoP是一种重要的网络基础设施,它允许互联网服务提供商和其他网络运营商将其服务和内容分发到更广泛的用户群中,并优化其网络性能和响应速度。
4.测试结果
我们已经在真实网络上使用SCIONLab来模拟一个安全的SCION骨干、PEERING框架来发送/接收来自非参与AS的BGP公告、以及WireGuard VPN来与SBAS客户建立安全隧道来实现SBAS,并进行了实际部署。我们的实现最大程度地减少了对新软件的需求,并组合了现有的网络组件来实现SBAS路由。我们的关键评估结果如下:
1)在我们使用SCIONLab和PEERING进行概念验证部署时,我们以道德方式对SBAS客户和VPN端点的IP前缀执行BGP攻击。SBAS成功保护了所有客户之间的通信免受我们的攻击,显著提高了SBAS客户与非参与主机之间的通信韧性。
2)我们的互联网拓扑模拟进一步证实了SBAS在与非参与互联网主机通信的路由攻击中提高了韧性。使用仅有六个PoPs的SBAS部署可以将韧性提高61.8%。此外,如果更广泛的互联网执行路由起点验证(ROV),则SBAS与之集成良好:98.5%的对手在拓扑上无法劫持SBAS公告的路由。
3) 我们的概念验证部署只产生了平均11%的延迟开销(与互联网相比),随着更多的SBAS PoPs的部
SCIONLab:
SCIONLab是一个全球性的开放网络实验平台,旨在支持研究人员和工程师进行基于SCION架构的互联网新协议的研究、开发和测试。SCION是一种新型的互联网协议,它通过将Internet地址空间分解为多个独立的控制面和数据面,以提高网络的安全性、可靠性和灵活性。SCIONLab平台让用户可以轻松地搭建自己的SCION网络,并进行各种实验和测试,同时也为研究者提供了收集和分析网络性能数据的工具和服务。
BGP攻击:
BGP(Border Gateway Protocol)攻击是一种网络安全漏洞,指的是黑客或攻击者通过篡改BGP路由信息来控制互联网流量的目标。BGP是用于在互联网上路由数据包的协议,在互联网基础设施中起着至关重要的作用。BGP攻击可以被用于破坏网络的可用性、窃取数据和进行间谍活动等恶意行为。攻击者可以通过欺骗BGP路由器,使其相信某些路由更具有优势,这样就可以将传入的流量重定向到攻击者控制的位置,从而使得攻击者能够监听、修改和阻止经过该路由器的流量。
二、Interdomain Routing Security概述
1.BGP和BGP攻击
1)介绍
BGP是当今的自治系统间路由协议。然而,BGP缺乏路由信息验证机制,这使得可以进行BGP攻击,其中对手恶意发送BGP更新以劫持或拦截流量到受害自治系统。
2)危害
研究表明,BGP攻击可能对关键的互联网应用程序产生灾难性后果,包括那些使用加密安全机制的应用程序。此外,BGP攻击经常在野外发生,影响互联网服务的可用性,并为不法分子带来数百万美元的收入。
3)具体实现
在同等特定的BGP攻击中,对手会为受害者的前缀发布恶意BGP通告,该通告与受害者的前缀具有相同的前缀长度。因此,流量可能会到达对手或受害者,具体取决于路由策略。在更具体的BGP攻击中,对手发布比受害者前缀更长的前缀。由于转发基于最长前缀匹配,流向更具体前缀的流量将被路由到对手。这使得来自互联网上几乎任何地方的对手都可以吸引大量流向受害者的网络流量。
4)缺点
虽然更具体的BGP攻击非常有效,但它们并不总是可行的,因为大多数路由器过滤长于/24的BGP通告(从而保护/24前缀免受更具体的攻击).
5)拓展
RPKI也可以用于过滤恶意的更具体前缀通告。对手可以通过故意塑造恶意BGP通告来将流量丢弃/响应(劫持攻击)或将流量通过隧道或现有的BGP路径转发回受害者(拦截攻击)。拦截攻击更加复杂,但也更隐蔽,因为在其数据平面流量中,受害者可能看不出任何区别(除了可能增加的延迟)
2.目前的安全路由: RPKI和路由过滤
1)RPKI
RPKI通过提供一个密文安全的IP地址所有权数据库来缓解BGP攻击,该数据库可用于过滤虚假的路由通告。
2)具体实现
在RPKI中,每个自治系统都有一对公私钥,用于签名IP路由起源授权(ROA),将IP前缀与其授权的起源AS相关联。自治系统将数据库编译成一组路由过滤器,阻止不包含有效IP地址和起始AS对的通告。
3)不足
但是,RPKI容易受到伪造起源攻击的影响。在这种类型的攻击中,对手声称以恶意的BGP更新方式与受害者建立不存在的链接。由于RPKI仅验证BGP更新中IP前缀的起源,因此恶意的更新即使在存在ROV的情况下也会传播。
4)可能的解决方法
自治系统可以在邻居的BGP通告上实施路由过滤器,仅允许来自批准的IP前缀或AS路径的通告。
但是,基于严格前缀的路由过滤难以扩展到点对点连接和具有大量IP前缀的较大网络;而AS路径过滤无法阻止对手使用看起来合法的AS路径宣布恶意前缀。
3.安全的互联网骨干候选方案
可以使用各种安全的互联网路由技术作为安全骨干,从BGP扩展到全新的互联网架构,涵盖了广泛的范围。由于篇幅限制,下面只讨论了一些方法,但也可以查阅有关安全路由架构的更全面概述。
1)联合骨干。
BGPsec通过增强BGP来提供控制平面中路由的加密验证,提供了安全骨干所需的属性。BGPsec要求每个AS签署出站BGP通告,因此允许路径上的AS验证通告的真实性。BGPsec不仅可以防止AS误报未分配给它们的前缀,而且还可以防止AS声明虚假邻接。目前,一些缺点妨碍了广泛的BGPsec部署,例如可扩展性问题、收敛速度慢、更新验证开销大以及未解决的漏洞等。
2)新的互联网架构也可以用于构建联合骨干
例如NEBULA 、NIRA 和SCION。特别是,SCION被建议作为干净的互联网架构,提供安全的域间路由。SCION提供强大的安全性质:网络内每个数据包的源身份验证、信任根的主权和透明度以及域间路由的抗攻击能力。在这些架构中,SCION已经成为一种生产网络,由数家ISP提供。
SCION:
SCION(Scalability, Control, and Isolation On Next-Generation Networks)是一种新型的互联网架构,旨在解决现有互联网的安全性、可扩展性和灵活性等问题。SCION采用了完全不同的路由机制,将互联网拆分成可以控制的较小单元,从而提供更高的安全性和可靠性。与传统的IP地址相比,SCION引入了“逻辑地址”概念,以更好地支持多路径路由、可编程路由和网络功能虚拟化等特性。此外,SCION还提供了一些新的协议和API,如SCMP(SCION Control Message Protocol)和SIBRA(Secure Internet Border Router Architecture),以支持更高级别的网络安全服务和应用。SCION被认为是下一代互联网的候选方案之一,正在受到越来越多的关注和研究。
3)私有骨干
一些公司开发了专有的私有骨干,可以实现安全的数据传递,例如AWS和Cloudflare Argo 。虽然不是联合的,但其中一些骨干允许参与者通过VPN隧道连接,甚至宣布自己的地址空间。虽然这些商业产品很有前途,但它们很难扩展,因为竞争提供商似乎没有朝着联合提供的方向发展。
三、设计原则
1.目标和挑战
1)目标
本文希望设计一个安全的路由架构,为互联网提供高弹性来抵御BGP劫持攻击。然而,我们的意图并不是引入另一个安全路由协议。虽然安全路由协议相对于目前使用的BGP具有明显优势,但它们迄今为止仅实现了部分采用。
2)挑战
大规模采用的主要障碍是参与实体需要投入可观的财务投资,而在部署早期获得的好处有限。为了克服这一障碍,该架构必须具备以下特点:
<1>可以在不修改现有互联网基础设施和协议的情况下快速部署;
<2>对于希望使用该系统的客户来说,可以很容易地使用,需要最少的设置更改
<3>即使只部署了该架构的一部分,也可以立即使客户受益。
考虑到增量部署的因素,我们旨在利用已经部署的安全路由基础设施(作为安全骨干),以调解传统IP终端之间的通信。这将把安全骨干的好处扩展到更广泛的互联网,并启动互联网通信的路由安全。我们称此系统为SBAS,即安全骨干自治系统。
需要注意的是,SBAS不与任何其他安全路由方法竞争;由于它是一个补充系统,在协同方式下改善安全性。从这种方法出发,以下研究挑战应运而生:
<1>架构连续性
在一个安全路由基础设施和互联网的其余部分耦合需要具备架构连续性:安全骨干必须理解BGP的控制平面并无缝地桥接远程BGP对等点,同时保持所利用的安全路由基础设施及其安全保证不变。为此,安全骨干必须对基础设施进行架构抽象,并向客户提供透明接口。
<2>端到端安全
在通过安全骨干介质调解用户IP终端之间的通信路径时,通信路径可以被分割成两个部分:外部(不安全)段和内部段。前者包括IP终端和SBAS入口/出口之间的互联网链接,而后者包括安全路由基础设施中任意入口和出口对之间的通信。为了确保端到端的安全路由,客户必须能够选择可信的入口/出口点,并且能够安全地交换数据包以避免劫持攻击;同时,安全骨干必须在存在内部对手的情况下向任意入口/出口点对提供承诺的安全属性。
<3>路由优先级
为了使客户通过安全骨干在互联网中路由流量,SBAS需要将客户的前缀公告传播给所有其他客户和外部实体。然后通过SBAS和互联网公告前缀,结果是竞争的公告。为了最大化安全路由的能力,安全骨干必须能够说服接收公告的实体优先选择通过安全骨干的路由路径,而不是不安全的互联网路径。
2.威胁模型
1)对手类型
SBAS考虑了两种不同类型的对手。
<1>外部对手,他们控制互联网上的一个自治系统,并能够进行任意BGP公告。对手执行BGP攻击来劫持或拦截源于或目的地为客户的流量,从而启用更高级别的攻击,例如域名验证攻击和流量分析 。
域名验证攻击:
域名验证攻击(Domain Validation Attack)是指攻击者利用BGP劫持或拦截流量之后,伪造SSL证书来欺骗用户的一种网络攻击。攻击者通过获取网站的私钥,制作一个看似合法的SSL证书,再将其安装到自己的代理服务器上。通过这种方式,攻击者可以在用户访问被劫持的网站时,向用户发送伪造的证书,使得用户无法感知信息被窃取,从而达到窃取网站通信内容或用户敏感信息的目的。该攻击对于银行、电商等网站影响尤为严重,因为这些网站需要通过HTTPS协议保护用户的隐私和安全。
流量分析:
流量分析(Traffic analysis)是指在不破解加密内容的情况下,通过对网络流量的监控和分析,来获取通信的相关信息的一种技术。攻击者可以通过监控网络流量,识别出源、目的地址、协议以及时间等元数据,从而推断出通信双方之间的关系和敏感信息。例如,在互联网上,攻击者可以使用流量分析技术来拦截和分析用户的数据包,得到用户正在访问的网站、发送的消息内容以及其他敏感信息,这些信息可以被用于进行社会工程学攻击、身份盗窃或者定向广告等行为。流量分析技术也被用于针对国家机密、商业机密或个人资料的窃取和监听行为中。
<2>内部对手,他可能会破坏SBAS中具有各种角色的实体,企图破坏与合法客户的连通性。我们还允许这两种类型的对手勾结起来。不针对路由的攻击(例如利用实现漏洞或DDoS攻击)被视为超出范围。
2)BGP攻击类型
SBAS旨在防御的主要威胁是等长度前缀攻击。这是有道理的,因为SBAS控制的所有前缀都作为24位前缀(或48位IPv6前缀)公告,只能通过等长度前缀攻击进行攻击(请记住,IPv4中长于24位,IPv6中长于48位的前缀通常被过滤)。尽管我们考虑的主要威胁是等长度前缀攻击,但我们表明,在存在更特定的前缀攻击的情况下,两个SBAS客户之间的通信也会受益于增强的弹性。我们在后面中展示了这种属性。
四、SBAS的设计
1.SBAS概述
SBAS是一个抽象的系统,使得联邦骨干网络可以作为一个单一的自治系统(AS)对外部互联网进行操作。(转自原文Creating a Secure Underlay for the Internet 图1)
如图1所示,该系统的客户端可以通过安全连接(例如VPN隧道)连接到位于SBAS边缘的一个或多个PoP(点)。
该系统支持两种类型的客户:
1)控制自己地址前缀以通过SBAS进行路由的客户,
2)运营较小网络域的客户。
后者可以从SBAS拥有的地址范围中简单地获取地址。在内部,PoP通过背景统一的路由协议组成了一个完整的BGP拓扑结构,用于将客户公告分发到全球分布的PoP并实现最大程度的安全性,以保护受保护前缀的流量。SBAS完全兼容常规的BGP安全实践,并在内部执行验证检查,以确保只有合法的公告被系统重新分发。此外,内部使用的安全路由协议以及额外的安全机制,确保了重分发方案容忍行为失当的SBAS成员。这使得系统能够将安全联邦骨干的好处扩展到更广泛的互联网上,同时解决了部分部署激励的挑战,这些挑战限制了此类方法的实际使用。
SBAS区分以下角色:
1)客户端:
客户端是一个居住在骨干之外并通过合同从SBAS获取服务的实体,使其可以安全地通过系统路由流量。SBAS支持两种类型的客户:
<1>只控制单个主机(例如服务器运营商或终端用户)的客户
<2>拥有整个地址范围和自治系统号的实体。
点接入(PoP):
PoP是SBAS的成员,位于边缘,即为SBAS客户提供连接并与常规互联网交互。
骨干操作者:
这些实体参与骨干网络,但不位于边缘。它们仅参与内部路由和转发。此类型的成员不需要知道在骨干上运行的SBAS基础架构。
外部实体:
该术语指互联网上对SBAS不知情的实体。
SBAS区分以下三种地址类别:
<1>安全:
包括由SBAS客户公告的前缀和由SBAS拥有的地址范围,这些地址范围被分配给客户。安全地址范围通过BGP公开宣布。
<2>内部:
为了在PoP之间提供内部寻址方案,例如设置PoP路由器之间的iBGP会话,PoP保留了SBAS内部操作的地址空间。这个地址空间在SBAS基础架构外不可见。
<3>全球:
我们使用这个术语指所有全球可路由地址,其不适用于上述类别。
2. SBAS抽象
对于互联网,SBAS被抽象为一个单一的自治系统(AS),并进行BGP公告。该系统的定义特征是它在内部采用联邦结构:各种实体可以通过连接到骨干网络参与其中,而骨干网络运行一个安全的自治域路由协议。相比于通过一个允许任何客户端通过安全通道(例如VPN或直接物理链路)连接的Tier-1 ISP或IXP提供安全路由,SBAS的联邦结构和抽象提供以下优点:
1)联邦降低了互联网的集中化和在超级连接单个节点上监视流量的潜力,
2)增量可部署性,允许其他自治系统参与,
3)扩展的SBAS网络会减少到客户端的跳数,从而提高对路由攻击的韧性。
虚拟化的完整网格iBGP。 SBAS的内部结构可以抽象为PoP之间的全网格拓扑结构,独立于骨干路由协议。 在这些连接上,PoP重新分发来自SBAS客户端以及互联网的公告,类似于常规自治系统中iBGP的操作。 为了防止非PoP成员篡改,iBGP会话在加密和认证连接上运行(例如VPN隧道)。
3. 安全路由再分配
通过对动态路由重分发的支持。与传统的自治系统(AS)由单一实体控制不同,SBAS中要使用的重分发方案必须支持其联邦结构,并在存在恶意成员的情况下保持安全性。
路由重分发机制的设计和安全方面的问题:
1)联邦自带IP前缀
已经控制一个或多个IP前缀的客户可以直接使用它们与SBAS。为此,SBAS实现了一种路由重分发机制,使客户能够通过安全主干将入站流量路由到互联网上。该过程如图2所示:客户(AS A)通过VPN连接启动与PoP(AS P1)的BGP会话。利用这个会话,A对其前缀X进行了公告,然后通过完整的iBGP拓扑结构将其重新分配给所有其他PoP。一个远程的PoP(例如P2),在通过与P1的iBGP会话收到这样的公告后,将其发送到其eBGP邻居,即互联网对等方以及SBAS客户。(转自原文Creating a Secure Underlay for the Internet 图2)
2)增强的基于RPKI的安全性
RPKI系统为BGP广告的第一跳提供了强大的安全性质,但不保护随后的跳跃。SBAS的设计补充了这一属性,因为它消除了通过其安全主干的路径上的攻击面。SBAS利用RPKI来抵御两种不同的威胁:
<1>客户广告他们不拥有的前缀,
<2>PoP虚假声明获得客户授权的前缀的情况。
SBAS中防止第一种威胁的方法是在入口处进行路由验证。每个客户的公告必须携带一个有效的ROA,授权AS发起该前缀,这既在入口PoP处进行了验证,也由其他收到重新分布公告的PoP进行了验证。为防止复杂的路由攻击,SBAS还验证这些公告的AS路径不包含除原始ASN之外的任何ASN(但仍允许客户使用路径预先添加进行流量工程)。第二种威胁的例子是P3(如图2所示)转发从P1接收到的公告,试图吸引A的流量。为了防止这种恶意行为,客户可以使用RPKI来认证单个或多个PoP被授权重新分配给定前缀。这种方法类似于路径结尾验证,但在这种情况下,它可以纯粹由SBAS成员和客户使用,而无需任何外部部署。
3)仅限于SBAS的前缀
使用SBAS定义的BGP社区标签,客户可以指示PoP仅在内部重新分配公告,即连接的客户。这使得一个地址范围免受劫持攻击的完全保护,因为安全前缀始终优先于SBAS成员和客户。
4.客户的观点
1)服务管理
客户通过设置本地PoP的合同,通过界面(例如SBAS门户)注册SBAS。与SBAS的连接由客户端软件管理,该软件接收有关现有PoP(包括公共可达IP地址和每个PoP的VPN公钥)的信息。SBAS可以根据网络接近度量提供默认的SBAS PoP建议。
2)SBAS连接设置
客户可以通过连接到一个或多个PoP来连接到SBAS。寻求最大程度减少BGP攻击影响的客户通常应优先考虑最近的PoP。与PoP的连接是通过使用PoP的密钥对建立VPN隧道来设置的,或者在可能的情况下,客户可以直接连接到PoP。后一种情况具有消除连接上的任何BGP攻击可能性的额外好处,因为可以使用本地层2连接。如果客户使用多个PoP,则指定一个连接作为主要进入点,其他连接作为备份,以提高故障容错能力。为了防止路由环路,用于连接到SBAS PoP的VPN端点必须分配非安全地址。客户可能希望将其地址范围的一部分指定为通过SBAS路由(通过SBAS广告),并将其与其余地址空间(通过Internet正常广告)分开。
3)安全地址分配
对于不控制地址空间的客户,SBAS可以提供(付费)功能,从安全的SBAS拥有前缀中分配单个地址。此选项通过SBAS客户端软件配置。在向客户分配这种地址时,PoP会通过现有的iBGP会话向其他PoP宣布它。这使他们可以将流量路由到适当的位置并跟踪已分配的地址。
5.在PoPs的路由逻辑
1)控制平面:虚拟化iBGP。
如图3所示,每个PoP在骨干网络上与其他PoP维护多个iBGP会话,以及与客户和Internet对等方的eBGP会话。(转自原文Creating a Secure Underlay for the Internet 图3)
从这些会话接收到的信息构建了两个路由表:第一个表具有最高优先级,将安全地址映射到内部地址。每个条目可以是映射到表示另一个PoP的内部地址的远程客户前缀(在示例中,1.0.0.0/24映射到P2),也可以是可传递到客户VPN端点的本地客户前缀(2.0.0.1/32到nexthop(D))。这些路由的广告通过来自其他PoP的iBGP会话(在前一种情况下)或来自客户的eBGP会话(在后一种情况下)接收。
作为较低优先级的表格,P1维护来自其Internet对等方获取的Internet路由表。这些路由很可能也是通过从其他分配它们的邻居处接收的iBGP到达的。在这种情况下,路由选择可以遵循标准的Internet政策或P1实现的自定义逻辑。
2)数据平面:安全地址优先级。
接下来,我们描述了源和目的地位置不同场景的数据平面转发决策,如图4所示。通过在安全路由和外部路由之间保持严格的优先级层次结构,SBAS在设计上提供了对BGP劫持攻击的容错能力。。
<1>客户对客户(HS → HD)
在最简单的情况下,数据包源于客户AS S中的安全地址HS,并且目的是另一个安全地址HD。从HS出发的数据包通过VPN隧道路由到入口PoP P2。在那里,P2查找安全地址HD并找到与其关联的出口PoP P1的内部地址。原始数据包通过骨干网络的内部协议封装到P2中,然后通过VPN隧道传递到目标AS D中的目标位置。
<2>外部源(S0→HD)
我们考虑一个数据包,它的目的地是安全地址HD,但源于AS S0中不知道SBAS的源。在这种情况下,数据平面操作遵循相同的顺序:收到来自P3的安全前缀的BGP公告,其中包含HD,AS S0将数据包转发到最近的SBAS PoP。从这一点开始,应用与先前情况相同的逻辑。
<3>外部目的地(HD→S0)
对于具有全局目标地址的流量,通过选择出口PoP,路由决策提供更多选项。而在之前的情况下,流量被定向到目标首选的PoP,选择出口位置的决策取决于入口PoP。这使得可以优化不同的指标,例如劫持容错能力,可以通过基于最短AS路径长度和劫持检测进行路由来实现。例如,如果出口点注意到IP前缀的AS起源最近发生了变化,则可以避免使用该出口点传输到该IP前缀的流量,直到可以验证原始更改。这种方法进一步提高了系统对外部BGP劫持攻击的容错能力。
通过一些关键的设计原则,并利用安全骨干网络进行内部路由,SBAS能够安全地向客户传播路由,并将其传播到互联网上。在控制平面上使用严格的优先级层次结构,使得与客户的流量受益于强大的劫持容错能力。
五、实施和部署
1.总述
我们已经实施了SBAS设计并在全球分布式基础设施上部署了它。我们实现的一个关键特点是最小化对新软件的需求,并以协同的方式组合现有的网络组件。
在此驱动下,我们在全球分布的未来互联网研究网络SCIONLab上实现了SBAS系统的原型。SBAS系统由四个PoPs、两个PEERING公告节点和三个客户位置组成。我们运行在PoP上的SBAS实现包含约1000行代码。该软件根据描述SBAS实例设置的配置文件自动配置和运行各种PoP组件,并且完整的源代码是公开可用的。
2.使用SCION实例化SBAS
我们采用SCION作为SBAS的安全内部路由架构,原因如下:
1)SCION已经通过设计提供了一个强大的公钥基础设施系统,这对于核心SBAS属性非常重要,如安全路由重分发、联合参与方的异构信任和路由中的加密保护;
2)SCION提供高度自由的网络可编程性,帮助我们虚拟化内部网络结构并构建完全网状的SBAS拓扑结构;
3)SCION具有足够的系统成熟度,已经在真实世界的部署和运营中得到验证。
为了将SBAS集成到现有的SCION架构中,我们利用SCION-IP Gateway (SIG),通过封装和解包数据包在IP和SCION之间进行转换。每个PoP上的SIG操作提供透明的IP连接,无需更改客户端的网络栈。我们在SCIONLab上构建了SBAS原型部署,该全球SCION研究网络跨越50多个基础架构自治系统。在我们的部署中,四个自治系统在AWS数据中心的俄勒冈州、法兰克福、新加坡和东京直接连接到SCIONLab核心基础设施,作为SBAS PoP运行。
3.数据平面接口。
每个PoP都有三种不同类型目的地的接口,如图5所示:
(转自原文Creating a Secure Underlay for the Internet 图5)
1)WireGuard实例,用于发送/接收与该PoP连接的SBAS客户端的数据包;
2)传统的互联网接口,具有IP转发/对等和BGP路由表;
3)SIG将IP数据包封装到SCION数据包中,并通过SCION骨干网络发送它们。
这种模块化的接口分解使得SBAS具有高度灵活性。例如,可以配置不同的骨干网络架构以取代SCION作为插入式替换,而无需更改PoP软件的其他部分。
4.控制平面管理
除了这些数据平面接口外,每个SBAS PoP还与客户、IP转发提供商/对等方和其他SBAS PoP维护BGP会话。这些BGP会话由BIRD Internet路由守护程序处理。但是,BIRD并不做出最终的路由决策;它只是将从其各种BGP会话中学习到的路由导出到路由表中,然后由SBAS路由引擎按不同的优先级进行处理。
5.路由引擎
SBAS路由引擎汇编来自这些BGP会话的路由,并生成最终的转发表,以强制执行SBAS的安全/路由偏好要求。除了强制使用安全的SBAS客户端路由而不是标准的互联网路由外,SBAS路由引擎还可以扩展到考虑用于到达特定SBAS PoP的SCION路径,从而实现高级路由选择模型,例如基于碳排放的路由。
6.数据包处理
SCION内部通信(例如,来自SIG接口到远程PoP)不使用IP进行寻址。在SBAS中,我们将SCION数据包封装到IP数据包中,使用通用路由封装,并在SIG上维护一个静态表,其中每个PoP仅对应一个条目,将其内部IP地址映射到其SCION地址。这使我们能够拥有统一的IP路由表,用于IP和非IP数据包。每个数据包的实际路由可以通过Linux内核高效地执行。
7.BGP连接性
为了为PoP提供BGP连接性和Internet路由表,我们使用PEERING框架,该框架允许研究人员通过同行和上游转发提供商进行BGP宣告和数据包转发。使用此组件,我们的宣告被传播到全球BGP生态系统。
六、延迟评估
1.总述
本文进行了一系列实验,测量SBAS在实际情况下实现的延迟。尽管大多数情况下使用的是覆盖层链接,在某些情况下SBAS与Internet延迟相当甚至更好。由于PoP组件只引入亚毫秒级别的开销(见附录A),因此我们在本节中重点关注SCIONLab开销和端到端延迟。
源客户S(连接到入口PoP I)和目的地客户D(连接到出口PoP E)之间的最终端到端延迟 ` S→D 由以下部分组成:
(转自原文Creating a Secure Underlay for the Internet )
2.PoPs之间的延迟优化端到端延迟
我们展示了骨干网络可以被利用来优化甚至减少PoP之间的延迟。
1)原理剖析
SCION提供了多条路径选择的机会,使得应用程序能够基于不同的指标选择最佳路径,而BGP则根据设计选择每个源与目的地对之间的单一路径(这往往会导致次优的延迟)。
2)具体做法
<1>我们测量了SCIONLab和互联网上所有PoP节点对之间的延迟,并进行了比较。
对于互联网延迟基线,我们使用了不同的测量方法来模拟实际流量,消除了协议特定的因素:来自ICMP协议的回显请求和TCP握手。
<2>SBAS延迟是通过SCION测量的。
注意,尽管在Internet延迟和SBAS延迟测量中使用了相同的数据包生成器,但在SBAS中,它似乎对数据中心网络而言是通用的UDP流量,以本地传递SCION数据包。
<3>我们观察到,使用ICMP进行测量时,延迟始终较低,而不是基于TCP的测量。
遵循Kwon等人的方法,我们使用TCP作为SCION延迟的比较基准。尽管SCIONLab主要由覆盖链路组成,但对于大约60%的测量,其跨PoP节点实现的延迟低于互联网。
这种改进来源于SCION提供的复杂路径控制;SCION可以通过延迟优化的路径(例如,东京-新加坡-法兰克福)引导数据包,而BGP则选择绕行路径(例如,东京-西雅图-法兰克福)。
4)结论
这表明,在像SCION这样的域间路由架构中,即使在具有相对较少路径选择的情况下,也能够利用其优势并弥补隧道耗费以创建覆盖链路的开销,从而实现改进的延迟。
3.端到端延迟
1)目的
最终的延迟实验评估了两个客户主机之间通过SBAS进行通信的端到端连接所达到的性能。
2)测试设置
为了评估这种性能,我们在测试范围内每小时运行一轮所有客户机器之间的延迟测量,持续两周(总共336轮)。在每轮中,我们使用1秒的间隔运行30次ping,并计算ping数据包的平均延迟。我们选择了跨越多个大陆的三个客户位置,并选择最近的PoP作为每个客户的入口。因此,这些测量结果预计比SBAS上的延迟与互联网基准相比要差一些,因为流量可能需要从源头经过最近的入口PoP并从出口PoP到达目的地。
####3)测试结果
平均而言,SBAS上的端到端延迟比互联网高出约17毫秒。当考虑到较大的洲际延迟时,SBAS和互联网之间的端到端差异相对较小:例如,苏黎世和大阪之间的延迟在互联网上平均为241ms,在SBAS上为259ms,相对增加不到7.5%。在某些情况下,SCIONLab提供的延迟改进甚至使端到端连接的延迟优于互联网。这种差异随时间变化的大方差可以归因于BGP路由的不稳定性,它随着时间频繁变化。通过使用更多PoP的扩展网络以及骨干网络中的专用SCION链接(如前一部分所述),可以进一步改善SBAS的端到端延迟。
4.可扩展性的讨论
SBAS的设计有几个方面使其能够应用于大规模的真实环境中,SBAS的带宽和计算内存开销与其客户数量大致成比例。PoP模块(包括WireGuard隧道、SIG和路由逻辑)不维护每个流的状态。向SBAS添加客户仅涉及添加一些内部路由表条目和客户端IP / VPN密钥到PoP WireGuard配置中。通过增加PoPs的计算能力和增加安全内部PoP网络的带宽,可以扩展SBAS的容量以服务更多的客户。 SCION处理PoPs之间的关键管理和交换,通过将信任根和密钥管理委托给有限数量的隔离域来提高RPKI可伸缩性。我们认识到互联网路由表的增长是一个现在的问题。虽然SBAS基础设施宣布/ 24前缀(或/ 48用于IPv6基础设施,是IPv6中最长的公开可路由前缀[9])用于子前缀劫持保护,但这样的宣布数量总体上很少,并且与连接的客户AS数量以及 SBAS POP的数量成比例(因为每个PoP或客户端都需要一个WireGuard端点的前缀)。虽然鼓励SBAS客户使用/ 24长度前缀(用于选择性安全关键服务),但SBAS不会分解客户宣布。
七、安全风险
总述:
本文使用两种主要方法来评估SBAS的安全性:
(1)使用PEERING BGP研究框架[进行真实世界的攻击,
(2)使用互联网拓扑模拟进行模拟攻击。
这两种方法旨在相互补充。PEERING框架使我们能够对真实的SBAS原型部署发起道德BGP攻击,并准确地捕捉Internet路由的动态,但不能让我们在许多不同的对手位置上进行实验(因为我们受到PEERING框架节点的限制)。拓扑模拟允许我们在大量的对手位置上进行实验,但产生的结果不够精确 。然而,当将这两种类型的评估结果并排考虑时,它们互相补充,能更准确地了解SBAS的安全性。
回忆前面的威胁模型,我们专注于针对等效特定前缀的攻击,因为通过提供能通过分解的IP前缀提供服务可以避免更具体的前缀攻击,这是我们用于所有与SBAS相关的地址。在这里我们还考虑了更具体的前缀攻击。
1.评估SBAS的部署,对抗现实世界中道德的BGP攻击
1)BGP攻击部署
我们使用PEERING框架对我们的SBAS部署发起了真实世界的BGP攻击:
首先,我们设置了两个PEERING位置(称为muxes),作为SBAS客户端。一个客户端位置是位于犹他大学的mux utah01。另一个位置是位于希腊教育和研究网络GRNET的mux grnet01。接下来,我们使用位于东北大学的mux neu01作为对手,并发起了BGP攻击。
2)伦理考虑
我们实验设置背后的一个重要伦理原则是,我们只宣布我们被授权使用的前缀。即使我们将neu01 mux用作对手来模拟我们的攻击,但其所有BGP公告都得到了PEERING框架的适当授权。此外,我们使用了显式委托给我们基础设施的IP前缀(来自PEERING和参与的教育机构),这些前缀没有托管任何生产服务并且不为实际用户服务。最后,我们也遵循PEERING框架的可接受使用政策,以免过度负荷或崩溃互联网路由器。
3)实验结果
我们的实验验证了SBAS可以缓解针对客户前缀的非自适应攻击以及针对连接到SBAS PoPs的客户隧道的自适应攻击。此外,SBAS甚至可以增强SBAS客户端与Internet上外部主机之间的通信安全性。
4)对照组:
在没有SBAS的情况下成功攻击。我们首先进行了一个控制实验,其中未使用SBAS,并且utah01和grnet01的客户通过传统的BGP提供商/对等方宣布其前缀。然后,在neu01的对手节点尝试通过宣布utah01的前缀和grnet01的前缀来劫持两个客户之间的通信。我们发现,虽然从grnet01到utah01的流量被成功路由到utah01,但从utah01到grnet01的流量被路由到了对手。这使得对手可以观察(并潜在地修改)从utah01到grnet01发送的数据包。因此,在没有SBAS的情况下,utah01将有一个比受害者更好的BGP路由到对手,导致对手成功攻击了utah01和grnet01之间的连接。
5)使用SBAS进行攻击缓解
参数设置:
接下来,我们分别将utah01和grnet01客户端连接到原型SBAS实现,使用Oregon和Frankfurt SBAS PoPs。然后让utah01和grnet01通过SBAS宣布其IP前缀。请回忆,每个客户节点上,SBAS学习的路由比标准Internet路由具有更高的优先级。我们考虑两种类型的对手:
<1>非自适应对手
非自适应对手不知道SBAS,并像控制情况下一样针对客户IP前缀发动BGP攻击。由于utah01和grnet01都通过SBAS进行通信,因此对手无法在任何方向上劫持grnet01和utah01之间的流量。需要注意的是,这个结果与客户或对手的位置无关。当对手针对通过SBAS宣布的客户IP前缀进行BGP攻击时,两个客户将始终成功抵御。这是由于路由优先级,即使是更具体的BGP攻击也是如此。SBAS PoPs会将安全路由加载到一个单独的路由表中,并赋予比Internet路由表更高的优先级。 SBAS客户端的出站流量总是会通过连接的SBAS PoP。全局路由表中的更具体的路由不会影响SBAS客户端之间的路由。
<2>自适应对手
知道SBAS的自适应对手可能选择攻击每个客户用于与SBAS通信的隧道。虽然这种自适应攻击天然不太可怕,因为隧道是端到端加密的,但仍有强大的攻击可以针对加密流量发起[59, 73]。
具体操作:
使用我们的PEERING设置,我们让neu01作为对手,攻击utah01和grnet01用于与SBAS建立WireGuard会话的IP前缀。即使对手恶意宣布了两个受害者的WireGuard终端点的IP前缀,并发起了等同特定的BGP攻击,utah01和grnet01之间的通信仍然没有中断,也没有被路由到对手。需要注意的是,SBAS基础设施前缀,例如用于VPN端点的前缀,需要是/24。更具体的针对SBAS VPN终端点的攻击是不可行的。
评估:
我们指出,这种类型的自适应对手对SBAS的成功性高度依赖于客户选择的入口点。作为一个人造的例子,如果utah01选择法兰克福的SBAS PoP作为其入口点,而grnet01选择俄勒冈州作为其入口点,则两个隧道上的通信都将路由到对手。正是因为SBAS入口点相对于对手位置的接近性,SBAS即使在面对这种类型的自适应对手时也提供了改进的安全性。在最佳情况下,客户甚至可能能够获得与PoP的直接二层连接,从而完全挫败这种攻击。
6)表征与外部主机的通信安全
<1>具体做法
除了运行实验来衡量SBAS客户端utah01和grnet01之间通信的安全性之外,我们还评估了当SBAS客户端与未受SBAS保护(即外部)的主机或服务器在Internet上通信时,SBAS提供的安全性优势。我们建立在Birge-Lee等人所提出的方法论基础上。我们从Censys全球IPv4扫描[31]中构建了1k个IP地址样本,用作外部主机。该样本是随机选择的,并过滤掉仅响应ICMP回声(ping)请求的主机。为了衡量SBAS对SBAS客户端和外部主机之间通信的影响,我们从位于amsterdam01和seattle01的节点使用道德等特定前缀劫持,针对utah01和grnet01发起攻击并由SBAS宣布。同样,我们也执行了不使用SBAS作为控制情况的道德劫持。然后,对于每个劫持,我们从正在被劫持的前缀中的IP地址向我们样本中的1k个外部主机启动ping扫描。当样本中的每个主机收到ping请求时,它将生成一个ping响应,并发送给受到对手攻击的目标IP地址。计算响应被路由到对手的主机占样本总数的比例,可以衡量我们发起的每个劫持的影响。
<2>评估
SBAS显著增强了与外部主机的通信安全性。当utah01和grnet01节点未使用SBAS时,neu01处的对手能够劫持72%和76%的1k个外部主机的流量。当我们将utah01和grnet01连接到SBAS并针对SBAS宣布的前缀发起攻击时,对手的劫持能力降低三倍,仅影响25%的主机。需要强调的是,所提供的安全改进是保守的,因为此实验针对仅使用seattle01和amsterdam01 PEERING muxes 的SBAS原型部署进行。我们正在积极努力扩展此部署,并在第7.2.1节中提出建议的扩展步骤及其相关的安全改进。随着添加更多节点,主机将拥有到最近的SBAS PoP的更短路径,这将进一步减少对手攻击的传播。
2.通过BGP攻击模拟量化劫持恢复能力
1)总述
为了评估SBAS的安全性,超越PEERING mux对手和客户端位置,我们采用了互联网规模的攻击模拟。利用CAIDA AS拓扑数据集构建了互联网拓扑结构,并增加了从bdrmap工具推断出的互连信息以及从Route Views和RIPE NCC RIS收集的BGP路由信息库(RIB)数据来正确地模拟AWS数据中心和PEERING节点的路由选择,这些节点是SBAS部署的一部分。我们在Birge-Lee等人开发的方法的基础上进行前缀级别(而不是AS级别)的模拟。我们评估外部来源的流量在发生同样特定的BGP攻击事件时,是否仍然会通过PEERING框架路由到SBAS。我们还探讨了随着更多BGP宣布的SBAS节点和RPKI在更广泛的互联网中的全面部署,安全性如何提高。计算攻击弹性度量。我们使用弹性度来量化总潜在对手中,在任意前缀被受害AS宣布的情况下,没有拓扑能力启动同样特定前缀劫持攻击的比例。弹性度的详细定义在附录B中。弹性度受到受害者和对手AS的相对位置,它们的互连和提供商关系以及进一步的安全措施(包括RPKI)的影响。互联网拓扑模拟。我们针对一个AS级别的对手运行BGP模拟,考虑将随机样本1k个对手AS作为攻击者集合A,相当于在CAIDA AS拓扑中所述的71669个AS中约占1.39%。对于每个攻击者AS,我们将所有其他N-1个AS作为外部主机(流量来源)B。在这些固定的对手AS和外部主机集合的基础上,我们针对两种情况进行BGP模拟:
(1)通过SBAS BGP宣布节点宣布受害前缀;
(2)以传统方式宣布受害前缀而不是SBAS。
我们考虑选择了1k个受害前缀的随机样本,这些前缀是基于第7.1节的方法选择的。我们评估具有不同数量和位置的BGP宣布节点的SBAS配置。当变化BGP-speaking SBAS节点的数量时,我们提供全球最佳的配置(node locations)结果。
CAIDA AS拓扑数据集:
CAIDA AS拓扑数据集是由加州大学圣地亚哥分校网络研究实验室(Center for Applied Internet Data Analysis,简称CAIDA)发布的一个公开的互联网自治系统(AS)拓扑结构数据集。该数据集收集了全球范围内的AS信息,并提供了各个AS之间的关系和拓扑结构。这些信息对于进行互联网研究、网络安全分析和拓扑结构分析非常有用。
2)SBAS显著增强了对手AS和客户位置的弹性
我们分析了SBAS宣布的前缀级别弹性度在采样的AS级对手执行BGP劫持攻击时的分布,并将其与未使用SBAS的情况进行比较(图8)。我们的结果表明,即使只有少量BGP宣布节点,SBAS部署也显著提高了对手AS和客户位置的路由安全性。增加SBAS骨干网中宣布节点的数量可以进一步增强安全性。
(转自原文Creating a Secure Underlay for the Internet 图8,图9)
图8显示,仅使用5-6个BGP宣布节点来保守地部署SBAS就可以使中位弹性度提高超过60%。在阿姆斯特丹、西雅图和ISI宣布的三个节点的SBAS中,弹性度达到0.750,比没有SBAS的基线中位弹性度0.545提高了37.2%。在GRNet再添加一个宣布节点,中位弹性度进一步提高到0.825,提高了50.9%。额外的宣布节点提供递减的安全回报:在UWashington增加第五个节点,弹性度为0.870(提高了59.3%),最后在GATech增加第六个节点,弹性度为0.884(提高了61.8%)。
对已知串行劫持攻击AS的弹性度改善。作为说明性案例研究,我们研究了11个AS的样本,这些AS在之前的工作中被识别为串行劫持攻击者的威胁[74]。这个更小的攻击者样本使我们能够绘制每个攻击者AS与外部主机通信的SBAS客户端的弹性度。值得注意的是,SBAS提高了对所有11个已知串行劫持攻击AS的弹性度,使用6个BGP宣布节点的配置,中位弹性度提高了64.9%。对于最具破坏力的对手AS 9009,6个节点的SBAS产生了602.6%的中位弹性度增益。
3)在更广泛的互联网中实施ROV可以进一步提高SBAS提供的弹性度
我们进一步考虑在更广泛的(非SBAS)互联网中采用ROV(使用RPKI进行路由起源验证)来评估SBAS潜在安全改进的程度。回想一下,ROV通过验证路由的起源AS使得同样特定的劫持攻击不太可能成功:因此攻击者需要将自己附加到从有效RPKI签名AS发起的路由上,这会增加攻击者的路径长度一倍。我们重复之前的模拟设置,并在更广泛的互联网中添加ROV,以评估SBAS和ROV组合提供的弹性度改善程度(见图9)。
我们使用“ROV-aided”指代在更广泛的互联网上部署ROV的情况。ROV显著提高了SBAS提供的弹性度:平均而言,ROV辅助下的SBAS部署相对于没有ROV的方案,其中位弹性度提高了45.0%。例如,带有3个宣布节点的ROV辅助下的SBAS部署将中位弹性度提高到0.898,比没有SBAS的基本弹性度0.661提高了35.7%。类似地,带有6个宣布节点的ROV辅助下的SBAS部署将弹性度提高到0.985(提高了49.0%),这意味着98.5%的对手在拓扑上都无法劫持SBAS宣布的路由。
八、激励和治理
除了设置技术SBAS组件之外,采用SBAS需要协调参与的ISP之间的合作,组建机构来处理治理,并向客户展示/推广SBAS。为了更好地了解网络运营商对SBAS部署激励和治理模式的偏好,我们进行了一项调查。
1.部署激励措施
当前市场趋势表明,人们对可靠和安全的互联网连接有需求。
专门设计用于减轻路由中断的SD-WAN、租用线路和网络即服务产品已经在各个行业的企业中得到广泛应用。尽管这些服务成本高昂,但客户仍然愿意购买,这表明他们愿意支付额外费用以保护免受由路由引起的网络中断的影响。第一个采用SBAS的客户可能会因其安全性而受益,这种收益超过了早期技术部署不可避免的困难,类似于SCION网络的初始客户。如果基础设施已经支持SCION连接(目前由10个ISP原生支持),则部署SBAS的额外成本微不足道,但可达到的额外客户群体可以带来巨大的财务收益。我们在第7.2节的评估结果显示,5个SBAS PoP就已经能够为第一个客户提供立竿见影的安全效益。因此,目前支持SCION的ISP就足以启动SBAS。
我们相信SBAS的轻量级实现也将有助于它获得早期采用。
几项调查回答强调了与当前路由硬件和协议的互操作性的必要性,以及对任何新的路由安全解决方案的工业采用所需的操作稳健性的最小影响。与BGPsec和其他提出的基于白板的路由协议相比,SBAS使用通用网络硬件,并且不会受到全面或无法部署的安全改进的影响。SBAS使用可靠、现成的网络组件(BGP、iBGP和安全隧道),减少了实施和维护定制路由模块所需的大部分工作量。这种相对容易的实现转化为客户的过渡成本更低,在实际流量条件下进行更快速的实验。
2.治理模型
由于SBAS PoP操作的联邦性质,需要一个治理结构来协调全球运营(例如AS管理、RPKI ROA分发以及安全和内部地址范围的协调)。
我们提出了四种不同的治理模型,在我们的调查中都得到了支持,按其集中程度和对现有结构的依赖顺序呈现:
1)ICANN和区域互联网注册机构。
区域互联网注册机构(RIR)已经在协调互联网的控制平面方面发挥了重要作用,例如通过分配IP地址范围、AS号码并提供托管RPKI服务。因此,他们自然而然成为管理SBAS共享AS号码的实体。这样的治理模型也将受益于RIR与网络提供商之间的紧密联系。但是,尽管他们为其成员提供协调活动和服务,但RIR并不涵盖网络基础设施的运营。运营SBAS将与RIR改善路由安全的其他努力无关。
2)多利益相关者组织
根据这种治理模型,一个包括感兴趣方(如ISP和公司)的基金会将运行SBAS。这将提供创造一个明确的SBAS职责范围的实体的好处,专门致力于保证SBAS的顺畅运行,并且还可以接受为这一努力提供的专用贡献。另一方面,这将需要建立新的结构。
3)网络提供商联合会
一种依靠ISP合作并通过所涉及各方之间的松散协调(建立在意向书和双边协议基础上)来加入(部分)资源到SBAS中的治理模型。在这种治理模型中,网络效应不太显著,并且早期参与者将承担推动该倡议采用的大部分负担。
4)分散式治理模型
每个PoP操作员都可以独立加入SBAS,就像没有集中实例管理哪些TOR节点可以加入网络一样。这种模型对于PoP操作员最为灵活,新操作员进入的门槛很低。然而,不能保证足够数量的PoP的连续运营,并且共享稀缺资源(例如IP地址空间和AS号码)将是具有挑战性的。
3.网络运营商调查
通过直接联系和RIPE和NANOG邮件列表招募了31名参与者进行调查。我们的调查表明,网络安全对大多数ISP的运营非常重要,并且存在一群早期采用者有兴趣部署SBAS。具体而言,31名参与者中有26人(84%)表示,在零到五的评分尺度上,网络安全对其ISP的运营至关重要,评分为四或五。然而,当被问及安全路由是否是一种可销售的产品时,只有15个运营商(31个中的一部分)回答四或五。这种响应上的差距可以归因于通常假定的网络效应问题,需要大量关键贡献者才能实现实质性的安全收益。在这些情况下,早期激励不足以让早期利益相关者承担建立新系统的成本。这是其他解决方案无法部署的主要原因,这些解决方案需要高使用率才能产生安全改进。即使社区存在相当大的兴趣,许多网络运营商也没有看到在投资安全路由方面的财务收益,这就形成了低采用率的自我实现预言。
我们继续询问运营商评估其ISP向客户提供SBAS的兴趣,有8个运营商评级为四或五。此外,这群感兴趣的运营商似乎对SBAS的设计非常有信心:他们报告了对SBAS部署可行性的平均得分为3.75分,对SBAS对抗路由攻击的有效性的平均得分为4.6分。部署的主要关注点通常涉及后勤问题,例如建立ISP之间的iBGP会话以及在路由系统中多个ISP共享一个ASN。尽管这只是少数调查参与者,但:
<1>它代表了认为安全路由是可销售产品的运营商的53%,
<2>显示出一群确信、感兴趣的早期采用者可以通过SBAS实现大量的安全改进。
即使只有一些早期采用者,SBAS参与者和更广泛的互联网之间的通信也可以实现更高的弹性。
在治理模型中,联邦模型被选为最受欢迎的潜在治理结构,有14名参与者(≈45%)选择,其次是将责任委托给RIR(35%),分散式模型(13%)和多利益相关者组织(7%)。一些受访者强调了选择一个不会被大公司主导并具有机制防止它超出所需范围的结构的重要性。
通过调查网络运营商,我们看到实现SBAS生产部署需要一些后续步骤。我们鼓励网络运营商和研究界协作,将SBAS建立为生产网络。
NANOG邮件列表:
NANOG邮件列表是一个广泛的电子邮件列表,专门为网络运营人员和其他相关的互联网技术专业人士提供交流和讨论平台。该列表由北美网络操作组织(North American Network Operators Group, NANOG)管理,旨在促进互联网基础设施的发展和运作。NANOG成立于1994年,自那以后一直致力于提供有关网络规划、实施和运行的最新信息。NANOG邮件列表是一个非常重要的资源,对于那些希望了解互联网技术趋势和最佳实践的人来说尤其如此。
九、相关工作
已经提出了多种建议,包括使用覆盖技术建立新路由的研究。特别地,Andersen等人提出了弹性覆盖网络(RON)架构,该架构使用分布式应用程序构建覆盖网络,在实时监视底层路由路径的基础上构建新路径。Peter等人提出了ARROW架构,该架构使用ISP之间的覆盖隧道来扁平化互联网拓扑,并在需要时提供新路由。与SBAS相比,ARROW侧重于可用性,并且只涉及客户完全参与的用例。网络多元化表明了对架构异构性的需求。Crowcroft等人介绍了Plutarch,它将每个同质网络架构描述为上下文,并通过插入函数来解释每个上下文封装功能之间的通信。Avramopoulos和Rexford提出了一个安全骨干框架,通过安全虚拟链接网格连接各种安全路由体系结构。事实上,网络多元化可以使不同的网络架构优雅地共存。然而,这些方法仅仅是将网络架构粘合在一起,只能支持它们生存。相比之下,SBAS不仅以协同的方式将安全路由基础设施桥接到互联网上,而且还将这些好处扩展到更广泛的互联网,增强它们的生命力。
十、总结
在过去的二十年里,安全路由技术受到了研究界的广泛关注,但实际应用较少,可能是因为需要进行重大基础设施改变。为了快速推进安全路由,我们研究如何利用安全通信骨干网络来保护常规互联网上的通信。我们设计和部署了一个架构SBAS,其中传统IP端点之间的通信通过以联邦方式运作的安全骨干网络进行中介。SBAS大大减少了跨域路由攻击的威胁,并且只有很小的延迟开销(正如我们的结果所示,甚至可以加快一些端到端连接与互联网相比)。这项工作的核心贡献是激励兼容性的设计。SBAS不与其他安全路由体系结构竞争,而是展示了现有的安全路由基础设施即使部署有限,也已经能够使互联网受益。尽管在生产环境中部署SBAS仍然存在一些挑战,但我们的调查显示了一条潜在的前进道路,我们的实验结果显示,即使只有少数早期采用者,也可以实现显著的安全改进。我们希望SBAS能够重新激发对安全跨域路由的追求。
个人总结
一、思路总结
本文首先关注到现实中的自治域间路由协议容易受到劫持攻击和拦截攻击,研究后发现而已有的方案通过认证整个路径信息来保证路由骨干中的路径安全,比如通过加密签名和验证BGP路径来增强BGP,但需要对现有的路由基础设施进行重大改变,不能被普遍使用,为此本文以设计一个可用于今天互联网的系统:
通过利用新兴的安全路由骨干来提高路由安全为目标,展开了研究,为实现该目标,提出了SBAS一种新型的联合骨干基础设施,通过将安全骨干抽象为一个虚拟AS,通过传统的BGP与传统AS进行交互,在SBAS内部,安全骨干允许参与客户之间进行路由,并且免疫于BGP攻击(参与客户通过安全隧道——VPN与SBAS相连,如果不是直接相邻的,也可以通过一个或多个分布式点(PoPs)连接到SBAS),SBAS确保从参与客户接收到的公告是经过授权的(使用现有技术如RPKI),并且SBAS客户将优先考虑从SBAS接收到的路由。
可以理解为:
SBAS的内部采用联邦结构:各种实体可以通过连接到骨干网络参与其中,而骨干网络运行一个安全的自治域路由协议,保证了信息的安全传输,接入点负责对外通信,并兼容常规的BGP协议。
而对于互联网,SBAS被抽象为一个单一的自治系统(AS),并且能进行BGP公告。
阐述完系统组成后为了测试当前系统,还在全球范围搭建了服务器进行延迟测试并设置了对照组以体现真实性,并从底层分析了延迟组成的各个部分,分析了当前方案性能好的原因,最后还进行了安全性分析和测试,通过使用PEERING BGP研究框架进行真实世界的攻击和使用互联网拓扑模拟进行模拟攻击测试了其安全性,最后还分析了发展前景和可行性以激励后来人继续深入研究。
二、思路剖析
1.关注到现实中的自治域间路由协议容易受到劫持攻击和拦截攻击
2.研究后发现而已有的方案通过认证整个路径信息来保证路由骨干中的路径安全,但实际可行性不高。
3.提出问题,是否能设计一个可用于今天互联网的系统?
4.确定目标,利用新兴的安全路由骨干来提高路由安全
5.为实现目标,提出了一种新型的联合骨干基础设施SBAS
6.搭建系统测试延迟性能并进行理论分析
7.进行真实和模拟测试全面分析系统安全性
8.探索未来发展前景激励后来人
三、值得学习的点
1.实验时通过设置对照组增强实验真实性
2.在分析性能数据时,通过实验测试和理论分析相结合
3.在分析评价时可以增加实际用户的评价感受以改进设计
4.在评价时可以加入对未来发展的分析情况以丰富论文和激励后来人研究
5.这种实际运用的产物需要在实践中使用以全面测试真实使用环境,不能光停留在实验室,应当走向现实,并收集实践运用中的反馈意见
四、大胆揣测
文章的架构只实现了SBAS域内的安全问题,保证了域内通信的安全可靠,但对于传入的信息是否可靠是无法解决的,即可能接收的信息是被拦截后重新伪造的,因为兼容常规BGP协议,因此,实际上还存在着无法解决外来伪造信息的问题,我们是否能够实行依一种加密方式,并且是基于发出方私钥和接受方公钥的方式(寻找目标对象的公钥可以通过记忆化留存在本地路由,过期了可以使用类似TCP握手的方式提前去获取,同时为了保证前向加密也可以使用ECDHE的椭圆曲线加密方式),保证至少路上不会被窃取或伪造?