[2022.04.27] [NDSS 2020] HFL: Hybrid Fuzzing on the Linux Kernel
会议: NDSS’20 链接: https://www.ndss-symposium.org/wp-content/uploads/2020/02/24018-paper.pdf 作者: Kyungtae Kim, Dae R. Jeong, Chung Hwan Kim, Yeongjin Jang, Insik Shin‡ Byoungyoung Lee Contributor: fhr abstract 混合Fuzzing是一种结合模糊测试和符号执行的程序分析技术,在漏洞挖掘领域有良好的前景。模糊生成和精确生成测试用例二者互为补充,能够克服各自的局限性。然而,由于内核所具有的特性,直接将Hybird Fuzzing应用到Kernel上存在如下挑战: (1)由系统调用参数决定的间接控制流分析 (2)系统调用及参数之间隐式依赖关系分析 (3)系统调用参数的嵌套类型推断 本文基于Syzkaller和S2E(binary lifting & klee)提出HFL这一面向kernel的混合fuzzing工具,并提出三项技术来解决上述问题。 (1)通过编译期的分析优化,将间接跳转转换为直接跳转。 (2)通过静态指针分析,选择性地符号化数据变量并推断syscall之间的依赖关系。 (3)根据处理syscall参数的方式不同,在运行时推断嵌套参数类型。 实验结果表明,HFL能够高效地将混合fuzzing技术引入内核的安全分析中。HFL的代码覆盖率高于Moonshine、Syzkaller、TriforceAFL等工作,并且发现了24个未知漏洞。