文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

开源TensorFlow机器学习框架存在漏洞,黑客可借此发起供应链攻击

2024-11-30 02:48

关注

TensorFlow 是谷歌的开发者创造的一款开源的深度学习框架,于 2015 年发布。TensorFlow 现已被公司、企业与创业公司广泛用于自动化工作任务和开发新系统,其在分布式训练支持、可扩展的生产和部署选项、多种设备(比如安卓)支持方面备受好评。

Praetorian的研究员Adnan Khan和John Stawinski在本周发布的一份报告中表示,这些配置错误可能被攻击者利用来“通过恶意拉取请求(pull request),在GitHub和PyPi上对TensorFlow版本实施供应链妥协,从而危及TensorFlow的构建代理”,

通过利用这些漏洞,攻击者可将恶意版本上传到GitHub仓库,并获得自托管GitHub运行器(runner)上的远程代码执行权限,甚至检索tensorflow-jenkins用户的GitHub个人访问令牌(PAT)。

TensorFlow使用GitHub Actions自动化软件构建、测试和部署流程。运行器指的是执行GitHub Actions工作流中任务的机器,可以自托管,也可以由GitHub托管。

GitHub在其文档中写道,“建议用户仅在私有仓库中使用自托管运行器,因为公共仓库的分支可能通过创建执行危险代码的工作流拉取请求,在您的自托管运行器机器上运行潜在危险的代码。”

换言之,这允许任何贡献者通过提交恶意拉取请求,在自托管运行器上执行任意代码。然而,这并不会对GitHub托管的运行器构成任何安全问题,因为每个运行器都是短暂的,并且是一个干净、隔离的虚拟机,在任务执行结束后就会被销毁。

Praetorian表示,它能够识别在自托管运行器上执行的TensorFlow工作流,随后发现以前的贡献者提交的分支拉取请求自动触发了相应的CI/CD工作流,且无需批准。

因此,一个想要对目标仓库进行木马化的攻击者的操作是这样的,他会修正一个拼写错误或进行一个小但合法的代码更改,为此创建一个拉取请求,然后等待拉取请求被合并,以成为一个贡献者。这将使他们能够在创建恶意拉取请求时执行代码,而不会引起任何警告。

进一步检查工作流日志显示,自托管运行器不仅是非短暂性的(从而为持久性打开了大门),而且与工作流相关的GITHUB_TOKEN权限包含了广泛的写权限。

研究人员指出“因为GITHUB_TOKEN拥有contents:write权限,它可以上传版本到https://github[.]com/tensorflow/tensorflow/releases/,攻击者如果危及这些GITHUB_TOKEN,就可以在发布资产中添加他们自己的文件。”而contents:write权限可以被用来直接向TensorFlow仓库推送代码,通过秘密地将恶意代码注入到一个特性分支,并将其合并到主分支。

不仅如此,一个威胁行为者还可以窃取,在发布工作流中用于认证Python包索引(PyPI)注册表的AWS_PYPI_ACCOUNT_TOKEN,并上传一个恶意的Python .whl文件,以便有效地污染包。

“攻击者还可以利用GITHUB_TOKEN的权限来危及JENKINS_TOKEN仓库密钥,尽管这个密钥并未在自托管运行器上运行的工作流中使用。”

随着越来越多的组织自动化他们的CI/CD流程,类似的CI/CD攻击正在上升。“人工智能/机器学习公司尤其脆弱,因为他们的许多工作流需要大量的计算能力,这在GitHub托管的运行器中是不可用的,因此自托管运行器很普遍。”

这一披露是在两位研究员揭示了包括与Chia网络、微软DeepSpeed和PyTorch相关的多个公共GitHub仓库,都容易受到通过自托管GitHub Actions运行器注入恶意代码的攻击。

参考来源:https://thehackernews.com/2024/01/tensorflow-cicd-flaw-exposed-supply.html

来源:FreeBuf.COM内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯