Light Blue Touchpaper 今日分享了一份标题为《木马源码:隐形漏洞》的文章,其中提到了一些“酷炫”的新技巧,以充分利用难以被人类代码审核人员当场抓获的目标漏洞。据悉,想要将漏洞引入某款软件,制作者可尝试在一段晦涩的代码片段中插入一个不显眼的“错误”。那样即使操作系统等关键开源项目制定了严格的人工审核流程,但邪恶的代码还是很容易被漏过。
(来自: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上查看概念验证。