Hardware Information Flow Tracking
Open Access
- 3 May 2021
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM Computing Surveys
- Vol. 54 (4) , 1-39
Abstract
Information flow tracking (IFT) is a fundamental computer security technique used to understand how information moves through a computing system. Hardware IFT techniques specifically target security vulnerabilities related to the design, verification, testing, manufacturing, and deployment of hardware circuits. Hardware IFT can detect unintentional design flaws, malicious circuit modifications, timing side channels, access control violations, and other insecure hardware behaviors. This article surveys the area of hardware IFT. We start with a discussion on the basics of IFT, whose foundations were introduced by Denning in the 1970s. Building upon this, we develop a taxonomy for hardware IFT. We use this to classify and differentiate hardware IFT tools and techniques. Finally, we discuss the challenges yet to be resolved. The survey shows that hardware IFT provides a powerful technique for identifying hardware security vulnerabilities, as well as verifying and enforcing hardware security properties.Keywords
Funding Information
- Semiconductor Research Corporation
- NSF (1718586)
- National Natural Science Foundation of China (62074131)
This publication has 107 references indexed in Scilit:
- Information flow control for standard OS abstractionsACM SIGOPS Operating Systems Review, 2007
- RakshaACM SIGARCH Computer Architecture News, 2007
- Labels and event processes in the asbestos operating systemACM SIGOPS Operating Systems Review, 2005
- Language-based information-flow securityIEEE Journal on Selected Areas in Communications, 2003
- A decentralized model for information flow controlACM SIGOPS Operating Systems Review, 1997
- Information transmission in computational systemsACM SIGOPS Operating Systems Review, 1977
- A lattice model of secure information flowCommunications of the ACM, 1976
- HYDRACommunications of the ACM, 1974
- A note on the confinement problemCommunications of the ACM, 1973
- Programming semantics for multiprogrammed computationsCommunications of the ACM, 1966