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)边界网关劫持并不被人重视,尽管都知道它可以导致拒绝服务,中间人攻击,窃取未加密的会话,但是随着强大的TLS加密方法普及,攻击者接触到重要数据变得越来越不可能,所以劫持就是个好办法。 BGP劫持由于(ISP)互联网服务提供商在转发之前没有过滤来自对等节点的prefix声明。 如果我们选择了正确的CA,BGP劫持打断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 路由泄露,劫持问题有多严重,但是这个问题依然一直没有被解决。 2018年4月,亚马逊权威域名服务器遭到BGP路由劫持攻击,价值1730万美元ETH被盗。 …… 既然知道伤不起,为什么BGP的安全性脆弱依旧? 以MANRS为例,成立已有6年之久,但直到最近,主要的CDN 服务商和云计算公司亚马逊、Google、微软、Facebook、Akamai、Cloudflare、 Netflix 和 VeriSign等才加入到了这一安全路由倡议
例如,如果你不需要VRF,或者仅需少量VRF,那么可以直接运行纯L3 BGP架构。但如果需要大量VRF,那么可以选择MPLS/VPN、SR-MPLS或SRv6。 如今,我建议使用支持 SR 的 IGP,我相信有人可以让它与 BGP-LU 配合使用。 从复杂到简单:为什么我们需要SRv6? EVPN 实现可以使用 MPLS、VXLAN、PBB 或 SRv6 数据平面封装。 我相信还有其他 RFC 描述了其他组合。请在评论中留下指针。 基于 SRv6 的 L3VPN 真正的问题是,L3VPN 对供应商营销部门来说还不够“酷”(毕竟,每个人已经做了 25 年了)。 他们可能会用它来支持他们的 SRv6 实现,但随后可能会保持沉默,假装 SRv6 的“魔法”可以完成一切。 EVPN 是另一个(更流行)的答案,但有一个小问题:它被设计为第 2 层 VPN 解决方案。
目录SRv6 和IGP/BGP协议区别SRv6IGP/BGPSRv6与IGP/BGP的区别SRv6 和IGP/BGP协议区别SRv6(Segment Routing over IPv6)和IGP(Interior SRv6与IGP/BGP的区别作用范围不同: SRv6是一种数据转发技术,主要关注于如何在网络内部实现高效、灵活的数据转发。 IGP和BGP则更关注于路由信息的发现、维护和传递,确保网络中的路由信息能够准确、及时地反映网络拓扑和状态的变化。协议类型不同: SRv6是一种基于IPv6的数据转发技术,它本身不是一种路由协议。 IGP和BGP则是典型的路由协议,用于在不同的网络层次上传递路由信息。综上所述,SRv6和IGP/BGP在网络架构和功能上存在显著差异。 SRv6作为一种数据转发技术,关注于数据转发的路径可编程性和灵活性;而IGP和BGP作为路由协议,则更关注于路由信息的发现、维护和传递。
对等体 //配置R1 [R1]bgp 100 [R1-bgp] router-id 10.123.1.1 [R1-bgp] peer 10.123.12.2 as 64512 //配置R2 [R2]bgp [R5-bgp] peer 10.123.45.4 as 64512 在R2、R4上检查BGP对等体状态 路由发布到BGP中 //R1 [R1]bgp 100 [R1-bgp] network 172.16.1.0 [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 ,刷新对外通告的BGP路由 <R1>refresh bgp all export 在R3上查看BGP路由172.16.1.0/24的信息 此时R3优选R4通告的BGP路由172.16.1.0/24,R2 值较大的BGP路由,因此R3优选R4通告的BGP路由。
MP-BGP在现有BGP-4协议的基础上增强功能,使BGP能够为多种路由协议提供路由信息,包括IPv6(即BGP4+)和组播。 BGP/MPLS IPv6 VPN场景里。 BGP-IPv6单播地址族有以下作用:维护公网IPv6 BGP邻居,并且传递公网IPv6路由信息;传递IPv6标签路由,主要用于配置6PE场景里。 BGP IPv4 SR-Policy地址族视图和BGP IPv6 SR-Policy地址族视图主要应用于Segment Routing MPLS和Segment Routing IPv6。 BGP-Flow地址族视图、BGP-Flow VPNv4地址族视图、BGP-Flow VPNv6地址族视图、BGP-Flow VPN实例IPv4地址族视图、BGP-Flow VPN实例IPv6地址族视图等
攻击者通过BGP劫持的攻击技术——该技术利用了底层互联网协议IP中众所周知的漏洞,从而控制了大约256个IP地址。 BGP是边界网关协议的缩写,这是一种标准规范,自治系统网络(ASN,引导流量传输的组织)使用它来与其他ASN进行通信。 为了让企业可以跟踪了解哪些IP地址按规定遵守哪些ASN,BGP仍然主要依赖互联网的“口头相传”机制,不过它在全球实时路由传输海量数据方面发挥着关键作用。 这项研究表明,黑客上个月引入了AS16509和更精确的/24路由到ALTDB中索引的AS-SET,以绕过防御机制,ALTDB是自治系统发布其BGP路由原则的免费注册中心。 亚马逊坚称,自己绝不是第一家因BGP攻击而对其IP号码失去控制权的云提供商。二十多年来,BGP一直容易受到粗心的配置错误和公然欺诈的影响。
1、什么是BGP对等体 BGP发言者:运行BGP路由协议的路由器称为BGP发言者(BGP路由器); BGP对等体:两个建立BGP会话(BGP的会话是基于TCP建立的)的路由器互为BGP对等体,BGP BGP状态机 1、BGP 6种状态 BGP的状态有idle、connect、active、opensent、openconfirm、established六种状态。 up或者down的时间 (5)state:对等体状态 (6)prefRce:从该对等体收到的路由前缀数目 2、BGP路由表 可以通过display bgp routing-table 查看BGP BGP路由生成 BGP路由是通过BGP命令通告而成的,而通告BGP路由的方法有两种:network和Import。 BGP通告原则 BGP设备会将最优路由加入BGP路由表,形成BGP路由。
01 什么是劫持 相信大家都有过这种经历,某一天你兴高采烈打开电脑想吃两把鸡的时候。突然发现电脑的所有程序都打不开了,无论怎么点击都只是弹了个错误窗口。这时候你的电脑就可能是被恶意程序给劫持了。 所以呢,本节讨论的劫持,就是指:程序通过修改目标函数的指针,使其指向了自定义的一个函数。 劫持自身 我们先来写一个简单小程序,来实现对自身函数调用的拦截试试。在这里呢主要是拦截程序中调用的system函数。让它不能干活。 【顺带一提,请把前面编译好的detours.h和detours.lib放到构建工程目录下,编译的时候请设置为release模式才有效,因为debug模式本身就是劫持】 ? 看看效果: ? 成功劫持了自身。 劫持别人 可能已经有同学注意到,劫持自身也装不了什么B啊。能不能劫持别人,让它不能干活呢? 答案是肯定的,劫持其他程序有多种方式,比如全局hook,dll注入等。
01拖放劫持发展历程在2010的Black Hat Europe大会上,Paul Stone提出了点击劫持的技术演进版本:拖放劫持。 由于用户需要用鼠标拖放完成的操作越来越多(如复制粘贴、小游戏等等),拖放劫持大大提高了点击劫持的攻击范围,将劫持模式从单纯的鼠标点击拓展到了鼠标拖放行为。 因为它突破了传统ClickJacking一些先天的局限,所以这种新型的"拖拽劫持"能够造成更大的破坏。 02拖放劫持核心思路"拖放劫持"的思路是诱使用户从隐藏的不可见iframe中"拖拽"出攻击者希望得到的数据,然后放到攻击者能控制的另外一个页面中,从而窃取数据。 js代码,所以只要认真看清楚拖动的时候,鼠标下面是不是图片就可以有效防御拖放劫持。
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”。 AFI:地址组标识符,比如IPV4,IPV6等。 SAFI:子地址组标识符。 (IPV4、IPV6、单播、组播…) 3、holdtime 不需要一致,协商取小的holdtime作为邻居失效时间,keepalive默认为holdtimer 1/3(设置的时候小于1/3按设置的值,大于 相关字段内容如下: AFI(地址族标识):Address Family Identifier,如IPv4,IPV6。 Res.:保留,8个bit必须置0。 4、BGP路由传给EBGP邻居时,下一跳自动设置成向该EBGP邻居发送BGP报文的源地址 5、从IBGP学到的路由下一跳可达并最优,则可以传递给EBGP邻居 6、自身发布的路由,传递给所有BGP邻居 7
3.开始配置BGP协议 R1和R8在建立BGP邻居(因为AS与AS之间只有一条路由,所以使用接口建邻) R2(与R1,R5R3建邻) R3 R4 R5-R8与R1-R4配置差不多 R3和R6可以做反射器 peer 172.16.0.1 reflect-client 之后宣告自己的环回,在R2和R4上宣告本联邦的所有环回。(R5和R7上也相同)。 没有碰到环路(可能因为幸运吧) 使得所有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。
为了解决规模瓶颈,大型互联网公司甚至会考虑 4 级甚至 6 级 Clos 架构。 Clos 网络的副作用 由于 Spine 和 Leaf 之间是 full-mesh,网线会特别多,排线会复杂一些。 图 1-6 通过 border leaf 将一个 Clos 网络连接到外部网络 小型数据中心出于成本考虑,不会部署单独的 border leaf 节点,而是通过 Spine 连接到 外部网络,如图 1- 但是,OSPF 不支持多协议(例如对 IPv4 和 IPv6 需要运行两个独立协议),因此并没有 被大型互联网厂商采用。 IS-IS 支持 IPv4/IPv6,但是可选的实现比较少。 reputation) 实现很多,包括很多开源实现 支持多协议(例如 IPv4/IPv6,MPLS)和 VPN(内置) 只需对 BGP 做一些改造,就可以将它高效地应用中数据中心中。 数据中心 BGP 中 ASN 的分配方式和公网 BGP ASN 的分配方式不同。