近期,来自加拿大多伦多大学公民实验室的研究人员在国内热门输入法——搜狗输入法的加密系统中发现了漏洞,能允许网络监听者破译用户的输入内容。目前该漏洞已得到修复。
研究人员发现漏洞的软件版本涉及三大主流系统,分别是Windows 13.4版本、Android 11.20版本和 iOS 11.21版本,其内部定制的EncryptWall加密系统在Windows和Android系统中存在CBC 密文填塞(padding oracle)攻击漏洞,能让网络监听者恢复加密网络传输的明文,从而泄露敏感信息。在iOS中虽然发现了漏洞,但并不清楚具体的利用方式。
恢复的数据示例摘录,第 11 行包含键入的文本
EncryptWall加密系统旨在通过纯 HTTP POST 请求中的加密字段,将敏感流量安全地传输到未加密的搜狗 HTTP API 端点。在通过 HTTPS 发出 EncryptWall 请求的情况下,研究人员认为这些请求是安全的,但EncryptWall 请求的底层加密技术中可能存在任何缺陷。
研究人员发现,CBC 密文填塞攻击是一种早在2002年就曾出现的选择密文攻击,信息的明文可以一个字节一个字节地恢复,每个字节最多使用 256 条信息。这种攻击依赖于一种称为填充预言的侧通道的存在,它可以明确地揭示接收到的密文在解密时是否被正确填充。
研究人员于今年5月31日向搜狗报告了次漏洞,最终修复版本于7月20日正式发布(Windows 13.7版本 、Android 11.26版本 和 iOS11.25 版本 ),强烈建议搜狗输入法的用户立刻升级至上述版本。
根据研究人员的报告,搜狗输入法是最受欢迎的中文输入法,占中文输入法用户的70%,每月活跃用户超过4.55 亿。