Smurf 攻击是不是真的那么难以防护

news2024/11/26 18:20:20

     

       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攻击在未来可能会面临一些新的挑战和变化,但只要我们加强技术研发、提升防御能力、关注网络环境变化和提高安全意识,就能够有效地应对这些威胁,保障网络的安全稳定运行。

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

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

相关文章

第七次--大模型测评

在该章节中更多是体验与尝试 一、理论学习 类型:语言大模型和多模态大模型这两种是主要的类型。 挑战:要想办法建立一个全面的评价体系,还要能处理大规模的数据,并且要保证评测的准确性和可重复性,真不是一件容易的事…

Unity生命周期函数详解

Unity生命周期函数详解 Unity生命周期函数是Unity引擎中用于控制游戏对象行为的一系列方法。它们在游戏的不同阶段被自动调用,允许开发者在适当的时机执行特定的代码。了解和正确使用生命周期函数对于创建流畅和高效的游戏至关重要。 生命周期函数概述 Unity生命…

变量的解构赋值

变量的解构赋值 数组的解构赋值对象解构赋值 对象的解构与数组有一个重要的不同。嵌套结构的对象 字符串的解构赋值数值和布尔值的解构赋值函数参数的解构赋值 变量的解构赋值用途 交换变量的值从函数返回多个值函数参数的定义提取JSON数据设置默认值遍历Map和Set不完全解构输入…

TM1650 并联在I2C 信号线的处理方法

目的是可以并联多个TM1650 在标准I2C 总线上,并且不影响其他标准I2C 器件。思路就是拿个额外的开关控制每一片TM1650 的使能,就像SPI 的CS 信号那样。 协议 TM1650 的通信协议虽说不是标准I2C,但也算是比较兼容的,比方说&#x…

azkaban-tools 项目介绍

本文背景 应一个用户的好心和好奇心,在最近水深火热的百忙之中抽时间写完了一个简短的项目介绍,其实就是几个azkaban的批量操作脚本,但在大数据集群的“运维生涯”中,还是帮了自己不少忙,也算是为了它做一个简单的回顾…

SpringBoot集成jxls2实现复杂(多表格)excel导出

核心依赖 需求 导出多个表格,包含图片,类似商品标签 1.配置模板 创建一个xlsx的模板文件,配置如下 该模板进行遍历了两次,因为我想要导出的数据分为两列展示,左右布局,一个循环实现不了,所以采…

重学JavaScript高阶知识点(三)—— 详解Js中的内存管理

详解Js中的内存管理 1. 简介2. 内存生命周期3. JavaScript 的内存分配4. 垃圾回收 1. 简介 很多底层语言一般都有底层的内存管理接口,比如 C语言,可以调用对应的API去创建和释放内存空间。意思是需要手动去创建和释放内存空间,很明显&#x…

TCP服务器实现将客服端发送的信息广播发送(使用内核链表管理客户端信息)

目录 1.服务器端实现思路 2.服务器端代码 3.客户端代码 4.内核链表代码 5.运行格式 一、服务器端 二、客户端 6.效果 1.服务器端实现思路 Tcp广播服务初始化 等待客户端连接 广播发送 2.服务器端代码 #include "list.h" #include <signal.h> #def…

如何解决IntelliJ IDEA中pom.xml依赖项引发的安全漏洞黄线警告问题

背景 在开发过程中&#xff0c;当我们在pom.xml文件中添加依赖项时&#xff0c;经常会发现IntelliJ IDEA报出黄色警告线条&#xff0c;提示存在潜在的安全漏洞。警告的具体展现形式如下&#xff1a; 解决方案 首先&#xff0c;打开设置菜单界面&#xff0c;接着选择编辑器选…

神经网络复习--神经网络算法模型及BP算法

文章目录 神经网络模型的构成BP神经网络 神经网络模型的构成 三种表示方式&#xff1a; 神经网络的三要素&#xff1a; 具有突触或连接&#xff0c;用权重表示神经元的连接强度具有时空整合功能的输入信号累加器激励函数用于限制神经网络的输出 感知神经网络 BP神经网络 …

[嵌入式系统-75]:RT-Thread-快速上手:正点原子探索者 STM32F407示例

目录 正点原子探索者 STM32F407 上手指南 1. 简介 2. 准备工作 3. 运行第一个示例程序 3.1 编译下载 3.2 运行 继续学习 正点原子探索者 STM32F407 上手指南 1. 简介 探索者 STM32F407 是正点原子推出的一款基于 ARM Cortex-M4 内核的开发板&#xff0c;最高主频为 16…

机器人学导论实验2-差速驱动机器人的运动学与控制BJTU

目录 机器人导论实验-差速驱动机器人的运动学与控制 1 实验目的 2 任务一&#xff1a;前馈控制 2.1 内容分析 2.2 过程分析 2.3 结果分析 3 任务二&#xff1a;闭环控制 3.2 过程分析 3.3 结果分析 4 任务三&#xff1a;闭环控制&#xff08;改进&#xff09; 4.1 内容分…

Kotlin: ‘return‘ is not allowed here

报错&#xff1a;以下函数的内部函数return语句报错 Kotlin: return is not allowed here fun testReturn(summary: (String) -> String): String {var msg summary("summary收到参数")println("test内部调用参数&#xff1a;>结果是 &#xff1a;${msg…

(四十)第 6 章 树和二叉树(树的双亲表存储)

1. 背景说明 2. 示例代码 1) errorRecord.h // 记录错误宏定义头文件#ifndef ERROR_RECORD_H #define ERROR_RECORD_H#include <stdio.h> #include <string.h> #include <stdint.h>// 从文件路径中提取文件名 #define FILE_NAME(X) strrchr(X, \\) ? strrch…

项目管理-计算题公式-补充【复习】

1.EMV决策树 定义&#xff1a;用决策树在若干备选行动方案中选择一个最佳方案。在决策树 中&#xff0c;用不同的分支代表不同的决策或事件&#xff0c;即项目的备选路径。每个决策或事件 都有相关的成本和单个项目风险(包括威胁和机会)。决策树分支的终点表示沿特 定路径发展的…

C++ | Leetcode C++题解之第86题分隔链表

题目&#xff1a; 题解&#xff1a; class Solution { public:ListNode* partition(ListNode* head, int x) {ListNode* small new ListNode(0);ListNode* smallHead small;ListNode* large new ListNode(0);ListNode* largeHead large;while (head ! nullptr) {if (head-…

C语言实现猜数字小游戏

1.随机数生成 要想实现猜数字小游戏&#xff0c;依赖于随机数的生成 1.1 rand()函数 这个函数是用来生成随机数的&#xff0c;返回值是正整数&#xff0c;他的值的范围是0到rand_max之间的&#xff0c;rand_max的值在大多数编译器上面是32767&#xff0c;rand()函数的使用必…

高校课程评价|基于SSM+vue的高校课程评价系统的设计与实现(源码+数据库+文档)

高校课程评价系统 目录 基于SSM&#xff0b;vue的高校课程评价系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1管理员功能模块 2学生功能 3教师功能 4专家功能 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&…

Node.js基础:从入门到实战

初识 Node.js 与内置模块 &#xff08;初识&#xff09; 1、知道什么是node.js 2、知道node.js可以做什么 3、node.js 中js的组成部分 &#xff08;内置模块&#xff09; 4、用 fs 模块读写操作文件 5、使用 path 模块处理路径 6、使用http 模块写一个基本的web服务器 初识 N…

高精度原理介绍及代码实现

目录 高精度 引入 使用场景 实现原理 高精度加法 数据存储 加法实现 总代码 高精度减法 与加法的不同点&#xff1a; 总代码 高精度乘法 总代码 高精度除法 总结 总注意点 减法注意点 高精度 引入 所谓高精度并不是很高级难懂的东西&#xff0c;只是对传统的…