2022 · 15 citations · 31 references
ComputingComputer EngineeringComputer ScienceHardware SecurityOperating SystemsPenetration TestingDevice DriversFuzz TestingHardware ObfuscationKernel DesignOperating System VulnerabilitiesDevice Driver SecurityDevice Driver VulnerabilitiesDriver SecurityDriver TestingKernel Driver VulnerabilitiesKernel-mode DriversMonolithic KernelsUntrusted Input Handling
Device drivers are security-critical. In monolithic kernels like Linux, there are hundreds of thousands of drivers which run in the same privilege as the core kernel. Consequently, a bug in a driver can compromise the whole system. More critically, drivers are particularly buggy. First, drivers receive complex and untrusted inputs from not only the user space but also the hardware. Second, the driver code can be developed by less-experienced third parties, and is less tested because running a driver requires the corresponding hardware device or the emulator. Therefore, existing studies show that drivers tend to have a higher bug density and have become a major security threat. Existing testing techniques have to focus the fuzzing on a limited number of drivers that have the corresponding devices or the emulators, thus cannot scale.
31
Thorough static analysis of device drivers
Thomas Ball, Ella Bounimova, Byron Cook et al. · 2006 · 378 citations
Juan Caballero, Heng Yin, Zhenkai Liang et al. · 2007 · 364 citations
Avadh Patel, Furat Afram, Shunfei Chen et al. · 2011 · 359 citations