Checkmarx
资安公司Checkmarx揭露新一波针对Python开源软件生态系的攻击,攻击者可利用软件套件中的进入点(Entry Point)木马化命令行工具。通过该手法,攻击者能够将恶意程序伪装成常见的第三方工具或是系统命令,让受害者无意间运行恶意代码,以达成攻击开发环境和企业基础设施的目的。
这项新的开源供应链攻击之所以值得注意,研究人员指出,其具有极高的隐蔽性和灵活性,能够在不被察觉的情况下木马化命令行工具,并运行恶意代码。由于该攻击主要针对开发工具以及开源生态系中常见的进入点功能,让攻击者可以劫持开发过程中常用的指令,对开发者或是企业造成严重安全威胁,不仅影响日常开发工作,还可能导致敏感数据泄漏,或是危及基础设施安全。
所谓的进入点,指的是Python等软件套件管理系统中的机制,让开发者可以将特定功能以命令行命令的形式公开,让最终用户不需了解软件内部代码结构就可以运行特定命令,通常应用于创建命令行脚本或是定义套件的系统功能。
不过,研究人员发现,攻击者也可以滥用进入点机制植入恶意代码,例如攻击者可以创建伪装成开发工具的恶意套件,借由进入点功能将这些恶意功能绑定到命令行工具上,当用户运行受影响的命令时,恶意代码便会在不被发觉的情况下自动运行。另外,攻击者还可使用一种称为命令打包(Command Wrapping)的技术,在运行合法命令的同时,隐蔽地运行恶意代码,使得攻击更难被发现。
虽然研究人员以Python生态系中的PyPI套件系统说明进入点滥用攻击,但是研究人员也指出,npm、Ruby Gems、NuGet、Dart Pub和Rust Crates等多种编程语言开源生态系皆易受影响。攻击者也可以锁定各种常被用于开发、部署和营运的命令行工具进行劫持,诸如Docker、npm、git、kubectl、terraform与dotnet等。该攻击可对开发者或是企业造成严重破坏,尤其是在CI/CD环境中,攻击者甚至可取得云端基础设施的控制。



2024-10-16
