最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

深度学习中的安全隐患:神经网络可以隐藏恶意软件

  • 2022-03-03
  • 本文字数:2340 字

    阅读完需:约 8 分钟

深度学习中的安全隐患:神经网络可以隐藏恶意软件

深度学习模型在其百万乃至千万的参数帮助下,可以做到许多事情,如检测图片中的物体、识别语音、生成文字,甚至是隐藏恶意软件。加州大学圣地亚哥分校和伊利诺伊大学的研究人员发现,神经网络可以在不触发杀毒软件的情况下嵌入恶意负载。

 

深度学习中的这一安全隐患,最初由该论文所开发的恶意软件隐匿技术 EvilModel 所提出,现在已成为各类机器学习和网络安全大会上的热门讨论话题。随着深度学习逐渐与我们的日常生活不可分离,我们应开始思考如何采用新的手段,保护用户免受这类新兴威胁的困扰。

隐匿于深度学习模型中的恶意软件


深度学习模型都是由多层人工神经元组成,而根据层的类型,每个神经元会与其上下层中的部分或全部的神经元有所连接。根据深度学习模型在针对任务训练时使用的参数数值不同,神经元间连接的强度也会不同,大型的神经网络甚至可以拥有数亿乃至数十亿的参数。

 

EvilModel的工作流,该技术可以将恶意软件隐藏在神经网络之中


EvilModel 背后的主要逻辑是将恶意软件嵌入到神经网络的参数中,使其避过杀毒软件的扫描。这是隐写术的一种形式,即将信息隐藏于另一条信息之中。而携带恶意病毒的神经模型还必须在它的本职工作上(比如图像分类)做到和正常模型一样好,才可能避免被怀疑或因为对受害者无用而被抛弃。最后,黑客还需要有一个可以将受感染的模型传输到目标设备的机制,并从模型参数中提取出恶意软件本体。

更改参数值


多数深度学习模型都会使用 32 位(4 个字节)的浮点数来存储参数值。据研究者实验,黑客可以在不显著提升其中数值的前提下,每个参数中存储最多存储 3 字节的病毒。



神经网络中的所有参数都是存储在 4 字节的浮点数中。根据研究,在不显著提升其数值的前提下,最多有三字节可用于嵌入恶意代码。

 

在污染深度学习模型时,黑客会将病毒打散至 3 字节,并将数据嵌入到模型的参数之中。至于传输病毒至目标的手段,黑客可以将感染后的模型发布至 GitHub 或 TorchHub 等任意托管神经模型的网站。还有一种手段是通过更复杂的供应链攻击,让目标设备上软件的自动更新来传播受感染的模型。

 

一旦受感染后的模型传到受害者的设备中,只需要一个小软件就可提取并执行负载。

隐藏恶意软件于卷积神经网络之中


为验证 EvilModel 的可行性,研究人员在多个卷积神经网络(CNN)中进行了测试。CNN 是个很好的测试环境,原因有很多:首先,CNN 的体积都很大,通常会有几十层和数百万的参数;其次,CNN 包含各类架构,有不同类型的层(全连接层、卷积层)、不同的泛化技术(批归一化、弃权、池化等等),这些多样化让评估各类病毒嵌入设定变得可能;第三,CNN 通常用于计算机视觉类的应用,这些都是恶意因素的主要攻击对象;最后,很多经过预训练的 CNN 可以在不经任何改动的情况下直接集成到新的应用程序中,而多数在应用中使用预训练 CNN 的开发人员并不一定知道深度学习的具体应用原理。

 

研究人员首先尝试进行病毒嵌入的神经网路是AlexNet,一款曾在 2012 年重新激起人们对深度学习兴趣的流行软件,拥有 178 兆字节、五个卷积层和三个密集层或全连接层。


AlexNet卷积神经网络(CNN)


在用批归一化(Batch Normalization,一种先分组标准化训练样本,再进入深度模型训练的技术)训练 AlexNet 时,研究者们成功将 26.8 M 的恶意软件嵌入到了模型之中,并同时确保了其与正常模型预测的准确率相差不超过百分之一。但如果增加恶意软件的数据量,污染后模型的准确率将大幅下降。

 

下一步的实验是重新训练感染后模型。通过冻结受感染神经元避免其在额外训练周期中被修改,再加上批归一法和重训练,研究人员成功将恶意病毒的数据量提升至 36.9MB,并同时保证了模型的准确率在百分之九十以上。


左:感染病毒后,神经网络中层数越多保留的准确率越高。右:批归一化和重训练后会提升感染模型的准确率


研究中实验用的八个样本病毒都是可以被线上病毒扫描网站 VirusTotal 识别为恶意软件的,一旦这些病毒样本成功嵌入神经网络,研究人员就会将模型上传至 VirusTotal 中进行扫描。而病毒扫描结果却显示这些模型“安全”,意味着恶意软件的伪装并未暴露。

 

研究人员又在其他几个 CNN 架构上进行了相同的实验,这些 CNN 包括 VGG、ResNet、Inception,以及 Mobilenet。实验结果类似,恶意软件都未被成功检测。这些隐匿的恶意软件将会是所有大型神经网络都需要面对的威胁。

保护机器学习管道


考虑到潜藏在深度学习模型中的恶意负载可以避过病毒扫描的检测,对抗 EvilModel 的唯一手段恐怕就只有直接销毁病毒本身了。

 

这类病毒只有在所有字节都完好无损才能保证感染成功。因此,如果收到 EvilModel 的受害者可以在不冻结受感染层的情况下重新训练模型,改变参数数值,便可让病毒数据直接被销毁。这样,即使只有一轮的训练也足以摧毁任何隐藏在深度学习模型中的恶意病毒。

 

然而事实却是,除非他们想要针对其他应用做更细致的调整,多数的开发者会在下载预训练的模型后直接投入使用。而很多的细调都会冻结网络中绝大多数的层,这些层里很大可能包含了受感染的那些。

 

这就意味着,除了对抗攻击数据中毒成员推理等其他已知的安全问题之外,受恶意软件感染的神经网络也将成为深度学习的未来中真正的威胁之一。


对抗性机器学习模型的威胁矩阵,展示了机器学习管道中的弱点所在


机器学习模型与经典的、基于规则的软件之间的差别意味着我们需要新的方法来应对安全威胁。2021 年上半年的时候,不少组织都提出了对抗性机器学习威胁矩阵,一个可协助开发者们发现机器学习管道弱点并修补安全漏洞的框架。

 

虽然威胁矩阵更侧重于对抗性攻击,但其所提出的方法也适用于 EvilModels 等威胁。在研究人员找到更可靠的手段来检测并阻止深度学习网络中的恶意软件之前,我们必须确立机器学习管道中的信任链。既然病毒扫描和其他静态分析工具无法检测到受感染模型,开发者们必须确保他们所使用的模型是来自可信任的渠道,并且训练数据和学习参数未受到损害。


随着我们在深度学习安全问题方面更深一步的研究,我们也必须对那些用于分析图片或识别语音的、数量庞杂的数据背后所隐藏的东西保持警惕。


原文链接:

Neural networks can hide malware, researchers find

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2022-03-03 10:361890

评论

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

什么是需求管理,产品如何进行需求管理

阿里云云效

云计算 阿里云 需求管理 持续交付 产品研发

Nebula Graph 在众安金融的图实践

NebulaGraph

图数据库 知识图谱 保险业

Flutter 路由参数处理

岛上码农

flutter ios开发 Android开发 移动端开发 3月月更

java高级用法之:JNA类型映射应该注意的问题

程序那些事

Java Netty 程序那些事 3月月更

适合 Kubernetes 初学者的一些实战练习 (四)

Jerry Wang

Kubernetes 云原生 Kubernetes 集群 Serverless Kubernetes 3月月更

Volcano:在离线作业混部管理平台,实现智能资源管理和作业调度

华为云开发者联盟

Kubernetes Volcano 混合部署 离线混合部署 EulerOS

Q1过去了,Gartner战略技术趋势在不动产领域落了几项?

大数据 技术 低代码 AIOT 分布式,

如何实现Spring Gateway 路由的动态加载和刷新?

领创集团Advance Intelligence Group

微服务 Spring Cloud API api 网关

windowsXP用户无法远程桌面连接天翼云2008云主机

天翼云开发者社区

玩转天翼云安全组

天翼云开发者社区

Linux之fgrep命令

入门小站

Linux

[Day4]-[二分查找] 查找数组元素位置

方勇(gopher)

LeetCode 数据结构与算法

NE555 & 工作模式介绍

謓泽

3月月更

轻轻松松实现本地和云主机之间的文件上传下载

天翼云开发者社区

编辑一天编辑多少篇文章合适?

源字节1号

SEO 网站开发

Kubernetes官方java客户端之一:准备

程序员欣宸

Kubernetes java client

业务并发度不够,数仓的CN可以来帮忙

华为云开发者联盟

并发 执行计划 DWS CN 业务并发度

在线Javascript压缩工具

入门小站

工具

HAVE FUN|Layotto 源码解析

SOFAStack

GitHub 开发者 活动 源码解析 源码剖析

5 款阿里常用代码检测工具,免费用!

阿里云云效

云计算 阿里云 代码审查 研发 代码检测

钉钉宜搭受邀参加第三届中国计算机教育大会,发布低代码产学合作计划

一只大光圈

低代码 数字化 钉钉宜搭 计算机教育 CECC

Linux下搭建简易的HTTP服务器完成图片显示

DS小龙哥

3月月更

企业怎么制作帮助文档

小炮

企业 帮助文档

《Mybatis 手撸专栏》第2章:创建简单的映射器代理工厂

小傅哥

源码分析 小傅哥 mybatis

稳定、高效:TDengine 在阿诗特智慧能源管理云平台中的应用

TDengine

数据库 tdengine 物联网

在线MarkDown转HTML工具

入门小站

工具

模块一:微信业务架构图&学生管理系统架构设计

jiaoxn

「架构实战营」

轨物范世:华为手机的影像哲学

脑极体

从一起Linux云主机无法远程ssh登录故障说起

天翼云开发者社区

模块一作业

Kevin

架构实战营

天翼云云主机上搭建FTP服务最佳实践

天翼云开发者社区

深度学习中的安全隐患:神经网络可以隐藏恶意软件_文化 & 方法_Ben Dickson_InfoQ精选文章