在今年的RSAC2020创新沙盒大赛上,有一家公司虽然没有染指冠军,但是获得了到场的周鸿祎、赵粮等中国网络安全大佬的一致点赞。这家公司就是ForALLSecure。
ForAllSecure是由来自卡耐基梅隆大学的ForAllSecure安全研究团队于2012年创立的公司,创始人David Brumley、Thanassis Avgerinos和Alex Rebert均来自卡耐基梅隆大学并拥有相关专业背景。公司在A轮融资中获得1500万美元,由New Enterprise Associates领投。
ForAllSecure主打“下一代”模糊测试技术,并基于此技术实现模糊测试系统Mayhem,在美国国防部先进项目研究局(DARPA)2016年主办的网络超级挑战赛(CGC)中,Mayhem一战成名赢得了200万美元的最高奖金,参赛服务器被史密森尼博物馆收藏。
2017年,ForAllSecure被《麻省理工科技评论》选入“全球最聪明的50家公司”榜单(位列第35名)。
如今,距离人工智能最火爆的2016年已经过去四年,人工智能燥热消退,泡沫破裂,包括IBM沃森在内的曾经万众瞩目的人工智能项目都面临前所未有的瓶颈和困局,作为网络安全乃至人工智能界的“第一代网红”,Mayhem的商业化发展是否顺利?今天的Mayhem到底是学术界的玩物,还是真的能够成为业界一大杀器?
下一代模糊测试技术
根据绿盟科技的RSAC2020大会现场报道和点评,ForAllSecure公司目前提供Mayhem模糊测试解决方案,将自动化持续性安全测试融入DevOps流程,力求在早期发现漏洞、修复漏洞,以提高软件安全性。与传统模糊测试技术相比,该“下一代”模糊测试技术结合使用“符号执行”技术和“导向型模糊测试”技术,能够针对测试发现的安全漏洞自动化生成概念性验证(PoC)和补丁,在一定程度上避免传统白盒测试的高误报和黑盒测试的盲目性,具有很高的创新性和价值。
绿盟总结了Mayhem的五个特点如下:
五角大楼的订单
那么,广受赞誉和瞩目的Mayhem下一代模糊测试技术,在实际应用中的表现如何?
去年底,互联网基础设施公司Cloudflare开始用Mayhem测试其网站图片压缩软件(Cloudflare向云计算客户提供的图片压缩和网站加速工具),结果发现Mayhem生成了一种“邪恶的”,由黑灰像素组成的图片(编者按:类似对抗性样本),能够导致图片压缩软件崩溃,这是过去传统的安全测试难以发现的bug。
自那以后,Cloudflare开始将Mayhem作为安全工具的标准部分。
但真正让Mayhem在安全测试领域登堂入室的,是来自美国军方的一个大额订单。五角大楼上个月与ForAllSecure签订了一份价值4500万美元的合同,以扩大Mayhem在美军中的使用范围,因为军方有太多软件bug急需一个“漏洞大杀器”。一份2018年度的美国政府工作报告发现,美国国防部2012年至2017年之间测试的所有武器系统都存在严重的软件漏洞。
即使在今天看来,Mayhem可能依然不够成熟,并不足以完全替代人类漏洞猎人/分析师的工作,后者利用软件设计知识,代码阅读技能,创造力和直觉来发现漏洞。但是ForAllSecure联合创始人兼首席执行官David Brumley表示,Mayhem可以帮助人类专家完成更多工作。这个世界上的软件有太多的安全漏洞,远远超出了专家的时间和精力,并且每分钟都会发布更多的新漏洞。卡耐基梅隆大学教授Brumley说:
所谓安全性不是安全或不安全,而是取决于你行动的速度。
Brumley指出,Mayhem赢得DARPA CGC挑战赛这种经历使他确信,从实验室走出来的Mayhem在现实世界中可能会有用。
但值得注意的是,在商业化道路上,Brumley选择搁置Mayhem的“红队”攻击能力,重点对自动防御能力进行商业化。
网络大挑战赛表明完全自主的安全性是可能的。计算机可以做得相当不错。
中国和以色列政府也是这样认为的,两者都向ForAllSecure提供了合同,但是ForAllSecure最后选择了山姆大叔——今年5月份与五角大楼的国防创新部门(DIU)签订了合同,该部门试图将新兴网络安全技术快速引入美国军方。
在军方“上班第一天”,Mayhem就面临一个颇具挑战性的任务——在美军使用商用客机控制软件寻找漏洞。结果Mayhem只花了几分钟,就发现了一个漏洞,该漏洞随后由飞机制造商进行了验证和修复。
Mayhem发现的其他错误包括今年早些时候在数百万个网络设备中使用的OpenWRT软件中的严重漏洞。去年秋天,ForAllSecure的两名实习生使用Mayhem从手机分享视频到电视的软件中查找到漏洞并斩获了Netflix的漏洞赏金。
Brumley说,汽车和航空航天公司对Mayhem的兴趣也特别强烈。汽车和飞机越来越依赖于软件,这些软件需要可靠地运行多年,并且很少更新(如果有的话)。
未来:Cyborg还是纯AI?
目前,Mayhem仅适用于基于Linux的操作系统的程序,并以两种方式发现漏洞,一种是分散的(模糊测试),另一种是针对性的。
第一种是称为模糊测试的技术,它涉及用随机生成的输入(例如命令或照片)轰击目标软件,并观察是否有任何触发可利用的bug。第二种方法称为符号执行,涉及创建目标软件的简化数学表示。
查找软件bug这种工作,计算机可以做得很好。
——FORALLSECURE联合创始人兼首席执行官DAVID BRUMLEY
近年来,模糊测试已越来越广泛地用于计算机安全中。去年,谷歌发布了一个模糊测试工具ClusterFuzz,声称已经在其Chrome浏览器中发现了超过16,000个错误。但是Cloudflare的安全工程师Haynes认为,该技术在行业中仍然不常用,因为模糊测试工具通常需要对每个目标程序进行非常仔细的调整。相比之下Mayhem的适应性更强,从而使Cloudflare可以以更常规的方式进行模糊测试。Haynes说,符号执行可以发现更复杂的错误,以前主要在研究实验室中使用。
亚利桑那州立大学王若宇教授表示, Mayhem仅仅是计算机安全自动化未来的开始,寻找bug的机器人需要与人类进行更多的协作。
王教授指出,Mayhem已经证明了安全自动化技术可以做有用的工作,但是现有的自动漏洞查找工具对于复杂的互联网服务或软件包并没有太大帮助。最好的软件也还远远不够智能,无法像人们一样理解程序的意图和功能。但是,Mayhem能够比人类更快地尝试许多不同测试数据的能力也是无可替代的。“自动找到漏洞的许多难题短期内很难解决。”王教授说道。
王若宇教授是Mechanical Phish团队的成员,该团队在Mayhem夺冠的2016年Darpa锦标赛中排名第三。现在,他正在研究DARPA的一个新项目——CHESS(The Computers and Humans Exploring Software Security),试图开发更强大的漏洞发现软件,该漏洞发现软件可以利用人类的帮助来解决机器无法正常运行的问题。
目前,最先进的自动化漏洞查找技术的问题是不知道自己是否碰到不可逾越的障碍,并选择向人类咨询。今天,Mayhem以单打独斗的方式寻找漏洞,但其后继产品应当是团队协作模式。
参考资料:
This Bot Hunts Software Bugs for the Pentagon:
https://www.wired.com/story/bot-hunts-software-bugs-pentagon/?bxid=5cc9e1c42ddf9c1a7adec2b7