Novel techniques in recovering, embedding, and enforcing policies for control-flow integrity

There are three fundamental components in Control-Flow Integrity (CFI) enforcement. The first component is accurately recovering the policy (CFG). Usually, the more precise the policy is, the more security CFI improves, but precise CFG generation was considered hard without the support of source cod...

Full description

Saved in:
Bibliographic Details
Main Author: LIN, Yan
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2021
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/10119
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-11119
record_format dspace
spelling sg-smu-ink.sis_research-111192025-02-21T03:42:03Z Novel techniques in recovering, embedding, and enforcing policies for control-flow integrity LIN, Yan There are three fundamental components in Control-Flow Integrity (CFI) enforcement. The first component is accurately recovering the policy (CFG). Usually, the more precise the policy is, the more security CFI improves, but precise CFG generation was considered hard without the support of source code. The second component is embedding the CFI policy securely. Current CFI enforcement usually inserts checks before indirect branches to consult a read-only table which stores the valid CFG information. However, this kind of read-only table can be overwritten by some kinds of attacks (e.g., the Rowhammer attack and data-oriented programming). The third component is to efficiently enforce the CFI policy. In current approaches CFI checks are always executed whenever there is an indirect control flow transfer. Therefore, it is critical to minimize the performance impact of CFI checks. In this book, we propose novel solutions to handle these three fundamental components.To generate a precise CFI policy without the support of the source code, we systematically study two methods which recover CFI policy based on function signature matching at the binary level and propose our novel rule- and heuristic-based mechanism to more accurately recover function signature. To embed CFI policy securely, we design a novel platform which encodes the policy into the machine instructions directly without relying on consulting any read-only data structure, by making use of the idea of instruction-set randomization. Each basic block is encrypted with a key derived from the CFG. To efficiently enforce CFI policy, we make use of a mature dynamic code optimization platform called DynamoRIO to enforce the policy so that we are only required to do the CFI check when needed. 2021-05-01T07:00:00Z text https://ink.library.smu.edu.sg/sis_research/10119 info:doi/10.1007/978-3-030-73141-0 Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Control-Flow Integrity (CFI) Compiler Optimization Dynamic Code Optimization Information Security Control-Flow Hijacking Information Security
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Control-Flow Integrity (CFI)
Compiler Optimization
Dynamic Code Optimization
Information Security
Control-Flow Hijacking
Information Security
spellingShingle Control-Flow Integrity (CFI)
Compiler Optimization
Dynamic Code Optimization
Information Security
Control-Flow Hijacking
Information Security
LIN, Yan
Novel techniques in recovering, embedding, and enforcing policies for control-flow integrity
description There are three fundamental components in Control-Flow Integrity (CFI) enforcement. The first component is accurately recovering the policy (CFG). Usually, the more precise the policy is, the more security CFI improves, but precise CFG generation was considered hard without the support of source code. The second component is embedding the CFI policy securely. Current CFI enforcement usually inserts checks before indirect branches to consult a read-only table which stores the valid CFG information. However, this kind of read-only table can be overwritten by some kinds of attacks (e.g., the Rowhammer attack and data-oriented programming). The third component is to efficiently enforce the CFI policy. In current approaches CFI checks are always executed whenever there is an indirect control flow transfer. Therefore, it is critical to minimize the performance impact of CFI checks. In this book, we propose novel solutions to handle these three fundamental components.To generate a precise CFI policy without the support of the source code, we systematically study two methods which recover CFI policy based on function signature matching at the binary level and propose our novel rule- and heuristic-based mechanism to more accurately recover function signature. To embed CFI policy securely, we design a novel platform which encodes the policy into the machine instructions directly without relying on consulting any read-only data structure, by making use of the idea of instruction-set randomization. Each basic block is encrypted with a key derived from the CFG. To efficiently enforce CFI policy, we make use of a mature dynamic code optimization platform called DynamoRIO to enforce the policy so that we are only required to do the CFI check when needed.
format text
author LIN, Yan
author_facet LIN, Yan
author_sort LIN, Yan
title Novel techniques in recovering, embedding, and enforcing policies for control-flow integrity
title_short Novel techniques in recovering, embedding, and enforcing policies for control-flow integrity
title_full Novel techniques in recovering, embedding, and enforcing policies for control-flow integrity
title_fullStr Novel techniques in recovering, embedding, and enforcing policies for control-flow integrity
title_full_unstemmed Novel techniques in recovering, embedding, and enforcing policies for control-flow integrity
title_sort novel techniques in recovering, embedding, and enforcing policies for control-flow integrity
publisher Institutional Knowledge at Singapore Management University
publishDate 2021
url https://ink.library.smu.edu.sg/sis_research/10119
_version_ 1827070798044594176