当前位置: 首页 > 科技观察

RSA2020创新沙盒清单-ForAllSecure:集成DevSecOps“下一代”模糊测试技术

时间:2023-03-20 20:43:18 科技观察

2020年2月24日至28日,网络安全行业盛会RSA大会将在旧金山拉开帷幕。今天绿盟科技给大家介绍创新沙盒十大初创公司之一:ForAllSecure。一、公司介绍ForAllSecure是卡内基梅隆大学ForAllSecure安全研究团队于2012年创立的公司。其工作地点包括宾夕法尼亚州匹兹堡、旧金山湾区和弗吉尼亚州水晶城。创始人DavidBrumley、ThanassisAvgerinos和AlexRebert均来自卡内基梅隆大学,具有相关专业背景。该公司筹集了1500万美元的A系列资金,由NewEnterpriseAssociates领投。它专注于“下一代”模糊测试技术,并基于该技术实现了模糊测试系统Mayhem。凭借Mayhem的出色表现,一举赢得了网络超级挑战赛(CGC)。ForAllSecure还入选了《麻省理工科技评论》2017年“全球50家最聪明的公司”榜单(排名第35位)。公司提供Mayhem模糊测试解决方案,将自动化持续安全测试集成到DevOps流程中,力求在早期发现并修复漏洞,提高软件安全性。与传统的模糊测试技术相比,这种“下一代”模糊测试技术结合了“符号执行”技术和“引导式模糊测试”技术,针对测试发现的安全漏洞自动生成概念验证(PoC)和补丁,在一定程度上,避免了传统白盒测试的高误报和黑盒测试的盲目性,具有很强的创新性和价值。2.背景根据Cyber??securityVentures的应用程序安全报告,应用程序的攻击面正以每年1110亿行代码的速度增长。此外,发布0day漏洞的速度从2015年的“每周一个”增加到2021年的“每天一个”。与此同时,DevOps正在被越来越多的团队和组织所接受和采用。然而,绝大多数应用程序安全工具都没有跟上DevOps的步伐。例如,“静态代码分析”工具由于误报率高,严重限制了安全、开发和测试人员的工作效率。另一方面,企业级漏洞管理解决方案是有限的响应。例如,“软件成分分析”工具只能检测那些已经公开并分配了CVE编号的漏洞。面对这些限制和问题,ForAllSecure提供了“下一代模糊测试”安全解决方案Mayhem,它结合了引导式模糊测试的可靠性和符号执行技术的创造性,帮助企业在软件开发生命周期中更早发现安全风险并快速消除.3.产品介绍Mayhem是一种辅助智能行为测试解决方案,可帮助企业以机器级速度和规模测试软件。它结合了符号执行和引导模糊测试技术,通过监视目标程序的行为来动态生成测试用例。官方并没有直接给出Mayhem的架构。绿盟科技根据官方公开信息整理出的大致结构如下:其中:Translator用于将二进制程序翻译成易于分析的中间表示;OffensiveTools用于发现漏洞,构建PoC或ExP;DefensiveTools用于生成补丁;Controller用于协调整个过程;Mayhem的工作流程如下:我们可以看出以上流程是DevOps的一部分:(1)用户提交应用代码到SCM(代码仓库);(2)系统根据SCM最新代码自动构建应用;(3)系统自动将构建的应用提交给Mayhem进行测试,Mayhem的测试可以分为三个互补的逻辑模块:发送测试数据监控目标行为、收集、分类和存储结果(4)用户与Mayhem交互,查询应用的风险状态并进行下一步。另外,Mayhem支持多种语言、平台和DevOps环境,可以满足不同用户的需求:下面我们展示一个具体的应用案例。借助这个案例,我们可以真正接触到Mayhem,深入了解它的工作流程;另一方面,我们也能在一定程度上欣赏到它的实力和价值。开始测试Mayhem提供了友好的用户界面。初始化完成后,正式进入测试阶段,可以看到测试正在进行:查看基本测试结果测试结束后,可以查看测试结果了解应用的漏洞:值得注意到Mayhem是按照CWE对漏洞进行分类的:查看详细的测试结果我们也可以查看具体测试用例的输入输出来定位问题(甚至看反汇编代码):ForAllSecure强调Mayhem的优势之一是零错误优点。那么如何做到零误报呢?从上面的测试结果,我们可以知道一二。Mayhem自动构建的测试用例相当于研究人员在手动验证漏洞时编写的PoC。一般来说,如果它能导致程序崩溃或其他异常(代码逻辑不期望的行为),我们认为PoC是有效的并且存在漏洞。4.产品特点持续深入分析:随着目标程序知识的积累,Mayhem的分析会逐渐深入,代码覆盖率会逐渐增加。零误报:Mayhem报告的所有错误都是准确的(因为它会自动生成PoC进行测试)。自动生成测试用例:基于团队在卡内基梅隆大学的专利技术,Mayhem可以使用目标反馈在运行时自动生成测试用例。安全左移:在安全开发过程中,Mayhem将动态分析、模糊测试、威胁建模等测试验证环节左移,帮助企业控制修复成本。它可以直接插入CI管道,以实现作为DevOps工作流一部分的持续测试。软件供应链管理:Mayhem可以对应用程序依赖的开源或第三方代码进行威胁评估,以降低软件供应链中的风险。五、总结在整个研究过程中,绿盟科技从各种媒体的报道和ForAllSecure官方对Mayhem技术原理的概括描述中,都能感受到绿盟科技团队深厚的技术积累。不管立场不同的媒体,三个事实足以证明他们强大的实力:公司未成立,技术先行:作为来自卡内基梅隆大学的科研团队,其技术比公司早很多年诞生建立了;以绝对优势获得DARPACGC总决赛第一名:挑战赛云集全球安全领域顶尖团队。ForAllSecure从104支队伍中脱颖而出,进入七强决赛,夺得冠军。这是硬实力的体现;获得Associates领投的新企业A轮1500万美元:这是资本评估和审批。另一方面,ForAllSecure很好地把握了当前安全测试技术的痛点。安全从业者常常有这样的感受:自动化白盒测试(如静态代码分析等)误报率高;自动化黑盒测试(如漏洞扫描等)既有一定的误报率,也有其自身漏洞知识库限制的模糊测试的局限性;尽管手动渗透测试是有效的,但由于缺乏自动化,无法将其集成到DevOps流程中;而传统fuzzing技术的主要参与者通常是专业或半专业的漏洞猎手。在此形势下,ForAllSecure给出了一个支持DevOps的企业级模糊测试解决方案,并在一定程度上证明了该方案的有效性(DARPACGC),这无疑是令人振奋的。然而,我们也不得不问一个问题:Mayhem真的像ForAllSecure描述的那样好吗?是否在解决困难的同时抓住了痛点?符号执行和模糊测试本身并不是新技术,人们对两者的优缺点很感兴趣。很久以前也研究了这些缺陷。符号执行技术在理论上更先进,但在应用于复杂程序时经常会遇到路径爆炸等问题;模糊测试的结果与输入集的数量和质量密切相关。通过DARPACGC,我们看到了Mayhem在漏洞检测和验证方面的有效实力,但我们也注意到Mayhem在比赛中需要大量的水进行冷却(CGC总决赛为七支队伍提供了180吨的水进行水冷)并且大-规模算力和能源支撑,这些都是上述技术局限在具体实现中的客观体现。有时候,产品和解决方案的优秀与否并不完全取决于技术优势。安防行业的特点决定了成本和效果——即性价比往往是最重要的。因此,Mayhem的成本和市场定位可能是初创团队需要考虑的问题,也是客户关心的问题。江水漫漫,波涛汹涌,犹如英雄。ForAllSecure能否真正推动DevSecOps的发展,还是昙花一现?Mayhem是学术界的玩物,还是真的能成为业界的大杀器?这些都需要时间的检验。不过,就本次创新沙盒大赛而言,综合考虑技术实力和团队背景,绿盟科技认为ForAllSecure具有较强的竞争力,看好其后续发展。让我们拭目以待。·参考文献·[1]Mayhem,发现软件漏洞然后修补它们的机器[2]《麻省理工科技评论》在年度商业刊物中公布了50家最聪明的公司名单[3]ForAllSecure[4]ForAllSecure:关于我们[5]DARPA网络超级挑战的情况与思考[6]SymbolExecutionTechnology总结(ABriefSummaryofSymbolExecution)-wcventure注:第3节引用VDALabsUsing-Next-Generation-Fuzzing-Tools.pdf的数据;Section4参考ForAllSecure官方资料FY19DSMayhemGeneralv3.7.pdf。