Reconfigurable Dynamic Trusted Platform Module for Control Flow Checking
Title | Reconfigurable Dynamic Trusted Platform Module for Control Flow Checking |
Publication Type | Conference Paper |
Year of Publication | 2014 |
Authors | Das, S., Wei Zhang, Yang Liu |
Conference Name | VLSI (ISVLSI), 2014 IEEE Computer Society Annual Symposium on |
Date Published | July |
Keywords | Benchmark testing, buffer overflow, code reuse, Computer architecture, control flow checking, Dynamic TPM, dynamic TPM design, field programmable gate arrays, formal verification, FPGA, instruction set architecture, Pipelines, processor pipeline, Reconfigurable Architecture, reconfigurable dynamic trusted platform module, Runtime, runtime attacks, Runtime Security, security, security of data, Software, stack smashing, Trusted Computing |
Abstract | Trusted Platform Module (TPM) has gained its popularity in computing systems as a hardware security approach. TPM provides the boot time security by verifying the platform integrity including hardware and software. However, once the software is loaded, TPM can no longer protect the software execution. In this work, we propose a dynamic TPM design, which performs control flow checking to protect the program from runtime attacks. The control flow checker is integrated at the commit stage of the processor pipeline. The control flow of program is verified to defend the attacks such as stack smashing using buffer overflow and code reuse. We implement the proposed dynamic TPM design in FPGA to achieve high performance, low cost and flexibility for easy functionality upgrade based on FPGA. In our design, neither the source code nor the Instruction Set Architecture (ISA) needs to be changed. The benchmark simulations demonstrate less than 1% of performance penalty on the processor, and an effective software protection from the attacks. |
DOI | 10.1109/ISVLSI.2014.84 |
Citation Key | 6903354 |
- Pipelines
- Trusted Computing
- stack smashing
- Software
- security of data
- security
- Runtime Security
- runtime attacks
- Runtime
- reconfigurable dynamic trusted platform module
- Reconfigurable Architecture
- processor pipeline
- Benchmark testing
- Instruction Set Architecture
- FPGA
- formal verification
- field programmable gate arrays
- dynamic TPM design
- Dynamic TPM
- control flow checking
- computer architecture
- code reuse
- buffer overflow