揭秘:美国防部的自动化漏洞挖掘工具
2020-06-05
来源: 互联网安全内参
2019年末,互联网基础设施厂商Cloudflare公司安全工程师David Haynes盯着一张怪异的图片内心无法平静。“这简直就是在乱搞,”他回忆道“机器生成了一大堆灰色与黑色的像素块。”他拒绝公开相关图片,表示贸然发布可能引发安全风险。
Haynes的谨慎自然有其道理。这幅图像来自一款名为Mayhem的工具,它的职责就是检测软件并发现其中存在的潜在安全漏洞。这款工具出自卡耐基梅隆大学之手,目前项目归属于初创企业ForAllSecure。Haynes一直在Cloudware软件上测试这款工具去不断地调整图像尺寸以加快网站运行速度,并提供更多训练用的示例照片。Maythem通过触发一项潜在漏洞导致图像处理软件崩溃,从而使这些示例图片突变,造成图片异常。这一潜在漏洞令那些购买Cloudflare产品以保障网站平稳运行的用户大为恼火。
Mayhem的应用领域
在此之后,Mayhem已经成为Cloudflare标准化安全检测工具的一部分,就连美国空军、海军与陆军也开始使用这款工具。上个月,五角大楼与ForAllSecure公司签订了一份价值4500万美元的合同,旨在扩大该工具在美军各机构中的使用范围。很明显,官方需要一款能够发现大量潜在漏洞的工具。2018年发布的一份政府报告指出,几乎所有美国国防部在2012-2017年检测的武器系统当中都存在着严重的软件漏洞。
Mayhem还不够成熟,无法全面替代人类调试员的职位——这些专业人士能够将软件设计知识、代码阅读能力、创造力以及直觉结合起来,高效发现开发缺陷。但ForAllSeucre公司联合创始人兼CEO David Brumley表示,该工具的定位就是要协助人类专家进一步提高效率。人类的时间与精力终究有限,而世界上的软件安全漏洞一直在不断增加,每一分钟都会有更多漏洞暴露在世人面前。
Brumely表示,“安全性的重点并非在于‘安全’,而在于‘不安全’,这与发现漏洞、采取措施的速度息息相关。”
Mayhem源自2016年在拉斯维加斯赌场宴会厅举行的一场不同寻常的黑客竞赛。舞台上空无一人,只有七台正在运转的计算机服务器。每位参赛选手托管一个软件机器人,由该机器人尝试发现并利用对方服务器当中的漏洞,同时努力修复自身服务器中的软件缺陷。在8个小时的角逐之后,来自卡耐基梅隆大学安全实验室的Brumley团队凭借Mayhem拿下了200万美元的最高奖金。他们当时使用的那台服务器也被搬进了史密森尼博物馆。
目前仍担任卡耐基梅隆大学教授的Brumley指出,这样的经历进一步坚定了他的信心,让他意识到实验室中的成果完全能够在现实世界中发挥重大作用。他暂时搁置了深挖这款机器人的攻击能力,转而着力提升其安全防御机制并推动成果的商业化转型。他解释道,“这场网络安全挑战赛证明,完全自主的安全系统并非不可能实现。计算机完全可以带来良好的防御表现。”
中国与以色列政府也在这方面投入了不少精力。双方都向ForAllSecure伸出了橄榄枝,但该公司最终决定与美国政府合作。通过与五角大楼下辖国防部创新部门签订的合同,Mayhem代表的这一项新技术将被快速引入美国军方。
ForAllSecure公司被质疑要求证明Mayhem的能力,而Mayhem不负众望,只用了几分钟的时间,就自动从美国军用的军转民商用客机控制软件中找到了一项安全漏洞。飞机制造商随后对问题进行了验证与修复。
Mayhem发现的漏洞当然不止于此:今年早些时候,它就在成千上万网络设备普遍使用的OpenWRT软件中发现了一项漏洞。去年秋季,该公司的两名实习生利用Mayhem找出了允许用户将手机视频投映至电视的软件漏洞,并借此赢得Netflix方面提供的漏洞奖金。
Brumley指出,汽车及航空航天企业对于这款工具的表现出强烈的关注。如今,汽车与飞机对软件的需求与日俱增,这种软件需要以安全可靠,稳定的方式运行数年,最好极少更新。
Mayhem的漏洞识别模式
Mayhem目前仅适用于基于Linux操作系统的程序,且提供两种漏洞识别模式:广泛扫描与针对性扫描。
所谓广泛扫描,使用的是一项名为“模糊测试”的技术。它将会随机生成指令或图片,批量投放至目标软件,并识别是否存在可以引发崩溃的触发条件。第二种方法也被称为符号化执行测试,相当于为目标软件创建一项简化的数学表象模型。通过对这个双重简化模型的分析,即可识别出实际目标中的潜在弱点。ForAllSecure的联合创始人兼CEO,Brumley表示,在识别软件漏洞方面,“计算机可以做得很好。”
近年来,模糊测试已经在计算机安全领域得到愈发广泛的应用。去年,谷歌发布了一款模糊测试工具,称其在Chrome浏览器当中发现的漏洞超过了16000个。但Cloudflare公司的Haynes表示,这项技术在行业中的普及度仍然不高,因为模糊测试工具往往需要针对每个目标程序进行非常深入的调整。他解释道,ForAllSecure的优势在于精心设计出Mayhem这样一款工具,由此带来的强大适应性能够帮助Cloudflare真正高效且常规地推广模糊测试。Haynes还强调,符号执行比较擅长发现更复杂的漏洞,但以往主要在研究实验室当中使用。
亚利桑那州立大学教授Ruoyu Wang希望Mayhem的出现,能够成为高水平计算机安全自动化未来的开端。但他也承认,漏洞识别仍是一项需要由人类与机器人进行全面协作的艰难工作。
在Wang看来,Mayhem证明了自动化方案完全能够在安全领域有所作为,但现有的自动漏洞查找工具在复杂的互联网服务或软件包领域仍然作用有限。即使是最强大的现有软件也远远不够智能,无法像人们那样真正理解程序的意图与功能。但在另一方面,Mayhem这种快速进行多次检测的能力则是人类所不具备的。Wang表示,“自动化方案确实能找到很多无法单靠人力发现的安全漏洞。”
Wang自己曾是Mechanical Phish团队中的一员,这支安全小组曾在2016年的DARPA安全锦标赛(Mayhem也正是在这场比赛中诞生)中夺得第三名。现在,他正在研究机构CHESS内进行一项新的计划,旨在开发出功能更强大的漏洞查找软件。按照计划,该软件将在人类的协助下解决现有机器无法处理的难题。Wang总结道,“目前,最先进的自动化技术仍有可能随时遭遇障碍。新的系统应该能够意识到这种障碍的存在,并随时向人类咨询。”Mayhem虽然能够自主查找漏洞,但在后续发展当中,它更应该成为整体安全团队中的一员——而非一切。