[2021.09.18] [USENIX Security 2021] Breaking Through Binaries: Compiler-quality Instrumentation for Better Binary-only Fuzzing

Source: https://www.usenix.org/system/files/sec21-nagy.pdf Slides: https://www.usenix.org/system/files/sec21_slides_nagy.pdf Authors: Stefan Nagy, Anh Nguyen-Tuong, Jason D. Hiser, Jack W. Davidson, Matthew Hick Download Note: https://jbox.sjtu.edu.cn/l/21uROA Contributor: ydh Overview 目前的二进制灰盒fuzz技术主要包括三种:硬件辅助追踪覆盖率,效率高但灵活性差;动态二进制模拟插桩,效率低;二进制代码重写,容易出错。这篇文章从基于源码fuzz的编译优化过程中汲取一些有效的方法策略运用在二进制fuzz的插桩中从而提高二进制fuzz的性能和有效性。

[2021.05.18] [NDSS 2021] Emilia: Catching Iago in Legacy Code

Source: https://security.csl.toronto.edu/wp-content/uploads/2021/01/rcui-ndss2021-emilia.pdf Authors: Rongzhen Cui, Lianying Zhao, David Lie. Download Note: https://jbox.sjtu.edu.cn/l/oFjqy9 Contributor: ydh Overview Iago攻击是恶意的操作系统修改运行在TEE中可信应用程序syscall的返回值导致应用程序非预期行为。本文通过fuzz的方法劫持应用程序请求的syscall,并对syscall的返回值fuzz来发现应用程序中潜在的Iago漏洞。 使用本文实现的工具对17个legacy应用程序fuzz,发现了51个Iago漏洞,并对漏洞做了进一步深入分析。

[2021.05.11] [PLDI 2021] Automated Conformance Testing for JavaScript Engines via Deep Compiler Fuzzing

Source: https://arxiv.org/pdf/2104.07460.pdf Authors: Guixin Ye, Zhangyong Tang, Shin Hwei Tan, etc. Download Note: https://jbox.sjtu.edu.cn/l/XFikWG Contributor: pdh Overview 本文介绍了一种名为Comfort的JS引擎fuzz的框架,能够检测出JS引擎编译代码得到的结果和ECMAScript标准定义的不一致的bug。它利用基于transformer的自然语言生成模型GPT-2,根据开源的JS代码语料库,来生成有效的JS测试代码实例,再利用差分测试的方法,来探测出JS引擎中可能存在的漏洞。 本文实现的框架对10种主流引擎(JSC in Safari, V8 in Chrome, ChakraCore in Edge, SpiderMonkey in Firefox, 以及一些移动端的引擎包括Hermes, QuickJS, Rhino, Nashorn, JerryScript, Graaljs)进行了检测,共发现了158个特定JS引擎的bug,其中129个被验证了,115个被修复了。除此之外,21个由Comfort生成的测试用例被加入了ECMAScript官方提供的的标准测试集Test262。