Cargando…

Securing Embedded System from Code Reuse Attacks: A Lightweight Scheme with Hardware Assistance

The growing prevalence of embedded systems in various applications has raised concerns about their vulnerability to malicious code reuse attacks. Current software-based and hardware-assisted security techniques struggle to detect or block these attacks with minor performance and implementation overh...

Descripción completa

Detalles Bibliográficos
Autores principales: An, Zhenliang, Wang, Weike, Li, Wenxin, Li, Senyang, Zhang, Dexue
Formato: Online Artículo Texto
Lenguaje:English
Publicado: MDPI 2023
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10456411/
https://www.ncbi.nlm.nih.gov/pubmed/37630061
http://dx.doi.org/10.3390/mi14081525
_version_ 1785096692227375104
author An, Zhenliang
Wang, Weike
Li, Wenxin
Li, Senyang
Zhang, Dexue
author_facet An, Zhenliang
Wang, Weike
Li, Wenxin
Li, Senyang
Zhang, Dexue
author_sort An, Zhenliang
collection PubMed
description The growing prevalence of embedded systems in various applications has raised concerns about their vulnerability to malicious code reuse attacks. Current software-based and hardware-assisted security techniques struggle to detect or block these attacks with minor performance and implementation overhead. To address this issue, this paper presents a lightweight hardware-assisted scheme to enhance the security of embedded systems against code reuse attacks. We develop an on-chip lightweight hardware shadow stack to validate target addresses at runtime for backward-edge control flow integrity, which backs up valid return addresses during function calls and automatically verifies actual return addresses during the return phase. Additionally, we propose a lightweight stream cipher circuit that encrypts and decrypts critical stack data related to control flow manipulation, preventing attackers from analyzing or tampering with them. When designing and implementing the security mechanism for embedded systems, we fully consider the constraints of limited system resources and performance, optimizing both the architecture design and implementation of the proposed hardware. Finally, we integrate both the proposed lightweight hardware shadow stack and the runtime data encryption hardware into the OR1200 processor. We have verified the system security function on the Terasic DE1-SoC FPGA platform and evaluated the system performance as well as implementation overhead. The results show that the proposed lightweight hardware-assisted scheme can provide a dedicated defense capability against code reuse attacks for embedded systems, with an average system performance overhead of 0.39% and an area footprint of 0.316 mm(2).
format Online
Article
Text
id pubmed-10456411
institution National Center for Biotechnology Information
language English
publishDate 2023
publisher MDPI
record_format MEDLINE/PubMed
spelling pubmed-104564112023-08-26 Securing Embedded System from Code Reuse Attacks: A Lightweight Scheme with Hardware Assistance An, Zhenliang Wang, Weike Li, Wenxin Li, Senyang Zhang, Dexue Micromachines (Basel) Article The growing prevalence of embedded systems in various applications has raised concerns about their vulnerability to malicious code reuse attacks. Current software-based and hardware-assisted security techniques struggle to detect or block these attacks with minor performance and implementation overhead. To address this issue, this paper presents a lightweight hardware-assisted scheme to enhance the security of embedded systems against code reuse attacks. We develop an on-chip lightweight hardware shadow stack to validate target addresses at runtime for backward-edge control flow integrity, which backs up valid return addresses during function calls and automatically verifies actual return addresses during the return phase. Additionally, we propose a lightweight stream cipher circuit that encrypts and decrypts critical stack data related to control flow manipulation, preventing attackers from analyzing or tampering with them. When designing and implementing the security mechanism for embedded systems, we fully consider the constraints of limited system resources and performance, optimizing both the architecture design and implementation of the proposed hardware. Finally, we integrate both the proposed lightweight hardware shadow stack and the runtime data encryption hardware into the OR1200 processor. We have verified the system security function on the Terasic DE1-SoC FPGA platform and evaluated the system performance as well as implementation overhead. The results show that the proposed lightweight hardware-assisted scheme can provide a dedicated defense capability against code reuse attacks for embedded systems, with an average system performance overhead of 0.39% and an area footprint of 0.316 mm(2). MDPI 2023-07-29 /pmc/articles/PMC10456411/ /pubmed/37630061 http://dx.doi.org/10.3390/mi14081525 Text en © 2023 by the authors. https://creativecommons.org/licenses/by/4.0/Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
spellingShingle Article
An, Zhenliang
Wang, Weike
Li, Wenxin
Li, Senyang
Zhang, Dexue
Securing Embedded System from Code Reuse Attacks: A Lightweight Scheme with Hardware Assistance
title Securing Embedded System from Code Reuse Attacks: A Lightweight Scheme with Hardware Assistance
title_full Securing Embedded System from Code Reuse Attacks: A Lightweight Scheme with Hardware Assistance
title_fullStr Securing Embedded System from Code Reuse Attacks: A Lightweight Scheme with Hardware Assistance
title_full_unstemmed Securing Embedded System from Code Reuse Attacks: A Lightweight Scheme with Hardware Assistance
title_short Securing Embedded System from Code Reuse Attacks: A Lightweight Scheme with Hardware Assistance
title_sort securing embedded system from code reuse attacks: a lightweight scheme with hardware assistance
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10456411/
https://www.ncbi.nlm.nih.gov/pubmed/37630061
http://dx.doi.org/10.3390/mi14081525
work_keys_str_mv AT anzhenliang securingembeddedsystemfromcodereuseattacksalightweightschemewithhardwareassistance
AT wangweike securingembeddedsystemfromcodereuseattacksalightweightschemewithhardwareassistance
AT liwenxin securingembeddedsystemfromcodereuseattacksalightweightschemewithhardwareassistance
AT lisenyang securingembeddedsystemfromcodereuseattacksalightweightschemewithhardwareassistance
AT zhangdexue securingembeddedsystemfromcodereuseattacksalightweightschemewithhardwareassistance