1. 威客安全首页
  2. 安全资讯

竟然还有这种TCP攻击方式?

Last_Ack状态是否可以用于攻击?

最近面试应届生多,又到了讨论基础知识的季节,神马close_wait,time_wait都有点俗了,忽然想起last_ack这个状态好像可以被利用,主动切断连接一方故意不发最后一个ack,会不会把服务器资源耗尽?


竟然还有这种TCP攻击方式?


 

互联网发展到今天,针对TCP的Half_Opened、Half_Closed攻击手段已经被研究得很透彻了,想将服务器的CPU、内存资源耗尽的美梦越来越难了。。。

 

服务器没有收到Last_ACK,不会释放TCP连接的状态信息,这将会消耗服务器的内存资源。同时服务器为了重传“FIN”报文,又要消耗服务器的CPU资源。

 

服务器、或保护服务器的防火墙,实时监控Half_OpenedHalf_Closed的数目,一旦超出预设的上限,将启动保护机制。往往超出上限值时,大概率存在恶意的攻击行为。

 


在某咖啡店,有些顾客没有消费坐一会,这也没有什么。如果坐一屋子人,没有几个买单的,看咖啡店会不会报警!服务器的保护措施和咖啡店是很相似的!

 

服务器也不是那么好欺负的,一旦启动了保护机制,将会采取以下措施:


  • 加速内存老化

压缩“Half_Closed”连接在系统中逗留时间,这个措施是被动防御,很温柔、很绅士,通过以下措施实现:

  • 减小重传的次数

  • 缩短重传的间隔

  • 重传达到上限会发Reset并释放内存

 

  • Rate-Limit

主动积极防御,需要采取更狼性的限速措施!一旦检测到某些IP存在恶意攻击行为,将对这些IP采用“Rate-Limit”,使用该IP的攻击行为将立马萎靡不举!

 

  • 屏蔽IP

如果还想再狠一点,那就直接使用IP黑名单列表,直接屏蔽与该IP的一切通信。这个屏蔽时间可以定制,可以1小时、1天、1周。

 

但是,如果限速或者屏蔽IP只是在服务器、或保护服务器的设备上实施,那么将失去保护自己的入口带宽。因为恶意攻击流量依然会到达入口链路上,一旦将入口链路的带宽塞满到100%,那么其它合法用户的流量将也无法到达服务器,这也是一种拒绝服务攻击(Denial of Service)。为了更好地保护入口链路带宽,通常还要实施流量清洗

 

  • 流量清洗

很显然,这个需要从运营商购买流量清洗服务,将恶意攻击流量屏蔽或丢弃,这样恶意攻击流量没有机会再次进入入口链路。


使用“Last_ACK”攻击服务器,最大的难点是攻击方无法伪造IP!因为一旦伪造就无法收到服务器的“SYN + ACK”,意味着TCP连接压根不会建立,也不会到达“Last_ACK”这种状态。所以意味着这种攻击力有限。

 

而使用“SYN Flood”攻击,攻击方可以任意修改自己的IP、端口号,攻击方并不需要收到服务器的任何报文,所以服务器都无法使用以上几个应对措施。服务器能想到的应对措施是:

 

  • 防火墙代理模式,只有完成三次握手的,才能与服务器通信

  • Cookie,只有携带服务器合法TCP Cookie的,才能与服务器通信

 

很显然,这些措施都是被动防御,在排山倒海的攻击流量面前,会显得苍白无力。

 

如果这篇文章看不太明白,强烈建议阅读这篇文章

原文始发于微信公众号(车小胖谈网络):竟然还有这种TCP攻击方式?

本文转为转载文章,本文观点不代表威客安全立场。

发表评论

登录后才能评论

联系我们

4006-119-120

在线咨询:点击这里给我发消息

邮件:public@jinlongsec.com

工作时间:周一至周五,9:30-18:30,节假日休息

X