微软Windows10通过这些模糊不清的安全工具得到了增强现在它们是开源的
微软的开源项目OneFuzz可以自动检测可能是安全问题的软件错误。
Microsoft已发布了一个名为Project OneFuzz的新开放源代码安全工具,该工具是Azure的测试框架,该框架将多个软件安全测试工具整合在一起,以自动化检测可能是安全问题的崩溃和错误的过程。
谷歌的开源模糊机器人帮助它检测成千上万的虫子在自己的软件和其他开源软件项目。现在,Microsoft为软件开发人员发布了应对同样挑战的答案。
与微软的其他开源项目(例如Visual Studio Code,.NET Core和JavaScript 的TypeScript编程语言)一样,Project OneFuzz可在MIT开源许可证下在GitHub上获得。
微软将Project OneFuzz描述为“用于Azure的可扩展模糊测试框架”。
模糊测试本质上涉及在软件崩溃之前向其抛出随机代码,这可能揭示安全问题,但同时也可能涉及性能问题。
Google一直是该技术的主要支持者,它促使编码人员和安全研究人员对实用程序和技术进行模糊测试。它的开源模糊器包括OSS-Fuzz和Cluster Fuzz。
OSS-Fuzz可让开发人员从GitHub下载并在其自己的代码上使用。它也可作为云服务提供给某些开源项目。
微软此前宣布,它将用自动化的开放源代码模糊测试工具替换其现有的软件测试工具集(称为Microsoft安全和风险检测)。
这家位于雷德蒙德(Redmond)的公司还表示,它正在为所有雇用软件开发人员的企业解决一个不同而昂贵的挑战,并赞扬Google开拓了该技术。
OneFuzz是Microsoft用于探查Edge,Windows和公司其他产品的相同测试框架。微软表示,它已经帮助微软强化了Windows 10。
微软安全部门首席安全软件工程负责人贾斯汀·坎贝尔(Justin Campbell)和迈克·沃克(Mike Walker)表示:“模糊测试是提高本机代码安全性和可靠性的一种非常有效的方法,它是查找和消除昂贵的可利用安全漏洞的黄金标准。” ,特殊项目管理高级总监。
“传统上,模糊测试对于开发人员来说是一把双刃剑:受软件开发生命周期的要求,它在发现可操作的缺陷方面非常有效,但是从中利用,执行和提取信息却非常复杂。
“这种复杂性要求专门的安全工程团队来构建和运行模糊测试功能,使其非常有用但昂贵。使开发人员能够执行模糊测试,可以将漏洞的发现转移到开发生命周期的较早阶段,同时释放安全工程团队的精力以从事前瞻性工作。”
正如微软指出的那样,“在LLVM中开源并由Google率先在编译器世界中取得的最新进展已经改变了模糊测试本机代码所涉及的安全工程任务”。
微软表示,这些进步使开发人员便宜地处理曾经附加的内容,而是将这些过程烘焙到连续的构建系统中。这包括碰撞检测,该检测先前是通过诸如Electric Fence等工具连接的。现在,它们可以和asan一起烤了。
它还解决了以前随附的工具,例如iDNA,Dynamo Rio和Pin,它们现在已用sancov内置。
“一旦通过自定义I / O线束实现了输入线束,就可以使用libfuzzer的LLVMFuzzerTestOneInput函数原型进行烘焙,” Campbell和Walker指出。
微软还向Visual Studio添加了对这些功能的实验性支持,以便可以由编译器构建测试二进制文件,从而使开发人员无需将其构建为持续集成(CI)或持续开发(CD)管道。它还可以帮助开发人员扩展云中的模糊工作负载。