百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

“你的深度学习框架包含15个漏洞”,360说|附论文

ccwgpt 2024-09-17 12:45 44 浏览 0 评论

允中 李林 编译整理

量子位 出品 | 公众号 QbitAI

注意!你的深度学习框架有漏洞!

这个警告来自360安全实验室(Qixue Xiao、Deyue Zhang)、佐治亚大学(Kang Li)和弗吉尼亚大学(Weilin Xu)的研究者,他们在一篇论文中,对TensorFlow、Caffe、Torch三个深度学习框架中的第三方软件包进行了研究,并在其中查找漏洞,最后得出最开头的研究结论。

尽管这还只是一项初步研究,但研究人员仍然在三个框架中发现了15个漏洞,类型包括:DoS拒绝服务攻击、躲避攻击等。

他们说:“深度学习框架是复杂的,重度依赖大量开源软件包。”这些依赖库,也正是漏洞的根源。

潜藏风险的依赖库

一个典型的、用深度学习框架开发出来的AI应用,在部署时往往是这样的三层结构:

最上面一层,是开发者看得见的深度学习应用,包含应用逻辑、深度学习模型和相应的数据;中间一层是TensorFlow、Caffe等深度学习框架;最下面一层,则是底层框架依赖,也就是深度学习框架所用到的那些组件,比如说OpenCV、GNU LibC、NymPy、以及Google的protobuf等等。

每个深度学习框架,都依赖着大量第三方软件包。比如说使用最广泛的TensorFlow,就有97个Python依赖库;Caffe背后,有137个依赖库,老牌框架Torch7,也有48个Lua模块。

深度学习框架的依赖库

攻击从哪来?

要了解深度学习应用可能面临的风险,就要先清楚它们的攻击面(attack surface),也就是这类软件可能受到怎样的攻击。

对于不同的应用,可能出现的攻击多种多样,不过几位研究员在论文中总结说,有三个攻击面,能够代表绝大部分情况。

他们以MNIST手写数字数据集为例对这三个攻击面做了说明:

输入图像畸形

深度学习应用在进行分类或识别等任务时,会从文件或者网络读取输入数据,在这个环节中,攻击者可能会构建畸形的输入。

需要特别说明的是,如果从摄像头等传感器直接获取输入数据,受到这种攻击的可能性会小很多,但也无法消除。

训练数据畸形

在构建深度学习应用的过程中,需要用数据对模型进行训练,而训练所用的数据集就可能被污染、打上错误的标签。这种攻击方式叫做数据下毒攻击(data poisoning

attack)。

模型畸形

如果深度学习开发者使用别人搭建的模型,就可能会遭受这种攻击。

都不安全

以上面提到的第一个攻击面(输入图像畸形)为例,假设你的输入数据来自文件或者网络,TensorFlow、Caffe和Torch就有十几个漏洞,可能遭受DOS拒绝服务攻击、躲避攻击或者系统妥协攻击,比如说下表列出的这些:

相比较而言,TensorFlow算是表现出色的,但其中也有两个Python软件包(NumPy和)存在DoS攻击风险。

开源计算机视觉代码库OpenCV中的漏洞最多,总共发现了11处。Caffe和Torch框架中都使用了OpenCV。另外,Caffe中还有图像处理库libjasper和图像浏览器OpenEXR的易受攻击版本。

有意思的是,研究人员还发现如何利用越界写入(out-of-bounds write)欺骗AI:在OpenCV中,数据指针可以设置为readData函数中的任何值,然后可以将指定的数据写入数据指向的地址。即可以用来改写分类结果。

OpenCV的例子如下:

我们来详细看一下这几类攻击:

威胁一、DoS拒绝服务攻击

我们在深度学习框架中发现,最常见的漏洞是软件错误,导致程序崩溃,或者进入死循环,或者耗尽所有的内存。

威胁二、躲避攻击

面对脆弱的深度学习框架,攻击者可以利用软件漏洞实施躲避攻击,例如:1、通过漏洞覆盖分类结果,修改特定内存内容 2、劫持控制流程以跳过或重新排序模型执行。

威胁三、系统妥协

攻击者可以利用漏洞劫持控制流,或者远程控制托管深度学习应用的系统。这个情况发生在深度学习应用作为云服务运行,并从网络输入馈送时。

这项研究,已经在敦促框架开发者对安全性进行改进了。作者们在论文中说:“我们的研究结果已经得到相关开发商的证实,其中很多已经根据我们的建议进行了修补。”

论文

最后,附上相关论文:

Security Risks in Deep Learning Implementations

Qixue Xiao, Kang Li, Deyue Zhang, Weilin Xu

在量子位公众号(QbitAI)对话界面回复“360”,即可以直接下载。

— 完 —

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

?'?' ? 追踪AI技术和产品新动态

相关推荐

一个基于.Net Core遵循Clean Architecture原则开源架构

今天给大家推荐一个遵循CleanArchitecture原则开源架构。项目简介这是基于Asp.netCore6开发的,遵循CleanArchitecture原则,可以高效、快速地构建基于Ra...

AI写代码翻车无数次,我发现只要提前做好这3步,bug立减80%

写十万行全是bug之后终于找到方法了开发"提示词管理助手"新版本那会儿,我差点被bug整崩溃。刚开始两周,全靠AI改代码架构,结果十万行程序漏洞百出。本来以为AI说没问题就稳了,结果...

OneCode低代码平台的事件驱动设计:架构解析与实践

引言:低代码平台的事件驱动范式在现代软件开发中,事件驱动架构(EDA)已成为构建灵活、松耦合系统的核心范式。OneCode低代码平台通过创新性的注解驱动设计,将事件驱动理念深度融入平台架构,实现了业务...

国内大厂AI插件评测:根据UI图生成Vue前端代码

在IDEA中安装大厂的AI插件,打开ruoyi增强项目:yudao-ui-admin-vue31.CodeBuddy插件登录腾讯的CodeBuddy后,大模型选择deepseek-v3,输入提示语:...

AI+低代码技术揭秘(二):核心架构

本文档介绍了为VTJ低代码平台提供支持的基本架构组件,包括Engine编排层、Provider服务系统、数据模型和代码生成管道。有关UI组件库和widget系统的信息,请参阅UI...

GitDiagram用AI把代码库变成可视化架构图

这是一个名为gitdiagram的开源工具,可将GitHub仓库实时转换为交互式架构图,帮助开发者快速理解代码结构。核心功能一键可视化:替换GitHubURL中的"hub...

30天自制操作系统:第六天:代码架构整理与中断处理

1.拆开bootpack.c文件。根据设计模式将对应的功能封装成独立的文件。2.初始化pic:pic(可编程中断控制器):在设计上,cpu单独只能处理一个中断。而pic是将8个中断信号集合成一个中断...

AI写代码越帮越忙?2025年研究揭露惊人真相

近年来,AI工具如雨后春笋般涌现,许多人开始幻想程序员的未来就是“对着AI说几句话”,就能轻松写出完美的代码。然而,2025年的一项最新研究却颠覆了这一期待,揭示了一个令人意外的结果。研究邀请了16位...

一键理解开源项目:两个自动生成GitHub代码架构图与说明书工具

一、GitDiagram可以一键生成github代码仓库的架构图如果想要可视化github开源项目:https://github.com/luler/reflex_ai_fast,也可以直接把域名替换...

5分钟掌握 c# 网络通讯架构及代码示例

以下是C#网络通讯架构的核心要点及代码示例,按协议类型分类整理:一、TCP协议(可靠连接)1.同步通信//服务器端usingSystem.Net.Sockets;usingTcpListene...

从复杂到优雅:用建造者和责任链重塑代码架构

引用设计模式是软件开发中的重要工具,它为解决常见问题提供了标准化的解决方案,提高了代码的可维护性和可扩展性,提升了开发效率,促进了团队协作,提高了软件质量,并帮助开发者更好地适应需求变化。通过学习和应...

低代码开发当道,我还需要学习LangChain这些框架吗?| IT杂谈

专注LLM深度应用,关注我不迷路前两天有位兄弟问了个问题:当然我很能理解这位朋友的担忧:期望效率最大化,时间用在刀刃上,“不要重新发明轮子”嘛。铺天盖地的AI信息轰炸与概念炒作,很容易让人浮躁与迷茫。...

框架设计并不是简单粗暴地写代码,而是要先弄清逻辑

3.框架设计3.框架设计本节我们要开发一个UI框架,底层以白鹭引擎为例。框架设计的第一步并不是直接撸代码,而是先想清楚设计思想,抽象。一个一个的UI窗口是独立的吗?不是的,...

大佬用 Avalonia 框架开发的 C# 代码 IDE

AvalonStudioAvalonStudio是一个开源的跨平台的开发编辑器(IDE),AvalonStudio的目标是成为一个功能齐全,并且可以让开发者快速使用的IDE,提高开发的生产力。A...

轻量级框架Lagent 仅需20行代码即可构建自己的智能代理

站长之家(ChinaZ.com)8月30日消息:Lagent是一个专注于基于LLM模型的代理开发的轻量级框架。它的设计旨在简化和提高这种模型下代理的开发效率。LLM模型是一种强大的工具,可以...

取消回复欢迎 发表评论: