Back to Search
Start Over
GRIFFIN
- Source :
- ASPLOS
- Publication Year :
- 2017
- Publisher :
- Association for Computing Machinery (ACM), 2017.
-
Abstract
- Researchers are actively exploring techniques to enforce control-flow integrity (CFI), which restricts program execution to a predefined set of targets for each indirect control transfer to prevent code-reuse attacks. While hardware-assisted CFI enforcement may have the potential for advantages in performance and flexibility over software instrumentation, current hardware-assisted defenses are either incomplete (i.e., do not enforce all control transfers) or less efficient in comparison. We find that the recent introduction of hardware features to log complete control-flow traces, such as Intel Processor Trace (PT), provides an opportunity to explore how efficient and flexible a hardware-assisted CFI enforcement system may become. While Intel PT was designed to aid in offline debugging and failure diagnosis, we explore its effectiveness for online CFI enforcement over unmodified binaries by designing a parallelized method for enforcing various types of CFI policies. We have implemented a prototype called GRIFFIN in the Linux 4.2 kernel that enables complete CFI enforcement over a variety of software, including the Firefox browser and its jitted code. Our experiments show that GRIFFIN can enforce fine-grained CFI policies with shadow stack as recommended by researchers at a performance that is comparable to software-only instrumentation techniques. In addition, we find that alternative logging approaches yield significant performance improvements for trace processing, identifying opportunities for further hardware assistance.
- Subjects :
- 0301 basic medicine
Computer science
media_common.quotation_subject
0211 other engineering and technologies
02 engineering and technology
computer.software_genre
03 medical and health sciences
Software
0302 clinical medicine
020204 information systems
Griffin
0202 electrical engineering, electronic engineering, information engineering
Instrumentation (computer programming)
media_common
General Environmental Science
021110 strategic, defence & security studies
business.industry
Intel processor
General Medicine
Computer Graphics and Computer-Aided Design
020202 computer hardware & architecture
030104 developmental biology
Kernel (image processing)
Debugging
030220 oncology & carcinogenesis
Operating system
General Earth and Planetary Sciences
business
computer
Subjects
Details
- ISSN :
- 01635964
- Volume :
- 45
- Database :
- OpenAIRE
- Journal :
- ACM SIGARCH Computer Architecture News
- Accession number :
- edsair.doi.dedup.....9551a1f01ef88d387c65d8940c39c185
- Full Text :
- https://doi.org/10.1145/3093337.3037716