本文作者:丁宇征
一、前言
自新冠肺炎疫情发生以来,以人工智能为代表的新兴科技,在疫情监测分析、人员物资管控、医疗救治、药品研发等方面发挥了重要的支撑与保障作用。人们对人工智能技术充满期待,希望人工智能能为疫后全球经济复苏开出科技良方。人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学[1]。自1956年提出人工智能概念以来,人工智能在60多年中经历了曲折的发展历程。2016年和2017年,围棋机器人AlphaGo先后战胜了欧洲围棋冠军、世界围棋冠军和排名世界第一的柯洁等人类棋手,人工智能开始迅速升温,全球人工智能发展开始进入技术创新迭代持续加速和融合应用拓展深化的新阶段[2]。
人工智能有巨大的潜能改变人类命运,但同样存在巨大的安全风险。这种安全风险存在的根本原因是人工智能算法、模型和系统设计之初普遍未考虑相关的安全威胁,使得人工智能系统结果容易被恶意攻击者影响,导致人工智能系统判断决策失准。在工业、医疗、交通、监控等关键领域,安全危害尤为巨大;如果人工智能系统被恶意攻击,轻则造成财产损失,重则威胁人身安全。人工智能安全问题开始从幕后走到台前,成为人工智能研究发展的重要议题。因此,加强对人工智能系统的安全风险分析,提出有针对性的主动预防措施和对策,最大限度降低安全风险,构建安全、可靠、可控的人工智能系统,具有非常重要的意义。本文着重分析人工智能系统在技术上面临的风险和挑战,并给出如何建立安全的人工智能系统的建议。
二、人工智能系统的安全风险和挑战
人工智能系统面临的安全风险是多样的,中国信息通信研究院2018年发布的《人工智能安全白皮书》[3],体系性地描述了人工智能面临的六种安全风险,包括网络安全风险、数据安全风险、算法安全风险、信息安全风险、社会安全风险以及国家安全风险。网络安全风险涉及网络设施和学习框架的漏洞、后门安全问题,以及人工智能技术恶意应用导致的系统网络安全风险。数据安全风险包括人工智能系统中的训练数据偏差、非授权篡改以及人工智能引发的隐私数据泄露等安全风险。算法安全风险对应技术层中算法设计、决策相关的安全问题,涉及算法黑箱、算法模型缺陷等安全风险。信息安全风险主要包括人工智能技术应用于信息传播以及人工智能产品和应用输出的信息内容安全问题。社会安全风险是指人工智能产业化应用带来的结构性失业、对社会伦理道德的冲击以及可能给个人人身安全带来损害。国家安全风险是指人工智能在军事作战、社会舆情等领域应用给国家军事安全和政体安全带来的风险隐患。因此,人工智能系统的安全挑战主要涉及技术的可靠、社会的应用、法律的要求和责任三个方面。本文重点从技术的角度,分析人工智能系统面临的主要攻击和风险,以期为人工智能系统的研发者和用户在开发应用人工智能系统时提供一些帮助。
从人工智能系统实现技术角度看,机器学习是人工智能的核心,是使计算机具备智能的根本途径,机器学习中存在的安全性问题是人工智能内在的安全问题。机器学习可以分为三个过程,如图1所示:1) 数据准备。通过音视频等各种光声电气传感器获取外部环境数据,或者通过直接读取文件获取数据,形成学习样本数据。这些输入的原始数据经过格式转换、尺度变换、数据压缩等预处理工作,以满足机器学习模型输入格式要求,同时降低数据量以保证系统工作的实时性。2) 模型训练。模型训练阶段生成经过调优的训练模型以及相关参数,而在运行训练算法之前,传统机器学习需要人工提取和选择特征,深度学习则委托训练算法自动识别可靠而有效的特征经过训练的模型对实际数据进行处理、分析和判断。3) 预测。机器学习的第三个阶段通常称为预测。人工智能系统以标签、置信度等多种形式给予输出,为后续的分类、决策等任务提供支持。实际上,根据模型的功能,可以分为数据分析、描述/诊断、预测、辅助决策、自动决策/行动五个层次。从上面分析可以看出,数据和模型是机器学习过程中的两个主要内容,在不同阶段它们面临不同的安全风险,如图2所示。例如,攻击者在训练阶段掺入恶意数据,影响人工智能模型推理能力;同样也可以在判断阶段对要判断的样本加入少量噪音,刻意改变判断结果;攻击者还可能在模型中植入后门并实施高级攻击;也能通过多次查询窃取模型和数据信息。
除了人工智能核心技术本身带来的风险,人工智能系统在实际搭建及运行中也存在巨大的安全风险。目前,人工智能系统的研发主要是基于一些著名的开源框架(Caffe)和谷歌(TensorFlow)、微软(Cntk)、亚马逊(EMR)、脸书(Torch、PyTorch、Pythia)、百度(飞桨PaddlePaddle)等科技巨头发布的人工智能学习框架和组件,如图3所示。但是,由于这些开源框架和组件最初缺乏严格的测试管理和安全认证,可能存在漏洞和后门等安全风险,一旦被攻击者恶意利用,可危及人工智能系统的完整性和可用性,甚至有可能导致重大财产损失和恶劣社会影响。在人工智能系统设计方面,为了提高系统的智能化,诸如语音助手等的人工智能服务需要被赋予很高的系统操作权限,一旦设计不当,很容易被攻击者利用进行系统非法操作。
下面重点对人工智能系统最常见的攻击手段进行简要介绍[4][5],这也是人工智能系统面临的主要技术威胁和挑战。
1、传感器欺骗
传感器欺骗是指攻击者针对传感器的工作特性,恶意构造相应的攻击样本并输送至传感器,造成对数据的感知差异,从而达成欺骗效果。例如,“无声”语音命令攻击是传感器欺骗的一个典型例子,该类攻击借助人类听觉系统难以察觉的声音信号对语音识别系统开展攻击。如麦克风的音频录制范围超越了人类可识别声音频率的上限, 攻击者可以在麦克风超出人类听觉的接收频率范围内发送声音信号,从而使得设备能够感知而不被听众察觉。据报道,亚马逊Alexa、苹果Siri和谷歌 Assistant等主流产品都没能幸免,它们均能被超声波“无声”黑客劫持。
2、重采样攻击
数据重采样是一种常见的数据预处理操作,如当前主流视觉深度学习模型输入大小固定,需要对输入图片进行缩放操作。这一过程会造成数据信息发生变化,成为一个潜在的攻击面。例如,针对图像预处理环节的欺骗攻击,当攻击图片被图像识别系统缩放后,被隐藏图片得以显现。与经典的对抗样本攻击方法不同,该方法针对的是图像预处理环节,理论上与图像识别模型无关,并且该方法可以实现源到 目标攻击。重采样的一种方法是降维处理,这种重采样攻击也叫降维攻击。
3、投毒攻击
投毒攻击(药饵攻击)是攻击者设法对训练数据进行某种恶意操作进而污染训练数据,使原有数据的概率分布发生改变,诱导训练过程使训练出的模型可用性和完整性得到破坏的一种攻击方式。由于在机器学习领域中,数据通常是非平稳的,其分布可能随时间而变化,因此一些模型不仅在训练过程中生成,而且在周期性再训练过程中随时间而变化。攻击训练数据集的方法主要包括污染源数据、向训练数据集中添加恶意样本、修改训练数据集中的部分标签、删除训练数据集中的一些原有样本等。
4、后门攻击
机器学习模型在训练阶段可能会使用某些来源不可信的数据进行训练,此时攻击者便可以通过将精心制作的恶意样本掺入训练集来操纵数据,即所谓的后门攻击。这种攻击使攻击者能够将后门插入到模型中,此模型对于正常样本的预测结果表现正常,但对于某些具有特定属性(称为外部后门触发器)的测试样本,便可以触发后门使模型的预测结果受攻击者操控,并且除了攻击者之外,其他人很难察觉的后门存在。
5、对抗攻击
对抗攻击是指将对抗样本提交到训练好的模型中,从而使模型预测错误,它也被称为逃逸攻击或闪避攻击。对抗样本是从原来正常的样本上添加了轻微的扰动,可以导致分类模型分类错误的样本。对抗样本另外一个特点是仅造成模型分类错误,人还是可以将它正确分类。同样,在语音和文本识别领域,对抗样本也未对原文进行令人察觉的修改。在恶意软件检测领域,恶意软件作者在其软件上添加一些特殊的语句可以逃避反病毒软件的检测。经证明,现有的大多数深度学习模型都容易受到对抗样本的攻击。通过构造对抗样本,攻击者可以通过干扰人工智能服务推理过程来达成逃避检测等攻击效果。
6、意外记忆问题
模型在对低频的敏感训练数据(如用户密码等)进行学习的同时,会倾向于完整地记忆与目标任务无关的训练数据细节,这就为该类数据带来了泄露风险。实验结果表明,传统的过拟合抑制方法很难解决意外记忆问题。对此,有人提出对应的“暴露度”指标来评估意外记忆程度,用于辅助开发者进行模型结构和参数的选择、调整。
7、模型逆向攻击
模型逆向攻击就是对某一个被训练好的机器学习模型,攻击者利用模型、未知属性以及模型输出的相关性,实现对训练数据集或模型参数的推测或逆向提取。它主要包括成员推理攻击和属性推理攻击。成员推理攻击主要对数据集中是否出现特定记录进行推断,即判断隶属度,这是目前研究的热点。属性推理攻击则主要获取数据集的如性别分布、年龄分布、收入分布、患病率等属性信息。模型逆向攻击窃取了训练数据集中成员的私有信息,也损害了数据集所有者的商业价值。如借助模型置信度输出,攻击者可以估计生活调查中的受访者是否承认对其他重要人物存在欺骗行为;针对人脸识别系统,攻击者可以根据用户姓名恢复出对应的可识别的人脸照片。
8、模型提取攻击
模型提取攻击是指攻击者可以通过发送轮询数据并查看对应的响应结果,推测机器学习模型的参数或功能,复制一个功能相似甚至完全相同的机器学习模型。该攻击可破坏算法机密性,造成对知识产权的侵犯,并使攻击者随后能够依据被复制模型进行对抗样本攻击或模型逆向攻击。且一旦提取出模型并对其滥用,就可能会给模型拥有者带来巨大的经济损失。
9、模型重用
模型重用是指攻击者通过制造一个对抗扰动并添加至机器学习模型的所有测试输入,使模型在处理这些输入时执行攻击者选择的任务。利用该方法,攻击者只需要付出很小的代价,就可以借助他人训练好的模型资源实现所需的系统功能。
10、软件漏洞
当前流行的深度学习框架,提供了高效、便捷的人工智能系统开发支持环境,为人工智能技术的推广发挥了巨大的作用。利用框架,可以非常简单地完成模型的搭建、训练和运行。但与框架的使用简洁性恰恰相反,为了完成对多种软硬件平台的支持以及复杂计算功能的集成,深度学习框架往往需要依赖于种类纷繁的基础库和第三方组件支持,如 Caffe包含有超过130种的依赖库。这种组件的依赖复杂度会严重降低深度学习框架的安全性。某个组件开发者的疏忽,或者不同组件开发者之间开发规范的不统一,都可能会向深度学习框架引入漏洞。更为严重的是,一个底层依赖库的漏洞有可能会蔓延到多个高层深度学习框架,进而影响到所支持的一系列应用中。此时攻击者可以基于控制流改写人工智能系统关键数据,或者通过数据流劫持控制代码执行,实现对人工智能系统的干扰、控制甚至破坏。通常来说,可以利用传统的漏洞测试方法,例如模糊测试来发现软件中的代码漏洞。但是,传统的漏洞测试方法在应用于深度学习框架时具有其局限性,其原因在于基本上所有的输入数据都经过相同的网络层进行计算,导致大量输入样本覆盖的是同一条执行路径。另一个问题则在于难以区分代码逻辑漏洞和模型本身的对抗样本∕训练不完全问题。
11、学习不完全∕学习偏差
虽然依靠海量数据和深度学习技术的人工智能系统在多种任务上表现出突出的工作性能,但由于诸如训练数据偏差、过拟合和模型缺陷等原因,即便在非对抗环境下,系统罕见或边缘样本输入可能会引起人工智能系统出现意外或错误的行为。例如自动驾驶训练数据无法覆盖所有光照、天气、道路及周围物体分布下的行驶情况,致使未知路况下无人驾驶汽车行为的准确性和可预测性难以得到保证。在安全要求较高的场合,罕见∕边缘样本的训练缺失有可能导致灾难性后果。由于目前深度学习模型可解释性差,难以对系统异常行为进行预测或归因,发现由训练不完全或偏差导致的模型缺陷成为一个极具挑战性的问题。
12、系统设计缺陷利用
为了提高系统的智能化,诸如语音助手等的人工智能服务需要被赋予很高的系统操作权限,一旦设计不当,很容易被攻击者利用进行系统非法操作。例如攻击者可以控制设备扬声器,在后台播放准备好的音频文件,同时借助安卓系统内嵌的谷歌语音助手,进行无权限情况下的发送信息、读取隐私数据、甚至是远程控制等操作。
13、技术和系统滥用
人工智能技术和系统滥用的主要威胁可分三个方面[6]:(1)数字威胁:①通过自动钓鱼或创建虚假电子邮件、网站、链接等手段窃取信息;②通过自动发现软件漏洞进行更快速的黑客攻击;③利用人工智能对于外界的理解缺陷,欺骗人工智能系统。(2)物理威胁:①利用商用无人机或无人驾驶车辆作为武器,实现恐怖主义的自动化;②机器人集群,即由许多自主机器人围绕共同目标开展行动;③远程攻击,由于自动机器人无需在任何设置距离内进行控制,因此得以实施远程攻击。(3)政治威胁:①通过易于生成的假图像和视频进行宣传;②通过自动查找、删除文本或图像等技术自动清除异议;③个人观点说服,利用公开的信息针对个人观点进行说服。
三、人工智能系统的安全对策
从上面分析可以看出,人工智能系统目前已经面临十多种常见的攻击方法,而且随着人工智能系统应用的快速增加,风险也必将不断凸显。要确保人工智能系统安全研发和安全应用,首先必须针对已有风险点,找到对应的解决方法,设计有针对性的防御机制保护人工智能系统安全;其次,需要根据人工智能系统组成的角度特点,从硬件(芯片)、算法、框架和应用等方面确保安全性,并构建层次性的人工智能系统安全防护体系;再次,需要从人工智能系统研发过程的角度,在人工智能系统研发全生命周期确保系统的安全性;最后,为防止技术和系统的滥用,还需从伦理、政策和法律的角度加以规范和约束。
对策1:针对风险点,有针对性地主动采用相应的防护方法和手段
人工智能系统面临的攻击方法复杂多变,但也可以归为三种类型,即模型安全、数据安全以及代码安全,只要在实现、应用人工智能系统的各个环节,提前研究有针对性的防护方法和技术手段,进行算法、模型优化,数据隐私保护,就能有效地减少人工智能系统应用的安全风险。表1列出了在人工智能系统研发应用的不同阶段面临的风险、防护方法和手段[5]。
对策2:理清系统安全需求,构建层次性的人工智能系统安全防护体系
一个安全可靠的人工智能系统,应该包含四个方面安全需求,芯片可信、算法可信、框架可信和应用安全,参见《睿思于前:AI 的安全和隐私保护》[7]。整个人工智能系统的安全需要从硬件根(芯片)开始保证运行环境的可信,保护模型、数据运行时的完整性和机密性;模型需要具备防御组件和可信算法,防御攻击者通过非法调用算法来窃取、篡改模型信息;框架层需要为开发者、使用者提供隐密性、安全性的保护,通过对框架进行安全验证、维护,模块功能解耦,以及权限最小化等,确保框架安全透明可信;针对业务应用的不同安全需求,如模型安全更新、数据隐私保护等,需要提供全面的安全能力配套及安全架构,保护业务安全开展,配合完整的方案配套设施,提供可溯源、可解释、并自适应动态环境的方案。
将人工智能系统部署到业务场景中的防御手段可分三个层次[8],如图4。第一层次是攻防安全。针对已知攻击,设计有针对性的防御机制保护人工智能系统安全。第二层是模型安全。除了针对那些已知攻击手段所做的防御之外,也应增强人工智能模型本身的安全性,避免其它可能的攻击方式造成的危害。模型安全关键技术包括模型可检测性、模型可验证性和模型可解释性。第三层次是架构安全。在业务中使用人工智能模型,需要结合具体业务自身特点和架构,分析判断人工智能模型使用风险,综合利用隔离、检测、熔断和冗余等安全机制设计人工智能安全架构与部署方案,增强业务产品健壮性。
对策3 :加强研发过程管控,确保人工智能系统研发全生命周期的安全性
人工智能系统应用的风险是巨大的,应当加强对人工智能技术和系统研发的管控,确保人工智能系统研发全生命周期的安全性。人工智能数据的获取、算法的设计、模型的开发训练、作为产品的系统设计开发和交付,涉及的人员包括数据提供者、算法和模型研究者、产品开发者,还包括这些人员所属的组织,如研究院所、大学和企业。
为确保人工智能系统研发全生命周期的安全性,首先,相关组织应该将人工智能系统安全置于战略优先地位,不能因为成本、进度、功能等原因降低对安全的要求;其次,应该加大培养相关从业人员的安全意识的力度,必要时进行考核,特别是要求研发人员不能片面追求系统性能和效率;再次,在流程与产品中嵌入要求,建立标准化的业务流程,将安全作为基本需求,加入人工智能安全设计原则,嵌入到生产运营的每个标准、协议和流程中,成为默认模式并贯穿整个开发流程,确保产品满足安全的标准要求。例如面向需要自主决策的应用,应具备能够在动态环境中安全持续学习的能力,根据各方反馈、交互中持续调整、优化系统,并通过设置多级安全架构确保整体系统安全性,在人工智能系统确定性低于阈值时回落到以规则判断为准的常规技术。最后,应对最为产品的人工智能系统进行审查、验证,定期进行监督检查,并适时做出相应改进和调整。
对策4:防止人工智能系统滥用,推进人工智能产业链的政策和法律建设
人工智能技术和系统极易引发滥用,如“深度伪造”技术实现音视频的模拟,逼真度极高,到了以假乱真的程度。所以应该采取有效措施避免其造成危害。这种危害,已不是简单技术层面能解决的,必须结合政策法律手段来共同作用。首先,应为人工智能技术研发划出“红线”,设置禁区,禁止研究开发危害人类生存安全的人工智能技术和产品,防止人工智能技术的滥用;其次,应加强对人工智能安全产品和服务的市场监管执法和相关产品上市前的安全测试。对有安全缺陷的产品和服务要依法处理,对造成危害后果的要依法追究法律责任。再次,在立法方面应加强对人工智能技术应用可能出现的法律问题的前瞻性研究探索,要及时制定人工智能安全产品和服务技术标准规范,规范和引导产品研发推广。通过行业标准、国家人工智能技术标准等引导算法的伦理取向。
四、结束语
本文简要介绍了目前人工智能安全系统面临的主要技术风险,描述了针对这些风险的一些对策建议,以及相应的政策法律考虑。目前人工智能的各个学科,如计算机视觉、语音识别、自然语言处理、认知与推理、博弈等,还处在早期发展的阶段,而人工智能应用的大规模普及和发展则需要很强的安全性保证。人工智能安全必将是一个长久而宽泛的课题,对于一个人工智能系统的从业者来说,一定要在设计开发系统之初就将安全性问题纳入总体设计中,这样才能开发出一个数据可解释、模型可验证、模型可解释、鲁棒的人工智能系统,促进人工智能系统更好地为我们服务,才有可能让人工智能为疫后全球经济复苏提供强有力的帮助。
参考文献:
【1】百度百科,人工智能定义。
【2】人工智能数据安全白皮书(2019年),中国信息通信研究院安全研究所,2019年8月。
【3】人工智能安全白皮书(2018 年),中国信息通信研究院安全研究所,2018年9月。
【4】人工智能安全的概念、分类及研究现状综述(一),智慧电力2019第47卷 第8期。
【5】人工智能系统安全与隐私风险,计 算 机 研 究 与 发 展,2019,56(10)
【6】Brundage M , Avin S , Clark J , et al. The Malicious Use of Artificial Intelligence: Forecasting, Prevention, and Mitigation[J]. 2018.
【7】AI安全白皮书,华为技术有限公司,2018年。
【8】睿思于前:AI 的安全和隐私保护,华为技术有限公司,2019年。
声明:本文来自工业菜园,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。