SoK: Understanding the Attack Surface in Device Driver Isolation Frameworks
Yongzhe Huang, Kaiming Huang, Matthew Ennis, Vikram Narayanan, Anton, Burtsev, Trent Jaeger, Gang Tan

TL;DR
This paper surveys existing device driver isolation frameworks, classifies and evaluates their vulnerabilities, revealing that many drivers contain numerous CIVs, which can be mitigated with additional security measures like CFI.
Contribution
It systematically analyzes the security guarantees of driver isolation frameworks and classifies CIVs, providing insights and guidance for improving driver isolation security.
Findings
Large drivers have over 100 CIVs instances
Enforcing CFI reduces CIVs to around 28
CIV prevalence varies across driver classes
Abstract
Device driver isolation is a promising approach for protecting the kernel from faulty or malicious drivers, but the actual security provided by such frameworks is often not well understood. Recent research has identified Compartment Interface Vulnerabilities (CIVs) in userspace compartmentalized applications, yet their impact on driver isolation frameworks remains poorly understood. This paper provides a comprehensive survey of the design and security guarantees of existing driver isolation frameworks and systemizes existing CIV classifications, evaluating them under driver isolation. The analysis shows that different classes of CIVs are prevalent across the studied drivers under a baseline threat model, with large drivers having more than 100 instances of different CIVs and an average of 33 instances across the studied drivers. Enforcing extra security properties, such as CFI, can…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Malware Detection Techniques · Electrostatic Discharge in Electronics · Security and Verification in Computing
