AI安全 - 华为白皮书《AI Security White Paper》

20200825 -

0. 引言

(本人非专业认识,仅仅是阅读后的一点理解)
本篇文章是基于阅读华为的白皮书《AI Security White Paper》之后的一些记录。关于白皮书的下载可以通过谷歌搜索得到。
这本白皮书中的内容,跟之前了解到的AI安全的讲解有些不一样,个人感觉应该是切入的视角不一样。之前的一些文章或者白皮书,都从攻击者是否对模型了解分为白盒、灰盒等类别,这里并没有按照这种分类方法,而是直接攻击类别的角度。
本篇文章将记录白皮书的核心内容,并阐述一些自己的理解。

1. AI与安全

AI与安全的关系有两种,一种是很多利用AI的技术,例如机器学习,深度学习的方法来检测网络安全中的威胁,来保证不受攻击或入侵;而另外一个关系是AI本身的安全性,例如在人脸识别中,受到对抗样本的攻击,或者说在训练过程中遭受到了偏差样本的攻击,以此影响到了AI模型的决策解决。还有一种就是在AI诞生时就在讨论的类似伦理的问题,AI会不会替代人类之类的问题,这种关系不在本文的讨论之内。而本篇文章中,将讲述第二种关系,也就是AI模型本身的安全性。

2. 白皮书概要

华为的这篇白皮书的主要目的是探索AI模型自身的安全性,从而保证AI模型和数据的完整性和保密性,保证这两种特性的目的就是防止攻击者改变决策结果或者窃取数据。
而在AI模型或者机器学习系统中产生这种漏洞或者不安全的因素根本原因是AI系统本身缺少解释性
关于这一点,虽然我知道机器学习的可解释性这一概念,但是我不是很理解为什么说这是AI不安全的根本因素。
缺乏可解释性留出了很大空间给攻击者,攻击者可以利用这些地方进行进行对抗攻击,例如evasion(翻译逃脱,感觉是偏离了正常的决策结果一样,也有定义为逃逸攻击,本文中统一使用逃逸攻击来命名),投毒,后门攻击等。这些攻击的效率非常高,而且具备极高的可移植性。例如攻击者可以在训练过程中注入恶意数据来影响最终决策结果,或者直接在决策时输入阶段添加一些其他的偏移也来影响决策结果。

华为在AI安全中,将利用三层方案来保护AI安全:

  • 攻击缓解
  • 模型安全
  • 架构安全
    具体内容将在后续中进行展开。

从这个角度来讲,AI安全应该是保护模型的决策结果,同时保护用户隐私,保护数据。
目前从当前看到的重点是,针对模型的决策结果,而对用户的数据并不是很大的重点。

3. AI安全所面对的威胁

首先应该明白的是,未来的世界必然是智能的世界,所以说利用AI系统进行智能决策,必然要保证AI系统的安全,保证决策过程不受到攻击。
而AI安全所面对的威胁和挑战中,华为的白皮书总结了一下五点:

  • 软件和硬件安全:本身AI系统所在的平台甚至于底层硬件是否有漏洞;同时,攻击者可以在模型中植入后门来加载对抗攻击。而因为AI系统本身缺乏可解释性,也就导致了这种后门难以发现。
  • 数据的完整性:攻击者可以通过在模型的训练阶段注入恶意数据来影响AI模型的决策结果,或者说在输入过程中加入噪声;
  • 模型的保密性:AI服务的提供者仅仅希望能够提供服务,而并不想暴露自己的训练模型。然而一个攻击者通常能够利用大量的查询来克隆出实际使用的AI模型
  • 模型的健壮性或鲁棒性:在AI模型的训练过程中,通常不能面面俱到,也就是说可能存在无法覆盖的情况,这种就导致了鲁棒性不够。因此,AI模型可能无法对对抗样本得到正确的决策;
  • 数据隐私:当训练过程中,是用户提供的训练数据时,攻击者可以通过重复的查询来获取用户的隐私。

我觉得,上述的五个点本质上就是涵盖了AI模型在其产生及最后实际应用中可能存在的威胁。

  1. 模型实际应用中,不能被攻击者通过重复查询来获取模型的参数和用户的数据(模型的保密性、数据隐私)
  2. 应用过程中,不能因对抗样本而生成不可预知的结果;不能因为恶意的样本影响决策(模型的鲁棒性,数据的完整性)
  3. 模型的编码过程中,不能产生代码本身的漏洞(软件和硬件安全)
  4. 训练过程中,不能被掺杂恶意的样本(数据的完整性)

数据的完整性(个人感觉)说的就是输入的数据是正确的,没有被篡改的。

4. 典型的AI安全攻击

4.1 逃逸攻击(Evasion)

在本攻击中,攻击者修改输入数据,从而导致AI模型无法正确地识别出输入。在学术界中该类型的攻击被研究的最多。
1)对抗样本
通过在正常样本中添加较小的扰动,在修改了样本之后,人眼无法识别出异常(图片样本),但对于AI模型来说,影响很大。

2)物理世界的攻击
通过修改类似交通牌的实体,导致AI模型识别出错。

3)可转移性和黑盒攻击
为了生成对抗样本,攻击者需要获取AI模型的参数。但在某些场景中,这些原始模型的参数是很难获取的。有作者发现只要两个模型的训练数据是一样的,那么由一个模型生成的对抗样本对另外一个模型依然是有效的。攻击者可以在不知道模型参数的情况下对模型进行黑盒攻击。
而要达到这个目的,这个结果,攻击者将多次查询某个模型,利用请求结果来训练一个模型,最后利用这个子模型来生成对抗样本,生成的样本用来欺骗原始模型。


这部分内容从结果上来看,就是有对抗样本导致模型的决策出现了偏差,导致这个结果的原因是,数据的完整性,模型的隐私性被破坏。

4.2 投毒攻击(Poisoning)

AI系统经常需要使用新的数据来进行重训练来适应输入的分布变化。攻击者通过构造一定的样本,这部分样本被拼接在训练数据上,影响了正常的结果。例如你构造了一个恶意的样本,但是这个样本被恶意标记为了正常的。
现在进行模型的训练都需要大量的数据,因为这种质量上被篡改,或者标签被篡改,是很难发现的。

4.3 后门(Backdoor)

AI模型同样可以被留有后门,而且只有制作后面的人才能知道如何触发后门。神经网络模型仅仅由一些列参数组成,没有源代码。因此在AI模型中的后门更难以检测。这些后门经常是植入一些特殊的神经元在神经网络模型中。该AI模型在输入正常数据时会跟普通的模型一样,但只有输入了带有特殊模式的输入后,才会触发。大多数这种模型发生在模型的生成和传输过程中。


我个人觉得这里有点说不太通,假设都是普通的CNN模型,前文中提到模型的可解释性很低,那么人无法知道这些模型的东西,制作者不知道,攻击者必然更不知道。这种情况下,攻击者如何操作模型呢?如果是那种多个处理流程的,倒是感觉有希望,就是这部分数据可能只能是这个数值的时候,才会触发。我个人认为,出现这种情况的话,必然是能够知道模型的很多参数了。(或者就是内部人员)
总之,这个攻击的确很厉害,但是个人感觉实现起来不容易吧?就算你能生成一个只有特殊情况下才会触发的后门,那你怎么植入到别人的模型中呢?

4.4 模型提取

攻击者通过利用输入输出和一些外界信息来提取模型的参数或者模型的训练数据。现在大部分AI模型都被部署为类似服务一样的系统,那么用户可以多次来请求API,从而窃取AI模型。这些攻击导致了两个问题,一个就是本身AI这个资产被偷窃,另一个问题就是前文提到的黑盒攻击。

5 AI安全的防护

后文就是针对这些挑战与威胁,华为提出的一些防护手段,这里暂且不进行详细描述。

参考文章

你可能感兴趣的:(安全研究,-,材料阅读,人工智能,深度学习,机器学习)