Smurf 攻击是不是真的那么难以防护
Smurf攻击是一种网络攻击方式,属于分布式拒绝服务(DDoS)攻击的变种。以 1990 年代流行的名为 Smurf 的漏洞利用工具命名。该工具创建的 ICMP 数据包很小,但可以击落大目标。
它利用ICMP协议中的回声请求(ping)消息,向网络中的广播地址发送大量的伪造源地址。具体来说,当攻击者发送大量的ICMP回声请求数据包到网络的广播地址,并伪造数据包的源IP地址为被攻击目标的IP时,网络中的所有设备都会收到这些数据包,并向被攻击目标发送回应。这样,大量设备同时向被攻击目标发送回应,会迅速消耗网络带宽和处理能力,导致网络拥堵甚至服务瘫痪。具体工作原理如下:
1.恶意软件创建网络包
使用 Smurf恶意软件,攻击者创建链接到欺骗性 IP 地址的 ICMP 回显请求。假 IP 实际上是目标服务器的 IP。所以当回显请求返回时,它会去往目标而不是攻击者。
2.ICMP ping 消息发送到目标 IP 地址
然后将 ICMP ping 消息发送到目标 IP 广播网络,该网络将消息中继到连接到网络的所有设备。请求接收数据包的设备向欺骗的 IP 地址发送回响应。
3.持续的“回声”使网络瘫痪
目标服务器从网络上的所有设备接收连续的回复,这些回复再次从服务器发回。这种无限循环称为“回声”,会淹没网络并无限期地关闭它。
Smurf 攻击试图保持伪装和不被发现,累积回声请求的长期影响是网络速度变慢,这会使连接的网站和设备运行缓慢或完全无法运行。
Smurf 攻击有哪些类型?
Smurf 攻击通常以两种形式出现——通过网络驱动的 DDoS 攻击或通过下载 Smurf 恶意软件。熟悉这些差异可以帮助您减轻它们的潜在损害。
1.基本的 Smurf 攻击
基本的 Smurf DDoS 攻击使用无限数量的 ICMP 回显请求轰炸目标网络。这些请求被转发到连接到服务器的所有设备,这些设备被提示发送响应。大量响应使目标服务器不堪重负。
2.高级 Smurf 攻击
高级 smurfing 攻击从基本攻击开始。不同之处在于,通过配置源,高级攻击可以响应第三方受害者。通过扩大攻击媒介,黑客可以瞄准更大的受害者群体和更广泛的网络。
3.通过下载的软件/应用程序
Smurf攻击也可以下载。在特洛伊木马中,Smurf 恶意软件可能存在于来自不安全网站或受感染电子邮件链接的软件和应用程序下载中。如果您的设备感染了木马,请使用木马清除工具将其删除。
Smurf 攻击也可以捆绑在rootkit中。这允许黑客建立后门以获得对网络数据和系统的未授权访问。Rootkit 很难发现,但是Rootkit 扫描器可以帮助您检查它们。
如何判定遭受了Smurf 攻击?
1.ICMP 应答风暴的检测
对网络进行监控和统计发现, 若出现 Smurf 攻击, 则会出现大量的 echo 报文。由于存在 echo 应答风暴, 此时,echo 报文在所有报文中所占的比例大大增加。所以,如出现这种情况, 就可能遭到了 Smurf 攻击。
2.报文丢失率和重传率的上升
由于 echo 风暴造成网络负载过重,会出现大量报文丢失和报文重传现象。所以,若有明显的报文丢失率和重传率上升现象,就有可能遭到了 Smurf 攻击。
3.常出现意外的连接重置的现象
在受到 Smurf 攻击时, 由于网络重载,会使其它的网络连接出现意外的中断或重置的现象。如反复出现意外的中断或重置,也可能受到了 Smurf 攻击。
如何抵消或防止潜在的 Smurf 攻击?
1.过滤广播地址:在网络的出口路由器上配置过滤规则,禁止广播地址的流量通过,这样可以阻止攻击者的Echo Request报文进入目标网络。
2.启用反向路径过滤(Reverse Path Filtering):通过验证数据包的源IP地址是否为网络出口合法的路径返回地址,来过滤掉源IP地址伪造的报文。这有助于防止攻击者伪造源地址。
3.配置防火墙规则:防火墙可以通过设置规则来过滤掉异常流量,特别是那些来自广播地址或大量重复的ICMP请求。
4.使用流量限制措施:通过使用防火墙和入侵检测系统(IDS)等技术,对网络流量进行监控和管理,及时发现并限制异常流量。
5.更新设备和软件:定期更新网络设备(如路由器、交换机)和操作系统的软件版本,以修复已知漏洞,提升网络安全性。
6.配置网络防病毒系统:部署网络防病毒系统可以有效防范各种网络威胁,包括Smurf攻击。防病毒系统可以对异常流量进行实时监测,并检测出潜在的威胁行为。
7.限制ICMP流量:可以通过限制ICMP流量或完全关闭ICMP服务来降低Smurf攻击的风险。但请注意,这可能会影响到一些合法的网络功能,如网络诊断工具ping。
8.提高网络安全意识:通过教育和培训来提高网络管理员和用户的安全意识,让他们了解Smurf攻击的原理和防范措施。
9.备份和恢复计划:制定备份和恢复计划,以便在遭受Smurf攻击后能够迅速恢复网络和服务。
10.使用专业安全服务:考虑使用专业的网络安全服务,如德迅云安全的安全审计、入侵检测和响应等,以增强网络的整体安全性。
虽然Smurf攻击在未来可能会面临一些新的挑战和变化,但只要我们加强技术研发、提升防御能力、关注网络环境变化和提高安全意识,就能够有效地应对这些威胁,保障网络的安全稳定运行。
相关文章:

Smurf 攻击是不是真的那么难以防护
Smurf攻击是一种网络攻击方式,属于分布式拒绝服务(DDoS)攻击的变种。以 1990 年代流行的名为 Smurf 的漏洞利用工具命名。该工具创建的 ICMP 数据包很小,但可以击落大目标。 它利用ICMP协议中的回声请求(ping&#x…...

ASP.NET之图像控件
在ASP.NET中,用于显示图像的控件主要是Image控件,Image控件属于ASP.NET Web Forms的一部分,它允许你在Web页面上显示图像。以下是如何在ASP.NET Web Forms中使用 1. 添加Image控件到页面 在ASP.NET Web Forms页面上,你可以通过设…...

二级Java第五套真题(乱序版)含真题解析
一. 单选题(共39题,39分) 1. (单选题, 1分) 阅读下列代码 public class Test implements Runnable { public void run (Thread t) { System.out.println("Running."); } public static void main (String[ ] args) { T…...

【C++】GNU Debugger (GDB) 使用示例
文章目录 GDB 使用示例GDB的常用命令示例 GDB 使用示例 GDB的常用命令 GDB(GNU Debugger)是一种Unix下的程序调试工具,用于调试C、C等编程语言编写的程序。以下是一些GDB的常用命令: 启动和退出: run 或 r…...

Qlik Sense :使用智能搜索Smart Search
智能搜索 智能搜索是 Qlik Sense 中的全局搜索工具,可让您从应用程序中的任何工作表搜索应用程序中的整个数据集。可通过点击 从工作表中的选择项栏使用智能搜索。 通过智能搜索字段,您可以从任何工作表搜索您的应用程序中的完整数据集。 信息注释 智…...

React 学习-1
安装--使用npm 元素渲染 React只定义一个根节点,由 React DOM 来管理。通过ReactDOM.render()方法将元素渲染到根DOM节点上。 React 元素都是不可变的。当元素被创建之后,你是无法改变其内容或属性的。目前更新界面的唯一办法是创建一个新的元素…...

Libcity 笔记:自定义模型
在/libcity/model/trajectory_loc_prediction/,我们复制一份Deepmove.py,得到DM_tst.py,我们不改变其中的机制,只动class name 然后修改相同目录下的__init__.py: 修改task_config文件: 在config/model/tra…...

易图讯科技三维电子沙盘系统
深圳易图讯科技有限公司(www.3dgis.top)创立于2013年,专注二三维地理信息、三维电子沙盘、电子地图、虚拟现实、大数据、物联网和人工智能技术研发,获得20多项软件著作权和软件检测报告,成功交付并实施了1000多个项目&…...

数据结构与算法学习笔记之线性表四---单链表的表示和实现(C++)
目录 前言 一、顺序表的优缺点 二、单链表的表示和实现 1.初始化 2.清空表 3.销毁 4.表长 5.表空 6.获取表中的元素 7.下标 8.直接前驱 9.直接后继 10.插入 11.删除 12.遍历链表 13.测试代码 前言 这篇博客主要介绍单链表的表示和实现。 一、顺序表的优缺点 线…...

go语言切片slice使用细节和注意事项整理
go语言中切片slice的使用是最为频繁的,效率也是最高的, 今天就给大家说说我们在使用过程中会忽略的一些细节。 先普及一下slice的核心基础知识, go语言中的切片是引用类型, 其底层数据的存储实际上是存储在一个数组 上(…...

C语言 | Leetcode C语言题解之第85题最大矩形
题目: 题解: int maximalRectangle(char** matrix, int matrixSize, int* matrixColSize) {int m matrixSize;if (m 0) {return 0;}int n matrixColSize[0];int left[m][n];memset(left, 0, sizeof(left));for (int i 0; i < m; i) {for (int j …...

2024-05-13四月初六周一
2024-05-13四月初六周一 06:30-08:30 coding 动态规划算法: 08:30-12:30 深兰Ai第五期 Part1:课时269:00:00:00 12:30-13:00 午饭烧水: 13:30-19:00 深兰Ai第五期: 20:00-23:00 coding 线性回归:...
Android性能:高版本Android关闭硬件加速GPU渲染滑动卡顿掉帧
Android性能:高版本Android关闭硬件加速GPU渲染滑动卡顿掉帧 如果在Androidmanifest.xml配置: <application android:hardwareAccelerated"false" > 或者某个特点View使用代码: myView.setLayerType(View.LAYER_TYPE_SOFT…...

对于FileUpload控件的一些bug
我写的程序,问题出现的也很神奇,就是我在上传已经存在在我指定目录下的就可以成功,如果不存在,上传仍是可以成功的,但是就会不显示,但是你重启服务器的时候又会再次显示。这种问题出现的原因我们就需要了解…...

哲学家就餐问题
哲学家就餐问题 问题信号量实现发生死锁版限制人数版规定取筷顺序 条件变量实现 问题 在一个圆桌上坐着五位哲学家,每个哲学家面前有一个碗装有米饭的碗和一个筷子。哲学家的生活包括思考和进餐两个活动。当一个哲学家思考时,他不需要任何资源。当他饿了…...

Web安全:SQL注入之布尔盲注原理+步骤+实战操作
「作者简介」:2022年北京冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础对安全知识体系进行总结与归纳,著作适用于快速入门的 《网络安全自学教程》,内容涵盖系统安全、信息收集等…...

电商秒杀系统-案例04-redis下的session控制
前言: 在现代的Web应用中,安全和高效的用户身份验证机制是至关重要的。本文将深入探讨基于令牌的用户登录会话机制,特别是在使用Redis进行会话管理的情景。通过这一案例实战,我们将了解令牌如何在用户身份验证过程中发挥核心作用&…...

贪吃蛇(c实现)
目录 游戏说明: 第一个是又是封面,第二个为提示信息,第三个是游戏运行界面 游戏效果展示: 游戏代码展示: snack.c test.c snack.h 控制台程序的准备: 控制台程序名字修改: 参考:…...

【论文阅读笔记】MapReduce: Simplified Data Processing on Large Clusters
文章目录 1 概念2 编程模型3 实现3.1 MapReduce执行流程3.2 master数据结构3.3 容错机制3.3.1 worker故障3.3.2 master故障3.3.3 出现故障时的语义 3.4 存储位置3.5 任务粒度3.6 备用任务 4 扩展技巧4.1 分区函数4.2 顺序保证4.3 Combiner函数4.4 输入和输出的类型4.5 副作用4.…...

LeetCode题练习与总结:二叉树的中序遍历--94
一、题目描述 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2]示例 2: 输入:root [] 输出:[]示例 3: 输入:roo…...

云计算十三课
centos安装 点击左上角文件 点击新建虚拟机 点击下一步 点击稍后安装操作系统,下一步 选择Linux(l)下一步 设置虚拟机名称 点击浏览选择安装位置 新建文件夹设置名称不能为中文,点击确定 点击下一步 设置磁盘大小点击下一步…...

[数据集][目标检测]电力场景安全帽检测数据集VOC+YOLO格式295张2类别
数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):295 标注数量(xml文件个数):295 标注数量(txt文件个数):295 标注类别…...

AtCoder Beginner Contest 308 A题 New Scheme
A题:New Scheme 标签:模拟 题意:给定 8 8 8个数的序列,询问这些数是否满足以下条件: 在 100 100 100到 675 675 675之间且能被 25 25 25整除序列是单调非递减的 题解:按题意模拟判断就好了。 代码&#…...

C++编程与朱元墇的关系
学编程和英语没关系,我说这句话,没人会相信,也不会有人说我什么哗众取宠。 我说学编程和朱元墇有关系,一定有人说我放P,其实这个P也和朱元墇有关系, 和朱元墇有什么P关系啊。 真有这P事啊, 朱元…...

0060__设计模式
1. 简单工厂模式( Simple Factory Pattern ) — Graphic Design Patterns 工厂模式 | 菜鸟教程 【设计模式——学习笔记】23种设计模式——建造者模式Builder(原理讲解应用场景介绍案例介绍Java代码实现)-CSDN博客 设计模式—— 五:迪米特…...

【Linux 网络】网络编程套接字 -- 详解
⚪ 预备知识 1、理解源 IP 地址和目的 IP 地址 举例理解:(唐僧西天取经) 在 IP 数据包头部中 有两个 IP 地址, 分别叫做源 IP 地址 和目的 IP 地址。 如果我们的台式机或者笔记本没有 IP 地址就无法上网,而因为…...

编译OpenResty遇到找不到OpenSSL的解决办法
以OpenResty-1.19.9.1为例 编辑openresty-1.19.9.1/build/nginx-1.19.9/auto/lib/openssl/conf CORE_INCS"$CORE_INCS $OPENSSL/.openssl/include" CORE_DEPS"$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h" CORE_LIBS"$CORE_LIBS $OPENSSL/.…...

Amazon Bedrock 托管 Llama 3 8B70B
Amazon Bedrock 托管 Llama 3 8B&70B,先来体验:(*实验环境账号有效期为1天,到期自动关停,请注意重要数据保护) https://dev.amazoncloud.cn/experience/cloudlab?id65fd86c7ca2a0d291be26068&visi…...

海豚调度器早期版本如何新增worker分组
在DolphinScheduler 1.3.5版本中,Worker分组通常是在部署时通过配置文件进行定义的,而不是在用户界面上直接操作。以下是在DolphinScheduler中新增Worker分组的一般步骤: 修改配置文件: DolphinScheduler的Worker分组信息通常在/…...

Debian Linux 下给Nginx 1.26.0 编译增加Brotli算法支持
明月发现参考【给Nginx添加谷歌Brotli压缩算法支持】一文给出的方法,在Debian Linux 12.5下就一直编译失败,主要的错误是因为文件缺失,在专门又安装了apt-get install libbrotli-dev的依赖库后依然会因为文件缺失无法编译完成,就这…...