人工智能基本概念 1956 年,在美国达特茅斯会议上,科学家麦卡锡首次提出“人工智能”:人工智能就是要让机器的行为看起来更像人所表现出的智能行为一样。在人工智能概念提出时,科学家主要确定了智能的判别标准和研究目标,而没有回答智能的具体内涵。之后,包括美国的温斯顿、尼尔逊和中国的钟义信等知名学者都对人工智能内涵提出了各自见解,反映人工智能的基本思想和基本内容:研究如何应用计算机模拟人类智能行为的基本理论、方法和技术。但是,由于人工智能概念不断演进,目前未形成统一定义。 结合业界专家观点认为,人工智能是利用人为制造来实现智能机器或者机器上的智能系统,模拟、延伸和扩展人类智能,感知环境,获取知识并使用知识获得最佳结果的理论、方法和技术。
人工智能发展历程 人工智能自 1956 年诞生至今已有六十多年的历史,在其发展过程中,形成了符号主义、连接主义、行为主义等多个学派,取得了一些里程碑式研究成果。但是,受到各个阶段科学认知水平和信息处理能力限制,人工智能发展经历了多轮潮起潮落,曾多次陷入低谷。 进入新世纪以来,随着云计算和大数据技术的发展,为人工智能提供了超强算力和海量数据,另外,以 2006 年深度学习模型的提出为标志,人工智能核心算法取得重大突破并不断优化,与此同时,移动互联网、物联网的发展为人工智能技术落地提供了丰富应用场景。算力、算法、数据和应用场景的共同作用,激发了新一轮人工智能发展浪潮,人工智能技术与产业发展呈现加速态势。 从整体发展阶段看,人工智能可划分为弱人工智能、强人工智能和超人工智能三个阶段。弱人工智能擅长于在特定领域、有限规则内模拟和延伸人的智能;强人工智能具有意识、自我和创新思维,能够进行思考、计划、解决问题、抽象思维、理解复杂理念、快速学习和从经验中学习等人类级别智能的工作;超人工智能是在所有领域都大幅超越人类智能的机器智能。虽然人工智能经历了多轮发展,但仍处于弱人工智能阶段,只是处理特定领域问题的专用智能。对于何时能达到甚至是否能达到强人工智能,业界尚未形成共识。 人工智能发展历程图
人工智能技术应用 近年来,随着大数据、云计算、互联网、物联网等信息技术的发展,泛在感知数据和图形处理器等计算平台推动以深度神经网络为代表的人工智能技术飞速发展。人工智能在算法、算力和数据三大因素的共同驱动下迎来了第三次发展浪潮,尤其是以深度学习为代表的机器学习算法及以语音识别、自然语言处理、图像识别为代表的感知智能技术取得显著进步。专用人工智能即面向特定领域的人工智能,在计算机视觉、语音识别、机器翻译、人机博弈等方面可以接近、甚至超越人类水平。与此同时,机器学习、知识图谱、自然语言处理等多种人工智能关键技术从实验室走向应用市场。
机器学习主要研究计算机等功能单元,是通过模拟人类学习方式获取新知识或技能,或通过重组现有知识或技能来改善其性能的过程。深度学习作为机器学习研究中的一个新兴领域,由Hinton等人于2006年提出。
深度学习又称为深度神经网络(层数超过3层的神经网络),是机器学习中一种基于对数据进行表征学习的方法。在传统机器学习中,手工设计特征对学习效果很重要,但是特征工程非常繁琐,而深度学习基于多层次神经网络,能够从大数据中自动学习特征,具有模型规模复杂、过程训练高效、结果训练准确等特点。
自然语言处理,研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。人机交互,主要研究人和计算机之间的信息交换,包括人到计算机和计算机到人的两部分信息交换。计算机视觉,是使用计算机模仿人类视觉系统的科学,让计算机拥有类似人类提取、处理、理解和分析图像以及图像序列的能力。生物特征识别,是指通过个体生理特征或行为特征对个体身份进行识别认证的技术。智能语音,主要研究通过计算机等功能单元对人的语音所表示的信息进行感知、分析和合成。
人工智能关键技术
人工智能产业结构 当前,全球人工智能产业链已初具规模,形成多层产业结构,其中基础层是人工智能的基础支撑,提供计算力、数据等基础资源;技术层是人工智能的技术体系,提供算法开发的软件框架、算法模型、关键技术;应用层实现人工智能应用,提供人工智能产品、服务、行业应用解决方案等。
人工智能产业结构
国内政策情况 我国已发布了一系列的人工智能相关政策法规,围绕促进产业技术发展出台了相关政策文件,包括《新一代人工智能发展规划》(以下简称《发展规划》)、《促进新一代人工智能产业发展三年行动计划( 2018-2020年)》(以下简称《行动计划》)、《“互联网+”人工智能三年行动实施方案》、《关于促进人工智能和实体经济深度融合的指导意见》和《国家新一代人工智能创新发展试验区建设工作指引》等。这些文件中均提出了人工智能安全和伦理等方面的要求,主要关注人工智能伦理道德、安全监管、评估评价、监测预警等方面,加强人工智能技术在网络安全的深度应用,《发展规划》提出要“制定促进人工智能发展的法律法规和伦理规范”。
国外政策情况 联合国: 聚焦人身安全和伦理道德,自动驾驶、机器人、人工智能犯罪等领域逐步深入。目前,联合国对人工智能安全的研究主要聚焦于人身安全、伦理道德、潜在威胁和挑战等方面,关注人工智能对人身安全、社会安全和经济发展的影响和挑战,目前已发布了自动驾驶、智能机器人等领域的相关法律法规和研究成果,相关研究正逐步深入。 2016年,联合国欧洲经济委员会通过修正案修改了《维也纳道路交通公约》(以下简称“《公约》”)。 2017年9月,联合国教科文组织与世界科学知识与技术伦理委员会联合发布了《机器人伦理报告》,指出机器人的制造和使用促进了人工智能的进步,并讨论了这些进步所带来的社会与伦理道德问题。 2017年,在荷兰和海牙市政府的支持下,联合国在荷兰建立人工智能和机器人中心,以跟进人工智能和机器人技术的最新发展。该办事处也将联合联合国区域间犯罪和司法研究所(UNICRI)共同处理与犯罪相联系的人工智能和机器人带来的安全影响和风险。 美国: 关注人工智能设计安全,采用标准规范和验证评估减少恶意攻击风险。
2019年2月,美国总统签署行政令,启动“美国人工智能倡议”。该倡议提出应在人工智能研发、数据资源共享、标准规范制定、人力资源培养和国际合作五个领域重点发力。其中,标准规范制定的目标是确保技术标准最大限度减少恶意攻击可利用的漏洞,促进公众对人工智能创新技术的信任。
2019年6月美国对《国家人工智能研究与发展战略计划》进行了更新,在2016年版本的基础上提出长期投资人工智能研究、应对伦理和法律社会影响、确保人工智能系统安全、开发共享的公共数据集和环境、通过标准评估技术等八个战略重点。
欧盟: 重视人工智能伦理道德,对人工智能带来挑战。
2017年,欧洲议会曾通过一项立法决议,提出要制定“机器人宪章”,推动人工智能和机器人民事立法。2018年4月,欧盟委员会发布《欧盟人工智能战略》,通过提高技术和产业能力、应对社会经济变革、建立适当的伦理和法律框架三大支柱,来确立欧盟人工智能价值观。 2019年4月8日,欧盟委员会发布了由人工智能高级专家组编制的《人工智能道德准则》,列出了人工智能可信赖的七大原则,以确保人工智能应用符合道德,技术足够稳健可靠,从而发挥其最大的优势并将风险降到最低。其中,可信赖人工智能有两个组成部分:一是应尊重基本人权、规章制度、核心原则及价值观;二是应在技术上安全可靠,避免因技术不足而造成无意的伤害。 AI安全面临的挑战 AI有巨大的潜能改变人类命运,但同样存在巨大的安全风险。这种安全风险存在的根本原因是AI算法设计之初普遍未 考虑相关的安全威胁,使得AI算法的判断结果容易被恶意攻击者影响,导致AI系统判断失准。 在工业、医疗、交通、 监控等关键领域,安全危害尤为巨大;如果AI系统被恶意攻击,轻则造成财产损失,重则威胁人身安全。AI安全风险不仅仅存在于理论分析,并且真实的存在于现今各种AI应用中。例如攻击者通过修改恶意文件绕开恶意文 件检测或恶意流量检测等基于AI的检测工具;加入简单的噪音,致使家中的语音控制系统成功调用恶意应用;刻意修 改终端回传的数据或刻意与聊天机器人进行某些恶意对话,导致后端AI系统预测错误;在交通指示牌或其他车辆上贴 上或涂上一些小标记,致使自动驾驶车辆的判断错误。应对上述AI安全风险,AI系统在设计上面临五大安全挑战: 软硬件的安全: 在软件及硬件层面,包括应用、模型、平台和芯片,编码都可能存在漏洞或后门;攻击者能够利 用这些漏洞或后门实施高级攻击。在AI模型层面上,攻击者同样可能在模型中植入后门并实施高级攻击;由于AI 模型的不可解释性,在模型中植入的恶意后门难以被检测。
数据完整性: 在数据层面,攻击者能够在训练阶段掺入恶意数据,影响AI模型推理能力;攻击者同样可以在判断 阶段对要判断的样本加入少量噪音,刻意改变判断结果。
模型保密性: 在模型参数层面,服务提供者往往只希望提供模型查询服务,而不希望曝露自己训练的模型;但通 过多次查询,攻击者能够构建出一个相似的模型,进而获得模型的相关信息。
模型鲁棒性: 训练模型时的样本往往覆盖性不足,使得模型鲁棒性不强;模型面对恶意样本时,无法给出正确的 判断结果。
数据隐私: 在用户提供训练数据的场景下,攻击者能够通过反复查询训练好的模型获得用户的隐私信息。
AI安全典型攻击方式 人工智能系统作为采用人工智能技术的信息系统,除了会遭受拒绝服务等传统网络攻击威胁外,也会面临针对人工智能系统的一些特定攻击,这些攻击特别影响使用机器学习的系统。
对抗样本攻击 是指在输入样本中添加细微的、通常无法识别的干扰,导致模型以高置信度给出一个错误的输出。研究表明深度学习系统容易受到精心设计的对抗样本的影响,可能导致系统出现误判或漏判等错误结果。对抗样本攻击也可来自物理世界,通过精心构造的交通标志对自动驾驶进行攻击。 Eykholt等人的研究表明一个经过稍加修改的实体停车标志,能够使得一个实时的目标检测系统将其误识别为限速标志,从而可能造成交通事故。 攻击者利用精心构造的对抗样本,也可发起模仿攻击、逃避攻击等欺骗攻击。模仿攻击通过对受害者样本的模仿,达到获取受害者权限的目的,目前主要出现在基于机器学习的图像识别系统和语音识别系统中。逃避攻击是早期针对机器学习的攻击形式,比如垃圾邮件检测系统、PDF文件中的恶意程序检测系统等。通过产生一些可以成功逃避安全系统检测的对抗样本,实现对系统的恶意攻击。 数据投毒 主要是在训练数据中加入精心构造的异常数据,破坏原有的训练数据的概率分布,导致模型在某些条件会产生分类或聚类错误。由于数据投毒攻击需要攻击者接触训练数据,通常针对在线学习场景(即模型利用在线数据不断学习更新模型),或者需要定期重新训练进行模型更新的系统,这类攻击比较有效,典型场景如推荐系统、自适应生物识别系统、垃圾邮件检测系统等。正确过滤训练数据可以帮助检测和过滤异常数据,从而最大程度地减少可能的数据投毒攻击。
模型窃取 是指向目标模型发送大量预测查询,使用接收到的响应来训练另一个功能相同或类似的模型,或采用逆向攻击技术获取模型的参数及训练数据。针对云模式部署的模型,攻击者通常利用机器学习系统提供的一些应用程序编程接口(API)来获取系统模型的初步信息,进而通过这些初步信息对模型进行逆向分析,从而获取模型内部的训练数据和运行时采集的数据。针对私有部署到用户的移动设备或数据中心的服务器上的模型,攻击者通过逆向等传统安全技术,可以把模型文件直接还原出来使用。
人工智能攻击 对机器学习系统的典型攻击是影响数据机密性及数据和计算完整性的攻击,还有其他攻击形式导致拒绝服务、信息泄露或无效计算。例如,对机器学习系统的控制流攻击可能会破坏或规避机器学习模型推断或导致无效的训练。机器学习系统使用的复杂设备模型(如硬件加速器)大多是半虚拟化或仿真的,可能遭受设备欺骗,运行时内存重新映射攻击及中间人设备等攻击。
AI安全常用的防御手段 AI安全常用防御技术
AI 模型自身在训练与测试阶段遇到的安全威胁,包括投毒攻击、对抗样本攻击和鲁棒性缺乏威胁。为了应对这些威胁,学术界与工业界已经提出了许多有效的防御方法。这些防御方法从模型自身性质出发,针对性地增强了模型自身在真实场景下的鲁棒性。AI 模型训练阶段主要存在的威胁是数据投毒攻击,它可以非常隐蔽地破坏模型的完整性。 近些年来,研究者们提出了多种针对数据投毒攻击的防御方法。 由于传统意义上的有目标的数据投毒攻击可以看作是后门攻击的一种特殊情况。 根据防御技术的部署场景,这些方法可以分为两类,分别是面向训练数据的防御和面向模型的防御。 面向训练数据的防御部署在模型训练数据集上,适用于训练数据的来源不被信任的场景; 面向模型的防御主要应用于检测预训练模型是否被毒化,若被毒化则尝试修复模型中被毒化的部分 ,这适用于模型中可能已经存在投毒攻击的场景。 A I 模型在预测阶段主要存在的威胁为对抗样本攻击。 近些年来,研究者们提出了多种对抗样本防御技术,这些技术被称为对抗防御 (Adversarial Defense)。 对抗防御可以分为启发式防御和可证明式防御两类。 启发式防御算法对一些特定的对抗攻击具有良好的防御性能,但其防御性能没有理论性的保障,意味着启发式防御技术在未来很有可能被击破。 可证明式防御通过理论证明,计算出特定对抗攻击下模型的最低准确度,即在理论上保证模型面对攻击时性能的下界。 根据防御算法的作用目标不同分为三类: 分别是对抗训练、输入预处理以及特异性防御算法。 对抗训练通过将对抗样本纳入训练阶段来提高深度学习网络主动防御对抗样本的能力; 输入预处理技术通过对输入数据进行恰当的预处理,消除输入数据中可能的对抗性扰动,从而达到净化输入数据的功能; 特异性防御算法通过修改现有的网络结构或算法来达到防御对抗攻击的目的。 除了训练与预测阶段存在的威胁,AI 模型还存在鲁棒性缺乏风险。 鲁棒性缺乏是指模型在面对多变的真实场景时泛化能力有限,导致模型产生不可预测的误判行为。 为了增强 AI 模型的鲁棒性,提高模型的泛化能力,增强现实场景下模型应对多变环境因素时模型的稳定性,研究人员提出了数据增强和可解释性增强技术: 数据增强技术的目标是加强数据的收集力度并增强训练数据中环境因素的多样性,使模型能够尽可能多地学习到各种真实场景下的样本特征,进而增强模型对多变环境的适应性; 可解释性增强技术的目标是解释模型是如何进行决策的以及为何模型能够拥有较好的性能。 面向训练数据的防御 Chen 等人提出基于激活值聚类(Activation Clustering)的方法来检测含有后门的数据。他们认为含有后门的任意类别样本与不含后门的目标类别样本若能得到相同的分类结果,会在神经网络的激活值中体现出差异。在使用收集的数据训练得到模型后,他们将数据输入到模型并提取模型最后一层的激活值,然后使用独立成分分析(Independent Component Analysis, ICA)将激活值进行降维,最后使用聚类算法来区分含有后门的数据和正常的数据。
Gao 等人 提出 STRIP 算法来检测输入数据中是否含有后门。他们对输入数据进行有意图的强扰动(将输入的数据进行叠加),利用含有后门的任意输入都会被分类为目标类别的特点(若模型含有后门,含有后门的输入数据在叠加后都会被分类为目标类别,而正常数据叠加后的分类结果则相对随机),通过判断模型输出分类结果的信息熵来区分含有后门的输入数据。
面向模型的防御 面向模型的防御试图检测模型中是否含有后门,若含有则将后门消除。
Liu 等人提出使用剪枝 (Pruning)、微调 (Fine Tuning) 以及基于微调的剪枝 (FinePruning) 等三种方法来消除模型的后门。他们基于 Gu 等发现的后门触发器会在模型的神经元上产生较大的激活值使得模型误分类的现象,提出通过剪枝的操作来删除模型中与正常分类无关的神经元的方法来防御后门攻击。他们提取正常数据在模型神经元上的激活值,根据从小到大的顺序对神经网络进行剪枝,直到剪枝后的模型在数据集上的正确率不高于预先设定的阈值为止。然而,若攻击者意识到防御者可能采取剪枝防御操作,将后门特征嵌入到与正常特征激活的相关神经元上,这种防御策略将会失效。应对这种攻击,研究人员发现通过使用干净数据集对模型进行微调便可以有效地消除模型中的后门,因此结合剪枝和微调的防御方法能在多种场景下消除模型中的后门。 Wang 等人提出 Neural Cleanse 来发现并消除模型中可能存在的后门。他们根据含有后门的任意输入都会被分类为目标类别的特点,通过最小化使得所有输入都被误分类为目标类别的扰动来逆向模型中存在的后门。 对抗训练 对抗训练 (Adversarial Training) 是针对对抗攻击的最为直观防御方法,它使用对抗样本和良性样本同时作为训练数据对神经网络进行对抗训练,训练获得的 AI 模型可以主动防御对抗攻击。对抗训练过程可以被归纳为 MIN-MAX 过程表述为:
其中 J(θ, x′, y) 是对抗攻击的损失函数,θ 是模型参数,x′ 是对抗样本,y 是样本 x的正确标签。内部的最大化损失函数的目的是找出有效的对抗样本,外部的最小化优化问题目的是减小对抗样本造成的损失函数升高。
输入预处理防御 基于输入预处理的对抗防御方法通过对输入数据进行恰当的预处理,消除输入数据中存在的对抗性扰动。预处理后的输入数据将代替原输入样本输入网络进行分类,使模型获得正确的分类结果。输入预处理防御是一种简单有效的防御方法,它可以很容易地集成到已有的 AI 系统中。 图片分类系统中的预处理模块与分类模型通常是解耦的,因此很容易将输入预处理防御方法集成到预处理模块中。一类数据预处理方法使用 JPEG 压缩、滤波、图像模糊、分辨率调整等方来对输入图像进行预处理。 Xie 等人提出一种将图片压缩到随机大小,然后再将压缩后的图片固定到随机位置并向周围补零填充的预处理防御方法。他们的这种防御方式在 NIPS 2017 对抗防御比赛黑盒赛道中获得了较好的成绩,但在白盒攻击情况下可被 EoT 算法攻击成功。 Guo 等人 尝试使用位深度减小、JPEG压缩、总方差最小化和图像缝合等操作对输入样本进行输入预处理,以减轻对抗性扰动对模型分类结果的影响。这种方法可以抵抗多种主流攻击方法生成的灰盒和黑盒对抗样本,但是它仍易受 EoT 算法的攻击。输入预处理除了可以直接防御对抗攻击,还可以实现对抗样本的检测。 Xu 等人分别利用位深度减小和模糊图像两种压缩方法对输入图像进行预处理,以减少输入样本的自由度,从而消除对抗性扰动。他们通过比较原始图像和被压缩图像输入模型后的预测结果的差异大小,辨别输入数据是否为对抗样本。如果两种输入的预测结果差异超过某一阈值,则将原始输入判别为对抗样本。另一类输入预处理技术依赖于输入清理 (Input Cleansing) 技术。与传统的基于输入变换的输入预处理技术不同,输入清理利用机器学习算法学习良性样本的数据分布,利用良性样本的数据分布精准地去除输入输入样本中的对抗性扰动。研究人员首先尝试基于生成对抗网络 (GAN) 学习良性样本的数据分布,并使用 GAN 进行输入清理。 Samangouei 等人 提出使用防御对抗生成网络 (Defense-GAN) 进行输入清理。他们训练了一个学习了良性样本数据分布的生成器,输入数据在输入神经网络进行分类前,会预先在 Defense-GAN 学习到的数据分布中搜索最接近于原输入数据的良性样本。该良性样本将替代原样本,输入神经网络进行预测,使模型输出正确的预测结果。 Shen 等人 [98] 提出使用扰动消除对抗生成网络 (Adversarial PerturbationElimination GAN,APE-GAN) 进行输入清理,其生成器的输入是可能为对抗样本的源数据,输出是清除对抗性扰动后的良性样本。此外,自动编码器技术也被证明可用于输入清理。 Meng 等人使用良性样本数据集训练具有良性样本数据分布的自动编码器。该自动编码器将把可能作为对抗样本的输入进行重构,输出与之对应的良性样本。与上述工作仅从输入层面进行输入清理不同。 Liao 等人 尝试从更深层次的深度学习网络特征图层面进行输入清理。为了使输入样本在特征层面上没有对抗性扰动,他们提出了高阶表征指导的去噪器 (High-level Representation GuidedDenoiser, HGD)。HGD 训练了采用特征级损失函数的用于降噪的 U-Net,最大程度地减少良性样本和对抗样本在高维特征中的差异,从而去除对抗扰动。基于输入预处理的防御把防御的重点放在样本输入网络之前,通过输入变换或输入清理技术消除了对抗样本中的对抗性扰动,处理后的样本对模型的攻击性将大幅减弱。输入预处理防御可以有效地防御黑盒和灰盒攻击,然而对于在算法和模型全部暴露给攻击者的白盒攻击设置下,这些算法并不能保证良好的防御性能。 特异性防御算法 除了对抗训练和输入预处理,很多工作通过优化深度学习模型的结构或算法来防御对抗攻击,我们将其称之为特异性防御算法。进年来,越来越多的启发式特异性对抗防御算法被提出,我们选取其中一些具有代表性的算法归纳如下。蒸馏算法被证明可以一定程度提高深度学习模型的鲁棒性。 Hinton 等人最早提出蒸馏算法 (Distillation),该算法可以做到从复杂网络到简单网络的知识迁移。Papernot 等人在此基础上进一步提出了防御性蒸馏算法,防御性蒸馏模型的训练数据没有使用硬判别标签 (明确具体类别的独热编码向量),而是使用代表各类别概率的向量作为标签,这些概率标签可由早期使用硬判别标签训练的网络获得。研究者发现防御性蒸馏模型的输出结果比较平滑,基于优化的对抗攻击算法在攻击这种模型较难获取有效的梯度,因此防御性蒸馏网络获得了较好的对抗攻击的鲁棒性。实验结果显示,防御性蒸馏算法可以有效地防御 FGSM对抗攻击。 鲁棒性增强 鲁棒性增强是指在复杂的真实场景下,增强 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脚本攻击中的对抗样本攻击和数据投毒攻击的基本原理和分类,在下一篇文章继续学习对抗样本攻击的使用方法,和使用范围,对脚本进行讲解和使用。
团队内部平台 :潮汐在线指纹识别平台 | 潮听漏洞情报平台 | 潮巡资产管理与威胁监测平台 | 潮汐网络空间资产测绘 | 潮声漏洞检测平台 | 在线免杀平台 | CTF练习平台 | 物联网固件检测平台 | SRC资产监控平台 | ......
星球分享方向 :Web安全 | 红蓝对抗 | 移动安全 | 应急响应 | 工控安全 | 物联网安全 | 密码学 | 人工智能 | ctf 等方面的沟通及分享
星球知识wiki :红蓝对抗 | 漏洞武器库 | 远控免杀 | 移动安全 | 物联网安全 | 代码审计 | CTF | 工控安全 | 应急响应 | 人工智能 | 密码学 | CobaltStrike | 安全测试用例 | ......
星球网盘资料 :安全法律法规 | 安全认证资料 | 代码审计 | 渗透安全工具 | 工控安全工具 | 移动安全工具 | 物联网安全 | 其它安全文库合辑 | ......