“AI+Security”系列第2期(四):AI/机器学习供应链攻击

news2024/11/5 18:52:22

图片

近日,由安全极客、Wisemodel 社区和 InForSec 网络安全研究国际学术论坛联合主办的“AI+Security”系列第二期线上活动如期举行。此次活动的主题为“对抗!大模型自身安全的攻防博弈”,旨在深入探讨和分析人工智能和机器学习领域中的安全问题。

在这次活动中,ChaMd5 AI组的负责人宁宇飞带来了一场主题为《AI/机器学习供应链攻击》的精彩分享,其深入探讨了供应链攻击中的一个具体类型——Typosquatting(也称为Namesquatting)攻击,以及相关的典型案例。

在数字时代,人工智能与机器学习(AI/ML)技术正以前所未有的速度改变着我们的生活与工作方式。然而,随着这些技术在各行各业中的广泛应用,其供应链中的安全威胁也逐渐浮出水面,成为网络安全领域的新挑战。Typosquatting Attacks作为典型的攻击形式,已成为AI/ML供应链攻击的重灾区。

Typosquatting Attacks

在现代软件开发中,公共仓库中的组件和库是开发者日常使用的重要资源。然而,这些公共仓库也容易受到恶意用户的攻击。恶意用户通过注册与知名实体相似或相同的名称,利用其信誉来实施攻击。这种策略被称为“名字抢注”或“拼写抢注”,并已被广泛用于在Python软件包索引(PyPI)和Node软件包管理器(npm)等平台上传送恶意负载。

图片

名字抢注攻击背后的核心思想是利用开发者对知名库的信任。恶意用户注册一个与知名库名称非常相似的库名称,当开发者不小心拼错或误选时,就可能下载到恶意版本。这些恶意版本可能包含有害代码,能窃取敏感信息、在系统上安装后门,或者执行其他恶意行为。

不仅是传统的软件包仓库,人工智能和机器学习(AI/ML)领域的供应链攻击也日益增多。恶意用户可以在公共ML仓库(如Hugging Face)中利用名字抢注策略。他们上传被破坏的模型,并伪装成来自可信来源的发布工件。尽管Hugging Face为组织提供了验证流程,以帮助用户确认模型的来源,但在网页界面上缺失的验证标志很容易被忽略。而在程序化地从仓库中提取模型时,现有的系统还无法有效指示模型是否来自经过验证的组织。

图片

宁宇飞表示,这种攻击模式的威胁在于它不易被察觉。开发者在使用这些库或模型时,通常信任其来源,未必会进行深度验证。如果开发者不慎使用了恶意模型,可能导致整个AI系统的崩溃,或更严重的后果,如数据泄露和业务中断。

真实世界的例子

关于 LLM Typosquatting Attacks,宁宇飞分享了几个令人警醒的真实案例。

案例1:Hugging Face上的恶意模型

在Hugging Face社区中,发现了多个冒充知名公司(如Facebook、Visa等)名称的仓库,这些仓库中的模型文件(如.pth文件)含有恶意代码,能够在用户设备上加载时泄露API密钥、收集环境变量,并向指定URL发送敏感信息。此外,还有仓库冒充Meta Llama,通过模仿官方元llama存储库,并利用trust_remote_code参数向用户机器发送恶意代码,严重威胁到用户的数据安全。

图片

案例2:pickle.load反序列化漏洞

Python的pickle模块,作为Python对象序列化和反序列化的标准库,其历史遗留的安全漏洞在AI/ML领域被恶意利用。Pickle文件是在Pickle Machine(PM)虚拟机中运行的编译程序,能够构建任意复杂的Python对象。攻击者通过精心构造的pickle文件,可以注入恶意代码,在用户执行pickle.load()时执行任意命令,从而实现对系统的控制。

图片

攻击向量

在现代计算环境中,数据的持久化和传输是日常操作的重要组成部分。然而,这些过程也为恶意攻击者提供了机会,特别是当涉及到Python的pickle模块时。Sleepy Pickle攻击方法便是其中之一,它通过利用pickle模块的序列化和反序列化机制,持久化并传播恶意负载。以下是对Sleepy Pickle攻击方法的详细描述:

图片

1. 持久化恶意负载

Sleepy Pickle的核心是其自我复制机制,使恶意代码在被序列化时得以传播。通过使用pickle.dump()函数,攻击者可以挂钩和隐藏字节码,从而在持久化数据的同时注入恶意负载。当开发者使用pickle模块序列化数据时,如调用pickle.dump(obj, file),恶意代码会被嵌入序列化数据中。这种方法确保了恶意负载在数据被反序列化时能够重新激活。

2. 负载混淆

为了进一步隐藏恶意意图,攻击者可以使用Python的marshal库来编译和序列化代码对象。通过marshal库,攻击者可以将恶意代码编译成字节码并进行序列化。这种方法不仅能提高恶意代码的隐藏性,还能绕过一些简单的安全检查,使恶意负载更加难以被发现和分析。

3. 使用XOR编码变异负载

为了增加攻击的复杂性和难以检测性,攻击者还可以使用XOR编码对负载进行变异。这种方法可以有效地混淆恶意代码,使其在静态分析时难以识别。通过XOR编码,恶意代码在存储时是经过加密的,只有在特定的解码过程中才会恢复原始的恶意代码。

其中,利用pickle文件攻击ML模型的流程:

图片

· ML模型序列化:用户使用pickle.dump(model, "model.pkl")将机器学习模型序列化并保存到文件中。

· 恶意负载注入:攻击者在模型文件中注入恶意pickle负载,通过编辑model.pkl文件,将恶意字节码嵌入到其中。

· 恶意字节码:model.pkl文件包含恶意字节码,例如利用os.exec执行恶意命令。这些恶意代码在文件被反序列化时会被激活。

· 模型反序列化: 用户从文件中加载模型,调用pickle.load("model.pkl")。

· 执行恶意字节码 Python pickle虚拟机在加载模型时执行字节码,导致恶意代码被执行,进而破坏模型或执行其他恶意操作。

这种攻击方法的危险在于其隐蔽性和破坏性。开发者在序列化和反序列化过程中,通常不会预期到恶意代码的存在,从而导致安全漏洞。为了防范此类攻击,开发者应避免反序列化不受信任的数据,并采用更安全的序列化方法,如JSON或安全的第三方库。此外,定期进行安全审计和代码检查,也有助于发现和防止潜在的攻击。

写在最后

AI/ML 技术的快速发展在带来前所未有的机遇之时,也带来了新的安全挑战。在这个充满未知的数字世界中,只有保持高度的警惕性,持续学习并掌握新的防御策略,我们才能保障数据安全和系统稳定,携手共筑网络安全防线,为 AI/ML 技术的健康发展保驾护航。比如,AI 和机器学习供应链攻击愈发复杂和隐蔽,特别是在公共仓库中的名字抢注和 pickle 文件利用方面。宁宇飞通过具体案例和技术细节,深入剖析了此类攻击的原理,并提出了防御措施,为开发者和研究人员提供了重要的安全指导。

“AI + Security”系列的第三期专题分享活动将于9月初左右与大家在线下见面。届时,我们将邀请来自人工智能(AI)和网络安全领域的行业专家以及领军人物共同参与分享,深入探讨并分享关于“AI + Security”技术理念的独到见解和丰富经验。

欢迎大家关注“安全极客”,我们热切期待您的加入,一同推动AI与安全技术的融合与创新,共创美好未来!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2065836.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

武汉流星汇聚:亚马逊返校季学习用品热销,精准布局助力卖家成功

随着夏日的余温逐渐消散,新学期的钟声悄然临近,家长与学生们纷纷投入到新学期的准备工作中,而亚马逊作为全球领先的电商平台,再次迎来了学习用品销售的火爆季节。数据显示,过去30天内,“back to school”&a…

罗德与施瓦茨(RS)RTP164、RTP134,RTP084,RTP064示波器

罗德示波器系列RTP164租赁RTP134收购RTP084/RTP064/RTP034 概述 数字示波器是数据采集,A/D转换,软件编程等一系列的技术制造出来的高性能示波器,是电子类学科设计、制造和维修产品过程中不可或缺的工具。R&SRTP164示波器可以提供16GHz的…

U盘安装Ubuntu24.04,乌邦图,UltralISO

文章目录 前言通过UltraISO,制作启动U盘下载镜像制作工具UltraISO(软碟通)下载ubuntu镜像文件制作启动U盘 安装ubuntu设置root密码,并登陆root 前言 在Ubuntu作为主流的linux系统,有时候使用VMware安装使用,总归有一定的性能损耗…

深度学习 --- VGG16各层feature map可视化(JupyterNotebook实战)

VGG16模块的可视化 VGG16简介: VGG是继AlexNet之后的后起之秀,相对于AlexNet他有如下特点: 1,更深的层数!相对于仅有8层的AlexNet而言,VGG把层数增加到了16和19层。 2,更小的卷积核!…

大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

C语言与Python的区别

一、言语类型Python是一种基于解说器的言语,解说器会逐行读取代码;首先将Python编译为字节码,然后由大型C程序解说;C是一种编译言语,完好的源代码将直接编译为机器代码,由CPU直接履行。 二、内存办理Python…

寄蜉蝣于天地,渺沧海之一粟

工具 1、Zulip 一个开源的群聊软件,有服务端和各种平台的客户端。 2、win-vind 这个工具为 Windows 系统提供 Vim 风格的快捷键,也可以把它当作 Windows 的快捷键设定器。 3、canvas-confetti 在网页上抛洒五彩纸屑的 JS 库。 4、WR.DO 一个开源的 W…

让老周都道歉的360手表,难道是AI模型的锅吗?

360集团创始人、董事长周鸿祎在微博发文,对360儿童手表出现错误问答一事致歉。周鸿祎表示,今天在网上看到视频反映我们某型号的儿童手表出现错误的问答,给用户带来不适,我们表示真诚的歉意。 经过快速检查,出现问题的这…

快手主站前端工程化探索:Gundam 脚手架在新春除夕项目中的实践与展望

一、背景与目标 1.1 背景 Gundam 作为快手主站前端的脚手架,成立于2022年底。当时主站前端的整体工程化建设,从开发准备阶段到开发、联调、测试、部署、运维整个全流程, 其中偏后链路的持续集成和持续部署、错误监控排障,依赖于…

中科服务器磁盘未断电状态被人拔插导致raid故障,安装系统找不到系统盘 修复raid再次安装系统成功

1,根据提示按del进入bios 直接回车 改成good状态保存(多块盘的话重复此操作即可,直到让盘的状态显示good或者online) 然后回到上级导入raid信息 raid信息导入 设置成yes,然后保存退出 然后他会自己同步数据&…

SSM健康生活博客小程序—计算机毕业设计源码23497

摘 要 本文设计了一种基于SSM框架的健康生活博客小程序,为人们提供了运动视频教学、博客信息分享,用户能够方便快捷地查看资讯、搜索健康方面的相关信息、还能发布个人生活博客等。健康生活博客小程序采取面对对象的开发模式进行软件的开发和硬体的架设&…

基于x86 平台opencv的图像采集和seetaface6的性别识别功能

目录 一、概述二、环境要求2.1 硬件环境2.2 软件环境三、开发流程3.1 编写测试3.2 配置资源文件3.2 验证功能一、概述 本文档是针对x86 平台opencv的图像采集和seetaface6的性别识别功能,opencv通过摄像头采集视频图像,将采集的视频图像送给seetaface6的性别识别模块从而实现…

未来城市的科技展望

未来城市,‌将是科技与人文深度融合的产物,‌展现出一个全方位智能化、‌绿色生态且可持续发展的全新面貌。‌随着物联网、‌人工智能等技术的飞速发展,‌未来城市的轮廓逐渐清晰,‌它将为我们带来前所未有的生活体验。‌ 在未来…

Linux驱动学习之点灯(六,利用平台设备总线)

平台设备总线 平台设备总线是内核虚拟的一条总线,早期没有设备树时,通过名字匹配设备信息,如今有设备树通过设备树里的complitable属性匹配,下图是平台设备总线的结构体描述。 much函数是完成信息匹配的, 总线就是使用…

Python 编程 之 tkinter : 导航栏与局部页面切换

import tkinter as tk class App: def __init__(self, root): self.root root self.root.title("导航栏与局部页面切换") self.root.geometry(800x500)self.root.minsize(width800, height300)# 创建导航栏 self.navbar tk.Frame(self.root, bggray) self.n…

TIM输出比较之PWM驱动直流电机应用案例

文章目录 前言一、应用案例演示二、电路接线图三、应用案例代码四、应用案例分析4.1 初始化PWM模块4.1.1 RCC开启时钟4.1.2 配置时基单元4.1.3 配置输出比较单元4.1.4 配置GPIO4.1.5 运行控制 4.2 PWM输出模块4.3 电机模块4.3.1 Motor初始化模块4.3.2 电机调速模块 4.4 主程序 …

0基础学习Python路径(21)Python NameSpaceScope

命名空间定义了在某个作用域内变量名和绑定值之间的对应关系,命名空间是键值对的集合,变量名与值是一一对应关系。作用域定义了命名空间中的变量能够在多大范围内起作用。 命名空间在 Python 解释器中是以字典的形式存在的,是以一种可以看得…

Linux Nvidia驱动一览

Unix Drivers | NVIDIAUnix Drivershttps://www.nvidia.cn/drivers/unix/

告别手动录入,自动化PDF转Excel工具精选

PDF文件可以跨平台高兼容,这就使得在很多需要保存页面版式的文件我们都用PDF格式进行传输。很多时候Excel文件也被这样转发,可是编辑却成为了问题,这时候要是能有pdf转换成excel的工具就能事半功倍了。 1.福昕PDF转换大师 链接一下>>…