APP下载

模糊测试工具OSS-Fuzz现在支援JVM语言

消息来源:baojiabao.com 作者: 发布时间:2026-05-19

报价宝综合消息模糊测试工具OSS-Fuzz现在支援JVM语言

Google所释出的开源模糊测试(Fuzzing)服务OSS-Fuzz,现在也支援Java和其他JVM程式语言,像是由Kotlin和Scala等编写的应用程序,开发者只要依照Google所提供的文件操作,就可以将JVM程式语言所编写的开源专案,加到OSS-Fuzz中进行模糊测试。

OSS-Fuzz是Google在2016年释出的模糊测试服务,让开源开发者可用来寻找软件中的错误,其结合了各种模糊测试技术,像是libFuzzer模糊引擎和AddressSanitizer,并利用ClusterFuzz分散式执行环境,来扩展模糊测试的规模。

现在Google开源安全团队和自动安全测试公司Code Intelligence合作,将Jazzer模糊器整合到OSS-Fuzz中,使得以JVM程式语言开发的开源专案,现在也可以使用OSS-Fuzz进行连续模糊测试。Google提到,OSS-Fuzz已经在开源专案中发现超过25,000个错误,而在扩展OSS-Fuzz对JVM程式语言的支援后,使得更多专案也能获得保护和改进。

Jazzer能够让用户使用libFuzzer,对JVM语言程式码进行模糊处理,Jazzer支援所有编译成为JVM字节码的语言,因为检测是在字节码层级完成,因此Java、Kotlin、Scala和Clojure都没问题,Jazzer还可以透过JNI执行的原生程式码覆盖率(Code Coverage)回馈,在非内存安全的原生程式码中,发现内存漏洞。

Google提到,在内存安全程式码进行模糊测试,对于寻找行为错误或是崩溃臭虫很有用。Jazzer找到了json-sanitizer中行为错误臭虫,可被用于跨站脚本攻击上,而最近更发现了以太坊中的崩溃臭虫,该臭虫可能导致大部分网络离线。

对内存安全的程式码进行模糊测试时,可以使用典型对非内存安全程式码进行模糊测试的方法,将变异输入传递给程式码,等待程式崩溃,或是采用类似单元测试的方法,模糊器将会验证程式码是否正确运作。

也可以使用差异模糊测试(Differential Fuzzing)在JVM程式码中发现臭虫,使用该方法模糊测试器会将变异的输入资料,传递给具有相同功能实作的多个函式库,以比较每个函式库结果的差异。

2021-03-12 00:51:00

相关文章