人工智能安全(精装版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 人工智能安全的范畴

1.2.1 人工智能安全的范畴与特征

近十几年来,深度学习技术的突破性发展使人工智能技术得到了日益深入且广泛的运用,并获得了举世瞩目的成果。与此同时,人工智能系统的研发与使用过程中暴露出了大量的安全性问题,引起了人们从不同角度对人工智能安全问题广泛而深切的关注。

从通常的工程系统的观点考虑,人工智能系统作为一类特别的工程系统,同样具备其他工程系统可能存在的安全问题。例如,作为一个计算机软件或硬件的人工智能系统,它会具有计算机软硬件可能存在的安全问题;作为无人驾驶系统、机器人或其他自动控制系统中的人工智能系统,它可能存在材料性质、机械性能、电器性能、环境适应性等方面的安全性问题。但是,人工智能系统或“智能体”与其他工程系统的根本差别就是其具备“智能”,可以“思考”,可以通过“学习”来掌握知识、获得技能,也可以进行自主性判断、实施自主活动。区分于其他工程系统具有普适性的安全问题,本书所讨论的人工智能安全问题,主要聚焦人工智能系统因为具备学习、思考、判断、自主决策和行动等智能行为而造成的安全风险,既包含人工智能系统自身因为设计、制造、使用或遭受攻击而造成的安全风险,又包含人工智能技术的开发与使用所产生的对其他系统的安全威胁与潜在风险。人工智能安全问题引起了人们从技术[2,10,16-20,31]、法律和伦理[2,21-24,31]、经济和社会发展[25-29,68]、政治和国家安全[2,29-31]等不同角度的广泛关注。

从技术角度考虑,人工智能系统可以通过学习获得“知识”或者“技能”,并且可以自主做出决策、执行行动,这既是人工智能系统相对于其他技术系统的优势,又是其区别于其他技术而产生特别的安全问题或隐患的原因。下面我们主要从人工智能技术的几个属性,以及对人工智能系统的对抗性攻击等方面分析人工智能安全区别于其他技术安全问题的特征。这几个属性是机器学习算法本身的内在属性,是形成人工智能系统本身安全隐患的关键因素,也是对抗环境中攻击者设计攻击策略的理论依据和进行攻击的薄弱环节。

1.机器学习的可理解性和可解释性问题

机器学习技术是人工智能系统广泛采用的核心技术,而机器学习中庞大的网络结构和复杂的学习过程,使人们(即使是领域的专业人员)难以理解其从大量的数据中逐步获得的结论,以及基于其获得的结论而做出决策的内在逻辑,难以用使用者可以理解的方式对其学习和推理过程做出解释,也难以对其推理过程中一个步骤所出现的问题进行追溯。这构成了机器学习技术的可理解性和可解释性问题。人们对于可理解性、可解释性给出了多种定义,也发明了多种技术以增强机器学习模型和算法的可理解性和可解释性[17,32-34,75]。对机器学习输出的判断或决策的不可理解、不可解释意味着潜在的安全风险,尤其是对于关键问题的决策、关键设备或过程的控制、医疗诊断等安全攸关的应用领域,对于收集的数据所反映的规律认识错误(如分类错误)、决策错误甚至产生错误的自主行为,均可能造成严重的后果。因此,机器学习的可理解性和可解释性是其区别于其他技术的安全特性。

2.机器学习的鲁棒性问题

机器学习的鲁棒性是影响人工智能安全问题的一个重要因素。机器学习的鲁棒性要求,即使新的数据在学习数据的基础上有一定的变化,学习所得的结果也应具有适用性。

鲁棒性不强的系统,其模型的泛化能力不强;当应用环境中数据的分布特性与训练数据的分布特性存在偏差时,就可能做出意想不到的判断或决策,蕴含安全风险。其风险性在于,在应用环境中,机器所给出的判断(如一个人是否有某种疾病、一个工业过程是否需要进行某种调整、一辆自动驾驶的汽车是否需要改变路线或速度等)或决策(如给出医疗方案、调整工业过程的控制参数或配料、给出停车或转弯的指令等)是根据训练数据所学到的知识做出的,机器对此在逻辑上具有充分的信心和“理由”,难以引发怀疑和进一步的验证,从而可能造成安全事故[35-37,74]。同样地,即使有安全监测系统,如果实际应用的数据分布与训练数据分布有较大差距,而安全监测系统是在特定的数据基础上训练得出的,则也难以发现潜在的风险。虽然人们提出了一些方法来增强机器学习的鲁棒性,例如,利用多种分布特性不同的数据进行训练,希望训练出来的可以适应多种数据分布特性的模型,也能适应具有新的数据分布特性的环境,但能使得训练出来的模型对数据分布的差别有多强大的适应性还是问题。另外,在一般的不受故意干扰或攻击的情况下,系统的鲁棒性可能成为系统安全的重要影响因素,在对抗环境中,如果模型和算法的鲁棒性不强,就易被对手利用而进行有针对性的攻击。

3.目标函数或奖励函数描述的不完备性问题

在机器学习中,往往把学习问题描述为对一个目标函数的优化,而算法的设计者对目标函数的描述和具体的实现难以真正体现其想要达到的目标。原因是设计者对优化目标的描述有误或者不完善,从而使算法在对所给出的目标函数进行优化时,产生设计者预想不到的不良后果。在设计者对所优化的目标函数给出描述的时候,难以全面考虑各种复杂的影响因素;另外,随着时间的推移或应用环境的变更,可能产生一些新的因素,影响设计者真正意图的实现,但这些因素在目标函数的描述中没有得到反映。这种对目标或意图的错误或不完善的描述称为目标函数描述的不完备性,其是造成隐含的安全风险的重要原因之一[18]。另外,在强化学习算法的设计中,设计者通常以奖励函数的方式鼓励和引导学习算法达到设计者所期望的目的。然而,奖励函数的设计和描述中同样存在不完备性(错误或不完善),从而可能被学习算法在优化过程中“搭便车”,通过曲解奖励的意图而采取一些行动以获得最大化的奖励,字面上符合奖励函数形式上的规则,但事实上却违背了设计者的意图。这种情况通常称为“Reward Hacking”(黑客奖励)。或者,学习算法也可能以一种“取巧”的方式跨过实现设计者真实意图的必要行动,直接获取最大奖励而不通过行动实现设计者的意图,这称为Wireheading[35-37]

4.有针对性的对抗攻击

如果说前面介绍的问题是人工智能模型和算法中存在的安全薄弱环节,那么在对抗性的应用环境中,对手针对人工智能模型和算法的薄弱环节设计各种攻击方法的行为,成为人工智能安全的重要隐患[45]

如前所述,机器学习的鲁棒性问题容易成为被对手利用而进行攻击的薄弱环节。著名的对抗样本攻击就是利用鲁棒性不强进行的攻击。与前文所述的安全风险不同的是,前文所述的情况只是应用环境的数据分布与训练时的数据分布有差距,其原因可能是环境的变化、过程的变化等,并不是人为因素;在对抗样本攻击中,对于一定的模型,攻击者可以计算出一些有害数据,仅对数据做出微小的(从而难以被人发现的)扰动,就能使系统做出错误的判断或决策。Szegedy等人2014年的研究[38]发现,神经网络存在对抗样本,这些对抗样本可以通过对测试的图像施以很小的、难以被人觉察的扰动,使网络预测错误最大化而得到。文献[39]提出了一种衡量对抗鲁棒性的方法,对于不同分类器的对抗鲁棒性,可以量化地进行计算和比较,并且用对抗性示例对训练数据进行扩展,从而提升应对对抗性攻击的能力。人们已经提出了大量的对抗样本攻击与防御的方法,相关研究[40-42]表明,存在普遍适用的对抗性扰动,可使深度神经网络做出错误的判断。这种对抗性扰动对不同的数据和网络均有适用性。另外,人们提出了大量能够提高机器学习鲁棒性的技术[43],如对抗训练[44-46]、防御蒸馏[47,73]、模型正则化[48]等。

除了对抗样本攻击,针对机器学习的模型、算法、数据、运行等不同环节,还有多种攻击方法,如数据投毒、模型窃取、隐私推断等,都是人工智能系统的重要安全威胁[31,40,43,49-53]

1.2.2 人工智能安全的分类

前面我们讨论了引发人工智能系统各类安全问题的内在因素。人工智能系统中广泛应用的机器学习算法的内在属性,是引起人工智能系统各类安全问题的内在因素。广义上,人工智能安全问题既包括人工智能系统作为一种人造系统(工程系统或信息系统)的安全性问题,也包括人工智能系统的应用造成的经济和文化的、法律和伦理的、国家和社会的安全问题,还包括由于人工智能系统具有思维和自我发展能力而可能形成的强大智能,从而造成对人类整体的安全威胁。研究这些安全问题的分类,分析其产生的原因、可能的影响范围,有助于增强对它们的认识,也有助于对它们进行识别、预防和控制。

人工智能安全问题可划分为两大类:一类是人工智能系统自身的安全缺陷,称为“内生安全”问题;另一类是人工智能系统的应用可能产生的外在的(对其他系统的)安全性影响或效果,称为“衍生安全”问题。我们称一个人工智能系统为一个智能体或人工智能行为体(AI Agent,AIA)。

1.2.2.1 人工智能内生安全

本节我们将从人工智能系统和运行环境、模型、算法、数据等环节分别介绍人工智能内生安全问题,这些问题既包括由于智能体自身的脆弱性而形成的安全问题,也包括(在对抗环境中)智能体由于遭受外部攻击而形成的安全问题。

1.人工智能系统和运行环境安全

1)框架/组件引发的内生安全问题

人工智能框架提供人工智能系统中常用的函数和功能,可以供不同的开发者复用,为人工智能的开发编程提供有力的工具。业界已经推出许多人工智能框架,如TensorFlow、Caffe、PaddlePaddle等。这些开放的人工智能框架引用了第三方库函数。这些框架的整体和其组件(包括引用的库函数)并未经过充分的安全评测,存在软件漏洞甚至后门等安全隐患。CVE(Common Vulnerabilities & Exposures)公共漏洞披露库中就记录了多种来源于TensorFlow、Caffe等的安全漏洞[10]。2020年,360安全研究院AIVUL团队报告了TensorFlow中的24个风险级别不同的漏洞[54],这些漏洞可能引起系统错误或被攻击者利用而形成系统安全问题。

2)运行环境引发的内生安全问题

在进行机器学习或智能判断、决策与控制的系统中,在软硬件不同的层面,都可能有与安全性相关的脆弱环节,使攻击者能够通过脆弱环节对智能系统实施攻击。云计算架构上有着大量的用户,可以通过机器学习的方式进行建模训练和智能推理,而这些用户又共享了分布式计算体系中的大量软硬件资源,包括主机、软件栈、存储资源、计算框架等。这些资源容易遭受攻击,从而对于模型训练和智能推理产生安全风险。在分布式计算平台的联邦学习结构中,多个成员在分布式系统上协作训练和推理,恶意参与者可能会进行模型攻击而造成系统的安全隐患[17,72]。在多个智能体协作的环境中,系统安全存在特别的问题。例如,多智能体系统的各协作成员之间需要通过通信进行协调训练或行动,通信系统的不安全性会成为系统的不安全因素。另外,多个智能体的联合学习和决策需要协同和演化,个体学习和决策在全局上的不协调可能造成系统的非一致性和失误,形成系统的安全威胁[55]。在多个参与者协作的联邦学习中,虽然隐私数据可以存放在本地以防止隐私泄露,但还是有可能被攻击者构造的学习算法窃取其成员及记录等私有信息[56-58,71,72]

2.模型安全

机器学习模型的不透明性、脆弱性均是影响人工智能安全的重要因素。不适当的目标函数会导致机器学习系统不能获得正确的模型,从而导致智能体无法实现设计者所期望的某些功能;建模的不透明性可能导致机器学习模型进行错误决策,形成安全问题;建模对动态变化的环境的适应性(鲁棒性)也是影响系统安全的原因;训练好的模型在对外服务的过程中,可能会被对抗性技术手段盗取和恶意利用。

在对抗环境中,攻击者还可能进行模型窃取攻击[59]和后门攻击[50,60]等。模型窃取攻击是指攻击者通过窃取神经网络模型而进行的攻击。在将机器学习作为一项服务开放给使用者的系统中,攻击者能够在不了解模型参数及训练信息的情况下,通过访问为机器学习提供服务的系统黑盒子,对模型进行窃取。被窃取的模型进而能够为攻击者提供模型和功能参数信息,形成安全隐患。后门攻击是在模型内插入后门的一种攻击手段。因为模型自身具有不透明性、不可解释性,所以被插入的后门不易被找到,但攻击者可以选择时机启动后门。

3.算法安全

如前所述,机器学习的可理解性和可解释性、鲁棒性及目标函数或奖励函数描述的不完备性等人工智能算法的内在属性均会导致人工智能系统的安全隐患。另外,算法的复杂性也可以导致人工智能安全隐患。计算的时间复杂度高意味着对于大数据量的机器学习,需要花费巨大的时间和空间代价(占用计算资源和延长执行时间);对于动态变化的情况,则需要计算机经常性地处理变化的信息,学习新的动态模型。这种代价可能导致机器学习系统无法满足大量数据处理和动态变化的要求,从而生成错误的学习结论[18]

4.数据安全

训练数据的不完整可能导致机器学习算法难以找到反映实际环境与应用要求的正确模型。训练中所用数据的规模、质量(准确性、真实性、全面性)、数据分布特性等都会影响训练结论的准确性,进而影响智能体策略和行为的正确性。训练模型应对数据分布特征变化的鲁棒性,也是影响系统稳定性的重要原因[18]

训练数据对于安全的重要作用使得数据成为对抗环境中攻击与防御的研究热点。在对抗环境中,攻击者能够进行闪避攻击[51]和药饵攻击[50,61]等。闪避攻击是指通过在正常的训练样本中掺入人工难以发现的少量样本数据,改变样本数据集,形成对学习系统的攻击。闪避攻击可以采用对抗数据生成的方式或利用传递性进行黑箱攻击的手段进行,大多用于推理阶段。药饵攻击通过向训练数据集注入虚假信息(药饵),使训练系统生成错误的模型,从而达到攻击的目的。药饵攻击一般用于训练阶段,破坏训练系统所生成的模型。

5.对抗环境中隐私数据的窃取

分布式计算环境中不同用户共享资源的特征,使得攻击者可能通过共享的资源(如软件栈、计算框架等),获取其他用户的隐私数据并用于模型攻击;在具有竞争关系的多个用户参与的计算环境中,如联邦学习,多个用户可能需要共同参与模型训练(共享学习),而参与共享学习的用户用来进行训练的数据是他们的私密数据,在这种共享学习环境中,用户的私密数据可能被其他参与者窃取[17,41,58,62]

1.2.2.2 人工智能衍生安全

人工智能系统的衍生安全问题,涉及技术和工程系统、国民经济、社会保障、金融服务、医学卫生、军事及国家安全等方面,是人工智能技术开发与使用中需要认真对待的重要课题。

1.人工智能系统存在安全隐患,可能引发安全事件

算法不完善、数据不完整等问题,往往使得人工智能系统存在各种安全缺陷,即使通过权威的安全评估,也难以使这些缺陷彻底表露。如此一来,人工智能系统在投入实际应用时,就很容易由于自身缺陷而导致各种事故,造成人身安全攻击、财产损毁、环境破坏等问题。当前,拥有高度移动能力和破坏能力的人工智能体造成重大安全事故的情况尤为突出。一个典型的汽车安全事故是,2018年3月,由Uber经营的自动驾驶汽车在美国亚利桑那州坦佩市附近撞了一位女子,并致其身亡。研究分析指出,其原因是自动驾驶汽车“看到”了这名女子而并未刹车,也并未生成故障警告信号。短短四天以后,又出现了另一起自动驾驶汽车的安全事故:一辆使用自动驾驶系统的Tesla Model S汽车因撞到高速公路的混凝土隔离墙上,而导致驾驶员身亡。如1.1.1节提到的,此前(2016年)就已经出现一辆使用自动驾驶系统的Tesla Model S汽车因撞上一辆大卡车而致驾驶员身亡的事故。这说明高速移动体的人工智能安全隐患有可能造成重大安全事故。另外,机器人外科医生致人死伤事件也频繁发生,而且机器人安全故障可能导致次生事故。以上都是由人工智能系统本身的故障导致的安全事故,称为衍生安全事故。国际上有一个对人工智能系统事故进行统计和报道的人工智能事故数据库(Artificial Intelligence Accident Database,AIID)。AIID的资料表明,截至2021年1月5日,智能体已衍生了百种千例的安全事故,包括自动驾驶汽车致人死亡、工业机器人致人死伤、医疗事故致人死伤、伪造政治领导人演说、种族歧视、传播不健康内容等。

2.人工智能给国民经济和社会治理带来巨大冲击

人工智能技术的衍生安全不一定是由人工智能系统本身的故障引发的,即使人工智能系统本身按照设计者的意图正常工作,也会(也已经)形成诸多安全挑战,其中包括对国民经济和社会治理带来的巨大冲击。当前,人工智能技术已经应用于医学仪器与医学诊断、工业生产过程自动控制、重要设施智能监控、公共交通出行、财政与金融等众多领域,并且正在协助人们完成一部分原本只能人工完成的工作任务。在国民经济方面,人工智能通过感知、理解、分析、趋势预测,协助人们以更加经济、便利的方式工作,从而减少了对有一定经验的工作人员的雇用,能够降低劳动力成本及减少各种相关支出;在社会职业构成上,随着人工智能技术的进展,各种智能机器和系统开始慢慢取代人工,进行部分烦琐、重复的生产作业或体力劳动等。但是,在人工智能为人类提供福利的同时,一部分人开始担心自己的工作将被智能机器取代,导致人们对失业的恐惧。由此带来的大批失业者,也将导致社会劳动组织和职业结构急剧变动,形成社会的不稳定因素[26-29]。在人类思维等智能活动方面,随着人工智能技术的发展,智能机器会逐步变得更加“聪明”,人们会更加依赖智能机器,这可能在某种程度上导致部分人的认知能力变差[31,35]

3.人工智能发展带来法治、伦理安全问题

人工智能系统的发展和应用不会带来对法治、伦理的冲击。人工智能恶意应用(如隐私盗取、欺诈)会造成广泛的社会安全问题(如网络和信息系统、金融、公共安全等),需要专门的技术规范、法制和政策。人工智能通过机器学习算法,可以对视频、图像进行修改,可以制造虚假新闻,可以进行人身攻击,扰乱公众视听,从而对社会稳定造成威胁[63,64,69]。利用从各种渠道收集的信息,智能系统可以进一步分析出被攻击者的偏好或者监控被攻击者的活动,进而对被攻击者进行威胁、讹诈或行为控制[35]。信息技术的发展使人们的各种活动暴露于各种传感设备的监控之下,而机器学习技术则可以通过对大数据的学习和分析获得已有技术难以获得的信息,使各类社会实体和个人的隐私安全受到极大威胁,隐私保护不但成为机器学习技术的热点课题,而且成为法律和伦理规范方面的重要挑战。为此,国务院制定的《新一代人工智能发展规划》明确提出,将加强对滥用信息、侵害个人隐私、违反道德伦理等行为的处罚。由于人工智能技术使机器具有自主决策、自我演化、自主行为等能力,人工智能伦理问题变得日益突出。如何使人工智能行为体与人类相容、遵循正确的伦理准则和规范,不但成为人工智能技术研究的重要方向,而且成为社会伦理关注的重要议题[21-23,31,35]

4.人工智能技术发展对国际政治、军事、国际治理体系等产生潜在冲击

人工智能技术在对抗环境中的强大能力诱发了人们将人工智能作为攻击性手段的行为,也激发了人们利用人工智能技术保护己方安全的热情。人工智能技术被用于网络攻击、情报窃取、舆论战,被用以制造虚假情报,干预对方的政治事务,如抹黑著名政治人物的形象,乃至干涉国家领导人的选举。人工智能技术也被用于研制精确控制的杀伤性武器,用以攻击对方政治、军事要员,或攻击重要设施。例如,2018年8月,委内瑞拉玻利瓦尔共和国时任总统马杜罗在阅兵典礼上遭受装载爆炸物的无人驾驶直升机的袭击;2019年9月,数架无人机空袭了沙特阿美集团的两处重要石油工厂,包括位于阿布盖格的世界上最大的原油净化工厂。美国、英国、俄罗斯、法国等均在人工智能军事应用、智能武器和无人系统的研发上给予大量投入,引发人工智能军备竞赛的潜在风险。基于人工智能技术的致命性自主武器的研发给未来世界带来巨大的安全、伦理等方面的冲击。2018年7月,在国际人工智能联盟大会上,来自90多个国家的2400多位人工智能领域的专家、学者,联合签订了《致命性自主武器宣言》,承诺他们不参与致命性自主武器的开发、研制和交易。人工智能技术的发展对国际政治、军事及国际治理的冲击引发了各领域相关人士的重大关切[29-31,67,68]

5.智能体一旦失控将危及人类安全

如果智能体同时拥有行为能力和破坏力、人们无法理解的决策能力、可进化成自主系统的进化能力,则不能排除其摆脱人类掌控并威胁人类安全的风险。而智能体失控所带来的衍生安全问题,无疑将成为人们在开发人工智能系统的过程中最为关注的重大课题。于是人们开始认真地思索,人工智能技术的发展是否会使智能机器超越人类的思维,从而引发智能爆炸。2017年4月,在全球移动互联网大会上,霍金表示:“简要来讲,我觉得强大的人工智能的崛起,要么是人类历史上最佳的事,要么是最糟的……未来,人工智能可以发展出自我意志,一种与我们冲突的意志……人工智能也有可能是人类文明史的终结,除非我们懂得怎样避免风险。”阿西莫夫给出了机器人不能伤害人类的3个准则。在这个基础上,在阿西洛马举行的Beneficial AI大会上,机器人和人工智能领域的专家形成了《阿西洛马人工智能原则》[65,66],希望以此保障人工智能的发展不会危害人类。著名的人工智能专家Stuart Russell提出了创造更安全的人工智能的3条原则(3 Principles for Creating Safer AI)。如何保证人工智能的发展为人们带来的是福祉而不是危害,达到人工智能与人类的和谐共处,是人工智能发展中必须解决的一个挑战性问题[31,35,70]

随着网络空间中的活动(经济、金融、教育、医疗服务、文化娱乐等领域)日益增多,安全问题日益突出;抵御网络空间的威胁,增强网络空间的安全性,是网络空间治理的重大需求。人工智能技术是为网络空间安全治理赋能的重要技术手段,基于人工智能技术的网络空间安全引发高度的重视和大量的社会投入[67]。机器学习技术被广泛地用于网络风险量化与分析、网络入侵检测和预防、网络威胁发现和渗透测试、用户行为分析、网络安全自动化等场景中。在对抗环境中,采用人工智能技术抵御人工智能技术的攻击,是提高各类应用系统安全性的重要技术路线。人工智能技术作为一种“双刃武器”,在对抗环境中,攻击方可以采用人工智能技术,基于对方的薄弱环节实施某些攻击,而同时利用人工智能技术可以更有效地分析攻击的技术特征,并采取识别、防御和对抗手段[2,30,31,40,67]。在研究人工智能安全问题的同时,我们同样需要注重人工智能技术本身所具有的为安全赋能的功能,加强为安全赋能的人工智能技术的研究和发展。