【Try to Hack】Syn Flood和CC攻击

📒博客主页:开心星人的博客主页
🔥系列专栏:Try to Hack
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年7月21日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!



🍫1.DDOS概述

DDOS又称为分布式拒绝服务,全称是Distributed Denial of Service。DDOS本是利用合理的请求造成资源过载,导致服务不可用,从而造成服务器拒绝正常流量服务。
常见的DDOS攻击有SYN flood、UDP flood、ICMP flood等。

1.1.分类

1、按攻击源报文类型
在这里插入图片描述
2、按攻击对象
在这里插入图片描述



🍫2.Syn Flood攻击

SYN Flood是互联网上最原始、最经典的DDoS(Distributed Denial of Service)攻击之一。它利用了TCP协议的三次握手机制,攻击者通常利用工具或者控制僵尸主机向服务器发送海量的变源IP地址或变源端口的TCP SYN报文,服务器响应了这些报文后就会生成大量的半连接,当系统资源被耗尽后,服务器将无法提供正常的服务。

2.1三次握手原理

在这里插入图片描述
1、客户端向服务器端发送一个SYN请求包,包含客户端使用的端口号和初始序列号x。
2、服务器端收到客户端发送过来的SYN请求包后,知道客户端想要建立连接,于是向客户端发送一个SYN请求包和ACK回应包,包含确认号x+1和服务器端的初始序列号y。
3、客户端收到服务器端返回的SYN请求包和ACK回应包后,向服务器端返回一个确认号y+1和序号x+1的ACK请求包,三次握手完成,TCP连接建立成功。

2.2.Syn flood攻击原理

SYN flood在攻击时,首先伪造大量的源IP地址,分别向服务器端发送大量的SYN包,此时服务器端会返回SYN/ACK包,因为源地址是伪造的,所以伪造的IP并不会应答,服务器端没有收到伪造IP的回应,会重试3~5次并且等待一个SYN Time(一般为30秒至2分钟),如果超时则丢弃这个连接。攻击者大量发送这种伪造源地址的SYN请求,服务器端将会消耗非常多的资源(CPU和内存)来处理这种半连接,同时还要不断地对这些IP进行SYN+ACK重试。最后的结果是服务器无暇理睬正常的连接请求,导致拒绝服务。

2.3.Syn flood防御

SYN Flood的目的是占满服务器的连接数,消耗服务器的系统资源。对于服务器自身来说,最直接的做法就是提高服务能力,比如组建集群,升级硬件。但是这种方式成本巨大,且对于海量的攻击报文来说,并没有太大的作用,仅多撑几分钟甚至几秒而已。

所以,必须在这些攻击报文到达服务器之前就进行拦截。然而对于防火墙这类安全设备而言,SYN报文是正常的业务报文,防火墙的安全策略必须允许其通过,否则服务器就无法对外提供服务。

2.3.1Anti-DDOS

Anti-DDoS系统的能力了,它部署在网络入口处,在服务器之前处理SYN报文,识别出虚假源,屏蔽来自这些地址的报文,只将合法的SYN报文传递给服务器。Anti-DDoS系统处理SYN报文主要有两种手段,源认证和首包丢弃。

1、源认证
Anti-DDoS系统拦截客户端发送的SYN报文,代替服务器向客户端发送SYN-ACK报文,如果客户端不应答,则认为该客户端为虚假源;如果客户端应答,则Anti-DDoS系统认为该客户端为真实源,并将其IP地址加入白名单,在一段时间允许该源发送的所有SYN报文通过,也不做代答。

2、首包丢弃
如果Anti-DDoS系统代替服务器应答了所有的SYN Flood攻击报文,那么性能瓶颈仅仅是从服务器转移到了Anti-DDoS系统而已。一旦Anti-DDoS系统的系统资源耗尽,攻击依旧会透传到服务器,而且大量反弹的SYN-ACK报文也会对网络造成一定的压力。Anti-DDoS系统利用首包丢弃来解决这个问题。

TCP协议的可靠性不仅体现在三次握手,还体现在超时与重传的机制。正常情况下客户端发送SYN报文后如果在一定时间没有收到服务器的SYN-ACK应答,客户端会重新发送SYN报文。Anti-DDoS系统会丢弃掉收到的第一个SYN报文。SYN Flood攻击时,黑客发送的绝大多数是变源的SYN报文,所有的SYN报文对于Anti-DDoS系统来说都是首包,都将被直接丢弃。如果客户端重传了SYN报文,Anti-DDoS系统再对该报文进行源认证。如此一来,大大减少了Anti-DDoS系统代答的压力。首包丢弃和源认证两种手段结合,对于防御SYN Flood(特别是不断变换源IP和源端口的虚假源攻击)非常有效。

2.3.2.其他

对抗SYN flood的主要措施有SYN Cookie/SYN Proxy、safereset等算法。
SYN Cookie的主要思想是为每一个IP地址分配一个“Cookie”,并统计每个IP地址的访问频率。如果在短时间内收到大量的来自同一个IP地址的数据包,则认为受到攻击,之后来自这个IP地址的包将被丢弃。
在很多对抗DDOS的产品中,一般会综合使用各种算法,结合一些DDOS攻击的特征,对流量进行清洗。对抗DDOS的网络设备可以串联或者并联在网络出口处。



🍫3.CC攻击

应用层DDOS发生在应用层,TCP三次握手已经完成,连接已经建立,所以发起攻击的IP地址也都是真实的。
今天几乎所有的商业Anti-DDOS设备,只在对抗网络层DDOS时效果好。

3.1.攻击方式

CC攻击常见攻击方式有3种:单主机虚拟多IP地址攻击、代理服务器攻击、僵尸网络攻击。
1、单主机虚拟多IP地址攻击:攻击者利用一台主机虚构出多个IP地址向目标服务器指定页面发送大量请求,当服务器来不及处理这些访问请求时,将导致该页面不能响应,正常的访问也将被拒绝。

2、代理服务器攻击:攻击者通过攻击主机发送访问请求给代理服务器。然后攻击主机可以立刻断开与代理服务器的连接,并马上发送下一次的访问请求,由于代理服务器接受访问请求指令后一定会对应用服务器的指定页面资源进行访问。所以攻击主机不必像直接访问应用服务器那样维持访问的连接,因此采用这种方攻击效率将会大大提高。

3、僵尸网络攻击:攻击者通过僵尸网络向服务器发起大量请求,受害主机收到的请求来自大量分散的地址,没有任何攻击者的IP地址信息, 这一攻击方法高度模拟了众多用户正常访问应用服务器的过程,因此具有很强的隐蔽性。

3.2.CC攻击原理

对一些消耗资源较大的应用页面不断发起正常的请求,以达到消耗服务端资源的目的。
在Web应用中,查询数据库、读/写硬盘文件等操作,相对都会消耗比较多的资源。

3.3.CC攻击防御

1.选择可靠的高防服务器,提升服务器硬件和网络带宽资源:高性能服务器硬件能力和充足的网络带宽资源可以提升系统对CC攻击的承载能力

2.网站页面静态化: 网站页面静态化可以较大程度的减少系统资源消耗,从而达到提高抗系统抗攻击能力;

3.IP屏蔽限制:辨别攻击者的源IP,针对CC攻击的源IP,可以在IIS中设置屏蔽该IP,限制其访问,达到防范IIS攻击的目的;

4.部署高防CDN:接入高防CDN,隐藏服务器源IP,自动识别攻击流量,清洗后将正常访客流量回源到源服务器IP上,保障业务安全;

5.关闭不需要的端口和服务。



《白帽子讲Web安全》
https://www.freebuf.com/articles/network/316067.html
https://www.freebuf.com/articles/network/316035.html
https://info.support.huawei.com/info-finder/encyclopedia/zh/SYN+Flood.html

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开心星人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值