安全研究人员发出警告:谨防易被人工审核忽略的木马漏洞源码
(来自:Light Blue Touchpaper |PDF)
Ross Anderson写道:“我们发现了操纵源代码文件编码的新方法,特点是让人类审核员和编译器看到不同的执行逻辑”。
据悉,这种特别的有害方法利用了 Unicode 的方向覆盖字符,以将真实代码隐匿于字符迷藏之下。
研究人员已证实,这种攻击已波及 C、C++、C#、JavaScript、Java、Rust、Go、以及 Python 等变成语言,并且有望扩大覆盖其它现代语言。
除了编号为CVE-2021-42574的通用漏洞披露报告,MITRE 还指出了可利用“同形文字”(视觉上相似的字符)的CVE-2021-42694攻击方法。
为了给漏洞修复腾出时间,安全研究人员特地拖了 99 天才正式披露。目前许多编译器、解释器、代码编辑器、以及存储库,都已经落实了专门的防御手段。
Ross Anderson 补充道,这项攻击的灵感,源于其近期在“不可查觉的扰动”等方面的最新工作。
其使用方向性覆盖、同形文字、以及其它 Unicode 功能,实现了用于有毒内容过滤、机器翻译和其它自然语言处理(NLP)等任务,且基于文本的机器学习系统。
感兴趣的朋友,可移步至 trojansource.codes 项目门户,查看有关“木马源码”(Trojan Source)攻击的更多细节、或在GitHub上查看概念验证。