BGP 劫持就好比有人改变一段高速公路上的所有标志,将汽车重新引导到错误的出口。 因为 BGP 是基于互连网络真实表述它们拥有的 IP 地址这一事实,所以 BGP 劫持几乎是无法停止的。 但是,要发生劫持,攻击者需要控制或破坏在一个自治系统 (AS) 与另一个自治系统之间桥接的、启用 BGP 的路由器,因此,不是任何人都可以执行 BGP 劫持。 什么是 BGP? 此外,垃圾邮件发送者可以使用 BGP 劫持或实施 BGP 劫持的 AS 的网络,伪造合法 IP 来实现发送垃圾邮件的目的。 现实世界中的 BGP 劫持 现实世界中有许多故意进行 BGP 劫持的示例。 BGP 劫持检测 延迟增加、网络性能下降和 Internet 流量定向错误都是 BGP 劫持的可能迹象。
这称为 BGP 路由劫持,也称为前缀劫持、路由劫持和 IP 劫持。 除了恶意攻击,BGP 劫持的意外实例也可能产生严重后果。 在了解 BGP 劫持之前,我们需要先掌握一些BGP的基础知识 。BGP劫持之所以非常常见,很大一部分原因是因为BGP的设计者并未考虑到BGP劫持的可能性,并且默认所有 BGP “说话者”都在说真话。 此外,垃圾邮件发送者可以使用BGP劫持或实施BGP劫持的AS网络,以欺骗合法IP以进行垃圾邮件。另外,攻击者可能执行 BGP 路由劫持的原因包括:拒绝对特定在线服务的服务。 然而,我们并不能直接避免BGP劫持的发生,除了持续监控互联网流量如何路由之外,用户和网络可以做很少的事情来防止BGP劫持。
BGP劫持在2008年的defcon大会上就曾经有涉及,然而在2015年的blackhat上又被选为议题,可见问题的严重性,冰冻三尺,非一日之寒,BGP劫持问题有待世界各地的组织携手解决。 0x01 BGP劫持概览 我们把BGP劫持分为两类 1、Prefix劫持 prefix劫持中,当受害者被正当分配IP prefix时 劫持的AS申请同样的prefix,假冒的BGP声明来自劫持的AS, BGP劫持由于(ISP)互联网服务提供商在转发之前没有过滤来自对等节点的prefix声明。 如果我们选择了正确的CA,BGP劫持打断CA间的通话也不会被发现。 这个过程最多5到10分钟,过后攻击者停止声明受害者的prefix,只有在此时间段内才能发现异常。尽管这个CA离受害者相当远,但是证书是全球范围的,所以此举在世界各地都可行。
BGPMon为此还公布了一段事件回放视频,以记录整个BGP劫持的变化,可视化效果做得挺好的: ? Facebook流量被BGP劫持至俄罗斯已经不是第一次,2017年12月13日Google、Apple、Facebook、Microsoft等都遭遇过BGP劫持。 02 — BGP劫持 对于某AS未控制的IP地址范围,会被广播并添加到互联网BGP路由表中,直至有AS认领并配置路由后,该IP流量才会被路由至认领的AS中。 BGP始终坚持最短路径路由优先权。 所以,未来几年,BGP劫持仍将长期存在。 当前更多是一些网络安全公司,比如BGPMon实时监控互联网中的BGP路由信息,对发现的BGP劫持事件进行告警;还有一些学术机构也会发布其在BGP劫持检测上的研究成果,比如来自应用互联网数据分析中心(CAIDA
并且,不是所有的BGP劫持都是恶意的,很有可能只是操作者的一个手抖,配置错误导致意外劫持。当然,并不否认恶意分子利用,目的性地劫持。 [尴尬的是,有意为之还是不小心操作,很难分辨。] 不幸的是,这个小小的失误被Rostelecom的上游供应商拿着新公布的BGP路由在互联网上重新传播,从而将BGP劫持事件在几秒钟内放大了。 尽管过去十几年的经验告诉我们,BGP 路由泄露,劫持问题有多严重,但是这个问题依然一直没有被解决。 回顾一下那些年,BGP安全问题闯下的“祸”: 2003年5月,彼时的世界第三大军工生产厂商Northrop Grumman部分BGP网络被恶意利用,用来发送海量的垃圾邮件。 2018年4月,亚马逊权威域名服务器遭到BGP路由劫持攻击,价值1730万美元ETH被盗。 …… 既然知道伤不起,为什么BGP的安全性脆弱依旧?
next-hop-local [R4-bgp] peer 10.123.45.5 as-number 200 //配置R5 [R5]bgp 200 [R5-bgp] router-id 10.123.5.5 [R5]bgp 200 [R5-bgp] network 172.16.1.0 24 [R5-bgp] network 172.16.2.0 24 [R5-bgp] network 172.16.3.0 修改Origin属性 在R1、R5上创建Loopback5接口,将接口路由发布到BGP中,验证Origin属性为IGP的BGP路由优于Origin属性为Incomplete的BGP路由。 [R1-LoopBack5] quit [R5]interface LoopBack 5 [R5-LoopBack5] ip address 172.16.5.1 24 [R5-LoopBack5] quit 在R1、R5上将Loopback5接口路由发布到BGP中,通过network方式 [R1]bgp 100 [R1-bgp] network 172.16.5.0 24 [R5]bgp 200
广东Ucloud BGP [root@h101 ~]# traceroute -A 114.119.43.116 traceroute to 114.119.43.116 (114.119.43.116 2.933 ms 4.497 ms 3 112.64.252.85 (112.64.252.85) [AS17621] 3.468 ms 3.359 ms 3.597 ms 4 * * * 5 changed: abuse@cnc-noc.net 20101021 source: APNIC [root@h101 ~]# 被防火墙阻截,但AS17816是一个双线BGP 结论 只有北京Ucloud是多线BGP,其它都不是 ---- 命令汇总 traceroute -A 103.21.118.104 whois 103.21.118.104 whois AS58879
BGP有两种运行方式 当BGP运行于同一AS内部时,被称为IBGP(Internel BGP,内部边界网关协议); 当BGP运行于不同AS之间时,称为EBGP(Externel BGP,外部边界网关协议 BGP处理过程 因为BGP的传输层协议是TCP协议,所以在BGP对等体建立之前,对等体之间首先进行TCP连接。 BGP邻居间会通过Open报文协商相关参数,建立起BGP对等体关系。 MP-BGP向前兼容,即支持BGP扩展的路由器与不支持BGP扩展的路由器可以互通。 MP-BGP在现有BGP-4协议的基础上增强功能,使BGP能够为多种路由协议提供路由信息,包括IPv6(即BGP4+)和组播。 BGP-VPNv4地址族、BGP-VPNv6地址族、BGP-VPN实例视图、BGP多实例VPN实例视图、BGP-L2VPN-AD地址族视图、BGP-L2VPN-AD地址族视图等VPN相关地址族主要应用于
攻击者通过BGP劫持的攻击技术——该技术利用了底层互联网协议IP中众所周知的漏洞,从而控制了大约256个IP地址。 BGP是边界网关协议的缩写,这是一种标准规范,自治系统网络(ASN,引导流量传输的组织)使用它来与其他ASN进行通信。 为了让企业可以跟踪了解哪些IP地址按规定遵守哪些ASN,BGP仍然主要依赖互联网的“口头相传”机制,不过它在全球实时路由传输海量数据方面发挥着关键作用。 这项研究表明,黑客上个月引入了AS16509和更精确的/24路由到ALTDB中索引的AS-SET,以绕过防御机制,ALTDB是自治系统发布其BGP路由原则的免费注册中心。 亚马逊坚称,自己绝不是第一家因BGP攻击而对其IP号码失去控制权的云提供商。二十多年来,BGP一直容易受到粗心的配置错误和公然欺诈的影响。
BGP MD5认证是一种增强BGP会话安全性的机制,通过使用MD5哈希算法来验证BGP消息的完整性和来源。 BGP MD5认证的工作机制BGP消息的认证流程会话建立前的认证:在BGP会话建立时,双方路由器交换OPEN消息,包含MD5认证选项。使用预共享的MD5密钥对BGP消息进行哈希计算,并附加在消息中。 配置BGP MD5认证Cisco设备的配置示例:配置MD5认证的步骤如下:router bgp <AS_number>neighbor <neighbor_IP> remote-as <neighbor_AS BGP MD5认证的应用场景互联网服务提供商(ISP):ISP在BGP邻居之间使用MD5认证,以确保BGP会话的安全性,防止未经授权的路由器建立BGP会话。 数据中心互联:数据中心运营商在跨数据中心的BGP会话中使用MD5认证,防止路由信息被篡改或伪造。总结尽管MD5存在一定的安全漏洞,BGP MD5认证依然是提高BGP会话安全性的重要手段之一。
(3)BGP是一种距离矢量路由协议,在设计上就避免了环路的发生; (4)BGP提供了丰富的路由策略,能够实现路由的灵活过滤和选择; (5)BGP采用触发式增量更新,而不是周期性的更新; BGP对等体 BGP报文类型 1、BGP报文类型 BGP存在5种不同类型的报文,分别是open、update、notification、keepalive、route-refresh。 2、BGP报文头格式 不同于常见的IGP协议,BGP使用TCP作为传输层协议,端口号179。BGP存在5种不同类型的报文,不同类型的报文具有相同的头部。 其取值从1到5,分别表示open、update、notification、keepalive、route-refresh报文。 up或者down的时间 (5)state:对等体状态 (6)prefRce:从该对等体收到的路由前缀数目 2、BGP路由表 可以通过display bgp routing-table 查看BGP
01 什么是劫持 相信大家都有过这种经历,某一天你兴高采烈打开电脑想吃两把鸡的时候。突然发现电脑的所有程序都打不开了,无论怎么点击都只是弹了个错误窗口。这时候你的电脑就可能是被恶意程序给劫持了。 所以呢,本节讨论的劫持,就是指:程序通过修改目标函数的指针,使其指向了自定义的一个函数。 劫持自身 我们先来写一个简单小程序,来实现对自身函数调用的拦截试试。在这里呢主要是拦截程序中调用的system函数。让它不能干活。 成功劫持了自身。 劫持别人 可能已经有同学注意到,劫持自身也装不了什么B啊。能不能劫持别人,让它不能干活呢? 答案是肯定的,劫持其他程序有多种方式,比如全局hook,dll注入等。 这里再写一个创建进程的小程序测试一下,每5秒打开一个记事本。 ? ? ? 可以看到。注入之后,notepad进程不再创建,而是弹出了交保护费的窗口。
01拖放劫持发展历程在2010的Black Hat Europe大会上,Paul Stone提出了点击劫持的技术演进版本:拖放劫持。 由于用户需要用鼠标拖放完成的操作越来越多(如复制粘贴、小游戏等等),拖放劫持大大提高了点击劫持的攻击范围,将劫持模式从单纯的鼠标点击拓展到了鼠标拖放行为。 02拖放劫持核心思路"拖放劫持"的思路是诱使用户从隐藏的不可见iframe中"拖拽"出攻击者希望得到的数据,然后放到攻击者能控制的另外一个页面中,从而窃取数据。 在HTML5的扩展中,其允许指定任意的MIME类型。有了dataTransfer对象和操作方法后,就为跨域传递数据提供了有效的技术手段。 4、拖动函数drag()和施放函数drop()都命名在iframe和textarea中,并不是图片拖动,使用户以为自己在拖动图片,其实拖动的是图片上放的网页资源5、火狐浏览器拖动过程流畅没有问题;IE浏览器在拖动时能明显看出是在拖动网页资源
OSPF支持VLSM和非族类路由查表,有利于网络地址的有效管理 OSPF使用AREA对网络进行分层,减少了协议对CPU处理时间 BGP(边界网关协议):AS外部路由,采用距离向量路由选择 BGP 在BGP网络中,可以将一个网络分成多个自治系统。自治系统间使用eBGP广播路由,自治系统内使用iBGP在自己的网络内广播路由。 BGP路由选择方法是基于距离向量路由选择 与传统的距离向量(1个单独的度量,如跳数)协议不同,BGP将AS外部路径的度量复杂化。 BGP系统的主要功能是和其他BGP系统交换网络可达信息。 BGP特点: BGP是一种外部路由协议,与OSPF、RIP不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最好的路由。 BGP-4支持CIDR(无类别域间选路),CIDR的引入简化了路由聚合,减化了路由表。 BGP更新时只发送增量路由,减少了BGP传播路由占用的带宽。 提供了丰富的路由策略。
文章目录 一、路由选择协议分类 二、BGP 协议 简介 三、BGP 协议 信息交换过程 三、BGP 协议 报文格式 四、BGP 协议 特点 五、BGP-4 协议的 四种报文 六、RIP 、OSPF、BGP “BGP 发言人” ; 该 BGP 发言人 路由器 大多数情况 是之前说的 OSPF 协议 主干区域 的 自治系统边界路由器 ; ( 也有例外 ) BGP 协议 简介 : ① 交换对象 : 与 其它 ) 交换的信息 本质是 一组完整的路径 ; 三、BGP 协议 报文格式 ---- BGP 协议报文格式 : BGP 发言人 与 其它 自治系统 BGP 发言人 交换路由信息 , 首先 建立 TCP 连接 报文中发送 , 由此可以看出 , BGP 协议是应用层协议 , 借助 TCP 协议进行传送 ; 四、BGP 协议 特点 ---- BGP 协议 特点 : ① 路由表内容 : BGP 协议支持 CIDR 无分类编址 , BGP 路由表 项目 内容是 : 网络前缀 , 下一跳路由 , 到达目的网络所要经过的自治系统序列 ; ② 更新数据时机 : 在 BGP 刚启动时 , BGP 与 相邻 BGP 发言人
来自BGPStream的该页面显示了呈现这起事件或活动的情况: Ullrich指出:“劫持BGP前缀是阻止访问的一种方式,但它也可以用来拦截发送到相应IP地址的流量。” 路由劫持机制使用边界网关协议(BGP),路由器通过该机制来分发关于可以通过它们到达哪些网络的信息。 BGP是一种历史悠久的协议,于1990年首次发布。 BGP与许多互联网的基础协议一样,设计当初并未考虑到安全性。 虽然BGP劫持可用于破坏网络或拦截流量,但大多数此类事件是意外事件,比如澳大利亚电讯(Telstra)在2020年宣告自己是其他500个网络的最佳路由。 FCC写道:“俄罗斯网络运营商之前被怀疑过利用BGP的漏洞来劫持流量,包括在未给出解释的情况下通过俄罗斯重定向流量。”
(IPV4或IPV6) 5、BGP认证失败 BGP 报文 头部报文 五种报文头部都一样 Marker:16Byte,用于标明BGP报文边界,所有bit均为“1”。 AS_Path影响路由优选 AS_Path的重要作用之一便是影响BGP路由的优选,在上图中,R5同时从R2及R4学习到去往10.0.1.0/24网段的BGP路由,在其他条件相同的情况下,R5会优选R2通告的路由 5、无序AS-SET整体当成1个长度来计算 括号里面整体 Origin(公认必遵) 该属性为公认必遵属性,它标识了BGP路由的起源。 OSPF中,AR5通过import-route方式引入。 AR5的优于AR1的原因是因为起源属性导致的,AR5属于i属性的起源属性,而AR1属于?属性的起源属性。
3.开始配置BGP协议 R1和R8在建立BGP邻居(因为AS与AS之间只有一条路由,所以使用接口建邻) R2(与R1,R5R3建邻) R3 R4 R5-R8与R1-R4配置差不多 (R5和R7上也相同)。 但是这时会发现,10.1.1.0 的路由在R3上不优,没有加表。 没有碰到环路(可能因为幸运吧) 使得所有BGP学到的路由加表 ? ? 第一个需求中 192.168.1.0和192.168.2.0网段不再任何协议中宣告进行互相通讯。(原来是使用GRE) ? ? 22 detail-suppressed [r4-bgp]aggregate 172.16.0.0 22 detail-suppressed [r5-bgp]aggregate 172.16.64.0 BGP建不了邻(18配成28);还有把地址配错;但是差错不慌,无非就是查看结果分析过程;再不行就使用抓包工具看看这个接口到底为什么建不了邻。
BGP属于一项技术,一般应用于IDC多线机房,也就是把接入到机房的多条线路融合为一体。实现多线单IP。
数据中心为什么选择 BGP 作为路由协议? 如图 1-5 所示。 图 1-5 双接入方式下的链路聚合 1.5 连接到外部网络(Connectivity to the External World) 对于中型或大型网络,通过 border leaf 连接到外网。 微软的 Azure 团队是最早 对 BGP 进行改造用于数据中心的。现在,我接触的大部分客户都是部署 BGP。 在下一章中,我们将看到人们对传统 BGP 进行了哪些改造,然后将它应用到数据中心的。 数据中心 BGP 中 ASN 的分配方式和公网 BGP ASN 的分配方式不同。