当前位置: 首页 > 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++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的“皇帝”,又是从事最基础工作的劳动人民——即拥有每一个对象的“所有权”,又…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...

FFmpeg avformat_open_input函数分析

函数内部的总体流程如下&#xff1a; avformat_open_input 精简后的代码如下&#xff1a; int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...

实战设计模式之模板方法模式

概述 模板方法模式定义了一个操作中的算法骨架&#xff0c;并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下&#xff0c;重新定义算法中的某些步骤。简单来说&#xff0c;就是在一个方法中定义了要执行的步骤顺序或算法框架&#xff0c;但允许子类…...