Regular Papers

Backward-Edge Control Flow Integrity Based on Return Address Encryption

  • FENGSHUO TIAN ,
  • KAIXUAN WANG ,
  • JUN HAN
Expand
  • State Key Laboratory of Integrated Chips and Systems, Fudan University, Shanghai 200433, China
JUN HAN (e-mail: ).

JUN HAN (Member, IEEE)

Received date: 2025-01-31

  Revised date: 2025-04-27

  Accepted date: 2025-06-19

  Online published: 2025-10-22

Supported by

National Natural Science Foundation of China under Grant(61934002)

National Natural Science Foundation of China under Grant(62234008)

Abstract

Control flow integrity (CFI) plays an important role in defending against code reuse attacks (CRA). It protects the program’s control flow from being hijacked by restricting control flow transfers during execution. Specifically, backward-edge CFI safeguards return addresses to mitigate Return-Oriented Programming (ROP) attacks. In this work, we implement a backward-edge CFI mechanism that employs the Advanced Encryption Standard (AES) for cryptographic protection of return addresses. We utilize the gem5 simulator for architectural modeling and evaluation. Additionally, we design a dedicated AES hardware accelerator and integrate it into the system through gem5+RTL co-simulation. The AES accelerator is synthesized under TSMC 28 nm technology, which can work at 1GHz, with an area of 10045 μm2 and a power consumption of 1.31 mW. Experimental results indicate that the performance overhead of the backward-edge CFI scheme is less than 0.1%.

Cite this article

FENGSHUO TIAN , KAIXUAN WANG , JUN HAN . Backward-Edge Control Flow Integrity Based on Return Address Encryption[J]. Integrated Circuits and Systems, 2025 , 2(3) : 167 -173 . DOI: 10.23919/ICS.2025.3583689

[1]
H. Shacham, “The geometry of innocent flesh on the bone: Returninto- libc without function calls (on the x86),” in Proc. 14th ACM Conf. Comput. Commun. Secur., 2007, pp. 552-561, doi: 10.1109/JIOT.2018. 2866164.

[2]
J. Zhang, B. Qi, Z. Qin, and G. Qu, “HCIC: Hardware-assisted control-flow integrity checking,” IEEE Internet Things J., vol. 6, no. 1, pp. 458-471, Feb. 2019.

[3]
M. Abadi, M. Budiu, Ú. Erlingsson, and J. Ligatti, “Control-flow integrity principles, implementations, and applications,” ACM Trans. Inf. Syst. Secur., vol. 13, no. 1, pp. 1-40, 2009.

[4]
L. Davi, P. Koeberl, and A.-R. Sadeghi, “Hardware-assisted finegrained control-flow integrity: Towards efficient protection of embedded systems against software exploitation,” in Proc. 51st Annu. Des. Automat. Conf., 2014, pp. 1-6.

[5]
A. J. Mashtizadeh, A. Bittau, D. Boneh, and D. Mazières, “CCFI: Cryptographically enforced control flow integrity,” in Proc. 22nd ACM SIGSAC Comput. Commun. Secur. (CCS), Denver, CO, USA, 2015, pp. 941-951.

[6]
J. Yu, M. Yan, A. Khyzha, A.Morrison, J. Torrellas, and C.W. Fletcher, “Speculative taint tracking (STT): A comprehensive protection for speculatively accessed data,” IEEE Micro, vol. 40, no. 3, pp. 81-90, May/Jun. 2020, doi: 10.1109/MM.2020.2985359.

[7]
P. Qiu et al., “Physical unclonable functions-based linear encryption against code reuse attacks,” in Proc. 53rd Annu. Des. Automat. Conf., 2016, pp. 1-6.

[8]
P. Qiu, Y. Lyu, J. Zhang, D. Wang, and G. Qu, “Control flow integrity based on lightweight encryption architecture,” IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst., vol. 37, no. 7, pp. 1358-1369, Jul. 2018.

[9]
G. López-Paradís, A. Armejach, and M. Moretó, “Gem5+ rtl: A framework to enable RTL models inside a full-system simulator,” in Proc. 50th Int. Conf. Parallel Process., 2021, pp. 1-11.

[10]
J. Lowe-Power et al., “The gem5 Simulator: Version 20.0+, 2020, arXiv:2007.03152.

[11]
T. Liang, L. Feng, S. Sinha, and W. Zhang, “PAAS: A system level simulator for heterogeneous computing architectures,” in Proc. 27th Int. Conf. Field Programmable Log. Appl., 2017, pp. 1-8, doi: 10.23919/FPL.2017.805677.

[12]
Intel Corporation, “Control-flow enforcement technology preview,” 2016.[Online]. Available: https://software.intel.com/sites/default/files/ managed/4d/2a/control-flow-enforcement-technology-preview.pdf

[13]
H. Liljestrand, T. Nyman, L. J. Gunn, J.-E. Ekberg, and N. Asokan, “PACStack: An authenticated call stack,” 2019, arXiv:1905.10242.

[14]
H. Ozdoganoglu, T. N. Vijaykumar, C. E. Brodley, B. A. Kuperman, and A. Jalote, “SmashGuard: A hardware solution to prevent security attacks on the function return address,” IEEE Trans. Comput., vol. 55, no. 10, pp. 1271-1285, Oct. 2006, doi: 10.1109/TC.2006.166.

[15]
Y. Lee, J. Lee, I. Heo, D. Hwang, and Y. Paek, “Using CoreSight PTM to integrate CRA monitoring IPs in an ARM-based SoC,” ACM Trans. Des. Automat. Electron. Syst., vol. 22, no. 3, pp. 1-25, Apr. 2017, doi: 10.1145/3035965.

[16]
N. Burow, X. Zhang, and M. Payer, “SoK: Shining light on shadow stacks,” in Proc. IEEE Symp. Secur. Privacy, 2019, pp. 985-999, doi: 10.1109/SP.2019.00076.

[17]
T. H. Y. Dang, P. Maniatis, and D. Wagner, “The performance cost of shadow stacks and stack canaries,” in Proc. 10th ACM Symp. Inf., Comput. Commun. Secur., 2015, pp. 555-566, doi: 10.1145/2714576. 2714635.

[18]
M. Ismail, A. Quach, C. Jelesnianski, Y. Jang, and C. Min, “Tightly seal your sensitive pointers with PACTight,” in 31st USENIX Secur. Symp. (USENIX Security 2022), Boston, MA, USA, Aug., 2022, pp. 3717-3734, [Online]. Available: https://www.usenix.org/conference/usenixsecurity22/presentation/ismail

[19]
R. Mirzazade Farkhani, M. Ahmadi, and L. Lu, “PTAuth: Temporal memory safety via robust points-to authentication,” in Proc. 30th USENIX Secur. Symp., 2021, pp. 1037-1054.

[20]
J. Ravichandran, W. T. Na, J. Lang, and M. Yan, “PACMAN: Attacking ARM pointer authentication with speculative execution,” IEEE Micro, vol. 43, no. 4, pp. 11-18, Jul./Aug. 2023, doi: 10.1109/MM.2023.3273189.

[21]
H. Liljestrand, T. Nyman, K. Wang, C. C. Perez, J.-E. Ekberg, and N. Asokan, “PAC it up: Towards pointer integrity using ARM pointer authentication,” 2018, arXiv:1811.09189.

[22]
S. Gueron, “Intel Adv. Encryption Standard (AES) New Instructions Set,” Intel Corporation, Rev. 3.01, 2010. [Online]. Available:

Outlines

/