DDOS之ACK Flood攻击与防御
2020-12-17 01:23:24 Author: www.freebuf.com(查看原文) 阅读量:106 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

ack flood攻击是TCP连接建立之后,所有传输的TCP报文都是带有ACK标志位的数据包。

接收端在收到一个带有ACK标志位的数据包的时候,需要检查该数据包所表示的连接四元组是否存在,如果存在则检查该数据包所表示的状态是否合法,然后再向应用层传递该数据包。

如在检查中发现数据包不合法,如所指向的目的端口未开放,则操作系统协议栈会回应RST包告诉对方此端口不存在。

此时服务器要做两个动作,查表和回应ack/rst。

这种攻击方式没有syn flood给服务器带来的冲击大(因为syn flood占用连接),此类攻击一定要用大流量ack小包冲击才会对服务器造成影响。

根据tcp协议栈原理,随机源IP的ack小包应该会被server很快丢弃,因为在服务器的tcp堆栈中没有这些ack包的状态信息。

在实际测试中发现有一些tcp服务对ack flood比较敏感。

对于Apache或者IIS来说,几十kpps的ack flood不会构成威胁,但更高数量的ack flood冲击会造成网卡中断频率过高负载过重而停止响应。

jsp server在数量不多的ack小包冲击下jsp server很难处理正常的连接请求。

所以ack flood不仅危害路由器等网络设备,并且对服务器上的应用也有很大的影响。

attacker利用僵尸网络发送大量的ack报文,会导致以下三种危害:

1.带有超大载荷的ack flood攻击,会导致链路拥塞。

2.攻击报文到达服务器导致处理性能耗尽,从而拒绝正常服务。

3.极高速率的变源变端口ack flood攻击,很容易导致依靠会话转发的设备转发性能降低甚至成网络瘫痪。

抗D设备基于目的地址对ack报文速率进行统计,当ack报文速率超过阈值启动源认证防御。

认证源防御过程如图:

1608134741_5fda3055c00be44fb0774.png!small

1.攻击流量达到阈值后启动ack防护。

2.真实的报文经过ack重传之后,由客户端重新发起连接,此时会通过syn验证算法通过后加入白名单信任。

3.伪造的ack报文通过查询会话表直接丢弃。


文章来源: https://www.freebuf.com/articles/network/258062.html
如有侵权请联系:admin#unsafe.sh