【杂记-浅谈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

相关文章

go 指针接收者和值接收者的区别小结

《go指针接收者和值接收者的区别小结》在Go语言中,值接收者和指针接收者是方法定义中的两种接收者类型,本文主要介绍了go指针接收者和值接收者的区别小结,文中通过示例代码介绍的非常详细,需要的朋友们下... 目录go 指针接收者和值接收者的区别易错点辨析go 指针接收者和值接收者的区别指针接收者和值接收者的

浅析Java中如何优雅地处理null值

《浅析Java中如何优雅地处理null值》这篇文章主要为大家详细介绍了如何结合Lambda表达式和Optional,让Java更优雅地处理null值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录场景 1:不为 null 则执行场景 2:不为 null 则返回,为 null 则返回特定值或抛出异常场景

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

CSS Padding 和 Margin 区别全解析

《CSSPadding和Margin区别全解析》CSS中的padding和margin是两个非常基础且重要的属性,它们用于控制元素周围的空白区域,本文将详细介绍padding和... 目录css Padding 和 Margin 全解析1. Padding: 内边距2. Margin: 外边距3. Padd

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

分辨率三兄弟LPI、DPI 和 PPI有什么区别? 搞清分辨率的那些事儿

《分辨率三兄弟LPI、DPI和PPI有什么区别?搞清分辨率的那些事儿》分辨率这个东西,真的是让人又爱又恨,为了搞清楚它,我可是翻阅了不少资料,最后发现“小7的背包”的解释最让我茅塞顿开,于是,我... 在谈到分辨率时,我们经常会遇到三个相似的缩写:PPI、DPI 和 LPI。虽然它们看起来差不多,但实际应用

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;