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

相关文章

浅析Spring Security认证过程

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

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

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

native和static native区别

本文基于Hello JNI  如有疑惑,请看之前几篇文章。 native 与 static native java中 public native String helloJni();public native static String helloJniStatic();1212 JNI中 JNIEXPORT jstring JNICALL Java_com_test_g

Android fill_parent、match_parent、wrap_content三者的作用及区别

这三个属性都是用来适应视图的水平或者垂直大小,以视图的内容或尺寸为基础的布局,比精确的指定视图的范围更加方便。 1、fill_parent 设置一个视图的布局为fill_parent将强制性的使视图扩展至它父元素的大小 2、match_parent 和fill_parent一样,从字面上的意思match_parent更贴切一些,于是从2.2开始,两个属性都可以使用,但2.3版本以后的建议使

Collection List Set Map的区别和联系

Collection List Set Map的区别和联系 这些都代表了Java中的集合,这里主要从其元素是否有序,是否可重复来进行区别记忆,以便恰当地使用,当然还存在同步方面的差异,见上一篇相关文章。 有序否 允许元素重复否 Collection 否 是 List 是 是 Set AbstractSet 否

速盾高防cdn是怎么解决网站攻击的?

速盾高防CDN是一种基于云计算技术的网络安全解决方案,可以有效地保护网站免受各种网络攻击的威胁。它通过在全球多个节点部署服务器,将网站内容缓存到这些服务器上,并通过智能路由技术将用户的请求引导到最近的服务器上,以提供更快的访问速度和更好的网络性能。 速盾高防CDN主要采用以下几种方式来解决网站攻击: 分布式拒绝服务攻击(DDoS)防护:DDoS攻击是一种常见的网络攻击手段,攻击者通过向目标网

javascript中break与continue的区别

在javascript中,break是结束整个循环,break下面的语句不再执行了 for(let i=1;i<=5;i++){if(i===3){break}document.write(i) } 上面的代码中,当i=1时,执行打印输出语句,当i=2时,执行打印输出语句,当i=3时,遇到break了,整个循环就结束了。 执行结果是12 continue语句是停止当前循环,返回从头开始。

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

ActiveMQ—Queue与Topic区别

Queue与Topic区别 转自:http://blog.csdn.net/qq_21033663/article/details/52458305 队列(Queue)和主题(Topic)是JMS支持的两种消息传递模型:         1、点对点(point-to-point,简称PTP)Queue消息传递模型:         通过该消息传递模型,一个应用程序(即消息生产者)可以

深入探讨:ECMAScript与JavaScript的区别

在前端开发的世界中,JavaScript无疑是最受欢迎的编程语言之一。然而,很多开发者在使用JavaScript时,可能并不清楚ECMAScript与JavaScript之间的关系和区别。本文将深入探讨这两者的不同之处,并通过案例帮助大家更好地理解。 一、什么是ECMAScript? ECMAScript(简称ES)是一种脚本语言的标准,由ECMA国际组织制定。它定义了语言的语法、类型、语句、