AI安全发展概述
人工智能概述
人工智能基本概念
人工智能发展历程
人工智能发展历程图
人工智能技术应用
近年来,随着大数据、云计算、互联网、物联网等信息技术的发展,泛在感知数据和图形处理器等计算平台推动以深度神经网络为代表的人工智能技术飞速发展。人工智能在算法、算力和数据三大因素的共同驱动下迎来了第三次发展浪潮,尤其是以深度学习为代表的机器学习算法及以语音识别、自然语言处理、图像识别为代表的感知智能技术取得显著进步。专用人工智能即面向特定领域的人工智能,在计算机视觉、语音识别、机器翻译、人机博弈等方面可以接近、甚至超越人类水平。与此同时,机器学习、知识图谱、自然语言处理等多种人工智能关键技术从实验室走向应用市场。
机器学习主要研究计算机等功能单元,是通过模拟人类学习方式获取新知识或技能,或通过重组现有知识或技能来改善其性能的过程。深度学习作为机器学习研究中的一个新兴领域,由Hinton等人于2006年提出。
深度学习又称为深度神经网络(层数超过3层的神经网络),是机器学习中一种基于对数据进行表征学习的方法。在传统机器学习中,手工设计特征对学习效果很重要,但是特征工程非常繁琐,而深度学习基于多层次神经网络,能够从大数据中自动学习特征,具有模型规模复杂、过程训练高效、结果训练准确等特点。
自然语言处理,研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。人机交互,主要研究人和计算机之间的信息交换,包括人到计算机和计算机到人的两部分信息交换。计算机视觉,是使用计算机模仿人类视觉系统的科学,让计算机拥有类似人类提取、处理、理解和分析图像以及图像序列的能力。生物特征识别,是指通过个体生理特征或行为特征对个体身份进行识别认证的技术。智能语音,主要研究通过计算机等功能单元对人的语音所表示的信息进行感知、分析和合成。
人工智能关键技术
人工智能产业结构
当前,全球人工智能产业链已初具规模,形成多层产业结构,其中基础层是人工智能的基础支撑,提供计算力、数据等基础资源;技术层是人工智能的技术体系,提供算法开发的软件框架、算法模型、关键技术;应用层实现人工智能应用,提供人工智能产品、服务、行业应用解决方案等。
人工智能产业结构
人工智能安全法律法规和政策
国内政策情况
我国已发布了一系列的人工智能相关政策法规,围绕促进产业技术发展出台了相关政策文件,包括《新一代人工智能发展规划》(以下简称《发展规划》)、《促进新一代人工智能产业发展三年行动计划( 2018-2020年)》(以下简称《行动计划》)、《“互联网+”人工智能三年行动实施方案》、《关于促进人工智能和实体经济深度融合的指导意见》和《国家新一代人工智能创新发展试验区建设工作指引》等。这些文件中均提出了人工智能安全和伦理等方面的要求,主要关注人工智能伦理道德、安全监管、评估评价、监测预警等方面,加强人工智能技术在网络安全的深度应用,《发展规划》提出要“制定促进人工智能发展的法律法规和伦理规范”。
国外政策情况
联合国:
美国:
关注人工智能设计安全,采用标准规范和验证评估减少恶意攻击风险。
2019年2月,美国总统签署行政令,启动“美国人工智能倡议”。该倡议提出应在人工智能研发、数据资源共享、标准规范制定、人力资源培养和国际合作五个领域重点发力。其中,标准规范制定的目标是确保技术标准最大限度减少恶意攻击可利用的漏洞,促进公众对人工智能创新技术的信任。
2019年6月美国对《国家人工智能研究与发展战略计划》进行了更新,在2016年版本的基础上提出长期投资人工智能研究、应对伦理和法律社会影响、确保人工智能系统安全、开发共享的公共数据集和环境、通过标准评估技术等八个战略重点。
欧盟:
重视人工智能伦理道德,对人工智能带来挑战。
人中智能安全问题
AI安全面临的挑战
软硬件的安全:
在软件及硬件层面,包括应用、模型、平台和芯片,编码都可能存在漏洞或后门;攻击者能够利 用这些漏洞或后门实施高级攻击。在AI模型层面上,攻击者同样可能在模型中植入后门并实施高级攻击;由于AI 模型的不可解释性,在模型中植入的恶意后门难以被检测。
数据完整性:
在数据层面,攻击者能够在训练阶段掺入恶意数据,影响AI模型推理能力;攻击者同样可以在判断 阶段对要判断的样本加入少量噪音,刻意改变判断结果。
模型保密性:
在模型参数层面,服务提供者往往只希望提供模型查询服务,而不希望曝露自己训练的模型;但通 过多次查询,攻击者能够构建出一个相似的模型,进而获得模型的相关信息。
模型鲁棒性:
训练模型时的样本往往覆盖性不足,使得模型鲁棒性不强;模型面对恶意样本时,无法给出正确的 判断结果。
数据隐私:
在用户提供训练数据的场景下,攻击者能够通过反复查询训练好的模型获得用户的隐私信息。
AI安全典型攻击方式
人工智能系统作为采用人工智能技术的信息系统,除了会遭受拒绝服务等传统网络攻击威胁外,也会面临针对人工智能系统的一些特定攻击,这些攻击特别影响使用机器学习的系统。
对抗样本攻击
数据投毒
主要是在训练数据中加入精心构造的异常数据,破坏原有的训练数据的概率分布,导致模型在某些条件会产生分类或聚类错误。由于数据投毒攻击需要攻击者接触训练数据,通常针对在线学习场景(即模型利用在线数据不断学习更新模型),或者需要定期重新训练进行模型更新的系统,这类攻击比较有效,典型场景如推荐系统、自适应生物识别系统、垃圾邮件检测系统等。正确过滤训练数据可以帮助检测和过滤异常数据,从而最大程度地减少可能的数据投毒攻击。
模型窃取
是指向目标模型发送大量预测查询,使用接收到的响应来训练另一个功能相同或类似的模型,或采用逆向攻击技术获取模型的参数及训练数据。针对云模式部署的模型,攻击者通常利用机器学习系统提供的一些应用程序编程接口(API)来获取系统模型的初步信息,进而通过这些初步信息对模型进行逆向分析,从而获取模型内部的训练数据和运行时采集的数据。针对私有部署到用户的移动设备或数据中心的服务器上的模型,攻击者通过逆向等传统安全技术,可以把模型文件直接还原出来使用。
人工智能攻击
对机器学习系统的典型攻击是影响数据机密性及数据和计算完整性的攻击,还有其他攻击形式导致拒绝服务、信息泄露或无效计算。例如,对机器学习系统的控制流攻击可能会破坏或规避机器学习模型推断或导致无效的训练。机器学习系统使用的复杂设备模型(如硬件加速器)大多是半虚拟化或仿真的,可能遭受设备欺骗,运行时内存重新映射攻击及中间人设备等攻击。
AI安全常用的防御手段
AI安全常用防御技术
面向训练数据的防御
Chen 等人提出基于激活值聚类(Activation Clustering)的方法来检测含有后门的数据。他们认为含有后门的任意类别样本与不含后门的目标类别样本若能得到相同的分类结果,会在神经网络的激活值中体现出差异。在使用收集的数据训练得到模型后,他们将数据输入到模型并提取模型最后一层的激活值,然后使用独立成分分析(Independent Component Analysis, ICA)将激活值进行降维,最后使用聚类算法来区分含有后门的数据和正常的数据。
Gao 等人 提出 STRIP 算法来检测输入数据中是否含有后门。他们对输入数据进行有意图的强扰动(将输入的数据进行叠加),利用含有后门的任意输入都会被分类为目标类别的特点(若模型含有后门,含有后门的输入数据在叠加后都会被分类为目标类别,而正常数据叠加后的分类结果则相对随机),通过判断模型输出分类结果的信息熵来区分含有后门的输入数据。
面向模型的防御
面向模型的防御试图检测模型中是否含有后门,若含有则将后门消除。
对抗训练
对抗训练 (Adversarial Training) 是针对对抗攻击的最为直观防御方法,它使用对抗样本和良性样本同时作为训练数据对神经网络进行对抗训练,训练获得的 AI 模型可以主动防御对抗攻击。对抗训练过程可以被归纳为 MIN-MAX 过程表述为:
其中 J(θ, x′, y) 是对抗攻击的损失函数,θ 是模型参数,x′ 是对抗样本,y 是样本 x的正确标签。内部的最大化损失函数的目的是找出有效的对抗样本,外部的最小化优化问题目的是减小对抗样本造成的损失函数升高。
输入预处理防御
特异性防御算法
鲁棒性增强
鲁棒性增强是指在复杂的真实场景下,增强 AI 模型面对环境干扰以及多样输入时的稳健性。目前,AI 模型仍然缺乏鲁棒性,当处于复杂恶劣的环境条件或面对非正常输入时,性能会出现一定的损失,做出的不尽人意的决策。鲁棒性增强就是为了使模型在上述情况下依然能够维持其性能水平,减少意外的决策失误,可靠地履行其功能。构建高鲁棒性的 AI 模型不仅有助于提升模型在实际使用过程中的可靠性,同时能够从根本上完善模型攻防机理的理论研究,是 AI 模型安全研究中重要的一部分。为了增强模型的鲁棒性,可以从数据增强和可解释性增强两个方面进行深入探索。
可解释性增强
可解释性增强一方面从机器学习理论的角度出发,在模型的训练阶段,通过选取或设计本身具有可解释性的模型,为模型提高性能、增强泛化能力和鲁棒性保驾护航;另一方面要求研究人员能够解释模型有效性,即在不改变模型本身的情况下探索模型是如何根据样本输入进行决策的。针对模型可解释性增强,目前国内外研究主要分为两种类型:集成解释(Integrated Interpretability)和后期解释 (Post Hoc Interpretability)。
四、对抗样本攻击
本节介绍对抗样本攻击的基本原理进行介绍,然后对其攻击技巧与攻击思路进行了解。
4.1 对抗样本攻击的基本原理
对抗样本攻击主要通过在干净样本中添加人民难以察觉的细微扰动,来使正常训练的深度学习模型输出置信度很高的错误预测。对抗样本攻击的核心在于如何构造细微扰动。深度学习模型的训练过程如图4.1所示,假设模型F的输入为x,预测结果为F(x),真实类别标签为y,由F(x)和y求出损失函数L,通过反响传播算法求出梯度并对模型F进行优化,不断减少损失函数的值,直到模型收敛。深度学习模型的预测过程如图4.2所示。一般而言,对于一个训练好的模型F,输入样本x,输出F(x)=y,如图4.3所示。
图 4.1 深度学习模型的训练过程
图4.2 深度学习模型的预测过程
假设存在一个非常小的扰动e,使得式(4.4)成立,即模型预测结果发生了改变,那么x+e就是一个对抗样本,构造e的方式就称为对抗样本攻击。如图4.5所示。
图4.5 对抗样本攻击示意图
对抗样本攻击常见的场景为图像分类,通过在图像上叠加精心构造的变化量,在肉眼难以察觉的情况下,让分类模型以较高的置信度产生错误的预测。
4.2 对抗样本攻击的分类
对抗样本攻击按照攻击后的效果可以分为定向攻击(Targeted Attack)和非定向攻击(Non-Targeted Attack)。
4.2.1 定向攻击
定向攻击是在将深度学习模型误导至攻击者指定的输出,如在分类任务中指定将熊猫识别为牛。给出定向攻击的目标标签为牛,构造相应的扰动e附加到输入样本熊猫x上,使得模型F的预测结果F(x+e)为牛。定向攻击即要降低深度学习模型对输入样本真实标签的置信度,又要尽可能地提升攻击者指定标签的置信度,因此攻击难度较大。
4.2.2 非定向攻击
非定向攻击是在将深度学习模型误导至错误的类别,而不指定具体的类别,如在分类任务中将熊猫识别为非熊猫的任一类别即可。构造扰动e附加到输入样本熊猫x上,使得模型F的预测结果F(x+e)为非熊猫。非定向攻击仅需要尽可能地降低深度学习模型对输入样本真实类别的置信度,因此攻击难度相对较小。对抗样本攻击安装攻击环境可以分为白盒攻击(White-Box Attack)和黑盒攻击(Black-Bpx Attack)。按照攻击环境,对抗样本攻击可以分为输入可直接从存储介质中获取的数字世界攻击(Digital Attack)和输入需要从物理世界中获取的物理世界攻击(Real-World Attack/Physical Attack)。
五、数据投毒攻击
近些年来,随着深度学习技术进一步发展与应用,对抗样本相关技术即体现模型脆弱性一个十分重要的方面。和对抗样本攻击不同,数据投毒攻击是另一种通过污染模型训练阶段数据来实现攻击目的的手段,其利用深度学习模型数据驱动(Data-dreiven)的训练机制,通过构造特定的样本数据影响模型训练,从而实现部分控制模型表现的能力。
5.1数据投毒攻击的基本原理
数据投毒主要在于通过无言训练数据影响模型训练,从而使模型有某种特定的表现,如控制某些简单的行为。数据投毒攻击的核心为如何构建可以实现特定目标攻击的数据投毒样本。数据投毒攻击可以被定义为一个双层优化问题,如式(5.1)所示。
Ltrain可以为任意一个传统任务的损失函数,如垃圾邮件检测、图像分类等。基于原始干净数据集Dclean和投毒数据集Dpoison,在给定损失函数Ltrain下进行优化可以获得模型更新后的参数_Theta,Dadv是一个测试对抗样本集合,Ladb是和投毒目标相关的损失函数,攻击者希望通过数据投毒在训练号的参数Theta_和对抗样本集合Dadv上获得的损失Ladb最小(攻击目标最优)。为了姐姐双层优化问题,领域内发展出了很多不同的解法,我将在以后进行介绍。
5.2数据投毒攻击的范围与思路
在学习数据投毒攻击中,书中共介绍了三个可能的数据投毒入口。
1、产品开放入口;
2、网络公开数据;
3、内部人员。
总结
在本篇文章中,我们基本学习了介绍AI的框架组成,AI脚本攻击中的对抗样本攻击和数据投毒攻击的基本原理和分类,在下一篇文章继续学习对抗样本攻击的使用方法,和使用范围,对脚本进行讲解和使用。
文章来源:tide安全团队
黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担!
如侵权请私聊我们删文
END
多一个点在看多一条小鱼干