2. 清华大学网络科学与网络空间研究院, 北京 100084
2. Institute of Network Science and Cyberspace, Tsinghua University, Beijing 100084, China
互联网域间路由基于BGP(border gateway protocol)协议来交换自治域(AS)之间的网络可达信息。由于BGP存在固有的安全缺陷,域间路由一直遭受前缀劫持(prefix hijacking)、 路由泄漏和拒绝服务攻击的安全威胁[1]。近来,多个互联网安全事件[2, 3, 4]表明,一种新的基于前缀劫持的域间路由中间人攻击(man-in-the-middle attack,MITM)正在成为域间路由安全面临的新挑战。此种攻击先通过前缀劫持将受害者通往目标网络的流量导向攻击者网络,之后又将这些流量沿一条可用的路径重新发送到目标网络。由于这种攻击不会使受害者的通信产生中断,因此可持续较长时间而不被受害者发现[3]。
虽然域间路由中间人攻击基于前缀劫持来实现,但大多数前缀劫持检测技术并不能用于防御域间路由的中间人攻击。这主要是因为已有的前缀劫持检测方法[5, 6, 7]常基于检测前缀劫持造成的路由黑洞(black hole)来实施,而域间路由中间人攻击并不会产生路由黑洞,因而这些方法难以检测域间路由的中间人攻击。
由于前缀劫持按实施方法可大致分为伪造源AS(origin AS)、 AS路径(AS-path)和子前缀(subprefix)的劫持等几类[8],因此基于前缀劫持的域间路由中间人攻击也可以相应地分为伪造源AS、 AS路径和子前缀的中间人攻击。迄今为止,有关域间路由中间人攻击的研究还比较少。文[8]最早对域间路由的中间人攻击进行了系统地分析,针对一种特殊的伪造AS路径的中间人攻击(伪造下一跳的流量截取)进行了研究并提出了一种检测该类攻击的方法。文[9]关注另外一种特殊的伪造AS路径的中间人攻击——基于AS路径预置(AS-path prepending)的流量截取,同时提出一种通过比较攻击者发送给相邻AS的路由通告的一致性来检测该攻击的技术。文[10]提取前缀劫持和域间路由中间人攻击的共同特征并从数据平面进行分布式的检测,其局限性主要在于难以从检测结果区分到底是哪一类攻击,以及难以确定攻击者所处的网络位置。
本文对当前最为常见的伪造源的中间人攻击进行研究,分析此类攻击所具有的控制平面和数据平面的异常特征,并根据这些异常特征提出一种域间路由中间人攻击的实时检测系统。该系统是一个轻量级的检测系统,已在实际网络中进行了部署。实验结果表明系统能实时而有效地检测出可能的域间路由中间人攻击。
1 域间路由的中间人攻击模型域间路由的中间人攻击通常基于前缀劫持来实现。前缀劫持宣告伪造的路由以劫持通往受害网络的流量。典型的前缀劫持如图1a所示。AS6向外非法宣告属于AS1的前缀16.1/16,使得AS4和AS5被该伪造路由污染。进而,它们到达受害网络AS1的流量也将被劫持到AS6中。
前缀劫持是针对域间路由的中间人攻击的第1步,即将目的地为受害前缀的流量重定向到攻击者所在的网络。要完成针对受害前缀的中间人攻击,攻击者还需要执行第2个步骤,即将劫持的流量沿一条可用的路径重新发送到受害网络。例如图1b中,攻击者AS6的路由表中存在一条到达受害前缀16.1/16的可用路径(2 1),它将AS4和AS5的流量沿这条可用路径重新转发到了受害网络AS1。如此,一个完整的针对域间路由16.1/16的中间人攻击得以实现。
2 域间路由中间人攻击检测系统域间路由的中间人攻击较为隐蔽,受害者因为通信保持连接而难以察觉。本节对域间路由中间人攻击进行详细分析,发掘其所产生的异常特征,进而提出一种可实时检测域间路由中间人攻击的技术方法。
2.1 域间路由中间人攻击的异常特征首先,如节1所述,域间路由中间人攻击的第1步是实施前缀劫持。鉴于前缀劫持会造成MOAS(multiple origin AS)冲突[11],因此产生异常的MOAS是域间路由中间人攻击的第一个重要特征。
其次,在图1b中,AS4和AS5都是受污染网络。在AS6未发起攻击前,AS4路由表中16.1/16的AS-path为(3 2 1),源AS为AS1。AS6攻击之后,该路由条目的AS-path变为(5 6)。这表明:AS4要将数据包发送到目标前缀16.1/16,只需经过AS5到达AS6即可。然而,如果AS4向目标网络16.1/16中的地址进行路由跟踪(traceroute),它会发现实际的AS级的数据转发路径(forwarding path)为(5 6 2 1)。也即,数据包到达新路由AS-path--(5 6)中的终点AS6后并未停止,又额外经过了2个AS才到达最终的终点AS1。更为重要的是,这个最终的终点正是攻击前AS4路由表中16.1/16的原来的源AS。同样的,对AS5而言,其路由表中到达16.1/16的AS-path在遭受AS6攻击后由(2 1)变为(6),但数据包真实的转发路径却为(6 2 1)。
由上述分析显见,除产生上述控制平面的MOAS异常外,域间路由中间人攻击还具有另外2个典型特征,即:
1) 受污染网络在攻击之后,其到达受害前缀的数据平面的转发路径比控制平面的AS-path要延长(换言之,控制平面的AS-path是其数据平面的转发路径的子路径)。
2) 受污染网络在攻击之后到达受害前缀的转发路径的终点正是攻击之前到达该前缀的AS-path的终点。
综合上面的分析,假设AS X为对受害前缀f进行域间路由中间人攻击的攻击者,AS Y为受污染网络。Pb={b1,b2,…,bn}和pa={a1,a2,…,am}分别为攻击前后AS Y路由表中到达f的AS-path。Wf={c1,c2,…,ck}为攻击后AS Y数据包到达f的数据转发路径。则对于受污染网络AS Y而言,域间路由中间人攻击的3个重要异常特征是:
${a_m} \ne {b_n};$ | (1) |
$\left\{ \begin{gathered} k - m \geqslant 1, \hfill \\ {c_i} = {a_i},1 \leqslant i \leqslant m; \hfill \\ \end{gathered} \right.$ | (2) |
${c_k} = {b_n}$ | (3) |
式(1)表明异常MOAS的发生; 式(2)和(3)表明受污染网络到达受害前缀的流量被劫持到了攻击者,之后该数据流量又被转发到了原来的目的地。
注意Wf的子路径{cm+1,cm+2,…,ck},它是受污染网络AS Y的数据转发路径比其AS-path延长的部分,其长度为h=k-m,本文称之为“延长距离”。此外,该子路径也正是攻击者AS X路由表中到达f的可用路径,其长度表示了攻击者距离受害前缀所在网络的远近,因此h又可称为“攻击距离”。特殊的,当h=1时,攻击者与受害网络是BGP邻居关系。
符合式(1)—(3)基本即可判定域间路由中间人攻击的发生。不过本文研究发现,某些因合法原因形成的MOAS会造成例外。
2.2 合法MOAS造成的例外文[11]指出有一些MOAS冲突是合法的,它们大多因为多宿主(multihoming)所产生。典型的合法MOAS如图2a和2b所示。图2a为采用静态路由的多宿主所造成的MOAS冲突; 图2b则是使用私有AS号码的多宿主所形成的MOAS。
考虑图2a,AS1连接有AS2和AS3两个提供商,且AS1到AS3之间使用静态路由。假设初始时AS4到达AS1前缀16.1/16的旧路由为(2 1)。之后在某一时刻当AS3向其发送路由16.1/16(3)后,AS4到达16.1/16的AS-path将变为(3)。此时,若从AS4向16.1/16网络进行路由跟踪,则得到的数据转发路径将为(3 1)。综合以上分析,对于AS4而言,当它从AS3收到新的路由16.1/16(3)之后,产生了如下3点变化:
1) MOAS冲突:16.1/16的源AS由AS1 变为AS3。
2) 数据转发路径比控制平面的AS-path要延长:数据转发路径为(3 1),AS-path为(3)。
3) 数据转发路径的最终目的地为路由改变前的源AS,也即AS1。
显见,这3项与图2c中AS3发起的攻击距离为1的域间路由中间人攻击特征相一致。因此,在这种情况下,对于AS4来说,很难根据上述3个异常变化来区分AS3是合法的静态路由多宿主还是恶意的域间路由中间人攻击。
类似的,考虑图2b中私有AS的多宿主。在图2b中,前缀16.1/16的拥有者以私有AS号(假设为AS65168)与AS2和AS3两个提供商建立BGP邻居。当AS65168将提供商从AS2切换到AS3时,对于AS4而言,同样能检测到与图2c类似的攻击特征。
综上所述,合法的MOAS会产生延长距离为1的符合式(1)—(3)这3个条件的异常特征。因此,在利用该异常特征来鉴别域间路由中间人攻击时就需要对延长距离为1的异常单独加以区分。
2.3 实时检测框架本文提出一种能实时检测域间路由中间人攻击的系统。该系统部署在自治域本地网络中,旨在为本地网络提供域间路由中间人攻击的防护。系统架构见图3,由以下3个子模块组成:
1) MOAS冲突监控模块:该模块实时监控本地BGP路由表中发生的MOAS冲突。模块通过BGPmon[12]与本地BGP路由器建立连接以获得实时BGP更新路由。获得的更新路由将与从Routeviews[13]数据库提取的前缀—源AS(Prefix-OriginAS)历史数据进行比较以发现是否有前缀产生了MOAS冲突。需要说明的是,为保证检测结果的准确性,前缀—源AS历史数据库保持每月更新一次的频率。
2) 数据转发路径探测模块:该模块维护有一个LiveIP数据库。LiveIP的数据来源包括全球网络中开放的DNS解析服务器[14]的IP地址、从iPlane[15]的路由跟踪数据中提取的路由器地址以及部分网站web服务器的地址。一旦有某一路由前缀被上一模块检测出了MOAS冲突,系统则从LiveIP数据库中找到与该前缀匹配的IP并以其为目的IP地址进行路由跟踪。得到的路由跟踪结果将使用前一模块中的前缀—源AS数据进行IP-to-AS映射,从而获得AS级的数据转发路径。
3) 域间路由中间人攻击鉴别模块:该模块将实时探测得到的数据转发路径与路由表中的AS-path相比较以进行异常检测。图4的算法1描述了具体的异常检测过程。如若检测结果符合节2.1中描述的三个异常特征,则产生告警信息。根据节2.2的分析,转发路径延长距离为1的异常有可能是合法的MOAS所产生的,因此系统将延长距离为1的异常单独输出,其他延长距离大于1的异常则产生域间路由中间人攻击报警。
3 系统评估为验证域间路由中间人攻击检测系统的有效性,本文将系统部署在中国教育和科研计算机网(CERNET)[16]网内进行实验。通过与CERNET的边界路由器建立BGP连接,系统实时接收到达CERNET的BGP更新路由并进行MITM检测。系统从2015年8月1日运行至8月16日。
3.1 系统效率在16d内,系统共监测到15 056次MOAS异常,对每次MOAS异常系统都进行了MITM检测。每次检测所需要的时间主要由探测模块的traceroute进程所决定。执行traceroute所耗费的时间取决于目的地的远近,统计结果显示平均每次traceroute的探测时间为12.78 s; 平均每次MITM检测的延迟接近该数值,为12.8 s。此外,就traceroute探测所产生的流量而言,系统将traceroute数据包大小设定为64 B,以最大跳数(本文设定为30)和每跳发送3个探测包进行计算,15 056次探测所发送的探测流量总计为86.7 MB,平均到每天的探测流量仅为5.4 MB。 以上分析表明,系统是一个高效的实时轻量级系统。
3.2 检测结果针对15 056次MOAS异常系统共计产生了876次MITM报警。其中延长距离为1的报警占绝大多数(871次,占比99.43%),引起这些报警的异常MOAS前缀数为245; 而延长距离大于1的异常报警只有5次,且都是由同一个异常MOAS前缀所引发。
具体到每天的报警次数和报警前缀数如图5所示。8月7日有一个报警峰值,报警次数和报警前缀数分别为237和42。经过统计,其中有多达180次报警是由4个异常MOAS前缀所引发。通过查看8月7日当天Routeviews中的全球路由更新,本文发现这180次报警是由AS37183频繁宣告撤销那4个异常MOAS前缀所造成,也即峰值产生的原因是此次AS37183引起的路由震荡。
3.3 异常报警分析首先,考察延长距离大于1的5次MITM报警。数据显示,这5次报警都是由同一异常前缀151.190.39 /24所产生。如图6所示,系统记录的151.190.39/24的旧路由为(10026 1299 701 23148)。在8月7日01:52分(UTC时间),系统接收到一条到达151.190.39/24的新路由(3320 3356 243),而之后经路由跟踪探测后得到的数据转发路径为(3320 3356 243 701 23148)。因此根据2.3节的异常检测算法,系统输出了延长距离为2的MITM报警。从图6可以看出,这是一次典型的域间路由中间人攻击异常。经过经一步对自治域号和IP地址进行whois查询,本文发现造成异常的自治域AS243(属于Harris公司)可能并不是恶意对前缀151.190.39/24进行中间人攻击。因为151.190.39/24所属的公司Exelis在不久之前刚被Harris公司收购。因此,这次MITM异常极有可能是因为AS243的误配置所产生。
其次,分析占绝大多数的延长距离为1的MITM报警。对于此类报警,本文着眼于研究造成报警的AS与原有的源AS之间的商业关系[17]。通过使用CAIDA(Center for Applied Internet Data Analysis)提供的AS商业关系数据库[18],本文发现在871次此类报警中有664次(占比76%)两者之间的关系为提供商—客户关系。考虑到提供商本就为客户提供转接(transit)服务,因此其对自己的客户进行中间人攻击的可能性较小。因而对这664次商业关系为提供商—客户的延长距离为1的异常报警而言,它们很可能是由节2.2所描述的多宿主合法MOAS所造成。剩余的207次报警由于不能确定商业关系,较难断定是域间路由中间人攻击还是合法MOAS。
4 问题讨论 4.1 前缀—源AS数据库更新前缀—源AS数 据 库 用 于 监 测MOAS以 及对获得的路由跟踪路 径 进 行IP-to-AS映射,因此对它进行定期维护以尽量确保数据库的准确性就很重要。
本文系统首先从RouteViews下载了全球BGP路由更新以及全球路由表,并提取了每一路由中的前缀—源AS数据作为数据库的初始表。之后系统更新前缀—源AS数据库的主要原则如下:
1) 数据库定期更新:以一个月为周期。
2) 删除不活跃的源AS:每次更新时都会统计数据库中每个前缀对应的源AS在上个月的全球路由表中出现的天数,如果某一源AS在上个月中未再出现过,则将其从该前缀的源AS列表中删除。
3) 增加新的活跃源 AS:对于一个前缀而言,将与它对应的上个月最活跃(在全球路由表中出现天数最多)的新的源AS增加到该前缀的源AS列表中。
4.2 局限性从节3的检测结果可以看出,本文系统可以准确地判定延长距离大于1的报警,但对于鉴定那些延长距离等于1的异常报警而言,则有一定的局限性。如果一个延长距离等于1的报警,其报警AS与源AS之间的商业关系不能确定,则本文系统很难判断它到底是一个攻击距离为1的域间路由中间人攻击,还是一个合法的MOAS。
5 结论为应对日益成为域间路由安全新威胁的域间路由中间人攻击的挑战,本文提出了一种实时检测域间路由中间人攻击的轻量级系统。系统由MOAS冲突监控模块、数据转发路径探测模块和域间路由中间人攻击鉴别模块所组成。MOAS冲突监控模块实时发现产生MOAS冲突的异常前缀,并将该前缀输出到数据转发探测模块进行数据平面的转发路径探测。探测所得的数据平面路径输入到攻击鉴别模块与控制平面的AS-path结合进行MITM鉴别,并最终输出鉴别结果。
与之前那些检测伪造AS路径的域间路由中间人攻击的工作不同,本文着眼于防护最为常见的伪造源的域间路由中间人攻击。实际网络的测试结果表明,本文系统易于部署,且能实时有效地检测出互联网中发生的域间路由中间人攻击。
[1] | 黎松, 诸葛建伟, 李星. BGP安全研究[J]. 软件学报, 2013, 24(1):121-138.Li S, Zhuge J W, Li X. Study on BGP security[J]. Ruanjian Xuebao/Journal of Software, 2013, 24(1):121-138.(in Chinese) |
[2] | Hiran R, Carlsson N, Gill P. Characterizing large-scale routing anomalies:A case study of the China Telecom incident[J]. Lecture Notes in Computer Science, 2013:229-238. |
[3] | Dyn Research. The new threat:Targeted internet traffic misdirection[EB/OL].(2013-11-19). http://research.dyn.com/2013/11/mitm-internet-hijacking. |
[4] | Dyn Research. Uk traffic diverted through Ukraine[EB/OL].(2015-3-13). http://research.dyn.com/2015/03/uk-traffic-diverted-ukraine. |
[5] | Hu X, Mao Z M. Accurate real-time identification of IP prefix hijacking[C]//Security and Privacy, 2007. Oakland, California, USA:IEEE, 2007:3-17. |
[6] | Zhang Z, Zhang Y, Hu Y C, et al. iSPY:Detecting IP prefix hijacking on my own[J]. IEEE/ACM Transactions on Networking(TON), 2010, 18(6):1815-1828. |
[7] | Xiang Y, Wang Z, Yin X, et al. Argus:An accurate and agile system to detecting IP prefix hijacking[C]//Proc 19th IEEE International Conf Network Protocols. Vancouver, BC, Canada:IEEE, 2011:43-48. |
[8] | Ballani H, Francis P, Zhang X. A study of prefix hijacking and interception in the internet[J]. ACM Sigcomm Computer Communication Review, 2007, 37(4):265-276. |
[9] | Zhang Y, Pourzandi M. Studying impacts of prefix interception attack by exploring BGP AS-PATH prepending[C]//Proc 32nd IEEE International Conf Distributed Computing Systems. Macau, China:IEEE, 2012:667-677. |
[10] | Zheng C, Ji L, Pei D, et al. A light-weight distributed scheme for detecting ip prefix hijacks in real-time[J]. ACM Sigcomm Computer Communication Review, 2007, 37(4):277-288. |
[11] | Zhao X, Pei D, Wang L, et al. An analysis of BGP multiple origin AS(MOAS) conflicts[C]//Proc 1st ACM SIGCOMM Workshop on Internet Measurement. San Francisco, California, USA:ACM, 2001:31-35. |
[12] | Colorado State University. Welcome to BGPmon[DB/OL].[2015-08-18] http://www.bgpmon.io. |
[13] | University of Oregon's Advanced Network Technology Center. University of oregon route views project[DB/OL].[2015-08-18] http://www.routeviews.org. |
[14] | Jared Mauch. Open DNS Resolver Project[DB/OL].[2015-08-18] http://openresolverproject.org. |
[15] | Madhyastha H V, Isdal T, Piatek M, et al. iPlane:An information plane for distributed services[C]//Proc 7th symposium on Operating systems design and implementation. Seattle, WA, USA:USENIX Association, 2006:367-380. |
[16] | China Education and Research Network Center. CERNET-中国教育和科研计算机网[EB/OL].[2015-08-18] http://www.edu.cn/cernet_fu_wu/. |
[17] | Gao L. On inferring autonomous system relationships in the Internet[J]. IEEE/ACM Transactions on Networking(ToN), 2001, 9(6):733-745. |
[18] | Center for Applied Internet Data Analysis. The caida ucsd as-relationships[DB/OL].[2015-08-01] http://data.caida.org/datasets/as-relationships/serial-1. |