ToB企服应用市场:ToB评测及商务社交产业平台
标题:
AI安全入门-人工智能数据与模子安全
[打印本页]
作者:
莱莱
时间:
2024-8-20 15:54
标题:
AI安全入门-人工智能数据与模子安全
参考 人工智能数据与模子安全 from 复旦大学视觉与学习实行室
0. 计算机安全学术着名公众号
安全研究 GoSSIP (蜚语、上海交通大学软件安全小组,紧张由李卷孺老师引导) 官网
网安国际 (由清华大学段海新传授、复旦大学杨珉传授、蚂蚁韦韬博士、华为万涛博士等共同发起) 官网
安全学术圈 (SecQuan) 官网
毛病战役 (林桠泉 泉哥)
安全张之家 (中国科学院大学张玉清传授)
隐者联盟 (AI 安全和多媒体安全,紧张由复旦大学钱振兴传授运营)
NISL 实行室 (清华大学) 官网
1. 概述
数据安全
数据投毒
:通过利用数据网络或标注过程来污染(毒化)部门训练样本,从而大幅低沉最终模子的性能。
数据窃取
:从已训练好的模子中逆向工程出训练样本,从而达到窃取原始训练数据的目标。
隐私攻击
:利用模子的影象能力,挖掘模子对特定用户的预测偏好,从而推理出用户的隐私信息。
数据篡改
:利用模子的特征学习和数据天生能力,对已有数据举行篡改或者合玉成新的虚假数据。
模子安全
对抗攻击
:在测试阶段向测试样本中添加对抗噪声,让模子作出错误预测结果,从而破坏模子在实际应用中的性能。
后门攻击
:以数据投毒或者修改训练算法的方式,向模子中安插精心计划的后门触发器,从而在测试阶段利用模子的预测结果。
模子窃取
:通过与目标模子交互的方式,训练一个窃取模子来模仿目标模子的结构、功能和性能。
3. 人工智能安全基础
当一个安全问题发生时,我们起首要弄清晰是*“谁攻击了谁”*。这就涉及到人工智能安全问题中三类紧张的长处相关者:攻击者、受害者和防御者。
3.1 基本概念
攻击者
攻击者是指对数据、模子及其相关过程,包括数据网络、模子训练和模子部署等,发起恶意监听、窃取、干扰、乃至破坏行为的个人或构造。
注意详细发动攻击的是一个步伐,但是会有人类或者构造来利用,有一种刺人而杀之,曰“非我者,兵也。”的感觉。
攻击方法
攻击方法是指攻击者用来对数据、模子及其相关过程,包括数据网络、模子训练和模子部署等,发起攻击的详细本领。
受害者
受害者是指由于受到数据或模子攻击而长处受到损害的数据或模子全部者、使用者或其他长处相关者。
与受害者密切相关的两个概念是:受害数据(victim data)和受害模子(victim model);
受害数据
受害数据是指受到恶意攻击的训练或测试数据。
受害模子
受害模子是指受到恶意攻击的人工智能模子。
防御者
防御者是指通过肯定的防御措施保护数据或者模子免受潜伏恶意攻击的个人或构造。
防御方法
防御方法是指防御者用来对数据、模子及其相关过程,包括数据网络、模子训练和模子部署等举行保护,使其免受潜伏攻击的详细本领。
下面定义攻防发生的“战场”,即威胁模子。
威胁模子
威胁模子定义了系统的运行情况、安全需求、所面临的安全风险、潜伏攻击者、攻击目标和攻击方法、大概的防御策略、防御者可利用的资源等攻防相关的关键设置信息。
简而言之,威胁模子(threat model)是对真实场景的一种模仿,旨在清晰准确的规定攻击者与防御者之间边界,以便公平的开展攻防研究。数据与模子安全研究中常接纳的威胁模子类型:白盒威胁模子、灰盒威胁模子和黑盒威胁模子。
目标数据
目标数据是指攻击者在举行攻击时的数据对象。
替代数据
替代数据是指攻击者自己网络的、可以用来替代目标数据的傀儡数据。
替代模子
替代模子是指攻击者自己拥有的、可以用来替代目标模子的攻傀儡模子。
3.2 威胁模子
3.2.1 白盒威胁模子
白盒威胁模子紧张是对攻击目标对象来说的,是指攻击者具有对目标数据或目标模子的完全访问权限。只要切实可行,攻击者可以利用任何关于目标数据或目标模子的信息发起攻击。需要注意的是,“白盒”一样平常指的是访问权限,并不意味着攻击者就可以随意修改目标数据或目标模子。否则,攻击者可以任意破坏数据和模子,而不再需要计划特殊的攻击方法。
3.2.2 黑盒威胁模子
与白盒威胁模子不同,黑盒威胁模子假设攻击者只能通过API(application programming interface)对模子发起查询哀求并获得返回结果,而无法获取训练数据、训练方法、模子参数等其他信息。
3.2.3 灰盒威胁模子
灰盒威胁模子介于白盒威胁模子和黑盒威胁模子之间,假设攻击者可以知道攻击目标的部门信息,如任务类型、数据类型、模子结构等,但是无法获得详细的训练数据或模子参数。
3.3 攻击类型
在介绍详细的攻击类型之前,我们需要深入理解机器学习模子本身的特点,由于模子特性决定了它大概存在的弱点和所面临的攻击。这里我们以深度学习模子(即深度神经网络)为例,介绍对机器学习模子不同层次的理解。
机器学习模子是一个
学习器
机器学习模子可以在学习算法,如有监督学习算法、无监督学习算法等的引导下,从给定训练数据中学习潜伏的规律,并能将学习到的规律应用到未知数据上去,这是对机器学习模子最朴素的理解。
学习器存在一系列共同的弱点,比如当任务定义、训练数据、学习算法、训练时长等任何一个环节出了问题,最终得到的模子就会出现性能下降、被恶意攻击等各种风险。所以攻击者可以攻击这其中任何一个环节,以此来制止模子的正常训练、破坏模子的泛化、向模子里安插后门等等。
机器学习模子是一个
计算器
训练好的机器学习模子可以理解为是一个计算器,其可以对输入样本举行一系列复杂的计算并最终输出预测结果。训练好的机器学习模子可以理解为是一个计算器,其可以对输入样本举行一系列复杂的计算并最终输出预测结果。
由于机器学习模子的输入每每是多个样本(一批样本),输出也不是单维度的,所以不同维度的计算结果之间也会产生相互干扰。别的,计算器跟详细的任务一样平常都不是唯一绑定的,也就是说为一个任务涉及的计算器也有大概会被劫持来服务于另一个非法的任务。
机器学习模子是一个
存储器
机器学习模子在训练数据上不停训练的过程也是其不停学习规律、不停存储信息的过程。
既然机器学习模子是一个存储器,那么其存储的信息就肯定可以通过某种方式“提取”出来,导致隐泄露攻击、数据窃取攻击等安全问题的出现。
机器学习模子是一个
复杂函数
机器学习模子可以被理解为一个将输入空间映射到输出空间的复杂函数。
高维的输入和输出空间决定了其难以通过有限训练数据点达到空间的完美覆盖,导致空间存在大量无法被探索到的高维口袋(high-dimensional pocket)。这样的函数也决定了其内部会存在一些近路(shortcut),在这些路径上输入和输出之间距离很近,不需要复杂的计算即可直接得出结论;同时也会存在一些死胡同(dead end),无论怎么计算也得不到某类输出。
3.3.1. 攻击目标
3.3.1.1. 破坏型
破坏型攻击的目标只有一个,那就是“破坏”。破坏型攻击可以破坏机器学习的任何一个关键环节,包括数据网络过程、训练数据、模子的训练过程、训练得到的模子、模子部署、模子测试、测试数据等等。任何攻击都有肯定的动机,对破坏型攻击来说,其攻击动机包括:破坏竞争对手的人工智能系统、以破坏来打单受害用户、偶尔间使用了具有破坏性的样本等等。
3.3.1.2. 利用型
利用型攻击的目标是控制数据或模子以完成攻击者特定的目标。相比破坏型攻击,此类攻击要求攻击者完成对数据或模子更精细化的控制,攻击难度更大。
3.3.1.3. 窃取型
窃取型攻击的目标是通过窥伺数据、模子或者模子的训练过程,以完成对训练数据、训练得到的模子、训练算法等关键信息的窃取。
3.3.2. 攻击对象
机器学习大致遵照“数据网络-模子训练-模子部署”三个步骤。
3.3.2.1. 数据
训练数据和测试数据是两类紧张数据,训练数据服务于模子训练,测试数据服务于模子评估。
数据投毒
攻击通过污染网络到的训练数据以达到破坏数据、阻碍模子训练的目标。数据投毒攻击可以通过不同的方式举行,比如攻击数据的网络过程、标注过程、或者直接污染网络到的数据。
数据窃取
通过对模子举行逆向工程,从中恢复出原始训练数据。
3.3.2.2. 模子
针对模子的攻击紧张包括对抗攻击、后门攻击和模子窃取三大类,这三类攻击分别代表了破坏型、利用性和窃取型这三类攻击目标。
对抗攻击
的思想是让模子在部署使用阶段犯错,其通过向测试样本中添加微小的对抗噪声来让模子做出错误的预测结果。有意思的是,这种通过修改输入样原来干扰模子预测的攻击方式并不特殊,反而会引发两个疑问。
(1) 既然攻击者有修改测试数据的权限,那么他/她就可以随意修改数据,那就不会仅限于微小修改。
(2) 攻击者可以修改测试数据这一假设会面临“动机”方面的挑战,即为什么模子的使用者作为受益者一方要让模子犯错呢?
3.3.3. 攻击机遇
根据攻击机遇的不同,现有攻击约莫可以分为
训练阶段
攻击和
测试阶段
攻击。
3.3.3.1. 训练阶段
与模子训练精密相关的是训练数据、训练算法、超参数和模子,这些元素都有被攻击的大概。在训练阶段,攻击者可以对数据举行投毒攻击,通过污染训练数据来破坏模子的正常训练。例如对训练数据举行增、删、改、换等不同情势的改动,以此来低沉最终训练得到的模子的性能或者其他属性(如鲁棒性、隐私保护性等)。
目前针对训练算法和超参数的攻击并不多见,但是可以想象的是模子训练对这些参数,比如学习率、初始化参数、训练周期,是很敏感的。但是对训练超参的攻击需要很强的威胁模子,比如攻击者可以控制训练过程或者恶意修改训练代码。一个有意思的观察是,部门研究工作开源的代码存在复现难的问题,需要对训练算法和超参数举行进一步调优才能达到论文中报告的结果。对于轻量级的训练来说这大概影响不大,但是对于大规模训练算法来说,这就会带来大量的训练开销,大大增加研究费用。如果在开源代码中故意对超参数举行隐蔽或者过度复杂化以增加复现难度,就可以被视为是一种训练超参攻击。这个攻击很有趣,很像当年我写的代码里面有死循环,被当成病毒干掉了;
3.3.3.2. 测试阶段
相比训练阶段,岂论从数据还是模子的角度来说,测试阶段的攻击更多样化。其中很大一部门原因是测试阶段模仿的是模子的真实使用情况,此时模子会以不同的情势接收外部哀求,会面临多种多样的攻击。在数据方面,可以以模子为媒介对训练数据举行窃取和隐私攻击,还可以借助模子举行数据篡改和伪造。 在模子方面,可以通过修改测试样本对模子发起对抗攻击,或者通过查询API对模子举行窃取攻击。
本文只做扼要记录,详细信息还是细细研究参考书人工智能数据与模子安全
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4