SyzGen: Automated Generation of Syscall Specification of Closed-Source macOS Drivers


연구 분야: Verification



학회: CCS '21: Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security


초록

Kernel drivers are a critical part of the attack surface since they constitute a large fraction of kernel codebase and oftentimes lack proper vetting, especially for those closed-source ones. Unfortunately, the complex input structure and unknown relationships/dependencies among interfaces make them very challenging to understand. Thus, security analysts primarily rely on manual audit for interface recovery to generate meaningful fuzzing test cases. In this paper, we present SyzGen, a first attempt to automate the generation of syscall specifications for closed-source macOS drivers and facilitate interface-aware fuzzing. We leverage two insights to overcome the challenges of binary analysis: (1) iterative refinement of syscall knowledge and (2) extraction and extrapolation of dependencies from a small number of execution traces. We evaluated our approach on 25 targets. The results show that SyzGen can effectively produce high-quality specifications, leading to 34 bugs, including one that attackers can exploit to escalate privilege, and 2 CVEs to date.


Author Profile
Zhiyun Qian

University of California Riverside Riverside CA USA

Canada
Author Profile
Weiteng Chen

University of California Riverside Riverside CA USA

Canada
Author Profile
Yu Wang

Didi Research America Mountain View CA USA

Canada

📄 논문 정보

발행 연도 2021년
인용수 17
출판 국가 Canada
사이트 ACM
좋아요 수 0

연관 논문 목록 (81건)