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的安全性脆弱依旧? 早在2018年,美国国家标准技术研究所( NIST)与国土安全部( DHS)联合发布了第一份防范BGP劫持的安全标准草案;ROV、RPKI,包括最近的MANRS等项目一直致力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路由。
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一直容易受到粗心的配置错误和公然欺诈的影响。
2、BGP传递路由优势 不同AS之间通过BGP路由协议对接,那么使用BGP相比IGP协议有那么好处呢? BGP是基于TCP的路由协议,只要能够建立TCP就能够建立BGP; BGP只传递路由信息,不计算路由,不会暴露AS内部的网络拓扑; BGP的路由更新是触发更新,不是周期性更新; 3、什么是BGP路由协议 1、什么是BGP对等体 BGP发言者:运行BGP路由协议的路由器称为BGP发言者(BGP路由器); BGP对等体:两个建立BGP会话(BGP的会话是基于TCP建立的)的路由器互为BGP对等体,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的漏洞来劫持流量,包括在未给出解释的情况下通过俄罗斯重定向流量。”
BGP RIP:距离矢量路由协议 (不可靠) BGP:路径矢量路由协议 (我搬运的路由是IGP产生的 必可靠) 相比较于IGP: BGP基于TCP,只要建立TCP连接即可建立BGP。 BGP特征 BGP使用TCP为传输层协议,TCP端口号179。路由器之间的BGP会话基于TCP连接而建立。 运行BGP的路由器被称为BGP发言者(BGP Speaker),或BGP路由器。 两个建立BGP会话的路由器互为对等体(Peer),BGP对等体之间交换BGP路由表。 BGP路由器只发送增量的BGP路由更新,或进行触发式更新(不会周期性更新)。 BGP对等体关系建立之后,BGP路由器发送BGP Update(更新)报文通告路由到对等体。 同步规则主要用于规避BGP路由黑洞问题。 BGP路由黑洞: AS内部某些路由器没有运行BGP协议,导致缺乏BGP路由。
3.开始配置BGP协议 R1和R8在建立BGP邻居(因为AS与AS之间只有一条路由,所以使用接口建邻) R2(与R1,R5R3建邻) R3 R4 R5-R8与R1-R4配置差不多 没有碰到环路(可能因为幸运吧) 使得所有BGP学到的路由加表 ? ? 第一个需求中 192.168.1.0和192.168.2.0网段不再任何协议中宣告进行互相通讯。(原来是使用GRE) ? ? 汇总,减少路由条目 因为地址划分的垃圾,所以很难汇总 所以将联邦内的其中一条骨干修改为 172.16.5.0 24 172.16.69.0 24 [r2-bgp]aggregate 172.16.0.0 22 detail-suppressed [r4-bgp]aggregate 172.16.0.0 22 detail-suppressed [r5-bgp]aggregate 172.16.64.0 BGP建不了邻(18配成28);还有把地址配错;但是差错不慌,无非就是查看结果分析过程;再不行就使用抓包工具看看这个接口到底为什么建不了邻。
数据中心为什么选择 BGP 作为路由协议? 微软的 Azure 团队是最早 对 BGP 进行改造用于数据中心的。现在,我接触的大部分客户都是部署 BGP。 在下一章中,我们将看到人们对传统 BGP 进行了哪些改造,然后将它应用到数据中心的。 2 BGP 是如何适配到数据中心的 在 BGP 用于数据中心之前,它主要用于服务提供商网络(service provider network)。 这里再次强调,数 据中心使用的 BGP 和传统的 BGP 并不一样,如果不理解这一点,管理员很容易误操作造成 网络故障。 数据中心 BGP 中 ASN 的分配方式和公网 BGP ASN 的分配方式不同。
BGP属于一项技术,一般应用于IDC多线机房,也就是把接入到机房的多条线路融合为一体。实现多线单IP。
只有外部 BGP 才需要 ASN。 外部 BGP 与内部 BGP 有什么区别? 在互联网上,路由交换和流量传输是通过外部 BGP(eBGP)进行的。 自治系统也可使用 BGP 的内部版本来路由内部网络上的数据,也就是 iBGP。应该指出的是,使用内部 BGP 并非使用外部 BGP 的前提条件。 这些是所谓 BGP 劫持的实例,而这种情况并不总是意外发生的。2018 年 4月,攻击者故意创建了一个错误的 BGP 路由,将原定目的地为亚马逊 DNS 服务的流量重定向。 如果大型网络未部署 RPKI,就有可能传播大规模的劫持攻击。目前,超过 50% 的顶级互联网服务提供商在某种程度上支持 RPKI,但需要大多数的支持才能完全保障 BGP 的安全。 这个功能可以让客户在有未经授权者发布其前缀收到通知,从而预防 BGP 劫持攻击。
本文将结合界面劫持的发展历程,以实例讲解点击劫持的原理并介绍目前针对此类攻击的防御思路。 从发展历程看,主要有三类:2.1点击劫持点击劫持又称UI-覆盖攻击,是2008年由互联网安全专家罗伯特·汉森和耶利米·格劳斯曼提出点击劫持的概念。 因为首先劫持的是用户的鼠标点击操作,所以命名叫点击劫持。主要劫持目标是含有重要会话交互的页面,如银行交易页面、后台管理页面等。 图片2.2拖放劫持在2010的 Black Hat Europe 大会上,Paul Stone 提出了点击劫持的技术演进版本:拖放劫持。 由于用户需要用鼠标拖放完成的操作越来越多(如复制粘贴、小游戏等等),拖放劫持大大提高了点击劫持的攻击范围,将劫持模式从单纯的鼠标点击拓展到了鼠标拖放行为。