-
-
[原创]Mind_Your_Blocks_Stealthiness_Malicious_BGP_Attacks
-
发表于: 2015-4-23 11:10 2667
-
这是一篇NDSS 2015的文章,分享给实验室需要交流论文的小伙伴们,有理解有误的地方,求交流。
在隐匿性的恶意BGP劫持攻击中管好你的IP地址块
1. 背景介绍
前缀宣告是表示地址前缀属于某ASn。
1.1BGP劫持攻击
整个互联网是由很多的网络组成,这些网络被称为是“自治系统(AS)”。 AS是由一组相对较小的网络及其网关设备构成的系统,其一般受某一个管理机构控制。可以认为一个AS就是在同一个实体(例如某学校、某企业或某个ISP)管理下的主机、路由器以及其他的网络设备的所构成的一个大集合。每个网络都有一个唯一的数字来标志自己,被称为AS号。各个网络通过一种叫做边缘网关协议(BGP)的技术互相连接。边缘网关协议被称为是互联网的粘合剂——由它来声明哪个IP地址属于哪个网络,由它来建立从某个自治网络到另外一个自治网 络的路由。一个互联网“路由”跟这个词的表意完全一样:由一个自治网络里的IP地址到另外一个自治网络里的另一个IP地址的路径。
边缘网关协议是基于一个相互信任的体制。各个网络基于信任的原则告诉其它网络哪个IP地址属于哪个网络。当你发送一个数据包,或发送一个穿越网络的请求,你的网络服务提供商会联系它的上游提供商或对等提供商,询问它们从你的网络服务提供商到网络目的地,哪条路线最近。因此,如果当一个网络发出声明说某个IP地址或某个网络在它的内部,而事实不是这样,而如果它的上游网络或对等网络信任了它,那么,这个数据包最终将会迷路丢失。
前缀宣告是前缀和AS号的二元关系对,是由AS的BGP发言人向邻居AS发送的,它表示地址前缀属于序号为n的AS。
在BGP中,所有路由信息发布是全明文的,缺乏有效的加密或认证机 制,另外,其在消息通告中把BGP邻居作为完全可信的实体,并认为所有从邻居学习到的路由信息都是当前网络拓扑的真实状况。因此当一个攻击者将不属于自己 的IP前缀宣告到其他的组织,接收到通告的组织也只是依据自身策略决定到达该IP前缀的下一跳AS,没有机制可以用来验证发布该前缀的组织是否真的拥有该 IP前缀。如果选择了攻击者AS作为到达该IP前缀的下一跳地址,则所有到达该IP前缀的流量都会被劫持到攻击者AS,并且受到感染的AS会把该攻击信息 继续向其他的AS传播,使得更多的AS受到感染,逐渐形成了BGP劫持攻击。
实例:2005年GOOGLE中断事件。 2005年6月,运营商Cogent(AS 174)作为google的 一个直接邻居,在事件发生前曾在BGP中宣告前缀64.233.16.0/24,称自己为该前缀的源,其导致AS 174的多个邻居,包括AS 184、 AS 7081等的大型AS都受到影响,从而使google的服务对外中断
BGP劫持攻击的危害是巨大的,因为有20%的IPv4地址空间是当前非公开宣告的,这是BGP劫持的潜在漏洞。
本文主要是深入研究了一类特定的垃圾邮件发送者,这类攻击者可以常规的、持久的、很可能自动的劫持大量IP地址块发送垃圾邮件。 本文的创新点如下:
不仅发现了大量的新的可疑案例
同时收集上下文信息为这些恶意劫持的真实情况建立了一个可信的实例,且揭露了攻击者的做法。
结果表明被本文识别的恶意劫持攻击能成功绕过传统的BGP和垃圾邮件保护措施。
1.2基于前缀劫持的垃圾邮件发送方法
基于前缀劫持的垃圾邮件发送方法,可以使用不属于自己的地址空间IP地址来发送电子信箱,在盈利的同时保护好自己的信息。其原理利用前缀劫持技术,对别的路由器宣告自己拥有某一个网络,这样就可以使用别人的IP地址来发送邮件,保证自己IP的安全,使其不容易查看到发送者的真实网络地址,也就无法实施过滤。
上文提到的Google事件是前缀劫持的一种,还有一种是前缀分化。BGP路由器在选择最佳路由时通常执行的是最长前缀匹配原则,即与前缀相匹配的最长掩码的路由将会被选择。例如:路由器有两个路由信息前缀211.120.0.0/12和211.120.132.0/22,一个数据包目的地址是211.120.132.37的IP地址将匹配211.120.132.0/22,因为这个前缀是比211.20.0.0/12更具体的。
1.3声明
a) 本文不提供其他的BGP劫持检测方法,而在于识别BGP劫持和分析攻击的细节。
b) 我们并没有找到我们数据集中的所有BGP劫持攻击,而是证明这些攻击反复出现。
c) 我们的算法参数选择并不是最好的,但我们识别了现实生活中频繁并广泛发生的恶意攻击。
本文的创新点:
发现了大量的可疑案例;证明了这类攻击存在且揭露了攻击者的攻击手段。
2. 相关工作
2.1BGP现有防御手段
BGP劫持的防御方法主要是以下两种:
i. 监控网络路由基础设置并在异常路由变更是出发警报。
ii. 提供新的BGP机制来缓解或阻止BGP劫持攻击。由于BGP协议的安全性增强方案需要对BGP协议进行修改,增加属性,修改内容,而BGP协议已经在域间网络上有大范围的应用,所以目前看来修改BGP协议难以实现,一方面是因为重新部署的开销代价太大,另一方面因为各个组织之间的利益无法平均分配。
iii. BGP协议的安全性监测和BGP协议的安全性配置管理(额外添加)
现有的防御技术:
a) 用加密算法签名BGP更新的某些元素来保证路由信息的完整性和真实性。如S-BGP通过使用数字签名和相关的公钥证书来验证AS之间的BGP更新消息。就是每个AS为穿越其网络的路由进行认证签名。路径上的所有的AS签署以前所附的签名(即签名嵌套)。因此,路径验证不仅路径可以验证,而且还可以验证AS由路径表示的顺序遍历和有没有中间的AS被添加或删除。
b) 通过被动监控路由基础设施检测IP前缀劫持。对IP前缀源AS的改变进行检测,向IP前缀源AS报警的防御机制。(误报多)
2.2BPG前缀攻击
直接前缀劫持。攻击者AS通告直接发布受害AS的IP前缀来劫持它的流量。
例外:1.静态链接:ASx使用静态配置的路由连接到其供应商之一 ASY。由于ASx使用BGP连接到另一个提供商。如果这两个供应商宣布相同的前缀,,它会出现有两个源AS: ASx和ASy。2.私人AS号
劫持前缀及其AS:攻击者还可以使用了一个较脆弱的,容易受到攻击的的路由器来假装通告的AS路径进行攻击
劫持子网前缀:子网前缀劫持根据BGP的路由最长匹配策略来进行攻击的。攻击者通过发布更详细,更小的前缀来使其公布的前缀获得更大的吸引力。
劫持子网前缀及其AS
路径劫持攻击
攻击者通过使用的下层网络的地址块来截获流量和发起流量。
2.3BGP路由攻击
基于路由属性的攻击手段主要为修改路由属性,达到改变路由的目的,例如:
缩短AS—PATH,或者增加跳数,使得路由器选择或者不选择这条路径。
2.4 BGP spectrum agility
BGP spectrum agility(2006年,Ramachandran发现)指在几个月内,非常短时间内一组大量的之前未被公告的被劫持的IP地址块发送垃圾邮件。本文实验发现,每天都有几起BGP劫持发生。
3. 实验
3.1实验基础
实验是基于SPAMTRACER系统的,它是一个用于收集和分析和垃圾邮件网络相关的路由数据的系统。我们使用SPAMTRACER方法收集一组全面的关于垃圾邮件信息网络的路由层特征。
实验假设:IP地址块被劫持用于隐匿发送垃圾邮件时,当地址块被攻击者释放时,我们能看到一个路由状态改变。
监控时机:当我们收到垃圾邮件时,我们寻找一个从被劫持网络状态到正常网络状态的路由改变。
3.2实验目的
实验目的是收集和垃圾邮件网络有关的实时路由信息,以便识别攻击者利用临时劫持的IP地址块发送垃圾邮件的行为。
3.3实验流程
RouteViews和RIPE-RIS是分别由美国俄勒冈州立大学和欧洲网络协调中心(RIPE Network Coordination Centre)设立的BGP路由数据发布服务.它们与数百个AS建立了BGP会话,并周期性地发布从这些AS获得的路由表和路由更新数据.根据这些数据,我们可以获知这数百个AS的路由决策结果,即,这些AS去往各个目的网络的AS级路径及变化.
通过Traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。
3.3.1收集和垃圾网络有关的路由数据(一般每个IP地址块连续监控7天)
a) 垃圾邮件的IP地址块的选择
数据集是利用SPAMTRAPS(用来采集垃圾邮件的蜜罐)采集到的垃圾邮件。由于开销原因,我们的系统每天只能监控8000个IP地址块(一共有24000个)。我们优先选择最近通告的IP地址块(我们认为其在最近24小时内被路由过)来监控。
b) Tracerout和BGP监控。通过Tracerout和全球分布的6个RouteViews BGP采集器监控每个IP地址块。我们把tracerout里的每个IP层的跳映射到AS,通告它并添加地理位置信息、每个IP的注册持有人和被treacerout遍历的AS层跳。
我们的监控内容是:一组从我们监控点到网络上的每天的IP/AS路由路径(tracerout);一组从6个RouteViews BGP收集器采集到的每天的的BGP AS路径;在tracerout里采集到的额外信息(地理位置信息,每个中间IP层和AS层跳的所有者信息)
3.3.2.从数据IP地址中提取去异常路由行为并记录最有可能是BGP劫持造成的行为。
自动分析并识别异常路由事件。
(1) Tracerout和BGP异常评分。每个异常类型都被量化为【0,1】中。
BGP异常:
a) BGP源异常---指IP地址块被多个AS通告。它被定义为三元组(IP,AS1,AS2),IP是指被监控的IP地址块,AS1和AS2指通告IP的自治系统。
b) BGP AS路径偏差----评估给定的BGP采集器对每个IP地址块采集的BGP AS路径的差别 。用Jaccard index(雅尔卡系数)计算(pd,pd+1),pd是第d天采集到的路径。Jaccard index是用来计算相似性。
Tracerout异常:IP/AS可达性异常---被探测的目的地主机和AS的一个持久的可达性改变;跳计数异常---量化了Tracerout长度的一个可能的永久性改变;IP层的Tracerout偏差和AS层的Tracerout偏差---评估IP层Tracerout和AS层Tracerout的可见的差异;地理偏差---量化了Tracerout遍历的国家之间的差异。(对一个垃圾邮件网络采集到的所有tracerout的一次性计算。)
(2) 多级聚合和过滤
根据 不同的预定义路由异常的组合,我们主要用(WOWA)轻量级的序加权平均运算符来算被监控的IP地址块的可疑分数。对参数的选择不够好,也只指定了两个不同的权重向量。
3.3.3.利用额外的数据资源手动验证每个可能被劫持的IP块
额外数据源包括:
1. RIBs(路由信息库)从RIPE RIS和Routeviews转储出来的路由表快照,包括被通告的IP地址块链和相关的BGP AS路径。(可疑IP地址块的路由历史)
2. IRR(网络路由注册机构)提供的IP地址的注册信息和AS持有者数量以及相互连接的网络之间建立的可能的路由策略。(检查路由公告的合法性,决定IP地址快的所有者是不是源AS的所有者,一个通告的IP地址块的所有者还在)
3. DROP(国际反垃圾邮件组织)提供的IP地址块的黑名单
4. 网络操作邮件列表,有时候网络运营商会用来报告BGP劫持事件。
我们会查看嫌疑被劫持IP地址的路由历史来学习他们的路由属性:
a) 它们被通告的时间
b) 公告它们的BGP源 AS系统
c) AS路径中可见的上层AS提供者
3.3.4.分析已证实的BPG劫持攻击的根本原因,获得垃圾邮件劫持的新的行为特征
TRIAGE是一个多准则的集群框架,可识别同一个垃圾邮件发起者从不同的被劫持的IP地址块发送的垃圾邮件。TRIAGE是一个用于智能提取和攻击调查的安全工具,帮助分析入侵者的模式和行为,通常用来强调他们的运作方式。
首先,选择大量的和垃圾邮件相关的电子邮件的特点和定义相应的决策标准。发送者的IP地址,邮件主体,发送日期,相关域名,注册信息,URL。
然后,TRIAGE通过对选定的特征使用何时的相似相邻建立邮件样本之间的关系。
然后,用高层聚合模型融合个体的特征相似来反映分析者定义的上层行为。可以分配不同的权重给个体。我们在此处更加关注源IP地址,域名和垃圾邮件URL,注册名字等。
最后,识别多维集群簇,此处是被很多共同特征联系在一起的垃圾邮件簇,。
4. 实验结果分析
4.1数据采集结果
18个月,监测了391444个发送垃圾邮件到我们的spamtraps的不同的IP地址块,这些网络被18252个不同的AS系统操作。超过5.5M的tracerouter记录和超过25.6M的BGP路由信息,还有6个RoutViews。
4.2多级聚合和过滤结果
31.29%良性例子;68.6%难以区分路由行为的恶意与否,可能是因为聚类模型的局限性或者采集到数据的不精确性;0.11%是被劫持的网络。(CDF---累计分布曲线,纵坐标上一点代表结果小于对应横坐标值的概率密度)
4.3验证可能被劫持IP地址块的结果
本文分析了437个评分在0.75以上的垃圾邮件IP地址块。其中有373个是benign的,误报原因有以下两个:它们在监控时从路由表消失了几小时到几天,停止监控时又出现了导致的异常,主要是系统的局限性,监控时间不够;tracerout的结果不精准,因为可能有许多无响应的IP跳。有64个是可能被劫持的,它们有共同的行为特征:它们在被监控的前1-6天被路由过,然后从路由表中永远的消失了,这会导致相似的路由异常行为---在路由时或IP块路由后数据层和控制层的显著差异
通过有效的上游前缀劫持:占92%,IP地址范围被分配到但是在它们被劫持时未被通告,攻击者伪造BGP AS路径通过合法的直接上游供应商AS使用非法的BGP源AS传播IP地址范围。
通过不可信的上游的AS劫持:占8%,IP地址范围被分配但是未被通告,攻击者伪造BGP AS路径使用合法的BGP源AS来传播IP地址块,但是通过不合法的直接上游提供商AS
RIBs的路由历史可以发现所有被劫持的前缀都未被通告。
如果IP地址范围映射到原始AS中(IRRS),IP地址范围的属主是原始AS的属主,那个BGP 原始AS是合法的。
不合法的直接上游供应商AS要满足以下条件(a1是a0的直接上游供应商):a1过去没有作为a0的直接上游供应商;a1不出现在a0的供应商列表中,而且客户列表中没有a0;在劫持攻击中不用作上游提供者宣传任何未被劫持的IP地址范围;在劫持中它第一次被观察到时是未被使用的;它的拥有者是一个不活跃的组织;它被反垃圾邮件组织列为可疑。
有一个劫持攻击实在NANOG中公布过的,即91.220.85.0/24和它的合法BGP源AS51888通过非法的直接上游提供者AS42989。
我们还调查发现64个被劫持的IP地址块都来自7个非法的直接BGP源ASes(前缀劫持)和3个非法的直接上游ASes(AS劫持)。我们提取了18个月来这些非法AS下的所有IP地范围,共2591个额外IP被发现,它们有同样的异常特征,但是未发现它们发送垃圾邮件到我们的spamtrap.
可以看见,95.3%的劫持发生在2013.7月以后,平均每天有4.82起劫持事件。
同时发现85.5%的攻击持续不到一天,94.6%的攻击持续不到2天,98.7%的攻击持续不到一周;1.3%的攻击是长期劫持,持续时间超过一周,最长的有8个月零20天。
短暂的劫持可绕过追踪和避免黑名单,长期劫持不容易隐藏自己。
4.3.1长期劫持和短期劫持
长期劫持和短期劫持的异同。考虑以下特征:IP地址范围是否在邮件列表的黑名单;上次被宣告和被劫持的时间间隔;注册时间;在IP地址范围内可以的IP地址数量;IP地址块的属主是否还活跃。
a) 长期劫持:我们考虑35个长期劫持。
只有六个IP地址范围(红色)向我们的蜜罐发送了垃圾邮件;总共才发送了815封邮件,且都在劫持初期发送;两个向我们的蜜罐中发送过垃圾邮件的地址块(绿色+红色)在两天内被列入黑名单,4个(绿色)未向我们的蜜罐发送过垃圾邮件的IP地址块也被列入黑名单,(61.45.251.0/24,115.85.133.0/24)两周才被列入黑名单,91.220.63.0/24一个月才被列入黑名单,192.12.131.0/24两个月才被列入黑名单。
26个IP前缀在被劫持前未被通告;还有9个在上次被公布后平均一年(1天-3年零2月)后被劫持。
IP地址块都是在2000年以后被注册的。
可用IP地址数量:最大/19,最小/24
IP地址范围的拥有者都不再使用了,使这些IP地址块未被使用。
ISP被卷入了其中23个劫持攻击中,现已终止了和这些AS所有者的合同。
b) 短暂劫持,共2620个
2013.2—2013-5月,58个短暂劫持给我们的蜜罐发送了4149封垃圾邮件。
特点:BGP通告和垃圾邮件的强烈的时间相关性;58个中只有7个被列入了黑名单
由于4149封垃圾邮件中的广告中提取除了1174个域名,这些域名都是在被劫持前几天创建的,所有推测攻击者全权掌握了IP地址块
同过CBL(反垃圾邮件组织黑名单),我们发现被劫持的IP地址块不和传统的垃圾邮件僵尸网络相关,而是用了其他新的垃圾邮件基础设施。
2013.6-2014.7(2562个短暂劫持)所有的劫持都是被2-4组前缀执行,同时开始同时结束;同一时间内,至少有两个IP前缀被劫持
由于有些劫持攻击刚结束,另外的劫持攻击就马上开始了,所有猜测是某种自动的方式实施的劫持攻击。
86.3%的IP前缀在被劫持前从未被通告,13.7%个从最后一次通告到被劫持持续了平均24.55月,72.4%的IP前缀超过一年未被通告。
有67.8%的IP地址范围在1997年被注册,由于没有很好地文档记录,可以方便攻击者劫持使用。
IP地址块的大小平均是/24
所有被劫持的IP地址块都被合法注册,抽查发现41%的不再被使用,59%在使用中。
770个短暂劫持攻击被ISP确认了。
4.4根本原因分析结果
多维聚类工具只识别了30个垃圾邮件的多维聚类集群,也就一位这64个被劫持IP地址块用于30个不同的垃圾活动。大部分垃圾邮件活动都持续时间很短,只有两个存在了超过30天。垃圾邮件主体的高可变性和注册人的地址的高可变性可能是由于自动工具导致的。
我们发现了3种攻击者的手法:
i. 10个攻击活动涉及到一个被劫持的IP前缀,且不在其他地方滥用
ii. 17个攻击活动涉及到1个被劫持的IP前缀,同时被劫持的前缀在其他的垃圾邮件活动中滥用。
iii. 3个活动在一段较长时间内顺序的滥用多个IP前缀(证实了BGP spectrum agility)
超过622封垃圾邮件从12个不同的被劫持IP前缀发出(黄色),它们被攻击者轮流使用,用一次性URL’S分发垃圾邮件。这些URL共享同一组服务器IP地址;攻击活动的生成周期有84天,但是活跃期只有24天,方便绕过基于IP的垃圾邮件过滤系统。
BGP垃圾邮件劫持的行为特征:会劫持多个IP地址块;所有的劫持中都用的相同的非法直接上游供应商;广告的URL’s使用相同的托管基础设施且用相似的方式注册。
4.5总结
我们发现了两种攻击模式:长期劫持(持续一周到几个月)和短暂劫持(持续几分钟到几天)
前缀劫持和AS劫持方式
2454个前缀劫持只涉及到6个不同的无效BGP 源AS;201个AS劫持只涉及到3个无效的上游供应商。
攻击者喜欢劫持没被传播的IP前缀或者很长时间没被传播的IP前缀
攻击者喜欢被合法注册的IP地址块
攻击者喜欢孤儿IP地址块,即曾经被使用,但现在拥有者不存在了的
一些短暂的劫持显然是与垃圾邮件相关的活动
几乎没有IP地址块被多次劫持
5. 现有的对抗方法
Argus:检测BGP劫持.。目前公开部署的,可提供一个历史警告
RPKI:预防BGP劫持。
6. 经验教训和结论
BGP spectrum agility现象确实存在
现有的检测技术对注册了的但未经通告的IP地址空间被以通告的IP地址空间用有效的BGP源AS但是无效的上游供应商AS利用时无法检测。
未通告IP地址块的所有者使他们存在被劫持的危险
IP地址块的所有者如果不需要IP资源了要返还它们
对之前BGP劫持攻击分析是被ASes可以便于检测子攻击
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)