写点什么

面对无处不在的黑客威胁,如何保护智能设备免受攻击?

  • 2019-10-29
  • 本文字数:3375 字

    阅读完需:约 11 分钟

面对无处不在的黑客威胁,如何保护智能设备免受攻击?

对抗机器学习(Adversarial Machine Learning)火了。但是它和机器学习、神经网络一样也有 10 年多的研究历史,而并不是近年来新兴的一个概念。随着人工智能框架日趋成熟,目前正是建立人工智能防御的最佳时机,让我们了解一下如何保护智能机器免受智能攻击的方法吧。


机器通过处理从传感器收集的数据来学习的能力,是自动驾驶汽车、医疗设备和许多其他新兴技术的基础。普林斯顿大学的研究人员发现,这种学习能力会让系统以意想不到的方式受到黑客的攻击。


在最近的一系列论文中,有研究团队探索了应用于人工智能的对抗策略如何能够做到这些:如欺骗交通效率系统导致交通堵塞,或操纵健康相关的人工智能应用程序来窥视患者的私人病史。作为此类攻击的一个例子,研究团队将驾驶机器人对道路标志的感知进行了改变,从限速改成“停止”标志,这可能会导致车辆在高速公路上急刹车,这非常危险。在其他例子中,他们还改变了停车标志,使驾驶机器人将其视为其他各种交通指示。


普林斯顿大学电气工程系的首席研究员兼副教授 Prateek Mittal 说:“如果机器学习就是未来的软件,那么,我们现在就处于一个非常基本的起点,确保它的安全。为了让机器学习技术充分发挥潜力,我们必须了解机器学习在对手面前是如何工作的。这就是我们面临的巨大挑战。”


就像软件容易被计算机病毒入侵和感染,或者计算机用户通过网络钓鱼和其他破坏安全的手段成为骇客的目标一样,人工智能驱动的应用也有自己的弱点。然而,充分保障措施的部署却滞后了。到目前为止,大多数机器学习的开发都是在良性、封闭的环境中发生的,这与现实世界中的环境截然不同。


Mittal 是了解一种新出现的弱点的先驱,这种弱点被称为对抗机器学习。从本质上说,这类攻击会破坏学习过程,导致人工智能系统产生意想不到的、可能是危险的结果。Mittal 的团队在他们最近的一系列论文中,描述并演示了三种主要类型的对抗机器学习攻击。

数据攻击

第一次攻击涉及恶意代理,它将虚假信息插入人工智能系统用来学习的数据流中,这种方法称为“数据攻击”(Data Poisoning)。一个常见的例子就是大量用户通过电话报告交通状况。这些众包数据可用于训练人工智能系统,开发出模型,以更好地实现自动驾驶汽车的总体路线选择,从而减少拥堵和燃料浪费。


Mittal 说:“对手可以简单地在手机和 Apple、Google 等实体之间的通信中注入虚假数据,现在它们的模型可能会受到损害。你从损坏的数据中学到的任何东西,都是可疑的。”


Mittal 的团队最近通过这种简单的数据攻击演示了一种新的高级方法,他们称之为“模型攻击”(Model Poisoning)。在人工智能中,“模型”可能是机器基于对数据的分析而形成的关于世界某一部分如何工作的一组想法。出于隐私方面的考虑,一个人的手机可能会产生自己的本地化模型,从而可以使个人数据得以保密。然后,将已匿名处理的模型共享并与其他用户的模型合并。“越来越多的公司正转向分布式学习,其中用户不再直接共享他们的数据,而是用他们的数据来训练本地模型。”Mittal 实验室的博士生 Arjun Nitin Bhagoji 称。


但是对手可以借力影响结果,以使对自己有利。对结果感兴趣的个人或公司可能会欺骗公司的服务器,使他们的模型的更新权重优先于其他用户的模型。Bhagoji 说:“对手的目的是确保他们选择的数据被归类到他们想要的类别,而不是真正的类别。”


今年 6 月,Bhagoji 与 IBM Research 的两名研究人员合作,在美国加利福尼亚州长滩举行的 2019 年国际机器学习会议(International Conference on Machine Learning,ICML)发表了一篇关于这一主题的论文:《通过对抗角度分析联邦学习》(Analyzing Federated Learning through an Adversarial Lens)。这篇论文探索了一种基于图像识别的测试模型,用于对照片中的人是穿凉鞋还是运动鞋进行分类。尽管这种形式的错分类听上去是无害的,但这是一家不择手段的公司为了想竞争对手推销自己的产品而可能采取的一种不公平的花招。


AI 前线注:联邦学习(Federated Learning),是一种新兴的人工智能基础技术,在 2016 年由 Google 最先提出,原本用于解决安卓手机终端用户在本地更新模型的问题,其设计目标是在保障大数据交换时的信息安全、保护终端数据和个人数据隐私、保证合法合规的前提下,在多参与方或多计算结点之间开展高效率的机器学习。其中,联邦学习可使用的机器学习算法不局限于神经网络,还包括随机森林等重要算法。联邦学习有望成为下一代人工智能协同算法和协作网络的基础。


“在对抗人工智能研究中,我们需要考虑的对手类型包括:试图敲诈他人或公司来勒索金钱的个人黑客、试图获得商业优势的公司、以及寻求战略优势的国家层面的对手。”Mittal 称。他还与普林斯顿大学信息技术政策中心有联系。

利用机器学习对抗自身

第二种广泛的威胁被称为“逃逸攻击”(Evasion Attack)。它假设机器学习模型已经成功地在真实数据上进行了训练,并且无论其任务是什么,都达到了很高的正确率。但是,一旦系统开始将其学习应用到现实世界的决策中,对手就可以通过操纵系统接收到的输入,将成功转嫁到自己头上。


例如,自动驾驶汽车的人工智能已经被训练识别限速和停车标志,而忽略快餐店、加油站等的标志。Mittal 的团队发现了一个漏洞,在这个漏洞中,如果标志是以人类可能不会注意到的方式进行标记,那么这些标志有可能会被错误分类。研究人员制作了假的餐厅标志,类似于涂鸦或彩弹斑点。所做的更改,骗过了汽车的人工智能,将餐厅的标志误认为是停车标志。


Mittal 说:“我们增加了一些小的改动,可能会骗过这个交通标志识别系统。”2018 年 5 月,电器电子工程师学会(Institute of Electrical and Electronics Engineers,IEEE)在美国旧金山举办了第一次深度学习和安全研讨会( Deep Learning and Security Workshop,DLS),会上发表了一篇关于该研究结果的论文:《流氓标志:使用恶意广告和标志漆面交通标志识别系统》(Rogue Signs: Deceiving Traffic Sign Recognition with Malicious Ads and Logos)。


虽然这些只是次要的,只是为了演示目的,但这个标志却再次揭示了机器学习可以被劫持用于邪恶目的的一种方法。

不尊重隐私

第三大威胁就是隐私攻击,其目的是推断学习过程中使用的敏感数据。在当今不断联网的社会里,这种情况随处可见。对手可以在获取数据时尝试借助机器学习模型,从而获得对受保护信息的访问权,如信用卡号码、健康记录和用户的物理位置等保密信息。


普林斯顿大学研究的这一不法行为的一个例子就是“成员推断攻击”(Membership Inference Attack)。它的工作原理是判断特定数据点是否属于目标的机器学习训练集。例如,如果对手在查看与健康相关的人工智能应用的训练集时发现了用户的数据,那么这些信息将强烈暗示用户曾经是病患者。在许多这样的点上连接这些点,可以揭示有关该用户及其生活的识别细节。


保护隐私是有可能能够做到的,但在这一点上,它涉及到安全权衡:保护人工智能模型免受逃逸攻击操纵的防御措施,这可能使它们更容易受到成员推断攻击。这是一篇新论文《保护机器学习模型免受对抗性样本的隐私风险》(Privacy Risks of Securing Machine Learning Models against Adversarial Examples)中得出的关键结论,这篇论文由第 26 届 ACM 计算机与通信安全会议(Conference on Computer and Communications Security,CCS)所接受,该会议将于 11 月在伦敦举行,由 Mittal 的研究生 Liwei Song 主持。用于防范逃逸攻击的防御策略在很大程度上依赖于训练集中的敏感数据,这使得这些数据更容易受到隐私攻击。


这是经典的安全与隐私之争,这次是机器学习的转折。与 Mittal 一样,Song 强调,研究人员必须开始将这两个领域视为密不可分的联系,而不是只关注其中一个领域而不考虑它对另一个领域的影响。


Song 表示,“在我们的论文中,通过展示针对逃逸攻击的防御措施导致的隐私泄露的增加,我们强调了同时考虑安全和隐私的重要性。”


对于与机器学习和对抗人工智能来说,还处于早期阶段,也许来得太早,以至于不可避免地出现的威胁并不会占上风。


Mittal 说,“我们正在进入一个新时代,机器学习将越来越多地嵌入到我们所做的几乎所有事情中。当务之急是,我们必须认识到威胁,并制定应对措施。”


原文链接:


https://www.princeton.edu/news/2019/10/14/adversarial-machine-learning-artificial-intelligence-comes-new-types-attacks


2019-10-29 14:331200

评论

发布
暂无评论
发现更多内容

密码学系列之:生日攻击

程序那些事

加密解密 密码学 程序那些事

高性能 JavaScriptの七 -- 编程实践小技巧

空城机

JavaScript 大前端 6月日更

Packer 自动化镜像 Windows 安装过程

HoneyMoose

读深入ES6记[二]

蛋先生DX

ES6 6月日更

模块六作业

c

架构实战营

如何进行可视化大屏视觉设计?

博文视点Broadview

你愿意被管理么?

escray

学习 极客时间 朱赟的技术管理课 6月日更

缓存穿透、缓存雪崩、缓存击穿问题与优化方案

Skysper

【Flutter 专题】109 图解自定义 ACERadio 单选框

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

Java 并发编程——线程池开篇

Antway

6月日更

☕️【Java技术之旅】站在Linux操作系统角度去看Thread(线程)

洛神灬殇

线程 Thread 6月日更 内核线程

SpringBootApplication注解

梦倚栏杆

Python——字符串转换与处理

在即

6月日更

递归全排列问题(两种方法 Java实现)

若尘

数据结构 递归 6月日更

Webpack 系列:如何编写loader

范文杰

webpack 6月日更

【布道API】浅谈API设计风格

devpoint

Rest API 6月日更

【21-1】21 连更第一篇

耳东@Erdong

6月日更

证券互动问答平台关键词监控提醒

木头

互动平台 证券监控 股市消息 监控提醒

待办事项列表,敏捷项目管理的核心工件

万事ONES

Scrum 敏捷 研发管理 ONES

这些书都学完,绝对是编程界的大佬

看山

Java 程序员 6月日更

当人工智能遇上视频直播——基于Agora Web SDK实现目标识别

dajyaretakuya

深度学习 音视频 WebRTC 声网 TensorFlow.js

Kubernetes 的自动伸缩你用对了吗?

张晓辉

Kubernetes k8s最佳实践

一文教会你认识Vuex状态机

华为云开发者联盟

Vue 应用 vuex 事件 父子组件

春色满园关不住,带你体验阿里云 Knative

阿里巴巴云原生

云原生

Locust完成gRPC协议的性能测试

陈磊@Criss

内嵌双向链表的设计与实现

实力程序员

【LeetCode】从上到下打印二叉树 Java题解

Albert

算法 LeetCode 6月日更

Mybatis 二级缓存简单示例

Java mybatis

【Vue2.x 源码学习】第八篇 - 数组的深层劫持

Brave

源码 vue2 6月日更

聊聊追求测试技术导致过度测试

陈磊@Criss

那个陪我打王者的兄弟进了阿里

艾小仙

面对无处不在的黑客威胁,如何保护智能设备免受攻击?_AI&大模型_Adam Hadhazy_InfoQ精选文章