给AI系统做“安全体检”,阿里安全提出自动化AI对抗平台CAA | AAAI 2021
出品 | AI科技大本营(ID:rgznai100)
安全人员曾为某车企自动驾驶系统做过一次安全测试,用物理对抗攻击欺骗Autopilot车道检测系统,导致汽车在Autopilot不发出警告的情况下驶入错误车道。假如这是一场真实的攻击,后果不堪设想。
事实上,AI系统如果没有足够的“免疫力”,甚至会被一张图片欺骗,如将停车标志识别为通行,在医疗应用中将有问题的医疗影像识别为正常图像等。
为帮助AI应用从源头构建安全性,阿里安全图灵实验室整理归纳了学界针对AI模型提出的32种攻击方法,以此为基础搭建了一个自动化AI对抗攻击平台CAA,帮助检测AI系统存在的安全漏洞。
经CAA“体检”后,AI安全专家可针对被检测AI的薄弱地带提出安全建议,助力AI鲁棒性(稳定性)检测,以此增强AI系统的安全性。
近日,该研究成果《Composite Adversarial Attacks》被人工智能顶会AAAI2021接收。AAAI2021从7911篇有效投稿中录取了1692篇论文,录取率约为21%。
自动化搜索技术合成多个攻击算法的组合
阿里安全图灵实验室整理归纳了学界针对AI模型提出的32种攻击方法,以此为基础搭建了一个自动化对抗攻击平台CAA。
横向对比业界的其他工具箱,图灵实验室的自动化对抗攻击平台首度实现对抗攻击的“工具化”。它让攻击者在没有任何专业领域知识的情况下,也可以进行AI模型的对抗攻击和鲁棒性测试。
除此之外,阿里对抗攻击平台通过自动化搜索技术来合成多个攻击算法的组合,该特性提升了现有模型攻击方法的性能和效率。
该论文通过实验表明,CAA超越了最新提出的攻击方法,是威胁当前AI系统安全的最强攻击。
对抗攻击是当下AI系统的新威胁,它使得很多在现实世界中应用的AI系统存在的安全漏洞极大地暴露了出来,例如特斯拉汽车自动驾驶Autopilot的车道检测系统被来国内安全研究人员通过物理对抗攻击所欺骗,导致汽车在Autopilot在不发出警告的情况下驶入错误车道。
除了自动驾驶,在每天信息爆炸增长的互联网上,一些暴力色情的信息也需要AI模型去自动过滤,但是经过对抗攻击处理的信息可以轻易的绕过识别模型,影响清朗的网络空间。
近年来,学界提出了多种实现对抗攻击的方法,他们都被集成在各大工具箱中。如图1所示,研究者通常利用这些工具箱实现的攻击算法,在原图上添加肉眼不可感知的对抗扰动,从而欺骗目标模型使得一张色情图片被错误判断为正常。
图1:通过对抗攻击绕过色情识别系统的简单图例
图2:左图为合成对抗攻击示意图,右图是CAA和现有方法的对比
算法自动选择最优攻击组合和参数
在不知道目标模型的防御细节的情况下,研究者很难根据经验选择到对当前模型最优的攻击算法。
例如,对抗训练的模型对PGD,FGSM等梯度优化攻击很鲁棒,但是对图片的Spatial transform很脆弱,反之经过图像平移旋转数据增强的模型对Spatial transform鲁棒,而PGD,FGSM则很容易攻击成功。
这个现象说明利用现有工具箱实现的攻击方法去盲目尝试和微调是低效的,因此,为了更精准的检查目标模型的漏洞,获得全面的鲁棒性报告,通常需要合成多个对抗攻击。
其次,在实际中,完成对抗攻击有很高的门槛,研究者需要从多个工具箱集成的多个攻击算法不断的尝试,调整参数,这一步要求攻击者具备一定的领域知识和经验,并且具备一定规模的计算资源。
以事前“攻击演练”检测AI系统的安全性,是当前提升安全AI的有效方法,也是阿里提出新一代安全架构,从源头构建安全的核心理念。
但如果不知道目标模型的防御细节,研究者通常很难根据经验选择到对当前模型最优的攻击算法,从而难以验证“体检”的真实效果。
为了解决这个问题,阿里安全图灵实验室的专家首次提出将自动化技术引入到对抗攻击中,使得所有攻击对抗细节和参数作为一个黑箱,而研究者只需要提供目标模型和数据,算法就会自动选择最优的攻击组合和参数。
基于以上分析,该论文提出了两点改进。
首先文章探究了如何更高效的合成多个对抗算法,如图2左所示,通过对比单攻击、多攻击并行合成、多攻击串行合成三种方式,文章发现多攻击串行进行攻击合成的形式更加通用且具备更强的攻击效果。
通过引入恒等变换操作,即不进行任何处理的IdentityAttack、单攻击、多攻击并行合成可以看作多攻击串行合成的特例,因此文章采用后者作为多攻击合成的方式。在图2左的例子中,相比前两者,CAA的攻击合成机制可以造成目标模型更大的分类错误率。
其次,阿里安全图灵实验室首次研究了在自动化技术辅助下的对抗攻击,CAA实现了32种常用的攻击算法作为攻击的候选池,并且使用搜索算法从候选池中选择最优的组合和每个算法的超参数,而目标函数则是最小化目标模型的分类准确率和计算复杂度(在攻击中量化为需要后向计算目标模型梯度的次数)。
文章对比分析了三种在自动机器学习中常用的技术:贝叶斯优化、强化学习、遗传算法。
在该问题下,基于全局优化的遗传算法取得了更好的效果和收敛速度,论文最终采用NSGA-II非支配排序遗传算法进行攻击算法和超参数的搜索。
在实验中,研究人员把攻击场景分为两种:扰动受限和扰动不受限,如图3左上所示,CAA在linf攻击设定下实现了7种攻击进行搜索,而在l2攻击和扰动不受限攻击设定下分别实现了7种和20种。图3展示了这两种场景下的对抗样本。
通过在3个数据集(Cifar10,ImageNet,Bird&Bicycle)和11种不同防御上的测试,实验表明CAA在扰动受限和扰动不受限两种攻击模式下均超越了现有模型,尤其是在扰动不受限攻击上,几乎使得现有防御模型的分类准确率降低至0%。
图3:左上为本文实现的32种基础攻击算法,
左下是不同攻击策略生成的对抗样本示例,右图为扰动不受限对抗样本示例
对于暴恐、色情识别等安全防控AI,模型可靠性和鲁棒性显得尤为重要,而阿里安全图灵实验室提出的自动化对抗攻击平台现已经在内部场景进行使用,对业务场景的识别模型进行更加可信的鲁棒性评估。
同时,算法开发人员可以根据鲁棒性评估结果检查模型的安全漏洞。以AI体检AI,以AI训练AI。
阿里安全图灵实验室算法专家萧疯认为,对识别黄、赌、毒等不良内容的安全检测AI而言,模型可靠性和鲁棒性显得尤为重要。
目前,在鉴黄算法上,图灵实验室正在借此技术方法提升曝光、模糊、低画质等极端分类场景下的模型识别能力,并且逐渐提升模型在极端场景下的鲁棒性,为业界提供更安全可靠的AI算法能力。
论文地址:
https://arxiv.org/pdf/2012.05434.pdf
更多精彩推荐
【官方福利】CSDN内测师限时申请,参与赢年末礼包
GitHub标星7000+,快速恢复像素化图像,效果惊人
赠书 | AI 还原宋代皇帝,原来这么帅?!
红帽"干掉" CentOS 8,CentOS Stream 上位
对标鸿蒙 OS,Google 下一代操作系统 Fuchsia 源码公开!
相关文章:

linux新建文件权限问题
touch /etc/init.d/httpdchmod 755 /etc/init.d/httpdtouch可以新建一个空文件,可以修改文件的创建时间。比如:编译时看到提示文件的时间为将来的时间,可以使用touch命令来修改。Linux chmod 755和chmod 777 在linux终端先输入ls -al,可以看到…

基于MMSeg算法的中文分词类库
最近在实现基于lucene.net的搜索方案,涉及中文分词,找了很多,最终选择了MMSeg4j,但MMSeg4j只有Java版,在博客园上找到了*王员外*(http://www.cnblogs.com/land/archive/2011/07/19/mmseg4j.html )基于Java版的翻译代码…
关于git bush 中不能复制黏贴的问题
如果你是一个新手的话,在你使用个git的过程中,你会发现git 竟然不能复制黏贴,这简直是完全不能忍受的事,复制黏贴可以大大的节省了我们敲代码的时间,特别是在github中clone别人的仓库到本地,url地址需要一个…

linux系统proc目录进程信息详解
Proc 文件系统是一个实时的,常驻内存的文件系统,它跟踪进程在你机器上的运行情况和你系统的状态。/proc文件系统是常驻虚拟内存并且维持着操作系统的动态数据。大部分的 /proc文件系统信息被实时更新来与当前操作系统的状态一致。/proc文件系统的内容能被…

AI开源评测基准AI-Rank,为开源建立标准
当前,数字经济已经成为经济发展的活力引擎和促进经济结构转型升级的重要动能,深刻改变着人类的生产生活方式。12月11日,2020中关村大数据日暨数字经济融合创新发展论坛在北京举行。本届中关村大数据日以“开源共享 生态赋能”为主题ÿ…

Linux 汇编语言开发指南
Linux 汇编语言开发指南肖文鹏 (xiaowp263.net), 北京理工大学计算机系硕士研究生本文作者 肖文鹏是北京理工大学计算机系的一名硕士研究生,主要从事操作系统和分布式计算环境的研究,喜爱Linux和Python。你可以通过 xiaowp263.net与他取得联系。 简介&am…

拦截器与filter的区别
在接触拦截器和filter以来,觉得这两者有太多相似之处,都是运用aop的思想处理事情,但是这两者到底有什么区别倒一直很模糊,今天看书的时候,终于看到自己满意的解答了,赶紧记录下来:1.使用范围不同…
湘苗培优 | 从入门到精通
缘起2020年长沙发出软件再出发号召,同时发布了《长沙市软件和信息技术服务业发展三年(2020-2022 年)行动计划》。当软件产业的生态逐渐建立,企业孵化培育的土壤逐渐肥沃,长沙软件产业焕发出前所未有的活力和生机,一大批软件产业项…

HBase scan setBatch和setCaching的区别
2019独角兽企业重金招聘Python工程师标准>>> HBase的查询实现只提供两种方式: 1、按指定RowKey获取唯一一条记录,get方法(org.apache.hadoop.hbase.client.Get) 2、按指定的条件获取一批记录,scan方法&…
3行Python代码就能获取海量数据?
一谈起数据分析,首先想到的就是数据,没有数据,谈何分析。毕竟好的菜肴,没有好的原材料,是很难做的~所以本期小F就给大家分享一个获取数据的方法,只需三行代码就能搞定。「GoPUP」,大…

c语言中int和指针和字符所占字节
Linux下 sizeof(int);int 4字节 sizeof(char);字符1字节 char * p"12345"; sizeof(p);指针占4字节

SCCM 2012 SP1系列(七)分发部署exe软件
2、exe软件分发以skydrive为例,打开SCCM控制台,展开应用程序管理,右键“包”选择“创建包”打开创建包和应用程序向导,填写部署包的相关信息,勾选“此包包含源文件”,然后点击“浏览”选择sykdrive文件位置…

关于勒索病毒的防御
关于勒索病毒的防御Windows的445漏洞与139漏洞由来已久,大面积暴发只是迟早的事情。关于防御方法其实也有很多,早就满地都是了。但是快速、大量、不断网的部署防御却不容易。比如使用端口排除、删除文件与打印共享服务、修改注册表、使用防火墙、以及组策…

linux的根文件系统中的proc文件夹详解
什么是proc文件系统 |linux /proc目录介绍|proc中文手册proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,…

学习C语言必须知道的理论知识(第一章)
计算机语言:人和计算机都能识别的语言。 程序:就是一组计算机能识别和执行的指令叫做程序。 程序设计:从确定任务到得到结果,写出文档的全过程。 机器指令:计算机能直接识别和接受的二进制代码称为机器指令(machine instruction) …
赠书 | 实现病人数据自动分析建模,Python能做的比你想象得更多
者 | 李秋键责编 | 晋兆雨头图 | CSDN下载自视觉中国*文末有赠书福利数据表格整理等作为我们工作学习生活中最为繁琐和无趣的任务之一,消耗掉了我们的大多数时间。而今天我们就将利用Python对病人数据进行建模,并自动生成表单,从而节省了我们…

Java中元组的使用
元组在计算机领域有着特殊的意义,这个名字听起来似乎有些陌生, 平时在写代码也基本没什么应用场景, 然而, 出人意料的是, 元组跟程序设计密切相关, 可能有的同学不知道, 关系数据库中的「纪录」…
「修炼开始」一文带你入门深度学习
来源 | Jack Cui责编 | Carol封图 | CSDN下载自视觉中国前言图解 AI 算法系列教程,不仅仅是涉及深度学习基础知识,还会有强化学习、迁移学习等,再往小了讲就比如拆解目标检测算法,对抗神经网络(GAN)等等。难…

Lucene.net中文分词探究
一、中文分词方式: 中文分词几种常用的方式: A. 单字分词 单字分词,顾名思义,就是按照中文一个字一个字地进行分词。如:我们是中国人,效果:我/们/是/中/国/人。 B. …

httpd服务相关实验
实验环境: CentOS6.8 1、连接测试: 在/etc/httpd/conf/httpd.conf telnet 172.16.252.242 80 GET /index.html HTTP/1.1 Host: 172.16.252.242 # KeepAlive: Whether or not to allow persistent connections (more than # one request per connection).…
WMI使用集锦
1.WMI简介WMI是英文Windows Management Instrumentation的简写,它的功能主要是:访问本地主机的一些信息和服务,可以管理远程计算机(当然你必须要拥有足够的权限),比如:重启,关机&…

基于Ubuntu交叉编译FFmpeg Windows SDK
写在前面 FFmpeg是一个开源且跨平台的音视频解决方案,集采集、转码、流式化为一身,项目的libavcodec编解码模块和libavformat媒体格式模块,支持非常非常丰富的编解码格式和容器封装格式,是做媒体相关开发工作必须要掌握和借鉴的一…
未来2年,程序员如何吊打高学历工程师?服气!
人工智能已成为新时代的风向标,如果你是对人工智能感兴趣的互联网工作者、大学生、研究生并期望在 AI 方向发展,建议你一定要深入学习一下人工智能。因为,未来将是人工智能的时代!为什么会有这个判断呢?第一࿰…

元素宽高的获取
elem.clientWidth/Height 获取某个元素可视区的宽高(不包括边框); elem.offsetWidth/Height 获取某个元素的宽高(计算边框); 当元素有padding值时,上面两个方法获取的值都包括padding。 doc…

VC++技术内幕(三)
C*View <- Cview <- CWnd <- Cobject C*View 两个最重要的基类:CView和CWnd,CWnd提供了C*View的”窗口属性”,CView则提供了它和应用程序框架其他部分间的联系。 在视窗内绘图: OnDraw成员函数: 是CView类中的虚成员函数…

用ASP.NET如何读取NT用户名
公司有个最近要开发一个小系统,是采用ASP.NET开发,现在被一难题卡住了. 需实现功能: 用户登录进来后系统自动取得用户名,这样就不用用户再登录了, 方便用户使用,并根据用户名取他的权限. 难点: 现在读NT用户名读不倒. 折腾了大半…
《赛博朋克2077》是捏脸游戏?上科大学生社团开发了一款赛博“滤镜”
作者 | eEhyQx出品 | AI科技大本营现象级大作《赛博朋克2077》终于没有跳票顺利发布了!你通关了吗?来自上海科技大学的学生社团GeekPie打造了一款全新的“滤镜”,CyberMe。只需上传一张照片,一秒将你带入夜之城!上传一…

vue父组件调用子组件的方法
vue组件与组件通信有如下几种情况: 平行组件父组件与子组件子组件与父组件它们之间通信有几种方法有: props自定义事件vuex今天我们聊一下父组件调用子组件的一种方法 parent.vue <template><div><h1>我是父组件</h1><child …
Ajax无刷新实现图片切换特效
1.页面cs代码usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingAjaxPro;publicpartial…

授权管理【学习笔记】《卓有成效的管理者》 第二章 掌握自己的时间
每日一贴,今天的内容关键字为授权管理 比拟《领导力》那本书,德鲁克这本书可操作性更强一些。 管理别人之前,先管理好自己;管理好自己,首先是管理好自己的时光。其实个人时光管理,有专门的书籍,在公司里&am…