Shadowsocks 的 steam 加密存在漏洞,导致数据包头部可被修改。
攻击者可以利用修改过后的数据包进行「重定向」,从而进行 MITM 攻击。
目前受影响的包括:shadowsocks-py, shadowsocoks-go, shadowsocoks-nodejs
研究者推荐仅使用 shadowsocks-libev 配合以下三种加密算法:
aes-gcm chacha-ietf-poly1305 xchacha20-ietf-poly1305 (备注:SSR 不支持任意一种)
POC 与论文地址:https://github.com/edwardz246003/shadowsocks
部分原文摘抄:
A passive attacker can easily decrypt all the encrypted shadowsocks packet using our redirect attack. Even more, a man-in-the-middle attacker can modify traffic in real time like there is no encryption at all.What surprised us was that only shadowsockslibev support AEAD cipher. All other official implementation only support steam cipher. This means that the data integrity and authenticity of most SS users is not guaranteed from a Mitm attacker.