当前位置: 首页 > news >正文

了解并缓解 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 攻击的主要特征

  1. 基于流量的攻击:其目的是使目标主机的带宽饱和。其中一些方法是执行 ICMP 洪水、UDP 洪水和其他欺骗性数据包洪水。攻击以每秒比特数 (bps) 为单位进行测量。
  2. 协议攻击:这些攻击利用网络协议中的弱点。例如,在 TCP 中,它会使用 SYN 洪水。碎片数据包攻击是另一个例子,其中数据包被碎片化并重新组装以逃避安全控制并发起攻击。死亡之 Ping 和 Smurf DDoS 是其他一些攻击。这些攻击以每秒数据包 (pps) 为单位进行测量。
  3. 应用层攻击:这些攻击针对特定应用程序或服务,使攻击看起来像合法流量。示例包括 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 和其他知名实体,以获取用户的信任,从而泄露敏感信息。

攻击细节

  1. 网络钓鱼电子邮件:攻击者发送电子邮件,声称自己来自 GitHub。电子邮件中的信息是通知用户有关可疑的登录尝试、帐户安全问题或需要更新的情况,这些情况对其帐户的安全至关重要,并敦促用户单击链接以保护其帐户。
  2. 欺骗性网站: URL 链接将用户带到镜像 GitHub 登录页面的网站。现在,当用户输入其凭据时,攻击者就会获取此信息。
  3. 凭证收集: 一旦用户在欺骗网站上输入其凭证和 2FA 代码,攻击者就能够收集这些信息。 这使攻击者能够未经授权访问用户的 GitHub 帐户。
  4. 利用:访问 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宏用于启用元对象特性&#xff0c…...

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文件配置 文件地址&#xf…...

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&#xff0c;如果catch后的小括弧里面放...&#xff0c;就表示不限型态种类的任何例外。 举例如下 #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时&#xff0c;发现访问延迟突然增大&#xff0c;如何进行排查&#xff1f; 首先&#xff0c;第一步&#xff0c;建议你去查看一下Redis的慢日志。Redis提供了慢日志命令的统计功能&#xff0c;我们通过以下设置&#xff0c;就…...

【Lora模型推荐】Stable Diffusion创作具有玉石翡翠质感的图标设计

站长素材AI教程是站长之家旗下AI绘图教程平台 海量AI免费教程&#xff0c;每日更新干货内容 想要深入学习更多AI绘图教程&#xff0c;请访问站长素材AI教程网&#xff1a; AI教程_深度学习入门指南 - 站长素材 (chinaz.com) logo版权归各公司所有&#xff01;本笔记仅供AIGC…...

vscode 远程开发

目录 vscode 远程连接 选择 Python 环境 vscode 远程连接 按 CtrlShiftP 打开命令面板。输入并选择 Remote-SSH: Open SSH Configuration File...。选择 ~/.ssh/config 文件&#xff08;如果有多个选项&#xff09;。在打开的文件中添加或修改你的 SSH 配置。 这个可以右键…...

前端Vue组件化实践:打造灵活可维护的地址管理组件

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

虚幻引擎ue5游戏运行界面白茫茫一片,怎么处理

根剧下图顺序即可调节游戏运行界面光照问题&#xff1a; 在大纲里找到post&#xff0c;然后选中它&#xff0c;找到Exposure 把最低亮度和最高亮度的0改为1即可...

《代理选择与反爬虫策略探究:如何优化网络爬虫效率与稳定性》

代理IP如何选以及常见反爬策略 为什么需要代理&#xff1f; 因为有的网站会封IP&#xff0c;用户如果没有登录&#xff0c;那IP就是身份标识&#xff0c;如果网站发现用户行为异常就非常可能封IP 什么是代理IP 就是让一个人帮你转交请求&#xff0c;帮你转交的人对面不熟&a…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来

一、破局&#xff1a;PCB行业的时代之问 在数字经济蓬勃发展的浪潮中&#xff0c;PCB&#xff08;印制电路板&#xff09;作为 “电子产品之母”&#xff0c;其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透&#xff0c;PCB行业面临着前所未有的挑战与机遇。产品迭代…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一&#xff1a;使用Read()读取文件2.3、方式二&#xff1a;bufio读取文件2.4、方式三&#xff1a;os.ReadFile读取2.5、写…...

jdbc查询mysql数据库时,出现id顺序错误的情况

我在repository中的查询语句如下所示&#xff0c;即传入一个List<intager>的数据&#xff0c;返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致&#xff0c;会导致返回的id是从小到大排列的&#xff0c;但我不希望这样。 Query("SELECT NEW com…...