【杂记-浅谈DDos攻击、浅析SYN Flood攻击、Dos及DDos攻击区别】

2024-05-29 13:20

本文主要是介绍【杂记-浅谈DDos攻击、浅析SYN Flood攻击、Dos及DDos攻击区别】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、DDos Distributed Denial of Service 分布式拒绝服务攻击

什么是DDos攻击
DDoS攻击是一种常见的网络攻击形,攻击者利用恶意程序对一个或多个目标发起攻击,企图通过大规模互联网流量耗尽攻击目标的网络资源,使目标系统无法进行网络连接、无法提供正常服务。
DDoS攻击会给攻击目标造成巨大的经济和品牌损失,同时,受攻击对象的核心业务数据也存在被窃取的风险,各行各业都采取部署DDoS攻击防御系统的方式阻断DDoS攻击,降低其对正常业务的影响。
DDos攻击的类型
根据攻击位置的不同,可以将DDoS攻击分为网络层攻击、传输层攻击、应用层攻击三种类型。攻击者经常组合使用不同的攻击类型,攻击复杂度持续演进,产生的攻击威胁也在不断增大。
网络层攻击
针对网络层的DDoS攻击主要目的是消耗网络带宽资源。
1、ICMP Flood攻击 ICMP因特网控制报文协议,用于在IP主机、路由器之间传递控制消息,ICMP协议本身特点决定了它非常容易被用于攻击网络上的路由器和主机,当攻击者向目标网络发送大量的ICMP数据包时,目标主机会耗费大量的CPU资源去处理和响应,直至耗尽设备资源,无法为合法用户提供正常服务。
2、ARP Flood攻击 ARP地址解析协议,是用来将IP地址解析为MAC地址的协议,主要以广播的方式发送ARP请求,攻击者通过发送大量的ARP请求,使有限的网络资源被无用的广播信息所占用,造成网络拥堵。其次,因为ARP协议没有安全认证机制,所以只要主机接收到ARP应答包,都会缓存在ARP表中,这为ARP欺骗提供了可能。
3、IP分片攻击 IP协议在传输数据包时,会将数据报文分为若干分片进行传输,并在目标系统中进行重组,当数据被人为恶意分片就会产生DDoS攻击,攻击者将经过恶意分段的数据包发送至目标网络,导致目标网络耗费大量资源进行重组,直至资源枯竭。
传输层攻击
传输层负责设备间的端到端通信和网络间通信流量控制和错误控制。传输层的DDoS攻击主要目的是使目标服务器或网络设备过载,常见攻击子类包括SYN Flood攻击、ACK Flood攻击、UDP Flood攻击等。
1、SYN Flood攻击 SYN Flood攻击主要利用了TCP协议的三次握手机制,攻击者通常利用工具或控制僵尸主机向服务器发送海量的变源IP地址或变源端口的SYN报文,服务器响应报文后产生大量的半连接,直至系统资源被耗尽,服务器无法提供正常的服务。
2、ACK Flood攻击 攻击者通过僵尸网络向目标服务器发送大量的ACK报文,报文带有超大载荷,会引起链路拥塞。或向目标服务器发送极高速率的变源变端口请求,导致转发设备异常,从而引起网络瘫痪。
3、UDP Flood攻击 UDP Flood攻击常用于大带宽DDoS攻击。攻击者使用包含无状态UDP协议的IP数据包充塞目标主机的端口,受害主机会寻找与UDP数据包相关的应用程序。如果没有找到,就向发送者回发一条“目标不可达”消息。一旦目标主机被攻击流量淹没,系统就会失去响应,从而造成合法用户无法正常访问的现象。
应用层攻击:
应用层的DDoS攻击主要目的是让真实用户无法正常使用应用程序,常见攻击子类包括“DNS Flood攻击”、“HTTP Flood攻击”和“CC攻击”等。
1、DNS Flood攻击 攻击者通过操纵大量傀儡机器,对目标网络发起海量域名查询请求,以中断该域的DNS解析。这种攻击将会破坏网站、API或Web应用程序响应合法流量的能力,让合法用户无法查找到用于调用特定资源的地址,导致业务暂时中断或停止。
2、HTTP Flood攻击
HTTP GET 攻击 攻击者操控多台设备向目标服务器发送对图像、文件或其他资产请求,当目标服务器被传入请求和响应所淹没时,来自正常流量源的业务请求也将被拒绝。
HTTP POST 攻击 与发送 POST 请求所需的处理能力和带宽相比,处理表单数据和运行必要数据库命令的过程相对密集。这种攻击利用相对资源消耗的差异,直接向目标服务器发送大量POST请求,直至目标服务器容量饱和并拒绝服务为止。
3、CC攻击 CC攻击常用于攻击提供网页访问服务的服务器。攻击者通过代理服务器向目标服务器发送大量貌似合法的请求,使CPU长时间处于高负荷运行状态,永远都有处理不完的连接。攻击会导致正常访问被中止,最终宕机崩溃。
如何防范DDos攻击
DDoS攻击防御的关键在于如何精准区分攻击流量与正常流量。

二、SYN Flood SYN洪水攻击

什么是SYN Flood
SYN Flood是DDoS(Distributed Denial of Service分布式拒绝服务)攻击之一。
SYN Flood作用方式
SYN Flood利用了TCP协议的三次握手机制,攻击者通常利用工具或者控制僵尸主机向服务器发送海量的变源IP地址或变源端口的TCP SYN报文,在连接超时之前,服务器会一直等待ACK报文,此时该连接状态为半开放连接(也被称为半连接),半连接会占用服务器的连接数,当系统资源被耗尽后,服务器将无法提供正常的服务。
通俗的讲,即客户端向服务端发送请求链接数据包,服务端随之向客户端发送确认数据包,但客户端不向服务端发送确认数据包,服务器一直等待来自客户端的确认,导致服务端资源被占用。
SYN Flood攻击过程
黑客通过伪造的源IP地址或端口,向服务器发送大量的SYN报文,请求建立TCP连接由于源IP地址或端口是伪造的,服务器发送的SYN-ACK报文永远不会被真实的客户端接收和回应。
黑客也会使用真实源IP地址,但只是通过攻击工具发送海量SYN报文,攻击工具并不会响应来自服务器SYN-ACK报文。
无论如何,服务器都接收不到ACK报文,产生了大量的半连接,此时服务器需要维持一张巨大的等待列表,不停地重试发送SYN-ACK报文,同时大量的资源无法释放,当服务器被这些恶意的半连接占满时,就不会再响应新的SYN报文,从而导致正常的用户无法建立TCP连接。
利用Anti-DDoS系统防范SYN Flood
1、理论上是在这些攻击报文到达服务器之前就进行拦截,然而对于防火墙这类安全设备而言,SYN报文是正常的业务报文,防火墙的安全策略必须允许其通过,否则服务器就无法对外提供服务,如果能明确虚假源的IP地址,就能通过精细的安全策略阻止这些源发来的SYN报文,但是管理员无法预知哪些是虚假源,即使能分析出虚假源,也无法做到快速、自动地配置或取消安全策略来应对不可预期的攻击流量。此时就需要Anti-DDoS系统的能力了,它部署在网络入口处,在服务器之前处理SYN报文,识别出虚假源,屏蔽来自这些地址的报文,只将合法的SYN报文传递给服务器。
3、源认证:Anti-DDoS系统拦截客户端发送的SYN报文,代替服务器向客户端发送SYN-ACK报文,如果客户端不应答,则认为该客户端为虚假源;如果客户端应答,则Anti-DDoS系统认为该客户端为真实源,并将其IP地址加入白名单,在一段时间允许该源发送的所有SYN报文通过,也不做代答。
4、首包丢弃:如果Anti-DDoS系统代替服务器应答了所有的SYN Flood攻击报文,那么性能瓶颈仅仅是从服务器转移到了Anti-DDoS系统而已。一旦Anti-DDoS系统的系统资源耗尽,攻击依旧会透传到服务器,而且大量反弹的SYN-ACK报文也会对网络造成一定的压力。Anti-DDoS系统利用首包丢弃来解决这个问题。正常情况下客户端发送SYN报文后如果在一定时间没有收到服务器的SYN-ACK应答,客户端会重新发送SYN报文。Anti-DDoS系统会丢弃掉收到的第一个SYN报文。SYN Flood攻击时,黑客发送的绝大多数是变源的SYN报文,所有的SYN报文对于Anti-DDoS系统来说都是首包,都将被直接丢弃。如果客户端重传了SYN报文,Anti-DDoS系统再对该报文进行源认证。如此一来,大大减少了Anti-DDoS系统代答的压力。首包丢弃和源认证两种手段结合,对于防御SYN Flood(特别是不断变换源IP和源端口的虚假源攻击)非常有效。

三、Dos攻击

什么是Dos攻击
DoS,Denial of Service拒绝服务攻击,其会用流量占用服务器,使网站或资源不可用。 DDoS分布式拒绝服务攻击是一种 DoS攻击,它使用多台计算机或机器来占用目标资源,两种类型的攻击都会使服务器或网络应用程序过载,其目的是中断服务。
DoS 和 DDoS 攻击有什么区别
1、主要区别:Dos是单个系统对单个系统的攻击,DDoS是多个系统对单个系统的攻击。
2、检测/补救的容易度: 由于 DoS 来自单个位置,因此高效的防火墙更容易检测其来源并切断连接,而DDoS 攻击来自多个远程位置,故掩盖了其来源。
3、攻击速度: 由于 DDoS 攻击来自多个位置,因此部署速度比来自单个位置的 DoS 攻击要快得多,攻击速度的提高使攻击检测变得更加困难,这意味着更大的损失,甚至是灾难性的后果。
4、流量: DDoS 攻击采用多台远程计算机,可以同时从不同位置发送大量流量,从而以一种能够逃避检测的方式使服务器快速过载。
5、执行方式: DDoS 攻击会协调受恶意软件影响的多个主机,从而创建由命令控制服务器管理的僵尸网络,而DoS 攻击通常使用一个脚本或工具从一台机器上执行攻击。
6、追踪来源: 在 DDoS 攻击中使用僵尸网络的追踪实际来源要比追踪 DoS 攻击的来源更复杂。
如何实现Dos攻击的防护
1、持续监控网络: 有益于识别正常流量模式并对早期检测和补救。
2、运行测试以模拟 DoS 攻击: 有助于评估风险、暴露漏洞并培训员工网络安全方面的知识。
3、创建保护计划: 创建检查清单、组成响应团队、定义响应参数并部署保护。
4、识别关键的系统和正常流量模式: 前者有助于规划保护,后者有助于早期发现威胁。
5、预备额外带宽: 虽无法阻止攻击,但将有助于网络处理流量峰值,并减轻任何攻击的影响。

这篇关于【杂记-浅谈DDos攻击、浅析SYN Flood攻击、Dos及DDos攻击区别】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1013739

相关文章

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

Python中@classmethod和@staticmethod的区别

《Python中@classmethod和@staticmethod的区别》本文主要介绍了Python中@classmethod和@staticmethod的区别,文中通过示例代码介绍的非常详细,对大... 目录1.@classmethod2.@staticmethod3.例子1.@classmethod

Spring核心思想之浅谈IoC容器与依赖倒置(DI)

《Spring核心思想之浅谈IoC容器与依赖倒置(DI)》文章介绍了Spring的IoC和DI机制,以及MyBatis的动态代理,通过注解和反射,Spring能够自动管理对象的创建和依赖注入,而MyB... 目录一、控制反转 IoC二、依赖倒置 DI1. 详细概念2. Spring 中 DI 的实现原理三、

Golan中 new() 、 make() 和简短声明符的区别和使用

《Golan中new()、make()和简短声明符的区别和使用》Go语言中的new()、make()和简短声明符的区别和使用,new()用于分配内存并返回指针,make()用于初始化切片、映射... 详细介绍golang的new() 、 make() 和简短声明符的区别和使用。文章目录 `new()`

Python中json文件和jsonl文件的区别小结

《Python中json文件和jsonl文件的区别小结》本文主要介绍了JSON和JSONL两种文件格式的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 众所周知,jsON 文件是使用php JSON(JavaScripythonpt Object No

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入

python中json.dumps和json.dump区别

《python中json.dumps和json.dump区别》json.dumps将Python对象序列化为JSON字符串,json.dump直接将Python对象序列化写入文件,本文就来介绍一下两个... 目录1、json.dumps和json.dump的区别2、使用 json.dumps() 然后写入文

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

浅谈主机加固,六种有效的主机加固方法

在数字化时代,数据的价值不言而喻,但随之而来的安全威胁也日益严峻。从勒索病毒到内部泄露,企业的数据安全面临着前所未有的挑战。为了应对这些挑战,一种全新的主机加固解决方案应运而生。 MCK主机加固解决方案,采用先进的安全容器中间件技术,构建起一套内核级的纵深立体防护体系。这一体系突破了传统安全防护的局限,即使在管理员权限被恶意利用的情况下,也能确保服务器的安全稳定运行。 普适主机加固措施: