从机器学习到机器创造——访AI安全专家李康
作者: 日期:2017年12月07日 阅:8,374

人工智能(AI)的出现最早可以追溯到上个世纪五十年代,但在经历了一段时间的热度之后便开始下降及至沉沦。一直到了今天,随着深度学习的兴起,AlphaGo的横空出世,人工智能的概念再次大热,但深度学习到底意味着什么?人工智能又有哪些细分技术应用在安全领域?安全人员需要担心被人工智能取代工作吗? 带着这些问题,安全牛采访了人工智能与网络安全专家李康教授。

个人简介

李康,现任乔治亚大学终身教授,360IoT研究院院长。李康教授为网络安全对抗赛CTF最早的实践者,组建的Disket在2015年美国国防部高级计划研究局组织的CGC (Cyber Grand Challenge)资格赛中闯入决赛。

一、受缚于复杂逻辑 振兴于深度学习

安全牛:之前了解到您很早就在人工智能领域,您如何看待今天的人工智能浪潮?

李康:二十几年前我在学校被分到人工智能班,毕业时正赶上一波人工智能的谷底。当年想必同班同学们都恨不得把“人工智能”几个字从毕业证里抠下去 … 做语音识别,自然语言理解,图像识别的同学们绝口不提人工智能。我也在大四做了逃兵,早早跳槽去了网络系统组,懵懂而幸运地去做了网络安全。

今非昔比,人工智能的新一轮浪潮来了,这次带头的是深度学习技术。 当下深度学习技术在视觉,语音中的广泛应用,对自动驾驶的促进,AlphaGo 对人类棋手的碾压以及其不断的进化,深度学习技术大有一统天下的味道。 在我们安全行业,这种情景也不例外。 我认识的好多安全研究的新老朋友,听说都在用深度学习这把刀子,在各种安全问题上乱捅。

安全牛:人工智能为何跌入谷底,又因何而复兴乃至大热?

李康:人工智能有很多分枝。前面几代的人工智能主要以符号逻辑和简单神经元网络为主,受到逻辑表达能力以及状态爆炸的约束,对复杂问题难以施展手脚。而这一次人工智能的复兴是基于统计的深度学习算法的成功应用。成功的因素主要有“误差反向传播算法”、“海量培训数据”,以及GPU的超强并行处理能力等。

人工智能的一些分枝,尤其是传统机器学习和遗传算法,其实在安全的一些子领域里早就大有所为。特别是在异常行为检测,信息分类等场景中。因此最近很多老朋友也都翻出家底儿,展示自己在安全领域中应用人工智能的悠久历史。 当然,人工智能的历史远不至于此,我只是从自己的角度稍做点评。

二、只有基于逻辑才更加智能

安全牛:人工智能目前都有哪些细分技术应该用在安全领域,并为其带来了哪些改观?

李康:这个问题展开的话,需要一个单独的文章来回答。感兴趣的话,欢迎约稿:),我在这里简单回答一下。

人工智能包括符号逻辑、遗传算法和传统机器学习,而新的机器学习技术如深度学习在安全领域中有很多应用。比如基于数据的决策判断,包括病毒检测分类,网络异常行为检测等,它的主要作用体现在对海量数据应用的改观上。此外,深度学习最近在逆向工程的一些细节问题(例如函数识别,相似函数检测)也有很成功的应用。

符号逻辑和遗传算法在过去几年在软件测试和漏洞挖掘方面有非常成功的应用,最近几年有大量的漏洞是用这些技术发现的。虽然最近深度学习也被用来做漏洞挖掘(微软和我们都有尝试),但效果并不比基于符号逻辑和遗传算法的方式改变太多。

安全牛:如何理解深度学习?能否用浅显易懂的语言解释一下?

李康:想象一下打网球。一个“漂亮”的击球动作需要成千上万个肌肉神经来控制,每块肌肉神经都需要有合适的“参数”。我们练习打球的时候就是不断调整这些肌肉神经的记忆, 打多了就自然“知道”这些“参数”。 这个动作的完成在大脑里用的不是符号逻辑推导,用的是神经的记忆。

深度学习中学习的过程就是调整这个神经记忆的过程,它通过训练结果的误差不断调整神经原的相关记忆。希望我举的这个例子有所帮助, 同时也希望用这个例子解释基于符号逻辑的人工智能与基于统计的人工智能的区别。

安全牛:也就是说深度学习是基于重复统计的,而只有基于逻辑才能更加智能?

李康:是的,而且只有后者才更有可能做出“创造性”的工作,创造很难用深度学习来独立完成,因为创造需要逻辑推理,就像桥梁工程师设计大桥时,会需要很多逻辑推导。单纯用统计(尝试)的方法来搭建桥梁比较困难,至少从目前看效率比较低。

三、机器不如人的两个事实

安全牛:我们知道,机器自动攻防、自动漏洞挖掘与利用现在正成为行业关注重点。去年美国DARPA(美国国防高级研究计划局)举办了CGC全自动攻防挑战赛,今年国内的360与永信至诚也办了机器自动攻防比赛,赛宁XCTF也在全球率先创办的人机协同CTF比赛。 但另一方面,一些年轻的安全人员担忧未来行业前景,担心人工智能会替代安全人员的工作,您如何看待这种想法?

李康:这种想法当然可以理解,不过你既然提到了CGC比赛,我们来看一下比赛的两个事实结果。一个是CGC决赛后的人机安全对抗结果,总共15只战队,CGC冠军 Mayhem却最后垫底,输给了14个人类战队。而且不要忘记,比赛内容是为机器专门设计的,比赛运行在与现实任务有相当差别的简化环境。但不管怎样,这个结果至少说明机器离人类安全战队还有距离。

另一个事实是优秀安全人才的身价一直都在持续飙升,如果你是业内非技术人员,可以向各大公司的HR求证。如果你就是安全技术人员,而且水平还不错,可以直接数数自己手里的offer。

四、此“黑”非彼“黑”

安全牛:也就是说,替代人的那一天至少现在还看不到。那么,人工智能技术实现主要的挑战在哪里?

李康:我稍微具体一下论题,比如哪些安全问题,深度学习还没搞定?直接的答案是 — 大部分安全问题都没被深度学习搞定。 安全是一个很广的领域,这里集中说说在安全领域里 深度学习目前最不擅长的。

我个人认为深度学习目前最不擅长的是安全行业中的一个最核心的技术 — 也就是黑客中的“黑”这个动作。 黑客中的这个“黑”字。 大众很容易把“黑”想成黑产的黑,或者黑暗的黑。 黑客的黑其实是动词,来自hacking这个动作。

什么是hacking? 我的定义是用非常规方法解决问题的动作。具体到安全问题,是指通过发现程序的非设计功能,通过组合这些功能,重写并形成新的程序,实现原来程序或系统不具有的功能。 举个例子,对于普通用户来讲,微软的公式编辑器是一个用来在Word文档或PPT里插入公式的一个程序。但对于黑客来说,一个公式可以让Word程序瞬间变成一个间谍程序,能够打开你的麦克风,并将录下来的声音上传到网上。你相信吗?

安全牛:当然相信:),这就是最近刚刚曝出的一个Office公式编辑器漏洞,而且这个漏洞已经存在17年了。

李康:包括微软的公式编辑器,大多程序在完成“本职工作”之外,都有各种各样的“特异功能”。 这些特异功能有的是程序员的错误,但更多是程序本身以及计算机系统实现的各种因素造成的。 用现实生活中的例子,如果把送餐小哥想象成一个程序的话,用户这边只看到订餐和餐送到的情况。 但是要实现这个功能,送餐小哥一定要从把食品送过来。送餐小哥走了哪条线路,路上是否闯红灯,用户都看不到(可能也不关心)。 安全人员可以通过发现程序的非设计功能,并对这些功能进行组合,从而实现一些目标程序不相关的功能。例如,如果某个送餐小哥(程序)在某个特定地点一定会闯红灯的话,就可能被攻击者利用,通过特定的订餐行为引导送餐小哥在特定时间特定地点造成交通问题。 程序化地利用目标程序的非设计功能,这个过程就叫做黑(hacking)。

五、从机器学习到机器创造

安全牛:如何让机器能够hacking?

李康:从技术的角度讲,hacking这个动作具有以下几个难度。第一是寻找程序和系统的各种非设计功能。 第二个是如何把非设计功能变成组件,并有机地把它们组合起来。也就是用这些非设计功能来写程序。 这些程序不容易写,因为组件都不是专门设计好的。如果正常写程序可以看成小朋友用乐高来搭积木的话,hacking是调皮的孩子用积木废料来做小提琴。而且还是背着大人偷着干的。这是因为安全研究工作中,攻击方不仅仅要考虑如何用这些非设计功能进行组合,同时还要对抗或绕过防护方的各种防御手段。

搞安全研究的大都熟悉 ROP/JOP/DOP等攻击手段,他们的核心就是要把各种程序片段或者对数据的影响按照逻辑串在一起。不仅是要有办法把这些非设计功能片段连起来,为了能做到更全面的攻击功能,安全研究者们会研究如何用这些组件实现图灵机。 一旦证明这些非设计组件可以形成一个完整的图灵机(Turing Complete)的时候,安全研究人员也就证明了他们可以在上面写任意程序。 研究攻击和漏洞利用的过程也就是一个发现组件,并用它们搭建图灵机的过程。

归根结底,安全中的“黑”(hacking)需要的是一个创造机器并在上面编程的技术。所以,安全的核心需要的不仅仅是做机器学习(machine learning) 的人工智能,还需要能够做机器创造 (machine creation) 的人工智能。

六、对抗无止境 人类是主角

安全牛:深度学习有否可能突破这个从“学习”到“创造”的过程?

李康:目前的机器创造主角还是人,通过安全人员基于严密的逻辑进行搭建。这个过程需要设计者充分了解系统里可能存在的组件,并对组合的方法以及防御引入的障碍了如指掌。 解决问题的时候最需要的是精准的逻辑控制,例如如何将一个指定指令的寄存器值改成一个特定的值。 这就是为什么像 Lokihardt 这样的顶尖黑客可以一骑绝尘,因为他们比微软的工程师更懂windows内核,比苹果程序员更懂safari浏览器。

我们目前还不知道如何用统计的方法来搭建复杂的逻辑系统,当下流行的深度学习是一种统计算法,可以帮助很多解决基于统计的工作。 例如对于树木样子的描述。 什么是一棵树?人的判断是通过经验而不是详细逻辑定义的。 深度学习善于帮助人处理没有准确逻辑描述的事情,但目前深度学习的逻辑归纳和判断能力还很弱,带有推理和强逻辑关系的深度学习也是目前重要的研究方向。

所以我断言,安全的一个核心是机器创造问题,目前还没法用深度学习来解决。

当然在这个机器构造过程中,是不是有些部分问题可以用深度学习来协助。答案当然是肯定的。 但是深度学习对安全的核心还没有什么革命性的推动,对顶尖安全人员的需求目前只会有增无减。

以上只是我个人观点,欢迎大家拍砖,也欢迎研究人员用实践挑战我的说法。

另外人工智能技术有很多技术分枝,包括符号逻辑推导,遗传算法,机器学习,神经元网络。 上面集中说深度学习,但是其它人工智能方法在安全中的应用也很广并有效。年轻热关注人工智能在安全中的应用,不要认为人工智能只是深度学习。

安全牛:那么,如果人工智能以后真的进化到“机器创造”,是不是安全研究人员就失业了?

李康:在安全行业做久了都知道,安全的本质是对抗。 当人工智能能力提升以后,安全对抗的对手能力也就提升了。其实目前在一些领域,黑产(不是hacking的黑)已经开始使用深度学习技术。破解图片校验码是最常见的例子,其他还有用机器学习来刷帖,自动生成评论,笔迹或写作风格模仿。因此对抗基于统计数据的人工智能应该是安全研究的一个新焦点。

未来当人工智能达到能够自我构建机器并编程的阶段后,做安全攻防的研究人员需要考虑的是如何对抗具有自动机器构造能力的对手。攻防对抗是无止境的,只要我们人类还在。

相关阅读

“破坏王”勇夺DARPA机器挑战赛大奖
访谈|XCTF三大看点:新加坡、XMan、AI攻防

 

申明:本文系厂商投稿收录,所涉观点不代表安全牛立场!


相关文章