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

攻防技术-单包攻击防范:扫描、畸形、特殊(HCIP)

单包攻击类型介绍

一、扫描窥探攻击

1、地址扫描攻击防范

攻击介绍

  • 运用ping程序探测目标地址,确定目标系统是否存活。也可使用TCP/UDP报文对目标系统发起探测(如TCP ping)

防御方法

  • 检测进入防火墙的ICMP、TCP和UDP报文,根据源IP地址获取统计表项的索引,如果目的IP地址与前一报文的IP地址不同,则将表项中的总报文个数增加1。如果在一定时间内报文的个数达到设置的阑值,记录日志,并根据配置决定是否将源IP地址自动加入黑名单。

2、端口扫描攻击防范

攻击介绍

  • Port Scan攻击通常使用一些软件,向大范围主机的各个TCP/UDP端口发起连接,根据应答报文判断主机是否使用这些端口提供服务。

防御方法

  • 检测进入防火墙的TCP报文或UDP报文,根据源IP地址获取统计表项的索引,如果目的端口与前一报文不同,将表项中的报文个数增1。如果报文的个数超过设置的闯值,记录日志,并根据配置决定是否将源IP地址加入黑名单。

二、畸形报文攻击

1、SUMRF攻击防范

攻击介绍

  • Smurf攻击方法是发送ICMP请求,该请求包的目标地址设置为受害网络的广播地址,源地址为服务器地址。该网络的所有主机都回应此ICMP请求,回应报文全部发往服务器,导致服务器不能正常提供服务。

防御方法

  • 检查ICMP应答请求包的目的地址是否为子网广播地址或子网的网络地址,如果是,则直接拒绝,并将攻击记录到日志。

2、LAND攻击防范

攻击介绍

  • 把TCP 的源地址和目标地址都设置成某一个受害者的IP地址。这将导致受害者向它自己的地址发送SYN-ACK消息,结果这个地址又发回ACK消息并创建一个空连接,占用系统资源或使目的主机崩溃。

防御方法

  • 对每一个的IP报文进行检测,若其源地址与目的地址相同,或者源地址为环回地址(127.0.0.1),则直接拒绝,并将攻击记录到日志。

3、Fraggle攻击防范

攻击介绍

  • Fraggle类似于Smurf攻击,使用UDP应答消息而非ICMP。UDP端口7(ECHO)和端口19(Chargen)在收到UDP报文后,会产生大量无用的应答报文,占满网络带宽。

防御方法

  • 检查进入防火墙的UDP报文,若目的端口号为7或19,则直接拒绝,并将攻击记录到日志,否则允许通过。

4、IP Fragment攻击

攻击介绍

  • IP报文中有几个字段与分片有关:DF位、MF位、Fragment offsetLength 。如果上述字段的值出现矛盾,而设备处理不当,会对设备造成一定的影响,甚至瘫痪。

防御方法

  • 检查IP报文中与分片有关的字段(DF位、MF位、片偏置量、总长度)是否有以下矛盾,若发现含有以下矛盾,则丢弃。将攻击记录到日志:
    • DF位为1,而MF位也为1或Fragment Offset不为0。
    • DF位为0,而Fragment Offset + Length > 65535。

DF不要分片、MF要分片偏移量。

5、IP Spoofing攻击防范

攻击介绍

  • 为了获得访问权,或隐藏入侵者的身份信息,入侵者生成带有伪造源地址的报文,并使用该伪造源地址访问攻击目标,进行扫描、窥探等预备攻击。

防御方法

  • 检测每个接口流入的IP报文的源地址与目的地址,并对报文的源地址反查路由表,入接口与以该IP地址为目的地址的最佳出接口不相同的IP报文被视为IP Spoofing攻击,将被拒绝,并进行日志记录。

一台主机X去访问Y,正常路由器收到报文是根据目的路由去查路由表,也就是路由表中查去往Y的路由,不关心去往源X的,启用了IP Spoofing防护之后,X去往Y的路由从Eth1口收到后,不但会查路由表去往Y怎么走,还会反向查询路由表去往X是否是从Eth1口学到,如果X路由是从其他接口学到或者是根本没有X路由就会把这个访问干掉。

6、Ping of Death攻击

攻击介绍

IP报文的长度字段为16位,即IP报文的最大长度为65535 B。Ping of Death利用一些长度超大的ICMP报文对系统进行攻击。

防御方法

检测ICMP请求报文长度是否超过65535 B,若超过,则丢弃报文并记录日志。

7、TCP Flag攻击

攻击介绍

  • TCP报文包含6个标志位:URG、ACK、PSH、RST、SYN、FIN ,(最经典的标志位:ACK、RST、SYN、FIN)不同的系统对这些标志位组合的应答是不同的,可用于操作系统探测。

防御方法

  • 检查TCP报文的各个标志位,若出现以下任意一种情况,直接丢弃该报0文并记录日志
    • 6个标志位全为1或6个标志位全为0。
    • SYN和FIN位同时为1;SYN和RST同时为1。
    • FIN和URQ同时为1,RST和FIN同时为1。

8、Teardrop攻击

攻击介绍

  • 利用在TCP/IP堆栈中信任IP碎片报文头所包含的信息实现。

防御方法

  • 缓存分片信息,每一个源地址、目的地址、分片ID相同的为一组,最大支持缓存10000组分片信息。

9、WinNuke攻击范围

攻击介绍

  • WinNuke攻击通常向装有Windows系统的特定目标的NetBIOS端口(139)发送000B(out-of-band)数据包,引起一个NetBIOS片断重叠,致使已与其他主机建立连接的目标主机崩溃。还有一种是IGMP分片报文,一般情况下,IGMP报文是不会分片的,所以,不少系统对IGMP分片报文的处理有问题。

防御方法

  • WinNuke攻击1:检测数据包目的端口是否为139,并且检查TCP-URG位是否被设0置。
  • WinNuke攻击2:检测进入的IGMP报文是否为分片报文,如果是分片报文,则直接丢弃。

三、特殊报文攻击

1、超大ICMP报文攻击防范

攻击介绍

超大ICMP报文攻击是指利用长度超大的ICMP报文对目标系统进行攻击。对于有些系统,在接收到超大ICMP报文后,由于处理不当,会造成系统崩溃、死机或重启。

防御方法

用户可以根据实际网络需要配置允许通过的ICMP报文的最大长度,当实际ICMP报文的长度超过该值时,防火墙认为发生了超大ICMP报文攻击将丢弃该报文。

2、ICMP不可达报文攻击防范

攻击介绍

  • 不同的系统对ICMP不可达报文的处理方式不同,有的系统在收到网络或主机不可达的ICMP报文后,对后续发往此目的地址的报文直接认为不可达,从而切断了目的地与主机的连接。攻击者利用这一点,伪造不可达ICMP报文,切断受害者与目的地的连接,造成攻击。

防御方法

  • 启动ICMP不可达报文攻击防范功能,防火墙对ICMP不可达报文进行丢弃并记录攻击日志。

3、Tracert报文攻击防范

攻击介绍

  • Tracert报文攻击是攻击者利用TTL为0时返回的ICMP超时报文,和达到目的地址时返回的ICMP端口不可达报文来发现报文到达目的地所经过的路径,它可以窥探网络的结构。

防御方法

  • 对于检测到的超时的ICMP报文或UDP报文,或者目的端口不可达的报文给予丢弃处理。

四、URPF

1、URPF技术

URPF技术:单播逆向路径转发的简称,其主要功能是防止基于源地址欺骗的网络攻击行为。有两种模式

  • 严格模式:X访问Y,路由器从ETH1口收到报文,路由表可以查到Y的路由,并且路由表反向查询也有X的路由,并且X的路由也是通过入接口ETH1口学到的。
  • 松散模式:X访问Y,路由器从ETH1口收到报文,路由表可以查到Y的路由,并且路由表反向查询也有X的路由。

2、URPF处理流程图

URPF的处理流程如下:

  • 如果报文的源地址在USG的FIB表中存在。
  • 如果报文的源地址在USG的FIB表中不存在,则检查缺省路由及URPF的allow-default-route参数。

相关文章:

攻防技术-单包攻击防范:扫描、畸形、特殊(HCIP)

单包攻击类型介绍 一、扫描窥探攻击 1、地址扫描攻击防范 攻击介绍 运用ping程序探测目标地址,确定目标系统是否存活。也可使用TCP/UDP报文对目标系统发起探测(如TCP ping)。 防御方法 检测进入防火墙的ICMP、TCP和UDP报文,根…...

基于 Vue3 和 WebSocket 实现的简单网页聊天应用

首先附上项目介绍,后面详细解释技术细节 1. chat-websocket 一个基于Vue3和WebSocket的简易网络聊天室项目,包括服务端和客户端部分。 项目地址 websocket-chat 下面是项目的主要组成部分和功能: 项目结构 chat-websocket/ |-- server/ # WebSocket 服…...

【MYSQL】MYSQL 的学习教程(八)之 12 种慢 SQL 查询原因

日常开发中,我们经常会遇到数据库慢查询。那么导致数据慢查询都有哪些常见的原因呢?今天就跟大家聊聊导致 MySQL 慢查询的 12 个常见原因,以及对应的解决方法: SQL 没加索引SQL 索引失效limit 深分页问题单表数据量太大join 或者…...

C语言例题3

1.设x、y、z和k都是int型变量,则执行表达式:x(y4,z16,k32)后,x的值为(32); x(y4,z16,k32),x的值为32 理解逗号运算符在c语言中的工作方式:逗号运算…...

很实用的ChatGPT网站——httpchat-zh.com

很实用的ChatGPT网站——http://chat-zh.com/ 今天介绍一个好兄弟开发的ChatGPT网站,网址[http://chat-zh.com/]。这个网站功能模块很多,包含生活、美食、学习、医疗、法律、经济等很多方面。下面简单介绍一些部分功能与大家一起分享。 登录和注册页面…...

Python函数中的*args,**kwargs作用与用法

前言 最近在使用Python函数的时候,经常碰见函数中使用*args、**kwargs,而且参数的传递也是非常奇特,就特意对Python函数中*args、**kwargs进行了查询,下面就以实例进行说明。 1 Python中的*args、**kwargs 在 Python 中&#x…...

python可视化界面自动生成,python如何做可视化界面

大家好,小编来为大家解答以下问题,python gui可视化操作界面制作,python做出的炫酷的可视化,现在让我们一起来看看吧! 目录 前言 一.环境配置 插件: 1.python 2.Chinese 3.Open In Default Browser 安装pyt…...

力扣热题100道-双指针篇

文章目录 双指针283.移动零11.盛最多水的容器15.三数之和42.接雨水 双指针 283.移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 …...

数据库一般会采取什么样的优化方法?

数据库一般会采取什么样的优化方法? 1、选取适合的字段属性 为了获取更好的性能,可以将表中的字段宽度设得尽可能小。 尽量把字段设置成not null 执行查询的时候,数据库不用去比较null值。 对某些省份或者性别字段,将他们定义为e…...

编程笔记 html5cssjs 015 HTML列表

编程笔记 html5&css&js 015 HTML列表 一、有序列表例1&#xff1a;例2&#xff1a; 二、无序列表例1&#xff1a;例2&#xff1a; 列表是一种特定文字格式&#xff0c;很常用。 HTML 列表。HTML 支持有序、无序和定义列表。 一、有序列表 例1&#xff1a; <!DOCTY…...

【力扣题解】P404-左叶子之和-Java题解

&#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【力扣题解】 文章目录 【力扣题解】P404-左叶子之和-Java题解&#x1f30f;题目描述&#x1f4a1;题解&#x1f30f;总结…...

elasticsearch 索引数据多了怎么办,如何调优,部署

当Elasticsearch索引的数据量增加时&#xff0c;可能会遇到性能瓶颈&#xff0c;需要进行调优。以下是一些建议和步骤&#xff0c;可帮助你处理数据量增加的情况&#xff1a; 1. 硬件升级&#xff1a; 增加节点数或升级硬件&#xff0c;包括更快的CPU、更大的内存和更快的存储…...

Spring Cloud Gateway之Predicate断言详解

目录 Predicate&#xff08;断言&#xff09;内置Predicate请求参数匹配请求路径匹配Header 属性匹配Cookie 匹配请求方式匹配请求 ip 地址匹配时间匹配组合匹配 Predicate&#xff08;断言&#xff09; 在 Spring Cloud Gateway 中&#xff0c;Predicate&#xff08;断言&…...

JavaScript中的prototype和_proto_的关系是什么

JavaScript中的prototype和_proto_的关系是什么 __proto__ 是 JavaScript 中对象的一个内部属性&#xff0c;它指向该对象的原型。JavaScript 中每个对象都有一个 __proto__ 属性&#xff0c;通过它可以访问对象的原型。prototype 是函数对象特有的属性&#xff0c;每个函数都…...

机器学习(二) -- 数据预处理(3)

系列文章目录 未完待续…… 目录 前言 tips&#xff1a;这里只是总结&#xff0c;不是教程哈。本章开始会用到numpy&#xff0c;pandas以及matplotlib&#xff0c;这些就不在这讲了哈。 “***”开头的是给好奇心重的宝宝看的&#xff0c;其实不太重要可以跳过。 此处以下所有…...

【数学建模美赛M奖速成系列】Matplotlib绘图技巧(三)

Matplotlib绘图技巧&#xff08;三&#xff09; 写在前面7. 雷达图7.1 圆形雷达图7.2 多边形雷达图 8. 极坐标图 subplot9. 折线图 plot10. 灰度图 meshgrid11. 热力图11.1 自定义colormap 12. 箱线图 boxplot 写在前面 终于更新完Matplotlib绘图技巧的全部内容&#xff0c;有…...

手写Spring与基本原理--简易版

文章目录 手写Spring与基本原理解析简介写一个简单的Bean加载容器定义一个抽象所有类的BeanDefinition定义一个工厂存储所有的类测试 实现Bean的注册定义和获取基于Cglib实现含构造函数的类实例化策略Bean对象注入属性和依赖Bean的功能Spring.xml解析和注册Bean对象实现应用上下…...

EasyNTS端口穿透服务新版本发布 0.8.7 增加隧道流量总数记录,可以知晓设备哪个端口耗费流量了

EasyNTS上云平台可通过远程访问内网应用&#xff0c;包含网络桥接、云端运维、视频直播等功能&#xff0c;极大地解决了现场无固定IP、端口不开放、系统权限不开放等问题。平台可提供一站式上云服务&#xff0c;提供直播上云、设备上云、业务上云、运维上云服务&#xff0c;承上…...

python自动合计各部周销

下载依赖 pip install openpyxl -i https://pypi.doubanio.com/simplepip install pandas -i https://pypi.doubanio.com/simple引入依赖 from openpyxl import load_workbook from openpyxl import styles from openpyxl.styles import * import pandas as pd import string…...

Java内存区域与内存溢出异常

Java与C++之间有一堵由内存分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 2.1 概述 对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的“皇帝”,又是从事最基础工作的劳动人民——即拥有每一个对象的“所有权”,又…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践

前言&#xff1a;本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中&#xff0c;跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南&#xff0c;你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案&#xff0c;并结合内网…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能

指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...

密码学基础——SM4算法

博客主页&#xff1a;christine-rr-CSDN博客 ​​​​专栏主页&#xff1a;密码学 &#x1f4cc; 【今日更新】&#x1f4cc; 对称密码算法——SM4 目录 一、国密SM系列算法概述 二、SM4算法 2.1算法背景 2.2算法特点 2.3 基本部件 2.3.1 S盒 2.3.2 非线性变换 ​编辑…...