KSG: Augmenting Kernel Fuzzing with System Call Specification Generation

被引:0
|
作者
Sun, Hao [1 ]
Shen, Yuheng [1 ]
Liu, Jianzhong [1 ]
Xu, Yiru [1 ]
Jiang, Yu [1 ]
机构
[1] Tsinghua Univ, Beijing, Peoples R China
来源
PROCEEDINGS OF THE 2022 USENIX ANNUAL TECHNICAL CONFERENCE | 2022年
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Kernel fuzzing is a dynamic testing technique that has successfully found numerous kernel vulnerabilities. However, existing kernel fuzzers, such as Syzkaller, depend on system call specifications to generate test cases. Writing such specifications requires an immense amount of domain knowledge while being extremely laborious. Meanwhile, automated generation of the specification is still an open problem due to the complexity of the kernel, including entry function extraction and input type identification. As a result, the current amount of system call information is insufficient to test the entire kernel code base thoroughly. Syzkaller covers an average of 38% of Linux kernel code with current Syzlang specifications for a prolonged time of fuzzing. In this paper, we propose KSG to generate system call specifications for kernel fuzzers automatically. First, it utilizes probe-based tracing to extract entry functions accurately. Then, it uses path-sensitive analysis to collect precise input types and range constraints in each execution path of entry functions. Based on the aforementioned information, KSG generates specifications in the domain language Syzlang, which is used by most kernel fuzzers. We evaluated KSG on several versions of the Linux kernel. It automatically generated 2433 unique specifications. Leveraging the newly generated specifications, Syzkaller and Moonshine achieved coverage improvements of 22% and 23% respectively. Furthermore, our approach assisted fuzzers to discover 26 previously unknown bugs, where 13 and 6 bugs were fixed and assigned with CVEs, respectively.
引用
收藏
页码:351 / 365
页数:15
相关论文
共 50 条
  • [1] Protocol Fuzzing With Specification Guided Message Generation
    Li, Senyi
    Li, Junqiang
    Fu, Jingxuan
    Xue, Mingwu
    Yu, Hongfang
    Sun, Gang
    2021 6TH INTERNATIONAL CONFERENCE ON UK-CHINA EMERGING TECHNOLOGIES (UCET 2021), 2021, : 164 - 170
  • [2] SyzGen plus plus : Dependency Inference for Augmenting Kernel Driver Fuzzing
    Chen, Weiteng
    Hao, Yu
    Zhang, Zheng
    Zou, Xiaochen
    Kirat, Dhilung
    Mishra, Shachee
    Schales, Douglas
    Jang, Jiyong
    Qian, Zhiyun
    45TH IEEE SYMPOSIUM ON SECURITY AND PRIVACY, SP 2024, 2024, : 4661 - 4677
  • [3] ECG: Augmenting Embedded Operating System Fuzzing via LLM-Based Corpus Generation
    Zhang, Qiang
    Shen, Yuheng
    Liu, Jianzhong
    Xu, Yiru
    Shi, Heyuan
    Jiang, Yu
    Chang, Wanli
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2024, 43 (11) : 4238 - 4249
  • [4] Range Specification Bug Detection in Flight Control System Through Fuzzing
    Han, Ruidong
    Ma, Siqi
    Li, Juanru
    Nepal, Surya
    Lo, David
    Ma, Zhuo
    Ma, JianFeng
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2024, 50 (03) : 461 - 473
  • [5] AIT: A method for operating system kernel function call graph generation with a virtualization technique
    Jiao, Longlong
    Luo, Senlin
    Liu, Wangtong
    Pan, Limin
    KSII TRANSACTIONS ON INTERNET AND INFORMATION SYSTEMS, 2020, 14 (05): : 2084 - 2100
  • [6] Specification and test case generation for the safety kernel of the Naples subway
    Casazza, A
    Comini, D
    Morzenti, A
    Pradella, M
    San Pietro, P
    Schreiber, F
    WORLD MULTICONFERENCE ON SYSTEMICS, CYBERNETICS AND INFORMATICS, VOL 1, PROCEEDINGS: INFORMATION SYSTEMS, 1999, : 533 - 540
  • [7] SPECIFICATION OF AN OPERATING SYSTEM KERNEL FOREST AND VDM COMPARED
    GOLDSACK, SJ
    LECTURE NOTES IN COMPUTER SCIENCE, 1988, 328 : 88 - 100
  • [8] StateFuzz: System Call-Based State-Aware Linux Driver Fuzzing
    Zhao, Bodong
    Li, Zheming
    Qin, Shisong
    Ma, Zheyu
    Yuan, Ming
    Zhu, Wenyu
    Tian, Zhihong
    Zhang, Chao
    PROCEEDINGS OF THE 31ST USENIX SECURITY SYMPOSIUM, 2022, : 3273 - 3289
  • [9] A complete system for the specification and the generation of sign language gestures
    Lebourque, T
    Gibet, S
    GESTURE-BASED COMMUNICATION IN HUMAN-COMPUTER INTERACTION, 1999, 1739 : 227 - 238
  • [10] Function-call Network Reliability of Kernel in Android Operating System
    Sun, Pengfei
    lai, ZhongDe
    Yao, Anzhuo
    Yang, Shunkun
    Li, Daqing
    2019 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS), 2019,