首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSL服务上的拒绝服务

SSL服务上的拒绝服务
EN

Security用户
提问于 2012-08-02 10:31:08
回答 3查看 673关注 0票数 8

当SSL握手发生时,客户端所做的计算工作量是否明显少于服务器所做的计算工作量?

这种不平衡能被用来产生更有效的DoS吗?是否有任何学术论文或概念的证明实施?

EN

回答 3

Security用户

回答已采纳

发布于 2013-01-13 20:04:06

是的,基于CPU的DoS在SSL服务器上很容易实现.考虑到SSL中常用的两种主要类型的密码套件:

  • RSA密钥交换:服务器用RSA公钥发送其证书;客户端生成使用服务器公钥加密的随机blob (预主密钥);服务器对其进行解密。
  • 密钥交换:服务器发送它的Diffie-Hellman密钥交换的一半,用服务器的私钥签名。客户端发送它自己一半的DH。服务器通过应用其DH私钥(模块幂)完成DH密钥交换。

无论哪种方式,服务器都必须执行相对较重的加密操作: RSA解密或DH模幂(对于DHE,服务器可以重用其短暂的DH参数,只要它不重新启动,但它不能回避最终的模块幂运算,计算出的是客户端发送的内容)。另一方面,尝试DoS服务器的客户端根本不需要做任何工作:它只需要发送一个大小大约合适的blob即可。服务器上的解密将失败,但CPU开销仍将丢失。

(已经与诚实的客户端和RSA密钥交换,CPU成本较高的服务器,因为RSA加密比RSA解密快得多。但是一个邪恶的客户,专注于DoSing,完全可以避免工作。)

这样的攻击在野外观察到,不需要一篇学术论文来解释它们是如何工作的。

票数 6
EN

Security用户

发布于 2016-12-19 15:10:37

是的,有这样的观点。特别是如果SSL重新协商是有效的,则可以利用这些漏洞来有效地关闭服务器:

此图表取自计算DoS缓解,显示了使用常用算法在客户端和服务器之间握手所需的计算时间。正如你所看到的,有些算法比其他算法要好得多。

例如,有了2048位RSA证书和一个加密套件,比如ee256-SHA,服务器需要的CPU功率是客户机的6倍。然而,如果我们使用DHE-RSA-美学256-SHA代替,服务器需要的CPU功率减少34%。从服务器的角度来看,最有效的密码套件似乎是类似于DHE美学256-SHA的密码套件,其中服务器需要一半的客户端能力。

有关这方面的详细信息,请查看计算DoS缓解和用于演示此dDoS:THC SSL DOS的THC-工具的原始发行说明。

希望我能帮上忙

gewure

票数 1
EN

Security用户

发布于 2012-08-02 11:59:55

答案是否定的,因为你是第一个做最多工作的人。但你还是可以攻击它。

你问题中的关键是分发的。即使攻击者的数量相同(或几乎相同),也有许多客户端可以开始握手。这意味着您不需要在握手时投入所有的精力,只需将工作负载分配给不同的客户端,任何客户端都不会感觉到性能上的显著变化,而服务器可能处于极限状态。

我认为诀窍是启动多个SSL会话,但是永远不要做任何事情,只需说你好,服务器就会回复和等待。这意味着您可以同时使用它的资源和最大会话量来DoS它。(有点像TCP SYN攻击)

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/18035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档