攻击者利用伪造时间戳在GitHub上传播恶意代码

发表于:2022-7-20 09:13

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Zicheng    来源:FreeBuf

  当开发人员在GitHub上寻找开源项目时,会习惯对其元数据进行检查,但研究发现,这些元数据很容易被伪造,并以此用来传播恶意代码。
  Checkmarx 的研究人员在一份新报告中警告说,开发人员在查看元数据时应当尽力核实背后贡献者的身份,而不应仅停留于对元素据表面的检查。
  通常,开发人员在GitHub上寻找开源项目时,会倾向于选择那些活跃的、有积极维护记录的贡献者所提供的项目,Git对每一次更改分配了一个唯一的 ID,该ID记录了由谁更新、具体的更新内容以及时间戳,相对而言,拥有较多的更新反映了贡献者对这个项目的重视,项目得到了较好的维护与优化。
  但根据Checkmarx的说法,攻击者可以轻松伪造这些记录。报告称,衡量 GitHub 上用户活动的一个重要指标是用户个人资料页面上的活跃热图,显示用户在一段时间内的活跃程度,而攻击者能在注册的全新账户上通过伪造带有时间戳的提交记录,使之看起来已经平台上活跃了很长时间。
利用git set更改本地两个环境变量,从而在 GitHub 上显示伪造的时间戳
  类似的,攻击者还可以“借用”一些知名的、信誉度良好的贡献者身份上传包含恶意代码的项目,攻击者只需要找到这些贡献者的电子邮件地址,然后在 Git 命令行上设置用户名和电子邮件地址并提交更改。报告称,尽管 GitHub 提供了隐藏电子邮件地址的方法,但大多数人并没有使用这些功能,从而让攻击者可以相对容易地获取这些邮件地址。此外,被借用身份的贡献者也不会收到任何关于他们的账户被添加为另一个项目的贡献者的通知。
  Checkmarx的供应链安全主管Tzachi Zornstain强调,开发人员在选择开源项目时,要重视这些项目贡献者的身份是否已被验证,如果一个项目包含多个贡献者提交的代码,要确保这些贡献者也是必须真实可靠。
  他还建议这些项目贡献者使用GitHub的数字签名功能,对自己的代码进行签名,这样他们的贡献就会被验证。该功能包括一个 "警惕模式",显示所有在其名下贡献的代码的状态,包括其他人可能在其名下提交的代码。GitHub指出,如果所有贡献者希望能够这样做,就需要在2023年前开启双因素认证。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号