栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 网络安全 > 系统安全

Trojan Source:源码漏洞隐藏技术分析

系统安全 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力



研究人员发现可在源码中隐藏恶意代码的漏洞。

滥用文本编码标准

英国剑桥大学研究人员Nicholas Boucher和Ross Anderson发现了一种可以在源码中隐藏漏洞的新方法——Trojan Source。与传统的插入逻辑漏洞相比,研究人员发现可以通过攻击源码文件的编码方式来注入漏洞。Trojan Source攻击对软件和供应链来说是巨大的威胁。

研究人员发现用C、C++、C#、JavaScript、Java、Rust、Go和Python编写的项目都可能会成为攻击者的目标。具体的方式就是使用Unicode控制字符来对源码中的token进行在编码层进行重新排序。攻击利用Unicode这样的文本编码标准中的微小差异(变化)来生成源码,将token逻辑嵌入到不同的顺序中,使得漏洞无法被人类观察者感知到。

通过利用嵌入在注释和字符串中的控制字符,攻击者可以对源码逻辑进行重新排序以实现新的逻辑,并创建一个可利用的漏洞。

双向和同形字攻击

研究人员指出其中一种攻击方式就是对双向文本使用Unicode控制以表明内容展示的方向。该方法CVE编号为CVE-2021-42574。

双向控制LRI和RLI是不可见的字符。但这并不是唯一不可见的字符。此外,通过注入这些指令,编译器可以编译出与人眼看到的完全不同的代码。

如下图所示,通过对第二行的字符进行RLI/LRI控制,人眼认为其是编译器会忽略的注释,但事实并不是。



rojan Source攻击——双向控制覆写字符

另一种攻击方式是同形字攻击,CVE编号为CVE-2021-42694。即利用看着很像的不同字符,比如数字0和字母O,小写的l和大写的I。



Trojan Source 攻击—— 同形字

PoC

研究人员对多个主流的代码编辑器和基于web的库进行了Trojan Source攻击测试,发现大多数受测的代码编辑器和基于web的库都受到Trojan Source攻击的影响。



PoC代码参见:https://github.com/nickboucher/trojan-source

其他

7月25日,研究人员通知了受到Trojan Source攻击影响的产品维护厂商,并设置了一个99天的漏洞修复期限。研究人员从其中5个厂商收到了平均2246美元的漏洞奖励。

虽然目前大多数编译器是无法应对Trojan Source攻击的,但有3个厂商称正在部署针对Trojan Source攻击的防护措施。

关于Trojan Source攻击的论文下载地址:https://www.trojansource.codes/trojan-source.pdf

本文翻译自:

https://www.bleepingcomputer.com/news/security/trojan-source-attack-method-can-hide-bugs-into-open-source-code/

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/824227.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号