2023
DOI: 10.1109/access.2023.3234184
|View full text |Cite
|
Sign up to set email alerts
|

BGCFI: Efficient Verification in Fine-Grained Control-Flow Integrity Based on Bipartite Graph

Abstract: Control-flow integrity (CFI) is considered a principled mitigation against control-flow hijacking even under the most powerful attacker who can arbitrarily write and read memory. However, existing schemes still demonstrated limitations in either guaranteeing high security level or achieving low performance and memory overhead. These limitations have restricted the application of CFI in real software.To improve its applicability similar to mandatory protection schemes such as DEP and ASLR, it is essential to im… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
6
0

Year Published

2023
2023
2024
2024

Publication Types

Select...
4

Relationship

0
4

Authors

Journals

citations
Cited by 4 publications
(6 citation statements)
references
References 36 publications
0
6
0
Order By: Relevance
“…Static analysis is a prevalent technique for constructing CFGs. This method involves a meticulous examination of the program, such as the source code and binary executable file [20][21][22]. Static analysis is often conducted during the program's compilation or preprocessing phase, ensuring that the CFG is established before execution.…”
Section: Phases Of Cfg-based Cfi Mechanismsmentioning
confidence: 99%
“…Static analysis is a prevalent technique for constructing CFGs. This method involves a meticulous examination of the program, such as the source code and binary executable file [20][21][22]. Static analysis is often conducted during the program's compilation or preprocessing phase, ensuring that the CFG is established before execution.…”
Section: Phases Of Cfg-based Cfi Mechanismsmentioning
confidence: 99%
“…Control flow validation methods directly monitor the transfer paths and critical parameters between program basic blocks and halt execution upon verification failure. Some of these techniques involve constructing a control flow graph (CFG) for the program through source code or binary code analysis [ 17 , 21 ]. The CFG is then utilized as a reference model to monitor runtime control flow transfers.…”
Section: Related Workmentioning
confidence: 99%
“…The bipartite graph described the mapping relationships between all indirect branches and valid destination addresses. It was able to replace the verification of CFI with the edge presence problem in the bipartite graph when detecting whether the control flow transfer is legitimate [ 21 ].…”
Section: Related Workmentioning
confidence: 99%
“…Currently, CFI in a processor can be achieved in both Software [29], [30], [31], [32], [33], [34], [35] and hardware. BCI-CFI [34], an implementation of software-based finegrained CFI on the Linux kernel, exhibited an average execution overhead of 19.67%, with the peak overhead attaining 31.2% in test programs.…”
Section: B the Current State Of Defense Against Code Reuse Attacksmentioning
confidence: 99%