Authors
Drew Davidson, Benjamin Moench, Somesh Jha, Thomas Ristenpart
Publication date
2013/8/14
Conference
USENIX Security Symposium
Pages
463-478
Description
Embedded systems increasingly use software-driven low-power microprocessors for security-critical settings, surfacing a need for tools that can audit the security of the software (often called firmware) running on such devices. Despite the fact that firmware programs are often written in C, existing source-code analysis tools do not work well for this setting because of the specific architectural features of low-power platforms. We therefore design and implement a new tool, called FIE, that builds off the KLEE symbolic execution engine in order to provide an extensible platform for detecting bugs in firmware programs for the popular MSP430 family of microcontrollers. FIE incorporates new techniques for symbolic execution that enable it to verify security properties of the simple firmwares often found in practice. We demonstrate FIE’s utility by applying it to a corpus of 99 open-source firmware programs that altogether use 13 different models of the MSP430. We are able to verify memory safety for the majority of programs in this corpus and elsewhere discover 21 bugs.
Total citations
2013201420152016201720182019202020212022202320242711111632453243294011
Scholar articles
D Davidson, B Moench, T Ristenpart, S Jha - 22nd USENIX Security Symposium (USENIX Security …, 2013