了解并缓解 IP 欺骗攻击
欺骗是黑客用来未经授权访问计算机或网络的一种网络攻击,IP 欺骗是其他欺骗方法中最常见的欺骗类型。通过 IP 欺骗,攻击者可以隐藏 IP 数据包的真实来源,使攻击来源难以知晓。一旦访问网络或设备/主机,网络犯罪分子通常会挖掘其中的敏感数据,利用计算机,它们可以变成僵尸,并可用于发起拒绝服务 (DoS)攻击。
什么是 IP 欺骗?
IP 地址用于互联网上设备之间的通信。网络犯罪分子使用虚假的源 IP 地址来隐藏和冒充另一个系统。本质上使目标系统更难检测到。此类攻击的目的是窃取敏感数据,用恶意软件或病毒感染您的计算机,甚至使您的服务器崩溃。
IP 欺骗的工作原理
那么,让我们深入了解 IP 欺骗的工作原理。IP 地址是一系列数字,用于在互联网上识别您的设备,每个连接到互联网的设备都有一个 IP 地址,通过使用它,它们可以交换数据。下面是 IP 标头数据包的样子
IP 欺骗利用来源,伪造数据包内的来源,类似地,这就像在邮箱中的信封上放置假的回信地址。大多数情况下,IP 数据包在到达目的地时会经过多个中间设备或路由器,而这些设备或路由器根本不检查源地址。
在下面的例子中,您可以看到网络攻击者已成功将数据包的源 IP 从 1.1.1.1 更改为 3.3.3.3(更改的 IP)。
现在,假设有人想要破坏并完全切断他们的互联网服务,他们可以向受害者发送带有虚假源地址的数据包,数据包数量如此之多,以至于受害者没有资源来处理合法数据包。攻击者可以在许多数据包中使用许多不同的虚假源地址,而且通常无法追溯攻击者的来源以阻止受害者的攻击,更糟糕的是,攻击者可以征用中间节点来放大攻击,方法是触发该节点向受害者发送非常大的数据包,这需要更多的资源来处理,如下图所示。
IP 欺骗的类型
以下三种是最常见的 IP 欺骗类型
1. 分布式拒绝服务(DDoS)攻击
分布式拒绝服务 (DDoS) 攻击是最常见的网络攻击,它使用欺骗方法,本质上是目标主机、服务或网络充斥着互联网流量。
DDoS 攻击的主要特征
- 基于流量的攻击:其目的是使目标主机的带宽饱和。其中一些方法是执行 ICMP 洪水、UDP 洪水和其他欺骗性数据包洪水。攻击以每秒比特数 (bps) 为单位进行测量。
- 协议攻击:这些攻击利用网络协议中的弱点。例如,在 TCP 中,它会使用 SYN 洪水。碎片数据包攻击是另一个例子,其中数据包被碎片化并重新组装以逃避安全控制并发起攻击。死亡之 Ping 和 Smurf DDoS 是其他一些攻击。这些攻击以每秒数据包 (pps) 为单位进行测量。
- 应用层攻击:这些攻击针对特定应用程序或服务,使攻击看起来像合法流量。示例包括 HTTP 洪水、GET/POST 洪水和 Slowloris。这些攻击以每秒请求数 (rps) 来衡量。
2. 掩盖僵尸网络设备
IP 欺骗可用于通过掩饰僵尸网络来访问计算机。一旦僵尸网络获得对 PC 的访问权限,犯罪者就会利用它从单一来源进行控制。受僵尸网络影响的 PC 会代表攻击者进行恶意攻击。
3.中间人攻击
中间人攻击用于更改数据包并在原始发送者或接收者不知情的情况下传输它们。如果攻击者伪造 IP 地址并获得个人帐户的访问权限,他们就可以跟踪通信的任何方面。一旦获得访问权限,个人信息很容易被盗,犯罪者可以将用户引导到虚假网站等等。随着时间的推移,黑客收集了大量可以使用或出售的机密信息——这意味着中间人攻击比其他攻击更有价值、更有利可图。
如何检测 IP 欺骗
网络监控工具可用于分析端点的流量。虽然最终用户很难检测到 IP 欺骗攻击,但源 IP 的更改是在网络层(即开放系统互连通信模型的第 3 层)中完成的。由于修改是在数据包级别完成的,因此不会留下任何更改的迹象。通常,欺骗的连接请求从外部看起来是真实的。让我们讨论一下您可以缓解此类攻击的方法:
- 数据包过滤: 用于分析数据包,检查数据包的 IP 地址与访问控制列表 (ACL) 上详细的 IP 地址之间是否存在不一致,用于检测被篡改的数据包。
- 入口过滤: 检查传入数据包以评估源 IP 报头是否与允许的源地址匹配。如果检查失败,则丢弃数据包。
- 出口过滤: 验证出站数据包的源地址是否与组织网络的源地址不匹配。这可以防止内部用户发起 IP 欺骗攻击。
如何防范 IP 欺骗
IP 欺骗的工作方式可以隐藏攻击者的身份,因为很难追溯到其原始来源。但是,我们可以采取一些反欺骗措施来降低此类攻击的风险。
- 不断扫描网络以查找异常活动
- 数据包过滤机制,用于检测与组织注册网络不同的源 IP
- 验证所有 IP 地址并部署网络攻击预防工具
- 在路由器/防火墙上启用保留路径转发,以验证如果流量来自伪造的 IP 地址,是否会在接口上被阻止。
欺骗攻击示例
GitHub 欺骗攻击(2019 年)
2019 年 7 月,一场复杂的网络钓鱼活动针对 GitHub 用户,目的是窃取他们的登录凭据和双因素身份验证 (2FA) 代码。入侵涉及欺骗方法,攻击者冒充 GitHub 和其他知名实体,以获取用户的信任,从而泄露敏感信息。
攻击细节
- 网络钓鱼电子邮件:攻击者发送电子邮件,声称自己来自 GitHub。电子邮件中的信息是通知用户有关可疑的登录尝试、帐户安全问题或需要更新的情况,这些情况对其帐户的安全至关重要,并敦促用户单击链接以保护其帐户。
- 欺骗性网站: URL 链接将用户带到镜像 GitHub 登录页面的网站。现在,当用户输入其凭据时,攻击者就会获取此信息。
- 凭证收集: 一旦用户在欺骗网站上输入其凭证和 2FA 代码,攻击者就能够收集这些信息。 这使攻击者能够未经授权访问用户的 GitHub 帐户。
- 利用:访问 GitHub 帐户,将可能会导致大量的利用。
- 更改或删除代码存储库
- 访问包含敏感信息的私人存储库。
- 使用被盗账户在网络或组织内发起进一步攻击
结论
IP 欺骗仍然是一种普遍且危险的网络攻击类型,它允许犯罪者通过隐藏其真实身份来未经授权访问网络和系统。更改源 IP 地址并将其追溯到攻击源非常困难。正如在 GitHub 欺骗攻击中讨论的那样,攻击者使用了各种策略,这些策略有效地欺骗用户向您提供他们的敏感信息,从而导致凭证被盗、未经授权的访问和进一步的利用。
为了缓解此类攻击,我们需要采用全面的网络监控系统、数据包过滤、入口和出口过滤等工具。此外,在路由器和防火墙上启用反向路径转发等高级技术将有助于验证 IP 数据包的来源。
必须采取主动的方法来保护网络和用户免受 IP 欺骗攻击,这将降低此类攻击的风险和影响,并有助于保护敏感数据。
相关文章:

了解并缓解 IP 欺骗攻击
欺骗是黑客用来未经授权访问计算机或网络的一种网络攻击,IP 欺骗是其他欺骗方法中最常见的欺骗类型。通过 IP 欺骗,攻击者可以隐藏 IP 数据包的真实来源,使攻击来源难以知晓。一旦访问网络或设备/主机,网络犯罪分子通常会挖掘其中…...

java LogUtil输出日志打日志的class文件内具体方法和行号
最近琢磨怎么把日志打的更清晰,方便查找问题,又不需要在每个class内都创建Logger对象,还带上不同的颜色做区分,简直不要太爽。利用堆栈的方向顺序拿到日志的class问题。看效果,直接上代码。 1、demo test 2、输出效果…...

02. Hibernate 初体验之持久化对象
1. 前言 本节课程让我们一起体验 Hibernate 的魅力!编写第一个基于 Hibernate 的实例程序。 在本节课程中,你将学到 : Hibernate 的版本发展史;持久化对象的特点。 为了更好地讲解这个内容,这个初体验案例分上下 2…...

MySQL超详细学习教程,2023年硬核学习路线
文章目录 前言1. 数据库的相关概念1.1 数据1.2 数据库1.3 数据库管理系统1.4 数据库系统1.5 SQL 2. MySQL数据库2.1 MySQL安装2.2 MySQL配置2.2.1 添加环境变量2.2.2 新建配置文件2.2.3 初始化MySQL2.2.4 注册MySQL服务2.2.5 启动MySQL服务 2.3 MySQL登录和退出2.4 MySQL卸载2.…...

初识SpringBoot
1.Maven Maven是⼀个项⽬管理⼯具, 通过pom.xml⽂件的配置获取jar包,⽽不⽤⼿动去添加jar包 主要功能 项⽬构建管理依赖 构建Maven项目 1.1项目构建 Maven 提供了标准的,跨平台(Linux, Windows, MacOS等)的⾃动化项⽬构建⽅式 当我们开发了⼀个项⽬之后, 代…...

Qt之元对象系统
Qt的元对象系统提供了信号和槽机制(用于对象间的通信)、运行时类型信息和动态属性系统。 元对象系统基于三个要素: 1、QObject类为那些可以利用元对象系统的对象提供了一个基类。 2、在类声明中使用Q_OBJECT宏用于启用元对象特性,…...

Provider(1)- 什么是AudioBufferProvider
什么是AudioBufferProvider? 顾名思义,Audio音频数据缓冲提供,就是提供音频数据的缓冲类,而且这个AudioBufferProvider派生出许多子类,每个子类有不同的用途,至关重要;那它在Android哪个地方使…...

加密与安全_密钥体系的三个核心目标之完整性解决方案
文章目录 Pre机密性完整性1. 哈希函数(Hash Function)定义特征常见算法应用散列函数常用场景散列函数无法解决的问题 2. 消息认证码(MAC)概述定义常见算法工作原理如何使用 MACMAC 的问题 不可否认性数字签名(Digital …...

【C++】:继承[下篇](友元静态成员菱形继承菱形虚拟继承)
目录 一,继承与友元二,继承与静态成员三,复杂的菱形继承及菱形虚拟继承四,继承的总结和反思 点击跳转上一篇文章: 【C】:继承(定义&&赋值兼容转换&&作用域&&派生类的默认成员函数…...

昇思25天学习打卡营第13天|基于MindNLP+MusicGen生成自己的个性化音乐
关于MindNLP MindNLP是一个依赖昇思MindSpore向上生长的NLP(自然语言处理)框架,旨在利用MindSpore的优势特性,如函数式融合编程、动态图功能、数据处理引擎等,致力于提供高效、易用的NLP解决方案。通过全面拥抱Huggin…...

nigix的下载使用
1、官网:https://nginx.org/en/download.html 双击打开 nginx的默认端口是80 配置文件 默认访问页面 在目录下新建pages,放入图片 在浏览器中输入地址进行访问 可以在电脑中配置本地域名 Windows设置本地DNS域名解析hosts文件配置 文件地址…...
nginx+lua 实现URL重定向(根据传入的参数条件)
程序版本说明 程序版本URLnginx1.27.0https://nginx.org/download/nginx-1.27.0.tar.gzngx_devel_kitv0.3.3https://github.com/simpl/ngx_devel_kit/archive/v0.3.3.tar.gzluajitv2.1https://github.com/openresty/luajit2/archive/refs/tags/v2.1-20240626.tar.gzlua-nginx-m…...

算法学习笔记(8.4)-完全背包问题
目录 Question: 图例: 动态规划思路 2 代码实现: 3 空间优化: 代码实现: 下面是0-1背包和完全背包具体的例题: 代码实现: 图例: 空间优化代码示例 Question: 给定n个物品…...
C++catch (...)陈述
catch (...)陈述 例外处理可以有多个catch,如果catch后的小括弧里面放...,就表示不限型态种类的任何例外。 举例如下 #include <iostream>int main() {int i -1;try {if (i > 0) {throw 0;}throw 2.0;}catch (const int e) {std::cout <…...
Redis实践
Redis实践 使用复杂度高的命令 如果在使用Redis时,发现访问延迟突然增大,如何进行排查? 首先,第一步,建议你去查看一下Redis的慢日志。Redis提供了慢日志命令的统计功能,我们通过以下设置,就…...

【Lora模型推荐】Stable Diffusion创作具有玉石翡翠质感的图标设计
站长素材AI教程是站长之家旗下AI绘图教程平台 海量AI免费教程,每日更新干货内容 想要深入学习更多AI绘图教程,请访问站长素材AI教程网: AI教程_深度学习入门指南 - 站长素材 (chinaz.com) logo版权归各公司所有!本笔记仅供AIGC…...
vscode 远程开发
目录 vscode 远程连接 选择 Python 环境 vscode 远程连接 按 CtrlShiftP 打开命令面板。输入并选择 Remote-SSH: Open SSH Configuration File...。选择 ~/.ssh/config 文件(如果有多个选项)。在打开的文件中添加或修改你的 SSH 配置。 这个可以右键…...

前端Vue组件化实践:打造灵活可维护的地址管理组件
随着前端技术的不断演进,复杂度和开发难度也随之上升。传统的一体化开发模式使得每次小小的修改或功能增加都可能牵一发而动全身,严重影响了开发效率和维护成本。组件化开发作为一种解决方案,通过模块化、独立化的开发方式,实现了…...

虚幻引擎ue5游戏运行界面白茫茫一片,怎么处理
根剧下图顺序即可调节游戏运行界面光照问题: 在大纲里找到post,然后选中它,找到Exposure 把最低亮度和最高亮度的0改为1即可...

《代理选择与反爬虫策略探究:如何优化网络爬虫效率与稳定性》
代理IP如何选以及常见反爬策略 为什么需要代理? 因为有的网站会封IP,用户如果没有登录,那IP就是身份标识,如果网站发现用户行为异常就非常可能封IP 什么是代理IP 就是让一个人帮你转交请求,帮你转交的人对面不熟&a…...

XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...

多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...