章鱼扫描器:一种攻击开源供应链的恶意软件
近日,GitHub披露了一起开源软件供应链攻击事件。GitHub上的大量NetBeans代码库被恶意软件章鱼扫描器(Octopus Scanner)感染成为传染点,章鱼扫描器是专门为感染NetBeans项目而设计的后门。
根据Github公布的信息,章鱼扫描器影响了26个开源项目。
章鱼扫描器直接感染了Github上的开发工具,性质要比常见的将GitHub平台作为恶意软件C2服务器严重得多。
危险的章鱼
GitHub于3月9日收到一名独立安全研究人员的漏洞警告,称GitHub托管的一组代码库正在积极提供恶意软件服务。
随后的调查证实,章鱼扫描器恶意软件能够对NetBeans项目文件进行分类,然后将有效恶意负载嵌入GitHub项目文件并创建JAR文件。
受影响的GitHub代码库所有者很可能完全意识不到恶意活动的存在,并且清理恶意软件也是一个挑战,因为仅仅阻止或禁止项目维护(者)并不是一个好选择。
GitHub安全实验室正在研究如何从受感染的存储库中正确删除恶意软件,而不必关闭用户帐户。
GitHub安全专家 Alvaro Muñoz在一篇文章(https://securitylab.github.com/research/octopus-scanner-malware-open-source-supply-chain)中给出了详细技术分析,介绍GitHub安全团队如何克服困难剔除章鱼扫描器。
但是,关于此次攻击的许多问题仍然存在,尤其是为什么恶意软件作者针对NetBeans构建过程(一种相对不流行的Java IDE)进行攻击。
开源软件安全专家Sonatype的CTO Brian Fox评论说,章鱼扫描器如此危险的原因是它感染了开发人员工具,这些工具随后感染了他们正在从事的所有项目,从而影响了他们的团队或开源用户社区。
供应链攻击
GitHub Daily Security Lab的负责人Nico Waisman解释说:
Waisman补充说:
软件依赖关系无处不在,因此使用数百甚至数千个开源依赖关系成为项目的正常现象。Waisman警告说,攻击者正在利用开源软件的这种依赖性进行攻击。
Waisman说:
威斯曼总结说,尽管像这样的供应链攻击令人恐惧,但它们仍然很少见。
Waisman指出:
对于开发人员而言,主要的挑战是了解项目的依赖关系,以及何时需要对其进行修补。在GitHub上,Dependency Graph可帮助您了解项目的依赖关系。