Precise static analysis of untrusted driver binaries
Precise static analysis of untrusted driver binaries
复制标题
对不受信任的驱动程序二进制文件进行精确的静态分析
DOI:
--
复制
发表时间:
2010
期刊:
影响因子:
--
通讯作者:
H. Veith
中科院分区:
文献类型:
--
作者:
Johannes Kinder;H. Veith
Most closed source drivers installed on desktop systems today have never been exposed to formal analysis. Without vendor support, the only way to make these often hastily written, yet critical programs accessible to static analysis is to directly work at the binary level. In this paper, we describe a full architecture to perform static analysis on binaries that does not rely on unsound external components such as disassemblers. To precisely calculate data and function pointers without any type information, we introduce Bounded Address Tracking, an abstract domain that is tailored towards machine code and is path sensitive up to a tunable bound assuring termination. We implemented Bounded Address Tracking in our binary analysis platform Jakstab and used it to verify API specifications on several Windows device drivers. Even without assumptions about executable layout and procedures as made by state of the art approaches [1], we achieve more precise results on a set of drivers from the Windows DDK. Since our technique does not require us to compile drivers ourselves, we also present results from analyzing over 300 closed source drivers.