50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

PyTorch-Nightly 受到供应链攻击,导致数据和文件泄露

  • 2023-02-10
    北京
  • 本文字数:932 字

    阅读完需:约 3 分钟

PyTorch-Nightly受到供应链攻击,导致数据和文件泄露

 PyTorch维护者表示,建议在 2022 年 12 月 25 日至 12 月 30 日期间安装了 PyTorch 夜间构建的开发人员卸载它并清除 pip 缓存,以摆脱恶意包。新的攻击凸显了最近的一个趋势。

 

供应链攻击源自一个恶意依赖项。该依赖项被推送到了 PyPi,它与 PyTorch 夜间构建附带的依赖项同名。

 

由于 PyPI 是索引优先的,所以安装的是这个恶意包,而不是官方存储库中的版本。这种设计允许用户注册与第三方索引中存在重名的包,pip 将默认安装他们的版本。

 

该恶意包名为 torchtriton,包含一个二进制文件,除了窃取主机名、DNS 配置、用户名、shell 环境等系统信息外,还会将/etc/hosts/etc/passwords~/.gitconfig~ /.ssh /*的内容,以及在用户主目录中找到的前 1000 个文件上传到外部服务器。不过,只有当用户显式地将triton包导入到他们的程序中时,信息才会被泄露,这降低了此次攻击的影响。

 

这种被称为依赖混淆的供应链攻击方案并不新颖。在接受 InfoQ 采访时,Endor Labs 安全研究员 Henrik Plate 解释说,这种攻击“与我们在过去两年中看到的次世代攻击类型一致”,攻击者的重点是操纵维护者和用户,而不是设法利用漏洞。

 

在官方披露后,torchtriton 的所谓维护者在他们的网站上宣称,这个包不是恶意的。对此,Ax Sharma 首先在 Twitter 上做了报道。不过,在分析Bleeping Computer 的攻击时,Sharma 还透露,torchtriton 使用了反虚拟机技术以及混淆来逃避检测。

 

这也不是第一次有黑客声称他们的行为应算是伦理研究,就像他们被抓到窃取机密一样。

 

根据 Plate 的说法,依赖项混淆攻击可以使用私有存储库来托管内部包和镜像外部包来解决。Python 生态系统有一个这样的解决方案是devpi,但它并不简单。

 

通常,这样的解决方案允许对依赖项解析和包下载过程进行更多的控制。但是,它们的设置和操作需要付出不小的努力,并且只有在开发人员本地客户端配置正确时,它们才有效。

 

PyTorch 维护者立即采取行动,删除作为依赖项的 torchtriton,替换为pytorch-triton,并在 PyPi 上注册了一个假包,以确保这种情况不会再发生。

 

原文链接:

https://www.infoq.com/news/2023/01/pytorch-supply-chain-attack/


相关阅读:

里程碑!PyTorch 正式加入 Linux 基金会,社区治理这一核心将不会改变

深度学习为什么要选择 PyTorch

进击的 PyTorch,和它背后的开源领袖

2023-02-10 10:164982

评论

发布
暂无评论
发现更多内容

《关键信息基础设施安全保护要求》于明年五月正式实施

行云管家

网络安全

CQRS与Event Sourcing

胖子笑西风

架构 DDD CQRS Event Sourcing #java

谈谈前端应用里图标(Icon)的渲染和内容提取方式

汪子熙

前端开发 SAP ui5 Web应用 11月月更

阿里云架构师张先国:揭秘ECS倚天实例背后的技术

云布道师

算力 云栖大会 倚天实例

react源码中的协调与调度

flyzz177

React

全国独家 | 上海线下面授大规模敏捷LeSS认证 | 2022年12月8-10日

ShineScrum

less 大规模敏捷 LeSS认证 吕毅老师

云安全系列3:如何构建云安全策略

HummerCloud

云计算 数据安全 云安全 11月月更

注意 ! !|95% 的应用程序中发现错误配置和漏洞

SEAL安全

配置管理 软件供应链安全 漏洞管理

vue为什么v-for的优先级比v-if的高?

bb_xiaxia1998

Vue

SpringBoot 接口层统一加密解密

小小怪下士

Java 程序员 springboot

浅谈深度学习中的概率

华为云开发者联盟

人工智能 华为云

腾讯二面vue面试题总结

bb_xiaxia1998

Vue

掌握这些前端手写面试题能进大厂吗

helloworld1024fd

JavaScript

年搜索量超7亿次背后:这款APP用火山引擎 DataTester 完成“数据驱动”

字节跳动数据平台

大数据 数据分析 A/B测试

《全国一体化政务大数据体系建设指南》发布,隐私计算将如何发挥作用?

洞见科技

详解Native Memory Tracking之追踪区域分析

华为云开发者联盟

开发 内存 华为云

Go类型转换和类型断言可别搞混了

王中阳Go

golang 高效工作 学习方法 面试题 11月月更

DDD与应用架构

胖子笑西风

架构 DDD 框架 整洁架构 Java core

高频js手写题之实现数组扁平化、深拷贝、总线模式

helloworld1024fd

JavaScript

Kata3.0.0 x LifseaOS x 龙蜥内核三管齐下!带你体验最新的安全容器之旅

OpenAnolis小助手

容器 云原生 内核 龙蜥社区 袋鼠RunD

vue组件通信6种方式总结(常问知识点)

bb_xiaxia1998

Vue

面试官:请实现Javascript发布-订阅模式

helloworld1024fd

JavaScript

阿里Redis最全面试全攻略,读完这个就可以和阿里面试官好好聊聊

钟奕礼

Java java程序员 java面试 java编程

前端面试被问到的js手写面试题汇总

helloworld1024fd

JavaScript

react源码中的hooks

flyzz177

React

【专项测试系列】-缓存击穿、穿透、雪崩专项测试

京东科技开发者

缓存 测试 缓存穿透 缓存击穿 缓存雪崩

react源码中的fiber架构

flyzz177

React

Fiori Elements 应用进行二次开发的一个具体案例分享

汪子熙

SAP Fiori ui5 Web应用 11月月更

记一场vue面试

bb_xiaxia1998

Vue

PGL图学习之图神经网络GNN模型GCN、GAT[系列六]

汀丶人工智能

图神经网络 11月月更

「Go易错集锦」如何正确设置枚举中的零值

Go学堂

golang 程序员 个人成长 枚举 11月月更

PyTorch-Nightly受到供应链攻击,导致数据和文件泄露_AI&大模型_Sergio De Simone_InfoQ精选文章