Shadowsocks AEAD 加密漏洞及防重放机制所带来的潜在危险

最近2天,有一名开发者 rprx 在GitHub上提出了一个此前在 Shadowsocks 相关项目中被忽视的问题,而经过众多开发者讨论后认为该漏洞具备较为严重的威胁。

该漏洞出现在 Shadowsocks AEAD 加密方式设计上,现有的方式无法验证返回数据的可靠性。在不需要密码的情况下,中间人可以随意对客户端接收的数据进行移花接木或重放,比如对调两条 TCP 连接所返回的数据。

此后该开发者还发现SS和VMess等工具还存在可被利用防重放机制进行流量阻断的漏洞,中间人(比如防火墙)可以在真实内容到达前抢先发送一条至少包含32个字节的信息即可让真实信息被丢弃。

防火墙可以根据三项特征:未知流量、0-RTT、有重放过滤器即可精准定位。

该漏洞可以被防火长城所利用,从而高效地阻断可疑流量而无需封锁IP地址。

分析认为该漏洞可能在特定极端的情况下被利用,但考虑到有较高的误杀率,它并不是一个完美的解决方案。

SS相关分支项目的开发者正在研究升级方案以修复这两个漏洞。

参考资料

利用防重放机制自动对 Shadowsocks、VMess 等未知流量代理进行“隐蔽式拒绝服务攻击”

Shadowsocks AEAD 加密方式设计存在严重漏洞,无法保证通信内容的可靠性

发表评论

电子邮件地址不会被公开。 必填项已用*标注