7月4日,在由百度安全主办,永信至诚承办的BCTF 2019-2020百度人工智能安全对抗赛新赛季暨百度AI开发者大会-公开课中,永信至诚高级副总裁潘柱廷(大潘)带来了《AI和智商》的主题分享,为现场观众呈现了一些建设性的思考。
(以下根据录音资料整理)
什么是人工智能?我倾向于广义理解。人工智能不仅仅是深度学习、神经网络或者其他思维层面上的东西;我认为一只手伸出去,碰到一个烫东西,手就快速自动收回来,这种自动反射的行为也属于人工智能的范畴。
而“智商”,在AI这里的广义理解,就是对AI及其所关联智能的指标体系,可对其做评价。智商是一类量化的比较性指标,包括机器人与人在某一方面的智能程度进行量化对比。如果我们对智商总做不到量化、做不到可比较,这会严重影响我们在AI安全应用上的研究和发展。这也是今天这样的对抗竞赛的意义所在。
不应该把AI在安全中的应用看成一个很窄的范围。其实我们今天做的BCTF-RHG人工智能赛,已经囊括的自动漏洞挖掘和自动场景对抗,只是整个AI安全里面非常小非常初级的部分。虽然确实是做了很棒的开创性工作,但是我们要有很清楚的意识,后面的空间还非常非常大。
“安全是一个注重结果的领域,专家的意义不大,赢家才是硬核”
安全里有一种方法论、一种价值观,就是不管你做什么,手段多么复杂多么高深,最终都是用结果来评判的,只看最后谁能赢。这是我们做AI和安全相结合起来的方向时,必须明确的一个具有哲学意味的重大取向。这个取向对整个智能网络安全的研究发展非常重要,甚至对整个AI研究也很重要。
其实我们人类的智能并不是由哪个高手构建出来的,也不是上帝设计出来的。人类能够存在这种超高的智能是上亿年的生物搏杀后,残存活下来的物种所具有的;这种经过了不断淘汰和死亡后留下来的才是智能。我们现在做人工智能安全对抗研究,也就是在做这过程的一个加速化;我们等不及上万年上亿年的自然淘汰,就是要通过这样一种对抗,让程序之间进行相互淘汰和选择,经过残酷的搏杀过程,最后剩下来的必然是越来越智能化的。(当然,我们今天不讨论也许会替代我们人类的那个智能。)
检验性安全看的是结果,安全不是构建出来的,而是经过千锤百炼“削”出来的
为什么要强调检验性安全?原来一直说安全合规,但是我们大家都知道,在过去的一个月里整个安全圈最集中的话题就是HW。这个HW不是HW公司,而是HW演习。因为HW代表一种对结果的检验,在演习中真是什么手段都用上了,甚至0-Day满天飞。原先做安全更多的是探讨程式,探讨方案,探讨合规;而当我们从仅限于用技术和方案来判定安全水平,变成用结果是死是活来判定的时候,这所带来的压力真是很不一样的。最后看的是结果和效果。这就是检验性安全。
这也是今天这场竞赛所秉承的想法。我们做的是检验性的安全,结果是可判定的,而且是比较容易判定的。
安全不是靠构建出来的,而是经过千锤百炼“削”出来的。
当然这里面有一点要强调,安全的输赢并不是单轮博弈,并不是每一轮博弈过程中都要把对手杀得死死的才算赢(也不太可能),安全是多轮博弈。就像生物进化也是多轮博弈的结果,所以恐龙在特殊灾难面前可能灭绝,而老鼠所代表的弱小哺乳动物最后也可以统治世界。以后统治世界是什么,一定是人吗,现在也很难说。最后决定世界的是输赢,是某种多轮博弈的结果。
检验可以是一种计划性不那么明显,或者预见性不那么明显的竞赛或演习
有一句话叫“实践是检验真理的唯一标准”。其实我觉得这句话还不太完整,实践“不是”检验真理的“唯一”标准,它确实是一个最重要的标准,或者说是最底线的标准;因为很多时候我们不能或者不愿在实践中去检验;因为在实践中检验了,就要去承担实践所带来的损伤和损害。所以我们需要用一些其他的方式去检验,比如说用测试的方式、用考试的方式去检验等。
在网络安全领域,我们所期望的未来检验方式,可能就是一种对抗,是一种计划性不那么明显,或者预见性不那么明显的竞赛或演习。百度安全和永信至诚就期望从现在到未来,去不断给大家构造出来这种场景对抗的环境。更进一步,我觉得一个更宏大的目标,是让我们BCTF-RHG人工智能赛变成全球人工智能对抗赛的巅峰。就像所有篮球高手的梦想是去NBA,所有打乒乓球的高手应该来中国的乒超一样。其实只要有高手在,高手在的地方就是世界的顶级战场。
对于智能的理解,不能局限于一个人的“脑”
AI有几层境界,AI人工智能不是要模仿,如果你是在模仿人怎么挖漏洞那是初级水平;反而应该从挖洞这个结果,反向探索去设计这个挖洞过程,不要局限于现在人怎么挖。AI在某些方面应该是超越人的,千万不能局限人到底怎么想,而是应该想机器更适合怎么想;怎么能够知道机器怎么想,这就是我们这个领域的设计点和难点。
人工本能、人工思维和人工灵性都是在设计AI时需要去研究和疏理的范畴。我们不能仅仅看中类似人类大脑的思维部分,而忽视类似人类神经系统的本能反射部分。比如说数据存储浓缩就像人对食物消化能力,消化系统不需要大脑指挥;类比看机器人获得大量的数据后,就开始不断地自动化自适应地吸收数据,不断浓缩和提炼。在有些动作很适合系统去完成;比如进攻中的无痕,这在人的攻击中是很难的,人的熟练程度、人的反应速度、人的失误都导致难以做到精准无痕;而这很可能适合机器做,比如渗透完成后的自动抹除痕迹。
此外,在AI领域我们视野要拓宽,在设计AI对抗的时候,不能将智能局限于在“一个人”的脑里面算。要突破一个人的脑力,要运用群体智能,运用海量系统,实现超大规模群体协同。换句话说,如果不去利用群体智能,那你完全是在浪费AI所具有的天然优势。因为AI机器人很容易做到自我孵化自我克隆自我迭代,并自组织地完成群体性的对抗协同。
如何进行超大规模群体协同,比如进入到一个陌生的从来没有遇见过的系统环境中,在极短的时间里要把系统的漏洞找出来,那这个时候就会调动群体性漏洞挖掘机器人,并形成协同作战。现阶段,我们大家的研究确实还没有到这种境界,那是因为我们还没有碰到需要打这种仗的机会;这种机会将来一定会有。让大规模群体高智能协同做一些奇妙的事情,是很值得去研究的方向。
在这样一个研究基础上,在这样一个研究方向上做对抗,让顶级战队聚集在这面旗帜下,未来这里就是全球最顶级的AI对抗战队的聚集地。未来网络安全,人的顶级对抗是DEFCON,而机器人的顶级对抗就来自我们今天的选择。
网络攻防除了攻击和防御,还有一个常常被忽略的关键要素——环境(靶场)
网络攻防的要素,当然是攻和防。网络攻防是有周期的,除了事前、事中、事后之外还有事先。事先这个词很有意义,它可能不在现场,而事前和事中、事后是同一个场,至少事前和事后肯定是同一个场。也就是说你在设计漏洞挖掘算法的时候,是“事先”,并不在今天这个竞赛场子里。而这个场子里昨天半夜大家去调试是“事前”,现在这些机器正在竞赛的对抗是“事中”。
一个有意思的现象,为什么全球在做AI研究上的论文绝大部分都是围绕漏洞挖掘的?比如,从CVE文本做自然语言分析,提炼出关键要素后进行漏洞重现分析;比如,用机器人自动挖掘已知漏洞的同类漏洞;比如,用Fuzzing等方式自动化完成漏洞粗挖,在用AI机器人进行细致验证等等。你会发现在漏洞方面的研究相比于攻防的其他方面确实要多得多,为什么?为什么“事先”的研究,比“事前、事中、事后”的研究要多得多?那是因为你现在手上能够拿到的研究环境和研究条件,最容易的就是某个版本的系统/机器,不管是硬件还是软件;搞研究总要有一个对象,能够被反复折腾。但是谁能帮你创造一个环境去折腾,去研究“攻击过程”,谁能反复给你陪练?一个真实的攻击中,自己一旦暴露就会“死翘翘”了,没有机会给你重来。不得已,大家自然而然地全部聚集在条件资源最容易获得的漏洞研究领域了;再就是非现场的“事后”取证分析的研究,也会相对容易;因为那个时候那个条件相对静态。但这种“事后”智能,更像大数据分析,不是AI分析,很难做到我们期望的《源代码》电影中的样子。
这时候我们也许能意识到一个问题,回归到本源的那个问题:攻防的要素是什么?攻防要素,除了攻击和防御,还有一个常常被忽略的关键要素——环境(靶场),就像今天的BCTF-RHG竞赛环境。如果AI攻防研究有一个仿真度很高的靶场,可以让你在靶场中训练自动化的渗透算法和程序;在不同的条件下,可以反复测试不同算法的效果;这样的场景构建意义是非常重要的。有了仿真环境和场景的支持之后,在事前、事中、事后研究就有一个平台,这也是百度安全和永信至诚希望给真正AI对抗研究提供的场景。就像Linux、安卓等操作系统是业界共有的基础,做AI对抗研究也需要有一个基本的基础场景,这就是百度安全和永信至诚希望去做的,希望通过今天的竞赛,逐步构建像《黑客帝国》中的矩阵Martix,去承载人工智能攻防对抗的研究和发展。
几句总结性的话
人和AI的很多“商”是可以互补的。
从AI攻防对抗研究的视野,人工本能和群体智能是更值得进行对抗研究的。也许思维式的智能化将来会站在制高点,但缺了人工本能和群体智能肯定是不行的。
我们在做的机器人大赛,通过平行仿真的技术去模拟仿真出所期望的环境和场景,不管是场景还是她上边所承载的机器人对抗技术,都将会引领整个AI人工智能对抗的方向。
安全要靠结果说话,智能要可检验,AI对抗就要玩儿真的。
愿与大家携手,共同描绘一个世界顶级AI对抗的蓝图。