【杂记-浅谈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、预备额外带宽: 虽无法阻止攻击,但将有助于网络处理流量峰值,并减轻任何攻击的影响。

上一篇:鸿蒙OS 路由跳转


下一篇:Nginx实战:防盗链