SSL-DoS和SSL-DDos攻击与防御 – 作者:stan1y

攻击原理

SSL握手的过程中,在协商加密算法时服务器CPU的开销是客户端开销的15倍左右。攻击者利用这一特点,在一个TCP连接中不停地快速重新协商(这种行为是被SSL所允许的),从而耗尽服务器CPU资源,这种攻击叫做SSL-DoS。

如果多个僵尸主机向服务器发起SSL-DoS,则叫做SSL-DDoS攻击。,利用该SSL漏洞的攻击的详细过程如下图所示:

1607774505_5fd4b129a4306f5947db9.png!small

攻击过程分析

上述报文可以看到SSL服务器的资源如何被耗尽。

SSL客户端发送一条ClientHello消息来初始化一次新的握手,该消息大约100字节左右,不需要加密。

服务器端响应ClientHello消息,需要连续发出3个消息,ServerHello、Certificate、ServerHelloDone,这3个消息一般在3000字节左右,需要用高级加密标准AES或流加密算法簇RC-4进行加密后再发送。

每次握手,SSL服务端发送的数据比客户端多了30倍,还要进行加密,从而导致服务端CPU计算资源大量占用。

1607774532_5fd4b1446118b48299828.png!small

抓包分析:

1607774556_5fd4b15cdb717101caa85.png!small

攻击一段时间,服务器不能响应

1607774575_5fd4b16fe0e2d2b39289f.png!small

防御方法

1607858071_5fd5f797543dc80413aa3.png!small

针对Pushdo僵尸的垃圾报文攻击,可以在建立TCP连接后进行报文规格检查。

严格的规格检查:

对SSL连接中的所有报文进行检查,如果其不符合ssl报文规格,则丢弃该报文并对源ip进行封禁。

优点,可以发现任何类型的ssl垃圾报文,准确度高;

缺点,如果出现ssl分段报文,无法检测或者检测代价高;

宽松的规格检查:

对建立tcp连接后的一个或者几个ssl报文,如对client hello、change cipher spec进行规格检查;

优点,检测效率高;

缺点,不能对检测范围外的ssl垃圾报文进行防护;

针对thc-ssl-dos及类似的以ssl握手协商过程进行dos的攻击,可以对源ip或者一条ssl连接内的协商报文(change cipher spec报文)速率进行统计。

如果协商报文速率异常,则丢弃该连接的所有报文。

还有一些网络安全公司提出了关闭重握手(Renegotiation)以防止该漏洞被利用的解决方案,但这只能延缓SSL服务被攻击所导致的宕机到来时间, 还会导致SSL扩展服务无法使用。相关用户应尽快进行SSL服务器安全检查,并且及时调整相关安全产品的安全规则,以应对此漏洞带来的安全风险。

来源:freebuf.com 2020-12-13 19:19:04 by: stan1y

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
每个人都会有缺陷,就像被上帝咬过的苹果,有的人缺陷比较大,正是因为上帝特别喜欢他的芬芳
Everyone has its disadvantage just like the god bites the apple. the bigger disadvantage you have, the more the god appreciate it
评论 抢沙发

请登录后发表评论