供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击

admin 2024年2月1日21:17:51评论14 views字数 2087阅读6分57秒阅读模式

供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击

概述

2024年1月15号,悬镜供应链安全实验室在Pypi官方仓库(https://pypi.org/)中捕获1起Py包投毒事件,投毒者利用包名错误拼写(typo-squatting)的攻击方式来仿冒谷歌开源的tensorflow机器/深度学习框架,投毒攻击目标锁定AI开发者

供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击

截至目前,投毒者在Pypi仓库共发布5个不同版本的恶意包。Python开发者一旦通过pip命令下载或安装该投毒包(tensrflwo),则会触发执行Py组件包中的恶意后门代码,并最终导致开发者系统被攻击者远程控制。

供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击

恶意PytensrflwoPypi官方仓库上的总下载量为870次。供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击

该恶意Py包已从Pypi官方仓库下架,但通过国内主流Pypi镜像源(清华大学、腾讯云等)依旧可正常下载、安装该恶意包,因此潜在的受害者数量将会更多,尤其对于国内广大使用tensorflow深度学习框架的AI开发者来说,仍存在被恶意投毒攻击的风险。

供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击

投毒分析

Part 1

攻击流程

Py投毒包tensrflwo尝试利用包名错误拼写 (typo-squatting)来攻击使用tensorflow框架的AI开发者。tensrflwo安装包setup.py中定义的taint2()函数通过创建子进程将受害者系统shell反连到投毒者控制的服务器上(59.110.111.85:8088),最终投毒者能够通过反弹的shell实现对受害者系统进行远程控制。

供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击

一旦开发者通过命令pip download tensrflwo下载Py包或者pip install tensrflwo安装Py包时,投毒包tensrflwo中的恶意函数tain2()会立即被调用执行,开发者系统将被投毒者远程控制。

Part 2

攻击复现

以清华大学和腾讯云Pypi镜像源为例,通过以下pip命令模拟开发者安装恶意包tensrflwo

pip install tensrflwo -i  https://pypi.tuna.tsinghua.edu.cn/simple/
pip install tensrflwo -i https://mirrors.cloud.tencent.com/pypi/simple

供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击

同样,在本地环境中模拟投毒攻击者的服务器IP (59.110.111.85),并监听TCP 8088端口,当受害者执行pip install tensrflwo操作时,攻击者可获取受害者系统shell权限,并可对目标系统进行远程控制。

供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击

Part 3

IoC数据

此次投毒组件包涉及的恶意文件和恶意链接IoC数据如下所示:

供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击

排查方式

截至目前,该Python恶意组件包可正常从国内主流Pypi镜像源下载安装,国内Python开发者仍面临被投毒攻击的安全风险,开发者需提高安全防护意识,可自行根据IoC和恶意包信息通过以下方式进行快速排查是否安装或引用恶意组件包。

开发者可通过命令pip show tensrflwo快速排查是否误安装或引用该恶意Py组件包,若命令运行结果如下图所示,则代表系统已被安装该恶意组件,请尽快通过命令pip uninstall tensrflwo -y 进行卸载,此外还需关闭系统网络并排查系统是否存在异常进程。

供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击

此外,开发者也可使用OpenSCA-cli,将受影响的组件包按如下示例保存为db.json文件(可参考总结中提到的组件包信息按格式增减),直接执行扫描命令(opensca-cli -db db.json -path ${project_path}),即可快速获知您的项目是否受到投毒包影响。

[  {    "product": "tensrflwo",    "version""[2.5.1,2.5.1]|[2.7,2.7]|[2.7.1,2.7.1]|[2.8,2.8]|[2.9,2.9]",    "language""python",    "id": " XMIRROR-MAL45-777DD586",    "description""恶意Python组件包投毒,仿冒tensorflow AI框架。",    "release_date": "2024-01-15"  }]

悬镜供应链安全情报中心将持续监测全网主流开源软件仓库,对潜在风险的开源组件包进行动态跟踪和溯源,实现快速捕获开源组件投毒攻击事件并第一时间提供精准安全预警。

推荐阅读

供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击
供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击
供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击
供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击

感谢每一位开源社区成员对OpenSCA的支持和贡献。OpenSCA的代码会在GitHubGitee持续迭代,欢迎StarFork,也欢迎向我们提交ISSUEPR,参与我们的开源安全共建计划,与社区成员共同建设充满可能性的开源解决方案。

GitHub

https://github.com/XmirrorSecurity/OpenSCA-cli/releases

Gitee

https://gitee.com/XmirrorSecurity/OpenSCA-cli/releases

OpenSCA官网

https://opensca.xmirror.cn/

供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击

原文始发于微信公众号(悬镜安全):供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月1日21:17:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   供应链投毒预警 | 恶意Py包仿冒tensorflow AI框架实施后门投毒攻击https://cn-sec.com/archives/2447806.html

发表评论

匿名网友 填写信息