2022 IEEE Symposium on Security and Privacy (SP) · 2022 · 10 citations · 23 references
ComputingComputer EngineeringComputer ScienceComputer SecurityOperating SystemsVulnerability AnalysisFirmware DevelopmentOperating System SecurityPrivilege Escalation VulnerabilitiesStatic Vulnerability AnalysisFirmware SecurityFirmware Vulnerability AnalysisPrivilege Escalation AnalysisPrivilege Escalation ExploitsProtocol VulnerabilitiesSoftware Interface DesignStatic Analysis For FirmwareUefi Security
The Unified Extensible Firmware Interface (UEFI) provides a specification of the software interface between an OS and its underlying platform firmware. The runtime services provided are seemingly secure as they reside in System Management Mode (SMM) at ring -2, assuming a higher privilege than the OS kernel at ring 0. However, their software vulnerabilities are known to be exploitable to launch ring 0 to ring -2 privilege escalation, i.e., SMM privilege escalation attacks.In this paper, we introduce an effective static analysis framework for detecting SMM privilege escalation vulnerabilities in UEFI firmware. We present a systematic study of such vulnerabilities and identify their root causes as being two types of references that can escape from the SMRAM, legacy references and unintentional references. Existing static analyses are ineffective in detecting such vulnerabilities in stripped COTS UEFI firmware images, which are developed based on a customized callback mechanism that organizes callable functions into protocols identified by GUIDs. By leveraging such a callback-based programming paradigm, we introduce SPENDER, the first static detection framework, which is founded on a novel protocol-centric analysis, for uncovering the potential SMM privilege escalation vulnerabilities in UEFI firmware efficiently and precisely. For a total of 1148 UEFI binaries collected from eight vendors, SPENDER has successfully found 36 SMM privilege escalation vulnerabilities (two 1-day and 34 0-day vulnerabilities), which can cause arbitrary code execution and arbitrary address write (and can thus enable, e.g., the attackers to install a bootkit into a flash drive). We have reported these 36 vulnerabilities to the vendors, with the two 1-day vulnerabilities confirmed as known previously but the 34 0-day vulnerabilities confirmed as new.
23
Precise interprocedural dataflow analysis via graph reachability
Thomas Reps, Susan Horwitz, Mooly Sagiv · 1995 · 1.2K citations
Steven Arzt, Siegfried Rasthofer, Christian Fritz et al. · ACM SIGPLAN Notices · 2014 · 916 citations
SOK: (State of) The Art of War: Offensive Techniques in Binary Analysis
Yan Shoshitaishvili, Ruoyu Wang, Christopher Salls et al. · 2016 · 911 citations · Full text
Tyler Bletsch, Xuxian Jiang, Vince Freeh et al. · 2011 · 538 citations
Practical Control Flow Integrity and Randomization for Binary Executables
Chao Zhang, Tao Wei, Zhaofeng Chen et al. · 2013 · 479 citations · Full text