上周,在拉斯维加斯的巴黎酒店会议中心,著名的天体物理学家Hakeem Oluseyi正在主持一场实时网络安全竞赛,而它的特别之处在于:参加比赛的主体不是人类,而是机器人。此次竞赛由DARPA(美国国防部高级研究计划局)举办,周四,竞赛进入决赛阶段,七支入围队伍将争夺200万美元的奖金。从入围选手有高校研究人员,到世界上最大的国防企业,网络高手们在竞赛上一决高下。在此期间,研究团队需要打造出七套“自动攻击系统”。此举旨在实验性探索无人干预条件下的入侵、补丁、网络防御方面的软件程序。
在经过了10小时、95轮的激烈角逐之后,DARPA宣布由卡内基梅隆大学ForAllSecure团队打造的Mayhem“自动攻击系统”赢得了比赛,获得冠军。亚军为弗吉尼亚大学的TECHx团队打造的Xandra,季军为学生团队Shellphish打造的 Mechanical Phish。
比赛结束后,冠军机器人Mayhem将会参加一年一度的DEF CON,与人类进行角逐。虽然没人希望机器人赢得比赛,但此次比赛可以让机器人比人类更快地解决某些Bug。
DARPA希望此次竞赛能让开发者更近地接触到软件修复机器人,打造在查找漏洞、编写利用、以及部署补丁上比人类更强大的机器人。DARPA表示通过几百万行代码来发现漏洞非常有必要,因为它能帮助加强如电力线和水处理厂这样的基础设施,以此来应对网络攻击、保护隐私。
不过,现在没有哪一个系统已经上市。很多安全专家正在不断扫描代码,来发现潜在的问题。Hakeem Oluseyi表示:平均而言,专家要发现网络漏洞需要312天,要修复它则需要数月或数年。
在比赛的过程中,参赛团队并不知道将要面对哪些bug,因此他们的机器人必须识别Bug,不断测试以确定Bug、寻找不拉低计算机运行速度的补丁,并使用它。
为了测试这些网络安全机器人的极限,DARPA设计了多种Bug,包括一些著名恶意软件(如Morris worm和Heartbleed)的简化版本。此次比赛的成绩评定标准包括快速有效运用补丁、确认竞争者的补丁,如果机器人运用的补丁降低了软件的运用速度,则将扣分。美国雷声公司的网络工程师Corbin Souffrant表示:“如果你发现了某个Bug,但是需要花10个小时来运行一个原本5分钟的软件,那么Bug修复将变得无意义。”
参赛团队Deep Red描述了系统完成任务的五个步骤:
机器人运用一种叫做fuzzing的技术来让程序超载,从而让Bug出现。
机器人扫描1中发现的结果,来确定程序中的漏洞。
寻找数据库中的补丁。
运用补丁。
分析结果,来看其对程序修复是否有效。
以上每一个步骤都使用了AI技术来比较多种解决方案,并预测未来如何将之运用于相似的情况之下。
在比赛现场,多个机器人在5分钟内发现并修复了某个SQL漏洞,但只有两支团队能够修复SendMail的某个Bug。另外,TECHx团队打造的Xandra发现了一个主办方都没有发现的Bug。
随着互联网的迅猛发展,人类受到的网络威胁也越来越多。当人类网络专家绞尽脑汁修复Bug之时,殊不知机器人的此项技能已经超过了人类。总之,不管是机器人修复专家还是人类修复专家,只要能更好地修复Bug,人类将会更安全,世界也将更美好。
Via:IEEE