SmmPack: Obfuscation for SMM Modules with TPM Sealed Key
Kazuki Matsuo, Satoshi Tanda, Kuniyasu Suzaki, Yuhei Kawakoya, Tatsuya Mori
TL;DR
SmmPack addresses the risk that SMM modules are highly privileged yet vulnerable to vulnerability analysis; the authors propose obfuscation by sealing a decryption key in a TPM and encrypting SMM text with $AES-128$ in CBC mode, with a dedicated SmmPackSmm that unseals the key during early DXE. A Packer transforms SMM binaries by encrypting the text section and appending a decrypt stub, enabling runtime unpacking via a registered Unpack protocol. The study evaluates the approach against three attacker classes, showing that BIOS-update and software-based extraction are blocked while hardware-based compromises become highly costly, all with modest boot-time and BIOS-size overhead (approximately 0.36 s and 0.1% respectively). It also discusses deployment, BIOS capsule updates, and practical considerations, arguing that the method is realistic for OEM adoption. Overall, SmmPack demonstrates a novel, feasible defense by increasing the cost of vulnerability analysis for SMM modules through TPM-backed key sealing and platform firmware obfuscation.
Abstract
System Management Mode (SMM) is the highest-privileged operating mode of x86 and x86-64 processors. Through SMM exploitation, attackers can tamper with the Unified Extensible Firmware Interface (UEFI) firmware, disabling the security mechanisms implemented by the operating system and hypervisor. Vulnerabilities enabling SMM code execution are often reported as Common Vulnerabilities and Exposures (CVEs); however, no security mechanisms currently exist to prevent attackers from analyzing those vulnerabilities. To increase the cost of vulnerability analysis of SMM modules, we introduced SmmPack. The core concept of SmmPack involves encrypting an SMM module with the key securely stored in a Trusted Platform Module (TPM). We assessed the effectiveness of SmmPack in preventing attackers from obtaining and analyzing SMM modules using various acquisition methods. Our results show that SmmPack significantly increases the cost by narrowing down the means of module acquisition. Furthermore, we demonstrated that SmmPack operates without compromising the performance of the original SMM modules. We also clarified the management and adoption methods of SmmPack, as well as the procedure for applying BIOS updates, and demonstrated that the implementation of SmmPack is realistic.
