自从去年AlphaGo战胜李世石之后,“人机对战”便又成了一个热点词汇;两方之间持续到现在的比赛,几乎没有一个能让人类一方笑逐颜开的结果。
但在不久前由永信至诚主办、360企业安全集团战略支持的人与机器网络攻防竞赛(Robo Hacking Game)中,人类战队却在更高维度的比赛中战胜了机器。
钛媒体记者在比赛现场看到,在8支机器人、4支人类战队组成的混战中,最终人类战队 Mirage 夺得第一,而机器人战队 Tinker 取得了第二名的成绩,后面的名次人类黑客略占先。
继围棋、德扑之后,我们亲眼观战了一场“机器人黑客”与人类黑客的交锋
据360安全专家李康教授介绍,这次网络攻防大赛的灵感来源于Cyber Grand Challenge(CGC),它是第一场在CTF竞赛中没有人类参与完全由计算机完成的CTF竞赛;本次比赛也沿用了经典的 “CTF” 模式,即“挖漏洞、坑对手”。李康教授告诉钛媒体:
参赛团队之间通过进行攻防对抗、程序分析等形式,率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并将其提交给主办方,从而夺得分数。
在CGC总决赛和DEFCON CTF中,计算机程序已经证明了其可以做出较为突出的发现漏洞和进行修补的能力,但是在漏洞发掘和利用程序生成能力方面,计算机程序依然无法与人类的安全专家相抗衡。
而在本次比赛与人类黑客的正面对抗中,机器人黑客的表现也有着可圈可点之处。
“如果我们有10万的安全人员,真正做漏洞挖掘不到1万”,在永信至诚 CTO 张凯看来,“机器人已经能够完成攻防人员全部的工作,拿到赛题,解除利用程序,发布出去,再搜集相应流量等等”。李康教授也认为,现在的很多程序已经可以替代初级安全人员。
而且本次比赛有很多的“不足”,也使得胜利的天平偏向了人类战队的一方
首先,机器战队最有优势的技能——计算能力,在这一次比赛中“打了很大折扣”。在 CGC 的比赛中,黑客队伍使用的价值50万美金的超级计算机,而这次比赛使用的服务器,价格只有两万人民币。计算的数量等级上,并没有一个很好的匹配。
其次,比赛的赛制决定了,对人类战队的人数没有限制,而且黑客团队有着特殊的地方——他们大多需要自动化工具辅助自己。也就是说,机器人战队是纯粹的机器人,人类战队则是人与机器的结合。而本次比赛,是直接开放接口,人类战队则是直接提交数据给平台,未知的X因素还是不少。
尽管在上述比赛环境下,除了赢得第二的排名之外,机器人战队也还是有着非常亮眼的表现。
张凯在复盘比赛时表示,“每道赛题都有机器人得分了,只是拿到题目以后,后面的一些手段、战术、高低分配合等等方面跟人类有一定差距。”
机器的聪明之处还体现在,“很多人解不出来的(漏洞),机器人能解出来”。李康说,“人对于特别复杂的程序还是能很快把问题缩减,能够领先的。如果说处理的速度、处理量来讲比机器慢很多,不一定是谁蹍压谁”。
事实上,李康的判断涉及到一个“人机对战”中很普遍的概念:策略
AlphaGo与李世石的世纪大战,让“策略”这个词具有了很多计算领域的延展。因为不管是围棋高达10^171种的可能性,还是德州扑克的10^160种可能性,都远超当今计算机的运算能力。
以AlphaGo为例,它采取的策略是将围棋巨大无比的搜索空间压缩到可控的范围之内。AlphaGo有着两种不同的神经网络,“策略网络”与“价值网络”:前者的作用是预测下一步,并用来将搜索范围缩小至最有可能硬起的那些步骤;后者则是用来减少搜索树的深度,每走一步估算一次获胜方,而不是搜索所有结束棋局的途径。
而具象到网络安全领域,策略不仅有了基础条件上的不同,其本身的区域限定也变得模糊起来。
因为与下围棋不一样,网络安全是一个开放的环境,“时时变化”也是策略的本身。
比如说,“人类战队解不出来,但是机器解出来的问题”,机器在第一时间解出来了,却并没有让自己最终占据优势,因为在策略的选择上,人类有着巨大的优势,通过重放发现机器解答的手段,然后在题目进程上进行优化,人类战队便能领先机器战队。
而且在比赛中,人类战队会总结赛题的特点,寻找针对的方法刷分数。这种根据自身经验应对不同环境的策略,也是本次机器战队所缺乏的。
不过在张凯和李康看来,机器人在安全领域的未来应用是“光明的”,因为策略选择和计算量的调整也是机器学习的一个范畴。
如果把人机黑客比赛设定成一个棋盘,张凯认为,这个棋盘的边界便是明确的规则:我们的题目在什么系统上什么样的赛题,有多少种漏洞,机器人要运行在什么样的情况下。
AlphaGo的基础是大数据的学习,通过研究千千万万的棋谱,通过与人类高手的过招,通过自我反馈的进步,它才有了现在的功力。
不过,对于人工智能研究者来说,现在的漏洞挖掘难,就难在很多方式方法没有办法使用。李康向钛媒体介绍道:
漏洞挖掘比较难用的原因,是一个漏洞和另外一个漏洞的相似度,正常输入跟异常输入没有太多相似的特征,所以这个地方还有待研究,目前直接把深度学习拉过来不太好使。
计算机做攻防,则有着巨大的意义
黑客领域的人机对抗比赛并非是搏噱头,除去人类黑客团队需要自动化工具做助手之外,计算机在网络安全领域的未来应用,前景是相当可观的。
李康对钛媒体介绍,首先是安全需要很多人来做维护、防御、做攻击,现在这方面有着很大的缺口;其次计算机有着反应快速、扩展程度强的特点,一旦有一种新的防御黑客方法产生,计算机可以迅速把这种方法铺开。
人工智能在执行层面上,已经是大大的超越了人类的能力,而且不仅是“几乎不会犯错”,更是可以“迅速复制与传播”,相对于人类的言传身教不知快速上几何。
即使是“策略”这样的问题上,人工智能也有了不小的进步,比如上文提到的德州扑克,除了打牌的规则与套路之外,更多讲求的不是谋略么——围棋的基本信息都是对称的,而德州扑克有着太多的隐藏信息,在处理不完整、非对称信息的事情上,人工智能也算是迈出了“第一步”。
而且人工智能是在加速成长的:60年前的人们为人工智能做定义,到了世纪末期深蓝才战胜了卡斯帕罗夫,过了十几年AlphaGo便可以在围棋领域战胜人类顶尖高手,而处理更具灵活性的德州扑克,则是过了一年的时间。
如今的机器人黑客,能够做的可能比较底层、比较简单,但是未来能实现在网络安全领域的应用,那么“10万的安全人员,真正做漏洞挖掘不到1万”也就不是多大的问题了。