MindArmour之模型安全

举报
lzd 发表于 2020/08/27 19:05:06 2020/08/27
【摘要】 模型安全本文的主要介绍AI模型面临的安全挑战,以及当前MindArmour提供的模型安全防护手段,提高您对AI模型的安全风险认知。近年来,随着海量数据的积累、计算能力的发展、机器学习方法与系统的持续创新与演进,诸如图像识别、语音识别、自然语言翻译等人工智能技术得到普遍部署和广泛应用,人工智能正朝着历史性时刻迈进。AI技术蓬勃发展促使技术革新,同时也存在巨大的安全风险。这种安全风险存在的根本原...

模型安全

本文的主要介绍AI模型面临的安全挑战,以及当前MindArmour提供的模型安全防护手段,提高您对AI模型的安全风险认知。

近年来,随着海量数据的积累、计算能力的发展、机器学习方法与系统的持续创新与演进,诸如图像识别、语音识别、自然语言翻译等人工智能技术得到普遍部署和广泛应用,人工智能正朝着历史性时刻迈进。AI技术蓬勃发展促使技术革新,同时也存在巨大的安全风险。这种安全风险存在的根本原因是AI算法设计之初普遍未考虑相关的安全威胁,使得AI算法的判断结果容易被恶意攻击者影响,导致AI系统判断失准。

MindArmour模型安全模块,主要针对对抗性样本引起的攻击行为,包括了对抗样本生成、对抗样本检测、模型防御、模型评估四个子模块。对抗样本生成模块支持安全工程师快速高效生成对抗样本,用于攻击AI模型;对抗样本检测、防御模块支持用户检测过滤对抗样本、增强AI模型对于对抗样本的鲁棒性;评估模块提供多种指标全面评估对抗样本攻防性能。MindArmour为AI模型安全研究和AI应用安全提供重要支撑。

对抗样本介绍

Szegedy等人[1]在2013年最早提出了对抗样本的概念:在原始样本处加入人类无法察觉的微小扰动,导致深度学习模型的性能下降。如下图所示,在一张猫的图片上加上少量的噪声,对于人类而言几乎没有区别,但是机器学习模型将其以99%的置信度误判为了鳄梨。

cat 图1:对抗样本示例图[1]

对抗样本攻击主要以如下两个模式划分:

  1. 攻击者掌握机器学习模型信息的多少。

    • 白盒攻击:假定攻击者具有对模型的全部知识和访问权限,包括模型结构、权重、输入、输出。攻击者在产生对抗性攻击数据的过程中能够与机器学习模型的系统有所交互。在白盒攻击中攻击者可以针对被攻击模型的特性设计特定的攻击算法。这种攻击方式针对性强,攻击成功率高,但是可推广性差。

    • 黑盒攻击:假定攻击者对被攻击模型的知识非常有限,对于模型结构、权重一无所知,仅了解全部或部分输入、输出,掌握部分或者全部的数据集信息。黑盒攻击相对于白盒攻击更具有现实应用性。

  2. 攻击目的的不同。

    • 有目标攻击:攻击者想要模型将预测结果误分类为特定目标,针对性强。

    • 无目标攻击:攻击者希望模型错误分类预测结果,并不关心新分类是什么。

对抗样本生成

Szegedy等人[1]在2013年提出对抗样本的概念后,便掀起学术界、工业界对AI安全、对抗样本攻防的热烈讨论,越来越多的人们开始探索这个问题。MindArmour实现了其中经典的和近期高效的攻击算法。

MindArmour支持的白盒攻击算法:

  • lbfgs[1]:使用L-BFGS-B最小化原始图像和对抗样本距离。

  • FGSM[3]:基于反向传播,调整输入来最大化损失函数

  • RFGSM[17]:Random结合FGSM。

  • FGM:基于反向传播的单步梯度对抗样本生成算法,是FGSM的扩展,支持1范数、2范数、无穷范数。

  • RFGM:随机扰动结合FGM。

  • LLC[18]:扰动目标为最小概率类别。

  • RLLC[17]:随机扰动结合LLC。

  • BIM[18]:可迭代FGSM,将一步梯度换成多步迭代。

  • MIM[19]:BIM结合momentum优化。

  • PGD[14]:在每次迭代后,更新样本时均映射至原始样本附近的有限范围内。

  • C&W[4]:基于损失函数优化问题的对抗样本生成方法。

  • DeepFool[5]:寻找与当前样本点最近的决策边界方向作为梯度方向进行扰动。

  • JSMA[20]:基于Jacobian矩阵和Saliency Map来寻找输入变化对输出影响最大的点或点对,在相应像素点上添加扰动构造对抗样本。

MindArmour支持的黑盒攻击算法:

  • Substitute Attack[6]:训练替代模型,利用Jacobian增强数据集,获得与原始模型近似的替代模型后,用白盒方法攻击生成对抗样本。

  • HopSkipJumpAttack[7]:基于决策边界的攻击算法,在保持样本对抗性的条件下,减小原始样本与目标样本的距离。

  • NES[8]:在查询受限或查询结构仅有部分预测概率或标签的情况下,用自然选择策略估计梯度,高效生成对抗样本。

  • PointWiseAttack[12]:基于像素点进行二分查找获得最小扰动产生对抗样本。

  • PSOAttack[2]:基于粒子群算法寻找全局最优扰动。

  • GeneticAttack[9]:基于遗传算法寻找最优扰动。

  • SaltAndPepperAttack:基于椒盐噪声产生对抗样本。

对抗样本检测

MindArmour提供多种检测算法,用于快速检测样本是否属于对抗样本、用户查询行为是否在制造对抗样本。

MindArmour支持的检测算法:

  • MagNet[10]:仅利用用户训练集数据,训练自编码器,利用重构误差或者概率分歧误差检测样本对抗性,利用自编码器重构样本减小样本对抗性。

  • Region Based Detector[11]:对抗样本靠近决策边界,对抗样本邻域中的数据点大部分落在真实样本区域,选取样本超立方体空间内随机样本点的最多预测类别作为预估类别。

  • Spatial Smoothing[13]:用高斯滤波、中值滤波、均值滤波等模糊原始图片,当模型对于样本模糊前后的预测值差距大阈值时,判断为对抗样本。

  • Ensemble Detector[14]:对多种检测器的结果进行投票等方式判断是否属于对抗样本。

  • Similarity Detector[15]:基于用户查询序列相似的检测攻击行为。

模型防御

MindArmour提供通用的防御算法,方便开发者快速使用,增强模型鲁棒性。

MindArmour支持的防御算法:

  • NAD[13]:利用FGSM生成的对抗样本随机替换原始数据集,对抗训练,增强模型鲁棒性。

  • PAD[14]:利用PGD生成的对抗样本随机替换原始数据集,对抗训练,增强模型鲁棒性。

  • Ensemble Defense:利用多种攻击算法生成的对抗样本进行对抗训练。

模型评估

MindArmour从攻防可用性的角度提供多种评估指标[16]。对于攻击者而言,希望对抗攻击误判的成功率尽可能的高、扰动于人类而言要尽量不可感知、对抗样本对于可能的防御方法要足够鲁棒。因此可以从误分类率、不可感知性、鲁棒性三个角度来评估攻击方法的性能。对于防御而言,希望尽可能地降低攻击行为成功率的同时,不影响原模型的使用性能,MindArmour也提供了相应的指标。

攻击评估指标

防御评估指标

引用

[1] C. Szegedy, W. Zaremba, I. Sutskever, J. Bruna, D. Erhan, I. Goodfellow and R. Fergus, "Intriguing properties of neural networks," arXiv preprint arXiv:1312.6199, 2013.

[2] Rayan M, Matthew W, Bo Y, Yin P. They Might NOT Be Giants:  Crafting Black-Box Adversarial Examples with Fewer Queries Using Particle Swarm Optimization.  arxiv: 1909.07490. 2019

[3]  Goodfellow I J, Shlens J, Szegedy C. Explaining and harnessing adversarial examples. arXiv preprint arXiv:1412.6572, 2014.

[4] Carlini N, Wagner D. Towards evaluating the robustness of neural networks[C]. Security and Privacy, 2017.

[5] Moosavi Dezfooli S M, Fawzi A, Frossard P. Deepfool: a simple and accurate method to fool deep neural networks[C]. Computer Vision and Pattern Recognition, 2016: 2574-2582.

[6] Nicolas Papernot, Patrick Drew McDaniel, Ian J. Goodfellow, Somesh Jha, Z. Berkay Celik, and Ananthram Swami. Practical black-box attacks against deep learning systems using adversarial examples. CoRR, abs/1602.02697, 2016a.

[7] Jianbo Chen, et al., "HopSkipJumpAttack: A Query-Efficient Decision-Based Attack", in arXiv:1904.02144, 2019.

[8] Andrew Ilyas, Logan Engstrom, Anish Athalye, and Jessy Lin. Black-box adversarial attacks with limited queries and information. In ICML, July 2018.

[9] Moustafa Alzantot, Yash Sharma, Supriyo Chakraborty, "GeneticAttack:  Practical Black-box Attacks with Gradient-FreeOptimization", arxiv:1805.11090, 2019.

[10] MagNet: a Two-Pronged Defense against Adversarial Examples,  by Dongyu Meng and Hao Chen, at CCS 2017.

[11]  Cao X, Neil  Gong Z. Mitigating Evasion Attacks to Deep Neural Networks via Region-based Classification. arXiv:1709.05583.

[12] L. Schott, J. Rauber, M. Bethge, W. Brendel: "Towards the first adversarially robust neural network model on MNIST", ICLR (2019)

[13] A. Kurakin, et al., "Adversarial machine learning at scale," in ICLR,  2017.

[14] A. Madry, et al., "Towards deep learning models resistant to adversarial attacks," in ICLR, 2018.

[15] Stateful Detection of Black-Box Adversarial Attacks by Steven Chen,  Nicholas Carlini, and David Wagner. at arxiv 2019

[16] Xiang L, Shouling J et al., DEEPSEC: A Uniform Platform for Security Analysis of Deep Learning Model. S&P. 2019.

[17] F. Tramer, A. Kurakin, N. Papernot, D. Boneh, and P. McDaniel.  “Ensemble adversarial training: Attacks and defenses” in ICLR, 2018.

[18]A. Kurakin, I. Goodfellow, and S. Bengio,  “Adversarial examples in the  physical world.” in ICLR, 2017.

[19] Y. Dong, F. Liao, T. Pang, H. Su, X. Hu, J. Li, and J. Zhu. “Boosting adversarial attacks with momentum.” arXiv:1710.06081*, 2017.

[20]  N. Papernot, P. McDaniel, S. Jha, M. Fredrikson, Z. B. Celik, and A. Swami. The limitations of deep learning in adversarial settings. in EuroS&P, 2016.



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。