作者:魏小强 360天枢智库技术与行业研究负责人、高级总监

一、概述

据5月11日美国媒体报道,美国国防创新部(DIU)向一家总部位于硅谷的科技初创公司ForAllSecure授予4500万美元合同,用于对国防部武器系统应用进行网络安全测试。这家公司已经用三年多的时间将其网络安全测试平台(被称为“Mayhem”)与美国国防部组件进行了原型设计。据ForAllSecure公司的一位发言人说,4月23日,DIU最终批准了这份为期五年的合同。该公司正在与空军第96网络空间测试小组、空军第90网络空间作战中队、海军海上系统司令部(NAVSEA)和美国陆军指挥、控制、通信、计算机、网络、情报、监视和侦察中心(C5ISR)合作。同样的美国国防部(DoD)用户在该公司平台的整个原型开发过程中都与ForAllSecure公司合作,该平台可以发现应用系统中的安全漏洞,并向用户展示如何触发这些漏洞。该平台将允许对武器系统中的漏洞进行持续测试。

(虚构的美国武器系统,源:GAO)

在美国国防部拥抱网络成为一个新的战争领域的过程中,则Mayhem检查其武器系统应用代码安全性的能力至关重要。2018年,GAO报告称,在保护国防部武器系统免受日益复杂的攻击方面,面临着越来越多的挑战。这种状态是由于武器系统的计算机化性质,美国国防部在优先考虑武器系统网络安全方面起步较晚,以及美国国防部对如何开发更安全的武器系统的理解也刚刚起步。美国国防部的武器系统比以往任何时候都更依赖软件,也比以往任何时候都更加网络化。

美国国防创新部认识到了武器系统安全问题与潜在的技术解决方案之间的紧密联系,所以他们为ForAllSecure在网络挑战赛期间所做的原型提供了让其产品工程化实践的机会,并将其应用于美国国防部内部的一些关键任务上。DIU将ForAllSecure纳入他们的供应商列表,并与整个美国国防部的多个合作伙伴进行解决方案的原型设计。ForAllSecure利用这次宝贵的机会能够获得关键用户给予其产品迭代的直接反馈,从而快速且有意义地对其产品进行多次迭代,大大加快了产品落地的时间,也为其自身和客户创造了巨大的价值。

二、关于ForAllSecure公司

ForAllSecure成立于2012年,位于宾夕法尼亚州的匹兹堡和旧金山海湾地区。其技术源于十余年来在卡耐基梅隆大学(CMU)研究获得的专利技术。

先看ForAllSecure所取得的骄人战绩:DARPA将ForAllSecure评为2016年网络大挑战赛的第一名,麻省理工学院技术评论将ForAllSecure评为2017年度50家最聪明的公司之一。2018年完成了由NewEnterprise Associates领投的1,470万美元的A轮融资。美国航空航天,汽车和高科技领域的《财富》1000强公司都与ForAllSecure合作进行高级安全测试,以与他们不断提高的开发速度和部署频率保持同步。他们使用ForAllSecure高效且有效地保护其关键任务软件。Google(通过OSS-Fuzz计划)和Microsoft(通过开发其安全风险检测引擎)已经非常成功地应用了该技术,美国航空航天,汽车和高科技行业的《财富》1000强公司以及美国国防部等也是他们的客户。将其旗舰产品Mayhem集成到他们软件开发周期中以实现持续的安全性。另外ForAllSecure在2020年的RSAC创新沙盒中被评为十强之一。

三、Mayhem下一代模糊化测试技术

Mayhem是ForAllSecure推出的下一代模糊化专利解决方案。它结合了两种成熟的动态应用安全测试(DAST)技术,即引导式模糊化与符号执行相结合,以前所未有的速度、规模和精度持续发现软件缺陷。ForAllSecure Mayhem帮助美国国防部实现了在有开发者参与和没有开发者参与的情况下,对包括武器系统在内的关键软件进行测试的使命。

"安全就是要比攻击者的移动速度更快。Mayhem是二十多年来研究如何首先识别关键软件缺陷而不被假阳性所拖累的结果。其好处不只限于安全方面。ForAllSecure公司首席执行官布鲁姆利说:Mayhem自动构建了一个测试套件,降低了QA的工作量,从而创造出优秀的、值得信赖的软件。他们与美国国防部的合作展示了自动化在代码测试中的强大优势,利用符号执行和高级模糊技术的组合技术,看到了自动化在代码测试中的强大优势。

那么,什么是模糊测试(fuzzingtesting)呢?它是一种介于人工渗透测试和自动化工具测试之间的动态应用程序安全测试方法。Google的团队报告说,模糊测试发现了他们80%的错误,而其他20%的错误则是通过其他形式的测试或在生产中发现的。诸如Microsoft,卡内基梅隆大学和Google之类的组织已经在其内部的模糊测试程序中取得了成功。但是一般企业要进行模糊测试还是有难度的。因为它要求有丰富经验的安全专家支持。因此,它并不能给一般客户带来真正的价值。ForAllSecure提供的下一代模糊测试方法具有自动化甚至自治的特性,可以无缝地集成到DevOps环境中,大大提高开发人员的生产率,可以实现以机器的速度进行测试,大大降低了降低了其使用门槛。

四、Mayhem与传统的应用程序测试工具的区别

大多数应用程序安全工具无法随着DevOps的发展而扩展。例如,静态代码分析因其假阳性率太高;传统的企业漏洞管理解决方案也是被动的和滞后的。例如,其分析只能检测已公开并收到CVE ID的漏洞。对代码测试而言,不是你测试出安全或不安全,而是可以多快帮客户解决代码的安全问题。当今大多数工具都要求开发人员花大量时间在源代码上运行工具,并筛选误报。而开发人员同时还被要求在快速发展的市场中按时交付其代码。事实上,这两者之间很难平衡。

Mayhem是一个辅助智能行为测试解决方案,使企业能够以机器速度和规模测试软件。Mayhem将经过验证的引导式模糊测试方法和符号执行的无以伦比的独创性结合在一起,Mayhem可以监控目标的行为,自动生成测试用例。Mayhem的分析是准确和精确的,能以零假阳性发现软件代码缺陷。Mayhem构建了自治工具来检查软件是否存在可利用的缺陷。可以帮助任何组织在软件开发生命周期(SDLC)的早期发现已确认的风险。可通过此方法在SDLC的早期进行测试,使组织能够智能地进行测试,快速修复并放心地发布。

五、Mayhem的技术应用场景

ForAllSecure致力于为电信、国防、航空航天、汽车和高科技行业等行业有效地保护任务关键型软件。Mayhem是一个多功能的通用安全测试解决方案,适用于所有行业。其试点用户称,Mayhem可以使组织能够以机器速度和规模测试软件,帮助提高他们开发和使用的软件的稳定性和安全性。并且它可以帮助客户提升其软件的稳定性,保护他们开发的软件的安全性,甚至还能对他们软件供应链的代码的安全性进行测试。Mayhem 的分析结果是准确和精确的,能够以零误报揭示缺陷。它贯穿于整个软件生命周期,与DevOps流程整合,通过持续检查软件中可能存在的问题,能够为客户提供可靠的质量与安全性保障。

(源:ForAllSecure官网)

六、Mayhem平台与其技术特点

ForAllSecure 下一代模糊测试将引导模糊测试的可靠方法与符号执行的独创性相结合,这项源自卡耐基梅隆大学十年研究的专利动态分析技术。这种公认的技术具有自动化甚至自治的特性,现在使其可以无缝地集成到DevOps环境中,以提高(而不是妨碍)开发人员的生产效率。首先,引导模糊测试人员输入样本或语料库来初步测试应用程序。此后,监视并利用目标的行为反馈来即时生成新的,自定义的测试用例。这些新生成的测试用例旨在逐步测试新的代码段,检查每个新区域的安全性。

ForAllSecure Mayhem是一种多功能的人工智能安全测试机器人解决方案,可以作为一项补充安全技术集成到客户的软件安全的深度防御计划中,并与SAST软件分析等工具一起运行。Mayhem平台的测试框架描述如下。

Mayhem并不打算代替人类安全分析师,而是寻求使他们更有效率。它使人类分析师能够专注于真正棘手的问题,而Mayhem可以使分析自动化,甚至以线速修补常见类别的漏洞。例如,Mayhem在2016 DARPA CGC中发现了SQL Slammer漏洞,并在6分钟之内对其进行了修补。该漏洞此前导致客户遭受了将近10亿美元的损失,因为它在人类能够更新其系统之前攻击了超过75,000台服务器。

  1. 零误报率且测试结果可执行验证。筛选出假阳性是一项费力不讨好的事,跨部门的工作往往协调难度大,并容易挫败并影响开发人员的士气。Mayhem的所有报告都可验证其检测的软件缺陷。Mayhem的准确测试结果的准确无误使得开发人员,安全工程师和测试人员始终难以置身事外,确保团队开发工作快速推进。

  2. 机器速度和规模化进行自主测试能力。动态负性测试尽管已得到证实,但仍要求专家开发测试用例并审查结果,从而增加了不可预见的间接费用。而传统人工干预的测试方法限制了可扩展,速度和有效性。Mayhem利用目标反馈来即时定制生成测试用例-意味着无需手动生成测试用例。Mayhem共享所有测试用例,以使回归测试变得毫不费力,快速且可扩展。

  3. DevOps灵活性/左移动动态阴性测试。Mayhem通过在软件开发生命周期的早期引入动态否定性测试来克服其固有的局限性,帮助组织控制补救成本并防止产品上市时间的延迟。Mayhem进行回归和组件测试,并直接适合DevOps工作流程。

  4. 管理来自未经检查的供应链的继承风险。Mayhem不需要源代码进行分析,从而允许用户验证和验证其软件供应链中的第三方代码。借助Mayhem减轻当今错综复杂的软件供应链所继承的风险。

七、我国的代码安全检测公司情况

在源代码检测工具方面,国内有不少公司在研发类似产品,在行业内比较有影响的公司有:北大软件CoBOT、360企业级代码卫士、奇安信的代码卫士、清华大学软件学院Tsmart代码分析工具集、腾讯TscanCode开源静态扫描工具,端玛企业级静态源代码扫描分析平台DMSCA、找八哥源代码安全检测系统,四维创智、墨云科技等也都在研发类似的一些产品。

目前产品比较成熟,推广较多的是北大软件的CoBOT,借助北京大学平台,在军方、政府、科院院所推广相对较多。

但是在国内能够分析二进制程序的工具几乎是空白,腾讯哈勃能够分析出PE代码中成分信息,应该是无法分析出缺陷和安全漏洞,目前北大CoBOT在二进制缺陷和安全漏洞分析上,应该正在突破,有望在2020年切入民用市场。端玛DMSCA产品在官网能看到的信息不多,提供的有价值信息较少,支持开发语言、标准也还可以,不知道具体如何。找八哥是思客云公司的产品,通过介绍来看,应该是采用C#等windows平台上的开发语言开发的BS架构工具,支持的检测语言比较多,支持安全漏洞比较多,可能不是采用的主流检测引擎技术,检测效率上比较慢。

八、结语

目前在二进制代码自动化检测技术中,我国和美国的技术还存在比较大的差距,可以说国内几乎还是一片空白。ForAllSecure这种检测技术的独特性在于其利用黑客思维、结合人工智能技术对软件代码漏洞进行自动化检测。

在这个软件定义一切的世界,代码安全将越来越重要。ForAllSecure的技术方向标志着软件安全开发治理进入一个新的阶段,引入人工智能技术将会是未来的一种趋势。由静态分析、软件组成分析和连续模糊测试组成的多管齐下的应用安全策略可以提供全面的安全测试,涵盖了软件风险的各个方面。SAST和SCA是著名的测试技术。然而,它们会留下很大的漏洞。连续模糊测试是一种成熟和公认的自动发现未知缺陷的方法。它提供了SAST和SCA的局限性中的优点。利用这三种安全测试技术的组合,不仅可以确保组织能够提供安全、可靠的软件和服务,还可以在当今不可预测、不断变化的威胁环境中实现可预测性。

代码安全是网络安全的基石。针对源代码的缺陷检测、安全检测、开源代码成分分析、二进制文件木马和漏洞分析等市场将会被越来越重视。目前来看国内软件厂商大多数还在使用国外的一些测试工具进行检测。国外公司的产品有可能会逐渐退出国内市场,国内代码安全产品发展将进入快速发展期。腾讯、阿里、华为等巨头企业在该领域的投入研发,借助于其资源优势,将为推动我国代码安全市场的发展带来新的机遇。

从行业发展的角度来说,目前我们国家的软件检测能力还在起步阶段,亟待相关机构或行业重视安全开发治理和代码安全检测技术的研究,路漫漫任重而道远。

【说明】有关国内关于代码安全测试公司的资料参考网上资料,由于其网站公布的信息较少,可能描述有不准确的地方,如果认为信息有误,请联系我们进行纠正。

【参考资料】:

https://blog.csdn.net/manok/article/details/91293941

https://www.fifthdomain.com/dod/2020/05/12/diu-awards-45m-contract-for-weapon-systems-cybersecurity/

https://www.gao.gov/mobile/products/GAO-19-128

www.forallsecure.com

声明:本文来自360天枢智库,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。