— 序 —
早在人工智能(简称AI)诞生之前,人们就已经关注人与智能机器的关系,担心一旦机器具有自我意识之后,是会继续作为“奴隶”听从人类的指挥,还是会变成与人类平起平坐的“兄弟”甚至是统治人类的“主人”。时至今日,AI安全仍然是大家关注的话题,但话题的内涵却有了很大的变化。有意识的智能机器是否会出现、什么时候出现——根据AI技术发展的现状,多数人认为这个问题最多算是“远虑”,并不是当前需要考虑的安全问题。当前迫切需要考虑的AI安全的“近忧”——并不是来自AI机器本身,而是来自对AI技术的人为“误用”与“滥用”——正是人类这些有意或无意的行为,导致了AI系统的多种安全隐患。
“如何正确地使用技术”是一个古老的话题,如原始人掌握的石器制作技术,既可以用来打造生活用品,也可以用来制作石刀与石斧等武器。技术本身没有“好”与“坏”之分,同样的技术既可以用来做“好事”,也可以用来做“坏事”。随着现代科技的迅猛发展,特别是信息科技的高速发展,令人担忧的现象出现了,人们发现:越是高度信息化和网络化的系统就越脆弱,安全漏洞越多,越容易受到攻击。人们本来期望通过AI技术摆脱这个困境,而深度学习的出现打碎了这个良好的愿望,因为人们很快发现,由深度学习构建的AI系统更加脆弱,AI安全问题亟须解决,迫在眉睫。《人工智能安全:原理剖析与实践》一书及时触及并详细阐述了这个话题。
本书从四个方面展开AI安全的讨论。
第一,由于AI系统总是存在于传统信息系统中(如操作系统和互联网环境中),因此AI系统的安全首先要考虑“信息系统环境”的安全。本书第1、2章不仅讨论了传统的信息安全,如漏洞的挖掘、利用漏洞的攻击与防御等,还讨论了AI深度学习框架的安全问题:由于框架自身逻辑的复杂性及第三方依赖库都存在漏洞,因此同样存在信息安全问题。
第二,AI算法安全。由于AI算法,特别是深度学习算法的脆弱性,攻击者通过恶意构造的输入对其进行攻击,造成了巨大的AI算法安全隐患。本书第3章详细讨论了白盒场景下的对抗攻击,如快速梯度符号法、DeepFool算法、投影梯度下降法、C&W算法、通用对抗扰动等,以及黑盒环境下的安全问题,包括基于迁移的黑盒攻击、基于查询的黑盒攻击及相应的防御方法等。
第三,本书第4章在“人工智能辅助攻防新场景”的标题下,讨论了如何利用AI技术创造新的攻防方法,如自动化漏洞挖掘、生成对抗网络在安全领域的应用、对目标检测算法与语音识别系统的攻击、视频中的人物换脸等。
第四,本书第5章在“人工智能安全生态”中讨论了如何避免对AI技术的误用。由于AI系统本身的复杂性及使用环境的复杂性,我们无法在AI系统设计和测试阶段考虑所有可能的安全问题,因此,需要通过加强和改善人机交互和人机协作来解决。本书理论联系实际,提供了关于AI安全从原理分析、算法构造到应用实例、程序代码及实验结果的详细内容。“攻与防”属于“矛与盾”的关系,既是对抗的双方,又是相互合作的伙伴。因此,只有深刻地了解“攻击”的手段,才能构造出坚固的“防御”方法,反之亦然。本书在叙述中既讨论了攻击的方法,也提供了相应的防御手段,兼顾这两项内容。
解决AI的安全问题,涉及两个层面。一是关于AI的治理。既然AI的安全问题主要来自人类对AI技术的误用与滥用,就需要从道德、伦理和价值观的角度制定针对研发人员、管理人员和使用人员的各种法律、法规、制度与标准:一方面,强制大家遵守法律法规,不去滥用AI技术;另一方面,要求大家自觉遵守规章制度,谨慎使用AI技术,以防止误用。二是目前的AI技术,特别是以深度学习为基础的AI技术,是不安全、不可信、不可靠的。我们需要发展可解释和鲁棒的第三代AI理论与方法,发展安全、可信、可靠、可扩展的AI技术,只有这样,才有可能从根本上解决AI的安全问题。
本书适合关注AI安全的研究人员、工程技术人员、教师与学生等广大读者阅读与参考。
张 钹
中国科学院 院士
清华大学人工智能研究院 院长
— 自序 —
安全的本质是对抗。在网络安全领域,当我们试图通过非正常途径进入并控制一台计算机的系统时,我们对抗的是什么?毋庸置疑,是漏洞,计算机漏洞——更确切地说,是人类的漏洞——因为构成计算机程序的代码,包括其存在的缺陷,都由我们人类写就。所以,在一定程度上也可以说,安全的本质是人与人的对抗。
2014年年初,笔者王琦带领的KeenTeam开始研究特斯拉电动汽车的安全问题。尽管在此之前团队从未接触过车载计算机,但大家笃信可以找到特斯拉的漏洞。其原因非常朴素:只要是人编写的程序,就不可避免地会存在漏洞。这个出发点在此前两年,KeenTeam开始尝试破解当时最新的iPhone时就得到过验证。半年多以后,特斯拉总部给KeenTeam颁发的一枚安全荣誉勋章证明了这个朴素的推断依然成立。
在破解特斯拉时,KeenTeam接触了无人驾驶技术。我们把特斯拉汽车比做一个人,在过去,我们使用传统的网络安全手段通过漏洞去破解特斯拉,无非是在寻找CPU(好比人类的大脑)、操作系统(好比管理身体机能的神经系统、内分泌系统、循环系统等)、APP等的“肉眼可见”的漏洞。特斯拉无人驾驶所使用的视觉及其背后的人工智能技术,忽然打开了王琦的新脑洞:有没有可能通过视觉的污染或欺骗,去破解这个“人”的“肉眼不可见”的“意识”,让这个“人”做出错误的决策?这成了KeenTeam研究人工智能安全的最初驱动。随后,包括笔者王海兵在内的KeenTeam成员,在多种人工智能应用系统、机器学习框架等处发现了大量的安全问题。
在学术界,也悄悄形成了一股关于人工智能自身安全问题的研究热潮。早期的学术研究显示,经典机器学习模型(如支持向量机)可以被噪声数据或投毒数据欺骗。2014年,学者们进一步发现,深度神经网络很容易被人工智能算法所寻找的对抗样本误导,产生错误的预测或决策。这种“反直觉”的现象很快吸引了大量关注,引发了学者们对人工智能自身安全问题的研究。
笔者朱军带领的清华大学TSAIL团队,基于长期的机器学习模型算法研究,形成了敏锐的嗅觉,在国内率先开展了深度学习对抗攻击与防御方面的研究,从深度学习的基础原理出发,探讨对抗样本形成的机理,发展对抗鲁棒的深度学习方法。TSAIL团队的学术成果发表在机器学习的主要期刊和会议上,一些算法被主流的开源算法库(如CleverHans、FoolBox)收录,团队因此荣获2021年度吴文俊人工智能自然科学一等奖。基于扎实的理论和算法功底,TSAIL团队一举荣获了由谷歌发起的NeurIPS 2017首届国际AI对抗攻防竞赛全部三个赛道(有目标攻击、无目标攻击和对抗防御)的冠军。
可见,网络安全界和人工智能学术界都在关注人工智能的安全性。尽管他们研究的侧重点并不相同,但对人工智能的整体安全性都是不可或缺的。随着研究的深入,双方产生了交集。2016年10月,生成对抗网络的发明人Ian Goodfellow受邀在GeekPwn美国会场分享对抗样本方面的最新研究成果。2017年,KeenTeam启动了面向所有人工智能安全研究者的GeekPwn AI安全专项赛,Ian成为此项赛事的技术顾问。2019年,TSAIL团队与阿里安全、瑞莱智慧合作,发起了“AI安全挑战者计划”系列竞赛。这些比赛以公开技术挑战的形式,邀请黑客社区和学术界一起研究人工智能的安全缺陷。
通过努力,GeekPwn AI安全专项赛和“AI安全挑战者计划”成为网络安全界和人工智能界交流的桥梁,竞赛项目也扩展到多个人工智能子领域,除了图像分类,还举办了人脸识别、语音识别、自动驾驶、图像视频伪造、笔迹伪造、大数据追踪等方面的赛事。国内外的著名高校,如美国加州大学伯克利分校,以及中国的清华大学、中国科技大学、国防科技大学等,带来了一场场震撼人心的成果展示,相关竞赛累计吸引超过26个国家和地区的4万余人参加。《人民日报》、人民网等对相关竞赛的报道,对我国为培养一流网络安全人才做出的积极贡献表示了肯定。
在过去近十年里,我们一起见证了人工智能安全领域的蓬勃发展,人工智能和安全的融合研究与思考逐步成为常态。尽管两个团队分别从应用实践和理论研究的不同角度出发,但殊途同归,我们对人工智能安全的判断和想法不谋而合,于是有了一起创作本书的想法。
本书完稿于新冠疫情前,原本是想对人工智能安全做阶段性和系统性的回顾总结,但每次审视都感不足。好在任何安全都既需要“未雨绸缪”式的前置,也需要“攻防式”的持续推翻和加固,所以,我们暂且把此书交由各位读者批评指正。
本书不仅包含GeekPwn比赛成功项目的成果和清华大学TSAIL团队的研究成果,还借鉴参考了很多国内外安全界和人工智能界的公开研究,在此一并向所有为人工智能安全作出贡献的前辈和同仁致敬。
除此之外,我们还想特别感谢一位大师。没有他,我们就无法在这个时代进行如此令人兴奋的研究。他就是计算机科学之父和人工智能之父——艾伦·图灵。图灵在提出人工智能概念之前的十年,也曾是一名破解了“二战”时期德国密码机的黑客。大概,那时候已经注定人工智能与安全之间一定会存在某种奇妙的交集。
全体作者
— 前言 —
人工智能这门学科的历史几乎和计算机科学一样长,发展过程经历了多次起落。目前,人工智能正在快速进步,成果喜人。然而,人们对人工智能安全的担忧,几乎伴随着人工智能学科的成长。随着人工智能技术的应用领域越来越广泛,这种担忧越发凸显。
基于这种考虑,我们希望把人工智能安全的一些基本概念和框架进行梳理,使传统信息安全和人工智能的研究者能够快速进入这个领域,为人工智能安全的研究添砖加瓦。另外,我们也希望通过本书表达一个观点:人工智能安全需要计算机、自动化、数学、哲学、社会学、伦理学等各行各业的研究者和实践者共同参与。其原因是:人工智能将会引发一场社会大变革,它关系到人类社会的每个角落。每个行业、每个人都不可避免地会受到人工智能带来的巨大影响,理解和掌握人工智能安全技术,能够让人工智能更好地造福人类社会。
本书第1章主要介绍信息安全和人工智能基础,供对这些知识不熟悉的读者参考。
本书第2章和第3章分别从人工智能信息系统安全和人工智能算法安全的角度,对人工智能安全的研究方法、研究手段进行详述,其中包含大量的真实例子、程序代码,供读者了解人工智能安全研究的细节,帮助读者迅速了解这个领域的基本情况,为日后深入研究打下基础。
本书第4章主要讨论人工智能辅助攻防新场景。本书第5章主要讨论人工智能安全生态。这两章的话题涉及人工智能安全另一层次的视角,希望能更全面地为读者梳理人工智能安全这一主题。
本书力求做到深入浅出、重点突出、简明扼要,尽可能方便不同专业背景和知识层次的读者阅读。在本书编写过程中,极棒实验室(GeekPwn Lab)给予了大力支持,清华大学研究生董胤蓬、庞天宇、程书宇、杨啸、桥本优、李钥儒、付祁安等做了大量的资料收集整理、书稿校对等工作,在此对他们的辛勤工作表示感谢。
人工智能技术发展日新月异,人工智能安全领域也是一样。本书不可避免地会存在疏漏和跟不上技术发展之处,敬请读者谅解。若本书能够使读者对人工智能安全研究领域有一定的了解,能够让更多的人关心人工智能安全研究,就达到目的了。