软件供应链攻击,一种利用合法软件隐藏恶意代码的攻击方式,曾被视为相对罕见的安全威胁。然而,一个名为TeamPCP的黑客组织正在将这种偶发威胁转变为近乎每周发生的常规事件。本周二晚间,全球最大的开源代码托管平台GitHub宣布遭到TeamPCP的入侵。攻击者通过一款被“投毒”的VSCode扩展插件(VSCode是微软旗下的流行代码编辑器,与GitHub同属微软),突破了GitHub的内部开发环境。TeamPCP声称已获取约4000个GitHub代码仓库的访问权限。GitHub随后发布声明确认,至少3800个仓库被入侵,但强调被访问的仓库均包含GitHub自有代码,客户项目未受影响。
TeamPCP随后在黑客论坛BreachForums上发布帖子,公开叫卖GitHub源代码,并表示愿意向潜在买家发送样本以验证数据的真实性。GitHub在声明中确认已发现至少3800个被访问的仓库,但称所有受影响仓库均为GitHub内部代码,用户数据未出现泄露。GitHub表示正在积极评估和修复漏洞,但并未披露更详细的技术细节。
史上最密集的供应链攻击行动
GitHub事件只是TeamPCP一系列持续攻击的最新一起。根据专注于软件供应链安全的网络安全公司Socket的统计数据,TeamPCP在过去几个月中已累计实施20波供应链攻击,将恶意代码隐藏在500多个独立的开源软件项目中。若将同一软件的不同版本全部计算在内,遭污染的数量已超过1000个。这些被篡改的代码已渗透至数百家组织的信息系统,构成了广泛的威胁。
Socket指出,此前从未有一个黑客组织如此高频率、大规模地实施供应链攻击。TeamPCP的攻击不仅频率极高——几乎每周都有新案例出现——而且始终未见停歇。该组织以营利为目的,通过勒索受感染组织获利(extorting victims for profit)。
多元化的投毒手法
TeamPCP的攻击方式主要有三类。第一类是直接向官方开源包管理器(如npm、PyPI、RubyGems等)上传含有恶意代码的软件包,伪装成有价值的功能库,等待开发者下载使用。第二类是通过攻击开源项目维护者的账户,向已有的流行项目中直接注入后门代码。第三类则是利用开发者日常使用的集成开发环境(IDE)扩展进行渗透——本次GitHub入侵就属于此类。
VSCode扩展生态系统的开放性使得攻击者可以轻易发布功能正常但暗藏恶意代码的扩展。一旦开发者安装该扩展,恶意代码便在开发环境中执行,从而绕过安全边界。这种攻击尤其难以防范,因为扩展来自官方市场,其代码签章和信誉机制难以区分恶意版本。GitHub的内部开发者正是陷入了这种陷阱。
开源生态的信任危机
TeamPCP的持续攻势正在从根本上动摇开源生态系统的信任基础。开源软件的开发与分发高度依赖社区信任,大量项目通过直接派生和依赖复制的方式广泛引用第三方代码。供应链攻击使得任何一个合法的开源组件都可能成为隐藏后门的跳板。正如Wired报道所指出的,该组织正在“在用于创建全球软件的整个生态系统中播下不信任的种子”。开发者和企业在引入开源代码时,不得不对每一个依赖项进行更为严格的审查,对开发工具链的安全性也需要重新评估。
GitHub作为全球最大的开源平台,其自身被攻破本身就是标志性事件。虽然客户代码在此次事件中幸免,但内部源码的泄露可能为后续针对GitHub平台的攻击提供线索。更重要的是,TeamPCP的模式成功可能会吸引更多攻击者效仿,进一步加剧软件供应链的脆弱性。Socket的分析指出,TeamPCP已经证明:软件供应链攻击不仅可行,而且可以低成本、大规模地持续运作。本轮攻击浪潮目前没有任何趋缓的征兆(with no end in sight),这迫使整个行业必须重新思考如何保护软件供应链。
本文参考来源:Wired


