一、什么是DDoS攻击?
分布式拒绝服务(Distributed Denial of Service,简称DDoS
),即利用大量电脑,通过远程连接,对一个或多个目标发起恶意访问,消耗目标服务器性能或网络带宽,从而造成服务器无法正常地提供服务。
说白了,就是找了成千上万的
无知用户
在你家门店,不买东西也不砸东西,就到处逛,导致你的顾客进不来,而你还忙着大喊“欢迎光临”地要伺候他们!~黑客可以通过购买大量
代理IP
、肉鸡
(被控制了的受害者电脑)等,来充当这些无知用户
。
二、DDoS攻击的危害
DDoS攻击会对您的业务造成以下危害:
重大经济损失
在遭受DDoS攻击后,您的源站服务器可能无法提供服务,导致用户无法访问您的业务,从而造成巨大的经济损失和品牌损失。例如:某电商平台在遭受DDoS攻击时,网站无法正常访问甚至出现短暂的关闭,导致合法用户无法下单购买商品等。
数据泄露
黑客在对您的服务器进行DDoS攻击时,可能会趁机窃取您业务的核心数据。例如:利用分布式爬虫,对某网站进行数据爬取,造成该网站资源大量占用,甚至服务不可用。
恶意竞争
部分行业存在恶性竞争,竞争对手可能会通过DDoS攻击恶意攻击您的服务,从而在行业竞争中获取优势。例如:某游戏业务遭受了DDoS攻击,游戏玩家数量锐减,导致该游戏业务几天内迅速彻底下线。
三、常见的DDoS攻击
1、畸形报文攻击
包括:Frag Flood
、Smurf
、Stream Flood
、Land Flood
、IP/TCP/UDP畸形报文
等。
原理:畸形报文攻击指通过向目标系统发送有缺陷的IP报文,使得目标系统在处理这样的报文时出现崩溃,从而达到拒绝服务的攻击目的。
2、传输层DDoS攻击
包括Syn Flood
、Ack Flood
、UDP Flood
、ICMP Flood
、RstFlood
等。
原理:以Syn Flood攻击为例,它利用了TCP协议的三次握手机制,当服务端接收到一个Syn请求时,服务端必须使用一个监听队列将该连接保存一定时间。
因此,通过向服务端不停发送Syn请求,但不响应Syn+Ack报文,从而消耗服务端的资源。当监听队列被占满时,服务端将无法响应正常用户的请求,达到拒绝服务攻击的目的。
3、DNS DDoS攻击
包括DNS Request Flood
、DNS Response Flood
、虚假源+真实源DNS Query Flood
、权威服务器攻击
和Local服务器攻击
等。
原理:以DNS Query Flood攻击为例,其本质上执行的是真实的Query请求,属于正常业务行为。但如果多台傀儡机同时发起海量的域名查询请求,服务端无法响应正常的Query请求,从而导致拒绝服务。
4、连接型DDoS攻击
主要指TCP慢速连接攻击
、连接耗尽攻击
、Loic慢速攻击
、Hoic慢速攻击
、Slowloris慢速攻击
、Pyloris慢速攻击
、Xoic慢速攻击
等。
以Slowloris攻击为例,其攻击目标是Web服务器的
并发上限
。当Web服务器的连接并发数达到上限后,Web服务即无法接受新的请求。Web服务接收到新的HTTP请求时,建立新的连接来处理请求,并在处理完成后关闭这个连接。如果该连接一直处于连接状态,收到新的HTTP请求时则需要建立新的连接进行处理。而当所有连接都处于连接状态时,Web将无法处理任何新的请求。
Slowloris攻击利用HTTP协议的特性来达到攻击目的。HTTP请求以\r\n\r\n标识Headers的结束,如果Web服务端只收到\r\n,则认为HTTP Headers部分没有结束,将保留该连接并等待后续的请求内容。
5、Web应用层DDoS攻击
主要指HTTP Get Flood
、HTTP Post Flood
、CC攻击
等。
通常应用层攻击
完全模拟用户请求
,类似于各种搜索引擎和爬虫一样,这些攻击行为和正常的业务并没有严格的边界,难以辨别。Web服务中一些资源消耗较大的事务和页面。例如,Web应用中的分页和分表,如果控制页面的参数过大,频繁的翻页将会占用较多的Web服务资源。尤其在高并发频繁调用的情况下,类似这样的事务就成了早期CC攻击的目标。
由于现在的攻击大都是混合型的,因此模拟用户行为的频繁操作都可以被认为是CC攻击。例如,各种刷票软件对网站的访问,从某种程度上来说就是CC攻击
CC攻击瞄准的是Web应用的后端业务,除了导致拒绝服务外,还会直接影响Web应用的功能和性能,包括Web响应时间、数据库服务、磁盘读写等。
好了,今天的分享就到这儿了。
如果喜欢本文,请关注公众号:开猿笔记,里面会有持续更新噢!