BGP劫持原理及如何防御

news2024/11/15 11:00:52

互联网跟人类社会一样,都通过特定的规则和法律来确保社会的正常运行。BGP协议就是互联网中的“规则”之一。BGP用于在不同的自治系统(AS)之间交换路由信息,当两个AS需要交换路由信息时,每个AS都必须指定一个运行BGP的节点,来代表AS与其他的AS交换路由信息。

但这些规则可能会被人为或意外打破。破坏 Internet 规则的最常见方式之一是 BGP 路由器通告不属于其自己的 AS
的前缀,也就是说,BGP路由器非法宣布特定前缀,从而将流量从其预期目的地重定向到它自己的 AS。这称为 BGP 路由劫持,也称为前缀劫持、路由劫持和
IP劫持。

2018 年 4 月,恶意黑客公布了一些属于 Amazon Web Services 的 IP
前缀,一些试图登录加密货币网站的用户被重定向到黑客所创造的虚假网页之中,导致了超过 160,000 美元的损失。

除了恶意攻击,BGP 劫持的意外实例也可能产生严重后果。2008 年,巴基斯坦的一家 ISP 试图通过更新其 BGP 路由来审查
YouTube,由于在审查过程中配置错误,整个互联网中的YouTube 流量路全都输送到了巴基斯坦 ISP,导致了全球 YouTube 长达数小时的中断。

** ** ** 了解 BGP 劫持** ** 之前,我们需要先掌握一些BGP** ** 的基础知识** **
**

BGP劫持之所以非常常见,很大一部分原因是因为BGP的设计者并未考虑到BGP劫持的可能性,并且默认所有 BGP
“说话者”都在说真话。如果想要了解如何减轻这种风险,首先要了解 BGP 前缀通告和 BGP 劫持的工作原理。

** BGP 如何通告前缀** ** **

AS 由多个路由器组成,并在其边界内包含特定的前缀或路由,向相邻的 AS 通告。BGP 路由器在整个 Internet 中传播这些前缀,并通过各种 AS
维护到该目的地的路径,每个 AS 负责向其邻居宣布它拥有并包含在其中的前缀,BGP 路由器中维护的 BGP 表,其中包含为到达该特定前缀必须经过的 AS
路径。

例如下图:

当AS 100需要与AS170建立联系时,首先需要将自己的前缀 195.25.0.0/23 通告给相邻的 AS。这样,当该信息到达 AS 170
时,路由表中的信息将包括:

前缀:195.25.0.0/23

AS_PATH: AS100 AS190

在这个过程中,如果AS 170 收到来自具有不同路径的此前缀,则会优先选择最短路径,即绿色虚线建立联系。(如红色虚线路径更长,穿越的 AS
数量更多,假设之前所有的 BGP 属性都保持不变,会通过最短路径,也就是绿色路径进行传播。)

在 AS 边缘与其他 AS 中的 BGP 路由器形成对等互连的是外部 BGP 或 eBGP 路由器,eBGP 路由器负责向其他 AS 通告前缀。

** 当“敌对”AS** ** 宣布它实际上不受控制的IP前缀的路由时** ** ,就会发生 BGP 路由劫持。**
例如,在下图中,AS 140 非法通告与 AS 100 相同的前缀:

AS 140 中的恶意劫持者正在宣传不属于自己的 AS 的前缀,所有其他 AS 将收到两个具有相同前缀的不同通告,后续的选择将取决于 BGP 属性。

** 所以,** ** AS_PATH 长度属性在 BGP 劫持中的** ** 具有非常重要的** ** 作用** **
** 假设所有先前的属性保持不变,将安装最短 AS_PATH 的路由。如果 AS_PATH 相等,则由其他属性决定,例如最旧的路径或路由器
ID,这会导致路由的结果难以预测。在上图中,只有 AS 190 可以确保正确路由到 195.25.0.0/23 前缀。

此外,劫持者可以执行所谓的 AS_PATH 伪造,其中对目的地的通告 AS_PATH 进行修改,以便发往相关路由的流量将通过本地 AS。在这些情况下,合法
AS 包含在 AS_PATH 中,以便在将流量引导至非法 AS 时更难检测到此类劫持。

** 那么BGP劫持会造成什么后果,** ** 劫机者** ** ** ** 为什么要劫持** ** **
** **

BGP劫持可能导致互联网流量出错,被监控或拦截,被“黑洞”,或者作为中间人攻击的一部分将流量导向虚假网站。此外,垃圾邮件发送者可以使用BGP劫持或实施BGP劫持的AS网络,以欺骗合法IP以进行垃圾邮件。

另外,攻击者可能执行 BGP 路由劫持的原因包括:* 拒绝对特定在线服务的服务。* 将流量重定向到伪造网页,以实现凭据、信用卡号和其他机密信息的网络钓鱼。* 重定向流量以压倒某些服务。* 为了破坏而破坏,进行无差别攻击。

BGP劫持是对 Internet
上正确路由操作的一个非常真实的潜在威胁。因此,采用适当的机制和配置来防止此类攻击和事故非常重要。然而,我们并不能直接避免BGP劫持的发生,除了持续监控互联网流量如何路由之外,用户和网络可以做很少的事情来防止BGP劫持。

** IP段前缀过滤**

大多数网络应该只在必要时接受IP段前缀声明,并且只应将其IP前缀声明到某些网络,而不是整个Internet。这样做有助于防止意外的路由劫持,并可能使AS不接受伪造的IP前缀声明;
但是,这在实践中很难实施。

** BGP劫持检测**

劫持检测可以采取多种形式。基线性能的变化,例如更大的延迟、错误的流量或性能的普遍下降是可能表明某种形式的劫持的初步迹象。此外,监控广告以及记录路线的可用性和停机时间是发现劫持的重要方面。

更复杂的系统还可以分析来自邻居的公告 AS 以查看被劫持的前缀是否包含在公告中,可以识别前缀不匹配,并使用路径分析来确保正确的路由。

** 保护 BGP**

从1989 年BGP首次面世以来,就在不断的发展和改进。但直到在 2017 年引入 BGPsec
时,才进行了一些安全性的尝试,但尚未得到任何实质性采用。所以,就目前而言,这个 30 多年的协议本质上仍然很脆弱,需要一些复杂的监控机制来控制它。

有可能有助于打击 BGP 路由劫持的一个方面是使用路由源授权 (ROA)。ROA 是加密签名的对象,可用于验证特定前缀是否源自合法 AS。ROA 由每个
AS 所有者与区域互联网注册机构 (RIR) 合作创建,RIR 提供生成它们所需的 RPKI 基础设施。

最后

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,有需要的小伙伴,可以【点下方卡片】免费领取:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/798539.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

K8s使用Ceph作为后端存储

Ceph概述 部署Ceph集群 Ceph存储使用 Pod使用Ceph持久化数据 Ceph监控 Rook部署Ceph Ceph概述 Ceph介绍 Ceph架构 Ceph核心概念 Ceph介绍 Ceph是一个开源的分布式存储系统,具有高扩展性、高性能、高可靠性等特点,提 供良好的性能、可靠性和可扩展性。…

重新C++系列之运算符重载

一、什么是运算符重载 简单来讲就是对运算符赋予新的意义,但是又不能改变原有的含义,它本身也就是一个函数。运算符重载的本质是以函数的方式来体现。 二、运算符重载有几种 1、按照作用域来划分,有全局操作符重载函数和成员函数操作符重载函…

面向对象——步入JavaScript高级阶段的敲门砖

目录 前言一、认识对象1.什么是对象2.对象的方法3.对象的遍历4.对象的深浅克隆 二、认识函数上下文1.函数的上下文规则 ★2.call和apply ★ 三、构造函数1.用new操作符调用函数2.类与实例3.构造函数和类" 四、原型和原型链1.prototype和原型链查找 ★2.在prototype上添加方…

access偏移注入

偏移注入是因为知道猜到access数据库表名&#xff0c;猜不到列名 因为之前http://192.168.246.11:83/news_view.asp?id15网站有设置waf过滤&#xff0c;需要先把waf防御先删掉后使用 <!--#include file"waf.asp"--> 之前已经知道注入点&#xff0c;详见acces…

从简单的例子 来看 倒排索引

文章首发地址 倒排索引-是什么&#xff1f; 倒排索引&#xff08;Inverted Index&#xff09;是一种常用的文本检索技术&#xff0c;用于快速定位包含某个词汇的文档集合。它的原理是将文档中的每个单词记录在一个索引表中&#xff0c;并且将每个单词所对应的文档编号和位置都…

多租户的低代码平台,Saas开发平台:MateCloud

简介 MateCloud是一款基于Spring Cloud Alibaba的微服务架构。目前已经整合Spring Boot 2.7.0、 Spring Cloud 2021、Spring Cloud Alibaba 2021、Spring Security Oauth2、Feign、Dubbo、JetCache、RocketMQ等&#xff0c;支持多租户的低代码平台&#xff0c;Saas平台开发套件…

Linux磁盘管理命令

目录 1. du (disk usage文件和目录占用的磁盘空间) 2. df (disk free 查看磁盘使用情况) 3. lsblk(list block查看块设备挂载情况) 1. du (disk usage文件和目录占用的磁盘空间) du [-ahskm] 目录/文件&#xff08;文件大小可以直接使用ll查看&#xff09; 选项与参数&a…

树的遍历(一题直接理解中序、后序、层序遍历,以及树的存储)

题目如下&#xff1a; 一个二叉树&#xff0c;树中每个节点的权值互不相同。 现在给出它的后序遍历和中序遍历&#xff0c;请你输出它的层序遍历。 输入格式 第一行包含整数 N&#xff0c;表示二叉树的节点数。 第二行包含 N 个整数&#xff0c;表示二叉树的后序遍历。 第…

二、Spring源码-初始化

Spring初始化源码分析 接下来我们详细分析下refresh方法的作用。 一、refresh方法 Overridepublic void refresh() throws BeansException, IllegalStateException {synchronized (this.startupShutdownMonitor) {// 1.context 为刷新做准备// Prepare this context for refre…

速速收藏!程序员副业赚钱的8种模式

程序员副业赚钱的方式有很多&#xff0c;我总结了程序员兼职赚钱&#xff0c;增加收入的八种模式&#xff0c;希望能够给在迷茫的程序员一点参考&#xff01; 投资理财 很多程序员多少都会买买基金、炒炒股作为一个小副业&#xff0c;由于程序员大多是理科生&#xff0c;有比…

机器学习笔记之优化算法(一)无约束优化概述

机器学习笔记之优化算法——无约束优化概述 引言回顾&#xff1a;关于支持向量机的凸二次优化问题无约束优化问题概述解析解与数值解数值解的单调性关于优化问题的策略线搜索方法信赖域方法 引言 从本节开始&#xff0c;将介绍优化算法 ( Optimization Algorithm ) (\text{Opt…

短视频去水印小程序,一键部署你的小程序,可开流量主,实现睡后收入

插件地址 短视频去水印小程序&#xff0c;一键部署你的小程序&#xff0c;可开流量主&#xff0c;实现睡后收入 插件说明 本插件包含以下两部分&#xff1a; 短视频去水印插件&#xff0c;仅为一个接口&#xff0c;可以集成到自己的任意程序中。短视频去水印插件配套小程序…

WGCLOUD - v3.4.7开始访问地址不用加/wgcloud了

WGCLOUD在v3.4.7版本更新中说明&#xff0c;从v3.4.7版本开始&#xff0c;访问server页面&#xff0c;不用在URL加/wgcloud了 只需要IP和端口就可以了&#xff0c;如&#xff1a;http://localhost:9999

自媒体必备的8个素材网站,视频、音效、图片全部免费下载

自媒体必备的视频、音效、图片素材&#xff0c;这8个网站帮你解决。赶紧马住&#xff01; 菜鸟图库 https://www.sucai999.com/video.html?vNTYwNDUx 菜鸟图库虽然是一个设计网站&#xff0c;但它还有非常丰富的视频和音频素材&#xff0c;视频素材全部都是高清无水印&#…

尚硅谷8:开发平台接口,SpringCloud,上传排班

目录 内容介绍 开发平台接口-查询医院 开发平台接口-上传科室接口 开发平台接口-查询科室接口 开发平台接口-删除科室接口 上传排班和查询排班接口 医院列表功能&#xff08;接口&#xff09; 内容介绍 1、开发平台接口-查询医院 2、开发平台接口-上传科室接口 3、开发…

leetcode-707.设计链表

leetcode-707.设计链表 文章目录 leetcode-707.设计链表一.题目描述二.代码随想录三.易错点 一.题目描述 二.代码随想录 代码 class MyLinkedList {public:// 定义链表节点结构体struct ListNode {int val;ListNode *next;ListNode(int val) : val(val), next(nullptr) {}};//…

Apipost变量高亮展示,变量操作更流畅

之前Apipost配置的各种环境变量只能在右上角环境管理中查看&#xff0c;很多小伙伴希望能有一种更好的解决方案用以快速复制变量值&#xff0c;快速查看变量的当前值和初始值&#xff0c;于是在Apipost 7.1.7中我们推出环境变量高亮展示功能来满足用户的使用需求。 功能描述&a…

机器学习之Boosting和AdaBoost

1 Boosting和AdaBoost介绍 1.1 集成学习 集成学习 (Ensemble Learning) 算法的基本思想就是将多个分类器组合&#xff0c;从而实现一个预测效果更好的集成分类器。 集成学习通过建立几个模型来解决单一预测问题。它的工作原理是生成多个分类器/模型&#xff0c;各自独立地学…

PDA开发:MAUI调用Jar包,so文件

PDA系统&#xff1a;android 6.0 PDA功能&#xff1a;扫码打印一体机&#xff0c;扫物料标签&#xff0c;调用金蝶云星空ERP实现收发料&#xff0c;PDA打印功能主要是同一个料号物品只贴一个标签&#xff0c;打印功能是为了复制物料标签&#xff0c;下次再发料使用 打印SDK只…

中国农业大学计算机考研分析

关注我们的微信公众号 姚哥计算机考研 更多详情欢迎咨询 中国农业大学&#xff08;B-&#xff09;考研难度&#xff08;☆☆☆&#xff09; 中国农业大学计算机考研招生学院是信息与电气工程学院。目前均已出拟录取名单。 中国农业大学信息与电气工程学院&#xff0c;起源于…