1 [GitHub中超过3.5万开源代码被投毒]

打印 上一主题 下一主题

主题 856|帖子 856|积分 2568

事件简述

oscs开源安全社区监测到 2024年8月3日13时,名为 Stephen Lacy 的工程师在 Twitter 中表现其发现 GitHub 中大量仓库被加入了恶意代码,感染文件超过3.5万,涉及 Go 代码、NPM 安装脚本、容器镜像配置等内容。


  • 被感染的仓库大多数处在长期不维护的状态,star 和 fork 数量根本为0
  • 恶意代码在最早在2019年已经提交进部分仓库,不少仓库是在近来10天左右被感染
  • 信息收集和控制指令的服务地址位于俄罗斯
15时许,GitHub 开始对受影响仓库举行清理,当前受影响仓库已经全部无法访问。
由于被投毒的开源仓库大多无人关注,预计此次事件自己的现实影响较小,但从攻击手法上来看表现了攻击者有较强的工程化利用能力。

   

  
以ovz1.j19544519作为关键词在 GitHub 中可以搜索到超过3.5万个代码文件的效果。

   

  
最早提交的恶意代码是在2019年
https://github.com/promonlogicalis/asn1/blob/7bdca06d0edf895069dc25fb60a49c6dae27b916/context.go#L241

   

  

攻击手法分析


现在官方暂未给出该事件详细缘故原由,对于此事件涉及众多账号,我们意料可能存在以下三种情况:


  • GitHub 账号撞库
    抽样统计可以发现,多个被投毒的账号密码此前已经泄漏,因此可能通过撞库获得账号权限

   

  

  • GitHub API Token 泄漏
攻击者通过收集公开泄漏的 token,从而对仓库举行直接操作


  • 攻击者注册了一批马甲账号
攻击者可能注册了一批虚伪的马甲账号,模仿真实项目,再通过马甲账号发布与原仓库雷同的代码

   

  


恶意代码分析


投毒的仓库大多为 go 的仓库,其中恶意代码如下,逻辑自己较为简朴。特殊的是除了恶意代码外,攻击者在 commit 中还加入了「传神」的解释、license、commit 阐明等内容,使得恶意代码更轻易隐藏。

攻击者可能通过收集原仓库 commit 信息,而后生成与之相似的效果,例如与代码变动符合的 Update README.md 或 Update license 提交,表现了攻击者有较强的工程化能力。

   

  
   

  
代码会先实验获取"e452d6ab"情况变量,假如为"e452d6ab"值为1则直接结束运行。

假如找不到对应的情况变量则设置"e452d6ab"情况变量,防止重复实验,然后将当前情况的情况变量转为 json 格式的变量 env。

再将对应的情况变量发送给恶意服务器,情况变量中可能会包含 AWS access keys,Crypto keys 等敏感内容。

末了使用 sh 实验恶意服务器的返回内容,为接下来的长途控制服务器,长期化毗连,偷取敏感信息等恶意行为做预备。
恶意代码中的 C& C地址 http://ovz1.j19544519.pr46m.vps.myjino.ru,由俄罗斯的一家云服务器厂商 Джино 提供,因此攻击者位于俄罗斯的可能性较高。
针对开辟者的发起

当前被投毒的仓库已经被 GitHub 官方删除,这些仓库大多无人关注,因此此次事件自己的现实影响较小,开辟者在使用开源组件时必要注意甄别。

   

  从账号安全的角度来看,开辟者必要尽量启用多因素验证、制止 API token 的泄漏,防止自己的项目被利用加入恶意代码

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

半亩花草

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表