近期,GitHub遭遇安全漏洞,攻击者获取了约4000个内部代码仓库的访问权限,这一事件再次凸显了恶意行为者将恶意软件隐藏于开源软件库中的威胁正在持续升级。

供应链历来是网络攻击的重点目标,而近年来威胁的引入速度也在加快。过去,攻击者受限于一次只能针对少数目标。如今,他们借助AI同时对多个组织、个人和设备发动大规模攻击。

AI助长了此类攻击的增长,它催生了"氛围编程"现象,使技术用户能够轻松从云端下载和安装软件包。人们往往对使用已久的软件包抱有隐性信任,但若缺乏足够的审查,便可能丧失发现安全漏洞的能力,从而给攻击者留下更多可乘之机。

这些挑战并非无法克服。管理者可以从以下四个原则入手,应对新型威胁:

限制下载

允许用户随意下载任意软件包,会在出现问题时导致责任不清。组织应从两个维度对软件包进行审查:一是制定并执行严格的开源软件包使用政策,确保所有已安装软件经过内部审核;二是建立技术管控机制,在安装时检测恶意代码——因为大多数恶意活动正是在安装阶段被触发的。这一点实施起来可能比想象中更难,因为恶意代码在安装时往往不会触发任何异常行为。

安全管理者必须确保政策与技术两个层面的管控同步到位。若政策严格但技术管控薄弱,组织将无法在安装时进行有效的行为分析;若技术管控完善但政策宽松,则可能导致软件包数量泛滥,使识别真正恶意内容变得极为困难。

实施文件锁定与版本固定

在引入新软件包时,安全管理者应确保其被锁定到特定版本。这有助于防范一种常见风险:现有可信代码的新版本在不知情的情况下被推送至企业环境。文件锁定与版本固定机制可确保组织始终使用经过审批的软件包版本,同时为评估特定软件包最新版本的潜在风险争取额外的时间窗口。

了解组织内允许使用的开发者工具

组织往往给予开发者过多绕过治理和监督的自由。他们对普通用户的计算机保护严格,却对开发者工作站的管理相对宽松。

对开发者工具实施更规范的管理,虽然会在一定程度上影响开发效率,但能显著提升安全性。一种可行的解决方案是指定一套经过安全审查的扩展程序白名单,开发者若希望使用新的扩展程序,可提交安全审查申请。

信任需要被赢得

过去,开源库攻击主要依赖社会工程学手段,诱使用户下载恶意软件包。如今,攻击者会先获取一批被盗凭证,再借此将恶意软件包推送给用户。威胁不再来自不可信的软件包,而是来自那些看似可信、经过审查的来源。

即便在全组织范围内强制执行代码签名,也无法完全保证提交代码者的真实身份。代码签名密钥同样可能被盗,签名与入侵行为甚至可能发生在构建流水线内部。管理者必须比以往任何时候都更加审慎地核实代码安全性。

网络安全领域长期存在一种循环:防御工具的改进促使攻击者转向新的攻击向量。而当下的不同之处在于,攻击的复杂程度正在急剧提升。对于首席信息安全官而言,此刻绝非放松警惕之时。

本文作者Casey Erikson为NR Labs LLC渗透测试总监,原文发表于SiliconANGLE。

Q&A

Q1:GitHub遭遇的安全漏洞具体是怎么回事?

A:此次GitHub安全漏洞事件中,攻击者获取了约4000个内部代码仓库的访问权限。这一事件揭示了恶意行为者将恶意软件隐藏于开源软件库中的威胁正在持续升级,供应链安全问题再度引发广泛关注。

Q2:AI是如何助长开源库攻击的?

A:AI通过推动"氛围编程"的普及,使技术用户能够更便捷地从云端下载和安装软件包。与此同时,攻击者也借助AI实现了攻击的规模化,能够同时针对多个组织、个人和设备发动攻击,大幅提升了攻击效率和覆盖范围。

Q3:版本固定和文件锁定如何提升开源软件的安全性?

A:版本固定和文件锁定可确保组织始终使用经过审批的特定版本软件包,有效防止未经审查的新版本代码被悄然引入企业环境。此外,这一机制还能为安全团队争取额外时间,用于评估软件包新版本可能带来的安全风险。

SiliconANGLE