据多家外媒报道,本周研究人员披露了一种新的漏洞攻击方式,它被暂时命名为“木马源”代码攻击漏洞,最新研究警告称,几乎所有编译器都容易受到潜在攻击,在这种攻击中,对手可以在没有被检测到的情况下将目标漏洞引入任何软件。
“我们发现了操纵源代码文件编码的方法,使人类的浏览者和编译器可以看到不同的逻辑。一种特别有害的方法是使用Unicode方向性重写字符将代码显示为其真实逻辑的一个anagram(字母异序词)。”安全研究人员罗斯·安德森说。
研究人员相继验证了攻击对C、C++、C#、JavaScript、Java、Rust、Go,以及Python的有效性,并怀疑它同样会对大多数其他语言造成同样的致命打击。
为了给漏洞修复腾出时间,安全研究人员特地拖了99天才正式披露相关漏洞信息。与此同时,研究人员已经与19个组织进行了协调,其中许多组织现在正在发布更新,以解决代码编译器、解释器、代码编辑器和存储库中的安全弱点。
漏洞涉及到两个CVE,这两个CVE都是根据Unicode规范发布的。研究人员称之为对Unicode的“潜在破坏性”攻击双向算法(BiDi),从14.0版开始跟踪为CVE-2021-42574。BiDi处理文本的显示顺序,例如,使用拉丁字母从左到右,或者从右到左使用阿拉伯语或希伯来语字符。
另一个相关的攻击依赖于使用视觉上相似的字符,称为同形符,跟踪为CVE-2021-42694号。
研究人员表示,如果攻击者能将两者有效利用,就有能力创建完全有效,且不容易被发觉的恶意源代码,这些源代码可以用来创建一种新的供应链攻击。如果逻辑上的变化非常微妙,以至于在随后的测试中没有被发现,可能会在没有被发现的情况下引入有针对性的漏洞。
研究人员还警告称:在大多数浏览器、编辑器和操作系统上,Bidi override字符仍然存在于复制和粘贴功能中,这意味着“任何从不受信任的源代码复制到受保护代码库的开发人员都可能无意中引入了一个不可见的漏洞。”
研究人员指出:“木马源”代码漏洞几乎影响所有计算机语言,对于攻击者这将是一个难得的机会,由于使用这些技术可以很容易地发起强大的供应链攻击,因此参与软件供应链的组织必须实施防御措施,评估潜在安全风险。
领取专属 10元无门槛券
私享最新 技术干货