Hardware-Based Software Control Flow Integrity: Review on the State-of-the-Art Implementation Technology

Code Reuse Attacks (CRA) represent a type of control flow hijacking that attackers exploit to manipulate the standard program execution path, resulting in abnormal processor behaviors. In response to the security concern, proposals for Control Flow Integrity (CFI) verification have emerged. The CFI...

詳細記述

書誌詳細
出版年:IEEE Access
主要な著者: Senyang Li, Weike Wang, Wenxin Li, Dexue Zhang
フォーマット: 論文
言語:英語
出版事項: IEEE 2023-01-01
主題:
オンライン・アクセス:https://ieeexplore.ieee.org/document/10328880/
_version_ 1850266976275922944
author Senyang Li
Weike Wang
Wenxin Li
Dexue Zhang
author_facet Senyang Li
Weike Wang
Wenxin Li
Dexue Zhang
author_sort Senyang Li
collection DOAJ
container_title IEEE Access
description Code Reuse Attacks (CRA) represent a type of control flow hijacking that attackers exploit to manipulate the standard program execution path, resulting in abnormal processor behaviors. In response to the security concern, proposals for Control Flow Integrity (CFI) verification have emerged. The CFI scheme diligently monitors program jumps during execution, effectively restraining abnormal program execution and robustly safeguarding against CRA. This paper provides a comprehensive analysis and synthesis of the current state of hardware-based CFI implementations. In this survey, we initially discuss common attack methods and variations of predominant CRA, elucidating the general procedural steps intrinsic to such attacks. We delve into the protective capacities inherent in contemporary hardware-based CFI implementations. By conducting a thorough examination and organization of diverse research endeavors on hardware-based CFI, we systematically classify CFI based on implementation methodologies, including label verification, instruction encryption, stack edge detection, instruction tracing, sensitive data isolation, and basic block validation. We provide comprehensive explanations and critical evaluations for each category followed by comparative analyses while offering personal insights on the evolution of hardware-based CFI.
format Article
id doaj-art-e6092230d19f46cd96a81a9fb2a56ee4
institution Directory of Open Access Journals
issn 2169-3536
language English
publishDate 2023-01-01
publisher IEEE
record_format Article
spelling doaj-art-e6092230d19f46cd96a81a9fb2a56ee42025-08-19T23:44:22ZengIEEEIEEE Access2169-35362023-01-011113325513328010.1109/ACCESS.2023.333704310328880Hardware-Based Software Control Flow Integrity: Review on the State-of-the-Art Implementation TechnologySenyang Li0https://orcid.org/0009-0004-8324-0911Weike Wang1https://orcid.org/0000-0003-4964-917XWenxin Li2Dexue Zhang3College of Electronic and Information Engineering, Shandong University of Science and Technology, Qingdao, ChinaCollege of Electronic and Information Engineering, Shandong University of Science and Technology, Qingdao, ChinaCollege of Electronic and Information Engineering, Shandong University of Science and Technology, Qingdao, ChinaCollege of Electronic and Information Engineering, Shandong University of Science and Technology, Qingdao, ChinaCode Reuse Attacks (CRA) represent a type of control flow hijacking that attackers exploit to manipulate the standard program execution path, resulting in abnormal processor behaviors. In response to the security concern, proposals for Control Flow Integrity (CFI) verification have emerged. The CFI scheme diligently monitors program jumps during execution, effectively restraining abnormal program execution and robustly safeguarding against CRA. This paper provides a comprehensive analysis and synthesis of the current state of hardware-based CFI implementations. In this survey, we initially discuss common attack methods and variations of predominant CRA, elucidating the general procedural steps intrinsic to such attacks. We delve into the protective capacities inherent in contemporary hardware-based CFI implementations. By conducting a thorough examination and organization of diverse research endeavors on hardware-based CFI, we systematically classify CFI based on implementation methodologies, including label verification, instruction encryption, stack edge detection, instruction tracing, sensitive data isolation, and basic block validation. We provide comprehensive explanations and critical evaluations for each category followed by comparative analyses while offering personal insights on the evolution of hardware-based CFI.https://ieeexplore.ieee.org/document/10328880/Code reuse attackscontrol flow integrityhardware-based CFI implementations
spellingShingle Senyang Li
Weike Wang
Wenxin Li
Dexue Zhang
Hardware-Based Software Control Flow Integrity: Review on the State-of-the-Art Implementation Technology
Code reuse attacks
control flow integrity
hardware-based CFI implementations
title Hardware-Based Software Control Flow Integrity: Review on the State-of-the-Art Implementation Technology
title_full Hardware-Based Software Control Flow Integrity: Review on the State-of-the-Art Implementation Technology
title_fullStr Hardware-Based Software Control Flow Integrity: Review on the State-of-the-Art Implementation Technology
title_full_unstemmed Hardware-Based Software Control Flow Integrity: Review on the State-of-the-Art Implementation Technology
title_short Hardware-Based Software Control Flow Integrity: Review on the State-of-the-Art Implementation Technology
title_sort hardware based software control flow integrity review on the state of the art implementation technology
topic Code reuse attacks
control flow integrity
hardware-based CFI implementations
url https://ieeexplore.ieee.org/document/10328880/
work_keys_str_mv AT senyangli hardwarebasedsoftwarecontrolflowintegrityreviewonthestateoftheartimplementationtechnology
AT weikewang hardwarebasedsoftwarecontrolflowintegrityreviewonthestateoftheartimplementationtechnology
AT wenxinli hardwarebasedsoftwarecontrolflowintegrityreviewonthestateoftheartimplementationtechnology
AT dexuezhang hardwarebasedsoftwarecontrolflowintegrityreviewonthestateoftheartimplementationtechnology