了解并缓解 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 欺骗攻击,这将降低此类攻击的风险和影响,并有助于保护敏感数据。
相关文章:
![](https://img-blog.csdnimg.cn/img_convert/dd9c1d26082f0970fdabe01947be3a44.png)
了解并缓解 IP 欺骗攻击
欺骗是黑客用来未经授权访问计算机或网络的一种网络攻击,IP 欺骗是其他欺骗方法中最常见的欺骗类型。通过 IP 欺骗,攻击者可以隐藏 IP 数据包的真实来源,使攻击来源难以知晓。一旦访问网络或设备/主机,网络犯罪分子通常会挖掘其中…...
![](https://i-blog.csdnimg.cn/direct/baee6406b8634c229595484d54bb1518.png)
java LogUtil输出日志打日志的class文件内具体方法和行号
最近琢磨怎么把日志打的更清晰,方便查找问题,又不需要在每个class内都创建Logger对象,还带上不同的颜色做区分,简直不要太爽。利用堆栈的方向顺序拿到日志的class问题。看效果,直接上代码。 1、demo test 2、输出效果…...
![](https://i-blog.csdnimg.cn/direct/32660a69c73c4a4a891c76e21f680837.jpeg)
02. Hibernate 初体验之持久化对象
1. 前言 本节课程让我们一起体验 Hibernate 的魅力!编写第一个基于 Hibernate 的实例程序。 在本节课程中,你将学到 : Hibernate 的版本发展史;持久化对象的特点。 为了更好地讲解这个内容,这个初体验案例分上下 2…...
![](https://img-blog.csdnimg.cn/img_convert/b775f90b5b9cfe156e8740ec5fdd5f85.png)
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.…...
![](https://i-blog.csdnimg.cn/direct/c99c5d76f18d486a92380bf39d1b6a4c.png)
初识SpringBoot
1.Maven Maven是⼀个项⽬管理⼯具, 通过pom.xml⽂件的配置获取jar包,⽽不⽤⼿动去添加jar包 主要功能 项⽬构建管理依赖 构建Maven项目 1.1项目构建 Maven 提供了标准的,跨平台(Linux, Windows, MacOS等)的⾃动化项⽬构建⽅式 当我们开发了⼀个项⽬之后, 代…...
![](https://img-blog.csdnimg.cn/direct/f74dd51eb2b74c04bb8b6e602db8dee8.jpeg)
Qt之元对象系统
Qt的元对象系统提供了信号和槽机制(用于对象间的通信)、运行时类型信息和动态属性系统。 元对象系统基于三个要素: 1、QObject类为那些可以利用元对象系统的对象提供了一个基类。 2、在类声明中使用Q_OBJECT宏用于启用元对象特性,…...
![](https://i-blog.csdnimg.cn/direct/9544a8447de34a04aad3e5cec9fe96bc.png#pic_center)
Provider(1)- 什么是AudioBufferProvider
什么是AudioBufferProvider? 顾名思义,Audio音频数据缓冲提供,就是提供音频数据的缓冲类,而且这个AudioBufferProvider派生出许多子类,每个子类有不同的用途,至关重要;那它在Android哪个地方使…...
![](https://i-blog.csdnimg.cn/direct/54f931c849da4bdb9e711f31099098b8.png)
加密与安全_密钥体系的三个核心目标之完整性解决方案
文章目录 Pre机密性完整性1. 哈希函数(Hash Function)定义特征常见算法应用散列函数常用场景散列函数无法解决的问题 2. 消息认证码(MAC)概述定义常见算法工作原理如何使用 MACMAC 的问题 不可否认性数字签名(Digital …...
![](https://i-blog.csdnimg.cn/direct/7b59c81a6f854d5a993ab76e3d76244f.png)
【C++】:继承[下篇](友元静态成员菱形继承菱形虚拟继承)
目录 一,继承与友元二,继承与静态成员三,复杂的菱形继承及菱形虚拟继承四,继承的总结和反思 点击跳转上一篇文章: 【C】:继承(定义&&赋值兼容转换&&作用域&&派生类的默认成员函数…...
![](https://i-blog.csdnimg.cn/direct/9348fa84beb941fbb6d23ab4ef922711.png)
昇思25天学习打卡营第13天|基于MindNLP+MusicGen生成自己的个性化音乐
关于MindNLP MindNLP是一个依赖昇思MindSpore向上生长的NLP(自然语言处理)框架,旨在利用MindSpore的优势特性,如函数式融合编程、动态图功能、数据处理引擎等,致力于提供高效、易用的NLP解决方案。通过全面拥抱Huggin…...
![](https://i-blog.csdnimg.cn/direct/cc0109ff0eb544a596b8ca295831f1e7.png)
nigix的下载使用
1、官网:https://nginx.org/en/download.html 双击打开 nginx的默认端口是80 配置文件 默认访问页面 在目录下新建pages,放入图片 在浏览器中输入地址进行访问 可以在电脑中配置本地域名 Windows设置本地DNS域名解析hosts文件配置 文件地址…...
![](https://www.ngui.cc/images/no-images.jpg)
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…...
![](https://i-blog.csdnimg.cn/direct/1cd0ed1c05da4b5a94f992e482ef604d.png)
算法学习笔记(8.4)-完全背包问题
目录 Question: 图例: 动态规划思路 2 代码实现: 3 空间优化: 代码实现: 下面是0-1背包和完全背包具体的例题: 代码实现: 图例: 空间优化代码示例 Question: 给定n个物品…...
![](https://www.ngui.cc/images/no-images.jpg)
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 <…...
![](https://www.ngui.cc/images/no-images.jpg)
Redis实践
Redis实践 使用复杂度高的命令 如果在使用Redis时,发现访问延迟突然增大,如何进行排查? 首先,第一步,建议你去查看一下Redis的慢日志。Redis提供了慢日志命令的统计功能,我们通过以下设置,就…...
![](https://img-blog.csdnimg.cn/img_convert/22422b807376bdf327599b98bd9cdffb.png)
【Lora模型推荐】Stable Diffusion创作具有玉石翡翠质感的图标设计
站长素材AI教程是站长之家旗下AI绘图教程平台 海量AI免费教程,每日更新干货内容 想要深入学习更多AI绘图教程,请访问站长素材AI教程网: AI教程_深度学习入门指南 - 站长素材 (chinaz.com) logo版权归各公司所有!本笔记仅供AIGC…...
![](https://www.ngui.cc/images/no-images.jpg)
vscode 远程开发
目录 vscode 远程连接 选择 Python 环境 vscode 远程连接 按 CtrlShiftP 打开命令面板。输入并选择 Remote-SSH: Open SSH Configuration File...。选择 ~/.ssh/config 文件(如果有多个选项)。在打开的文件中添加或修改你的 SSH 配置。 这个可以右键…...
![](https://img-blog.csdnimg.cn/img_convert/8c2931c1a37d7dd84394fb7799cd654c.png)
前端Vue组件化实践:打造灵活可维护的地址管理组件
随着前端技术的不断演进,复杂度和开发难度也随之上升。传统的一体化开发模式使得每次小小的修改或功能增加都可能牵一发而动全身,严重影响了开发效率和维护成本。组件化开发作为一种解决方案,通过模块化、独立化的开发方式,实现了…...
![](https://i-blog.csdnimg.cn/direct/7032e14c2cba4e8caf305c3d858fc0b4.png)
虚幻引擎ue5游戏运行界面白茫茫一片,怎么处理
根剧下图顺序即可调节游戏运行界面光照问题: 在大纲里找到post,然后选中它,找到Exposure 把最低亮度和最高亮度的0改为1即可...
![](https://i-blog.csdnimg.cn/direct/240a2b79d07e4163a02433b9cf4a131b.png#pic_center)
《代理选择与反爬虫策略探究:如何优化网络爬虫效率与稳定性》
代理IP如何选以及常见反爬策略 为什么需要代理? 因为有的网站会封IP,用户如果没有登录,那IP就是身份标识,如果网站发现用户行为异常就非常可能封IP 什么是代理IP 就是让一个人帮你转交请求,帮你转交的人对面不熟&a…...
![](https://www.ngui.cc/images/no-images.jpg)
Kotlin Flow 防抖 节流
防抖和节流是针对响应跟不上触发频率这类问题的两种解决方案。 一:防抖(debounce)的概念: 防抖是指当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次, 如果设定时间到来之前&#x…...
![](https://www.ngui.cc/images/no-images.jpg)
Android Studio下载与安装
Android Studio下载与安装_android studio下载安装-CSDN博客...
![](https://www.ngui.cc/images/no-images.jpg)
【LC刷题】DAY24:122 55 45 1005
122. 买卖股票的最佳时机 II class Solution { public:int maxProfit(vector<int>& prices) {int result 0;for(int i 1; i < prices.size(); i ){result max(prices[i] - prices[ i - 1], 0);}return result;} };55. 跳跃游戏 link class Solution { public…...
![](https://i-blog.csdnimg.cn/direct/ad7b8cc17e93499d870f6db09c088ebf.png)
从零开始的python学习生活2
接上封装 class Phone:__volt0.5def __keepsinglecore(self):print("让cpu以单核运行")def if5G(self):if self.__volt>1:print("5G通话已开启")else:self.__keepsinglecore()print("电量不足,无法使用5G通话,已经设置为单…...
![](https://i-blog.csdnimg.cn/direct/06f893c08c3443f6bff0296cd7084d28.png#pic_center)
【并发编程】进程 线程 协程
进程(Process)、线程(Thread)和协程(Coroutine)构成了计算机科学中实现任务并发执行的三种核心抽象机制。通常,为了提高程序的执行效率,开发者会根据应用场景和性能需求,…...
![](https://www.ngui.cc/images/no-images.jpg)
Vue的生命周期函数有哪些?详细说明
Vue.js 的生命周期函数包括以下几个阶段,每个阶段都有相应的钩子函数可以用来在特定时机执行自定义的逻辑。这些生命周期钩子函数使得我们可以在组件的不同阶段进行操作,从而管理组件的状态和行为。 1. beforeCreate: - 描述:…...
![](https://www.ngui.cc/images/no-images.jpg)
大语言模型应用--AI工程化落地
文章目录 大语言模型概述什么是大语言模型什么是机器学习什么是深度学习 理解大语言模型历史沿革关键 AIGC系统AI工程化项目的落地落地的方法Prompt工程(第一阶段)RAG检索(第二阶段)训练特定功能模型(第三阶段…...
![](https://www.ngui.cc/images/no-images.jpg)
我会什么开发技能
java我会什么? 一、并发编程 1、并发编程:jdk中的courren包只能够类实现(seamplore,CountDownLaunch,Pharse,CycliBarrier,CompletableFuture),AQS的原理,线…...
![](https://i-blog.csdnimg.cn/direct/e4780bc1ee914f3cacae56d771ac35e2.png)
Run LoongArch64 Alpine VM on x86_64
一、Build from source(build on x86_64) Obtain the latest libvirt, virt-manager, and qemu source code, compile and install them. 1.1 Build libvirt from source sudo apt-get update sudo apt-get install augeas-tools bash-completion debhelper-compat dh-apparm…...
![](https://www.ngui.cc/images/no-images.jpg)
4层负载均衡和7层负载均衡
四层负载均衡(Layer 4 Load Balancing)指的是在网络传输层(TCP/IP模型中的第四层)进行负载均衡的技术。四层负载均衡通常使用IP地址、端口号和协议等信息来将网络流量分配到多个服务器上。它主要关心网络层的信息,不涉…...
![](https://pic002.cnblogs.com/images/2012/247269/2012060320231869.jpg)
网站设计建设公司教程/免费下载app并安装
或许习惯于用高级语言编程的大部分同学都会忽略了函数调用的具体过程是怎样的,如果想知道这个过程就不得不从汇编入手,但汇编语言又晦涩难懂。在这里谨以一个简单的例子说说我对函数调用过程的学习心得。 先上C语言写的代码: 1 #include<s…...
wordpress4.7/推广普通话手抄报内容50字
前言:最近对公司的APP进行一些控件的升级(很久以前就想动,我已经忍了很久了),记录一下ActionBar 转 ToolBar 期间遇到的大大小小的坑,顺便做个笔记。一、先说一开始的使用1.在xml布局文件的头部添加Toolbar…...
![](https://img-blog.csdnimg.cn/img_convert/87a68a508007e8dd4d0ba4f80b9e3a0f.png)
wordpress 登录美化/网络营销怎么做
随便挑了一张看起来比较高端的图片有些朋友可能玩过按键精灵,一个用来操作键盘鼠标完成一些自动化工作的软件。其实如果你学了Python的话,完全用不着按键精灵这种东西了。因为广泛的Python类库里,就有PyAutoGUI这样可以变成控制键盘鼠标的类库…...
![](/images/no-images.jpg)
用境外服务器做网站/优化快速排序
在web项目中会遇到的问题:文件上传 文件上传在前端页面的设置:form表单 设置 input 类型 文件上传的请求方式要使用post,要将enctype设置为multipart/form-data ; Input的类型设为file <form action"UploadServlet&quo…...
![](http://www.runoob.com/wp-content/uploads/2014/03/mysql-admin.gif)
在家建设一个网站需要什么/软文价格
启动及关闭 MySQL 服务器 首先,我们需要通过以下命令来检查MySQL服务器是否启动: ps -ef | grep mysqld 如果MySql已经启动,以上命令将输出mysql进程列表, 如果mysql未启动,你可以使用以下命令来启动mysql服务器: root…...
平面设计相关的网站有哪些内容/网站seo推广排名
在上一篇《一个极简、高效的秒杀系统(战略设计篇)》中,楼主重点讲解了基于Redis Lua脚本的秒杀系统设计方案,如果没看过的同学,请花十分钟复习下。在这一篇中,楼主会结合代码,来探讨如何将设计…...