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安全的防护

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

参考文章

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 华为AI人工智能开发者入门级考试实验主要包括以下几个步骤: 1. 注册华为云账号:首先,考生需要在华为云官网注册一个华为云账号,获取账号和密码。 2. 登陆华为云平台:使用注册的账号和密码登陆华为云平台,进入控制台。 3. 创建实验环境:在控制台中,选择AI服务,然后选择自然语言处理(NLP)服务,按照指引创建一个NLP实验环境。 4. 获取API密钥:在成功创建实验环境后,进入NLP服务,获取API密钥,确保后续调用接口时能够进行身份验证。 5. 下载并配置实验代码:在实验环境中,选择合适的编程语言(如Python),下载并配置相应的实验代码,以便后续调用API进行开发。 6. 测试API接口:使用下载并配置好的实验代码,调用NLP的API接口,进行简单的测试,确认接口调用正常。 7. 完成自定义开发:根据实验考题要求,进行自定义的开发,可以调用NLP的各种接口,实现相应的功能。 8. 实验报告提交:完成实验开发后,根据考试要求,将实验代码、运行结果以及相关文档整理成实验报告,按照指定格式进行提交。 以上就是华为AI人工智能开发者入门级考试实验的基本步骤。通过完成实验,考生能够更好地了解和掌握华为云平台上AI服务的使用方法,并能够进行简单的开发和调试。 ### 回答2: 华为AI人工智能开发者入门级考试实验步骤主要包括以下几个步骤: 第一步:了解实验要求与背景知识 首先,仔细阅读考试实验要求,理解所需完成的任务和考察的知识点。同时,需要掌握一定的人工智能基础知识,如机器学习深度学习等。 第二步:安装环境与配置相关软件 根据实验要求,安装并配置相关的人工智能开发环境,如Python编程环境、TensorFlow、PyTorch等深度学习框架以及相关的数据处理、数据可视化工具等。 第三步:收集与处理数据 根据实验要求,收集所需的数据集并进行预处理,包括数据清洗、去除异常值等。可使用Python编程语言及相关的数据处理库进行数据处理工作。 第四步:选择与建立模型 根据实验要求,选择合适的机器学习深度学习模型,并进行模型的建立与调优。可以根据任务需求,选择适合的模型架构,如卷积神经网络、循环神经网络等,并根据实验提供的数据集进行模型训练。 第五步:模型评估与结果分析 使用训练好的模型对测试数据进行预测,并评估模型的性能。可以使用一些评价指标,如准确率、召回率、精确率等对模型进行评估,并进行结果分析,分析模型的优点与不足之处。 第六步:撰写实验报告 根据实验要求,撰写实验报告,详细介绍实验的整个流程、使用的方法、所得结果以及对结果的分析与讨论。在报告中,要清晰地描述实验步骤,提供相应的代码和结果展示,并给出必要的结论和建议。 总结: 华为AI人工智能开发者入门级考试实验步骤主要包括了解实验要求与背景知识、安装环境与配置软件、收集与处理数据、选择与建立模型、模型评估与结果分析,以及撰写实验报告。通过这些步骤,考生可以完成实验任务并提交相应的实验报告。 ### 回答3: 华为AI人工智能开发者入门级考试实验主要包括以下步骤: 1. 准备工作:首先,需要注册华为云账号,并登录华为AI开发者平台。获取实验相关的资料和教程,确保对相关知识和技能有一定的了解。 2. 环境搭建:根据实验要求,下载和安装相应的开发工具和软件,例如Python编程环境、Jupyter Notebook等。确保环境搭建正确无误。 3. 实验准备:根据实验要求,准备实验所需的数据集和模型。可以使用华为云提供的开放数据集或自己准备的数据集。 4. 实验步骤:根据实验指导,按照步骤进行实验。可能涉及到各种人工智能领域的任务,例如图像识别、语音识别、自然语言处理等。根据具体要求,编写代码、运行程序并进行调试。 5. 实验结果分析与总结:在实验过程中,记录实验结果和观察到的现象,根据实验结果分析实验效果和准确度。进行总结和归纳,发现问题和不足之处。 6. 提交实验报告:根据实验要求,整理实验过程、结果及分析,撰写实验报告。说明实验的目的、方法和技术实现,展示自己对于人工智能开发的理解和应用能力。 7. 评估和反馈:提交实验报告后,会有专业人士对实验报告进行评估和反馈。根据反馈进行改进和学习,提高自己的能力和水平。 总之,华为AI人工智能开发者入门级考试实验步骤主要包括准备工作、环境搭建、实验准备、实验步骤、实验结果分析与总结、提交实验报告以及评估和反馈。通过这些步骤,可以提升自己在人工智能领域的开发和应用能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值