首页> 外文会议>IEEE Symposium on Security and Privacy >One Engine to Fuzz ’em All: Generic Language Processor Testing with Semantic Validation
【24h】

One Engine to Fuzz ’em All: Generic Language Processor Testing with Semantic Validation

机译:一个引擎来模糊所有:使用语义验证的通用语言处理器测试

获取原文

摘要

Language processors, such as compilers and interpreters, are indispensable in building modern software. Errors in language processors can lead to severe consequences, like incorrect functionalities or even malicious attacks. However, it is not trivial to automatically test language processors to find bugs. Existing testing methods (or fuzzers) either fail to generate high-quality (i.e., semantically correct) test cases, or only support limited programming languages.In this paper, we propose POLYGLOT, a generic fuzzing framework that generates high-quality test cases for exploring processors of different programming languages. To achieve the generic applicability, POLYGLOT neutralizes the difference in syntax and semantics of programming languages with a uniform intermediate representation (IR). To improve the language validity, POLYGLOT performs constrained mutation and semantic validation to preserve syntactic correctness and fix semantic errors. We have applied POLYGLOT on 21 popular language processors of 9 programming languages, and identified 173 new bugs, 113 of which are fixed with 18 CVEs assigned. Our experiments show that POLYGLOT can support a wide range of programming languages, and outperforms existing fuzzers with up to 30× improvement in code coverage.
机译:语言处理器(例如编译器和口译员)是建立现代软件的必不可少的。语言处理器的错误可能会导致严重后果,如功能不正确或甚至恶意攻击。但是,自动测试语言处理器以查找错误并不重要。现有的测试方法(或模糊)未能生成高质量(即,语义上正确)测试用例,或者只支持有限的编程语言。在本文中,我们提出了一种多种仿真框架,可以为高质量的测试用例产生高质量的测试用例探索不同编程语言的处理器。为了实现通用适用性,Polyglot利用统一的中间表示(IR)中和编程语言语法和语义的差异。为了提高语言有效性,Polyglot执行受约束的突变和语义验证以保持语法正确性并修复语义错误。我们在21个流行语言处理器的Polyglot应用于9个编程语言,并确定了173个新的错误,其中113个是固定的,分配了18个CVES。我们的实验表明,Polygolot可以支持各种编程语言,并且优于守则覆盖范围内的现有模糊多达30倍。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号