Abstract
In recent years, there is a growing need to protect security and privacy of the data against various attacks on software running on smart mobile devices. As of today, the code-reuse attack (CRA) is known as one of the most sophisticated techniques. We in this paper propose a hardware-assisted solution that can be practically deployed into the existing ARM-based mobile devices. We exploit CoreSight debug interface to obtain the core internal information. As the information fed from the debug interface is insufficient for our purpose to detect CRAs, our solution uses the metadata to supplement the lacking information. However, most metadata-driven approaches suffer from the significant storage overhead to store every basic information describing the original data that is vital to their analysis or techniques. As this large space overhead can be a major obstacle to the general acceptance of our solution in ARM-based devices with strict performance constraints, we have endeavored to develop a technique minimizing the memory overhead. Also, we have extended our solution to apply to multiprocessor SoCs as the growing number of computing systems including mobile devices use multiprocessor architectures. Experimental results show that our solution detects CRAs with 1.74% performance overhead in dual-CPU system and requires only 5.66% more memories for storing metadata.









Similar content being viewed by others
Notes
That is, an indirect call, indirect jump or return.
There are five types: direct jump/call, indirect jump/call and return.
That is, an indirect call, indirect jump or return.
References
Abadi M, Budiu M, Erlingsson U, Ligatti J (2005) Control-flow integrity. In: Proceedings of the 12th ACM Conference on Computer and Communications Security, CCS ’05, New York, NY, USA, 2005. Association for Computing Machinery, pp 340–353
Andersen S, Abella V (2004) Data execution prevention. changes to functionality in microsoft windows XP service pack 2, part 3: Memory protection technologies
ARM co., LTD. CoreSight Program Flow Trace Architecture Specification, 2011
ARM co., LTD. ARM CoreSight Architecture Specification v2.0, 2013
ARM co., LTD. ARM System Memory Management Unit Architecture Specification, 2013
ARM co., LTD. AMBA Network Interconnect (NIC-301) Technical Reference Manual, 2014
ARM co., LTD. Cortex-A9 Processor, 2014
Bletsch T, Jiang X, Freeh VW, Liang Z (2011) Jump-oriented programming: a new class of code-reuse attack. In: Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security. ACM, pp 30–40
Carlini, N, Wagner D (2014) Rop is still dangerous: Breaking modern defenses. In: Proceedings of USENIX Security
Checkoway S, Davi L, Dmitrienko A, Sadeghi A-R, Shacham H, Winandy M (2010) Return-oriented programming without returns. In: Proceedings of the 17th ACM Conference on Computer and Communications Security. ACM, pp 559–572
Chen P, Xiao H, Shen X, Yin X, Mao B, Xie L (2009) Drop: detecting return-oriented programming malicious code. In: Information Systems Security. Springer, pp 163–177
Cheng Y, Zhou Z, Yu M, Ding X, Deng RH (2014) Ropecker: A generic and practical approach for defending against ROP attacks. In: Symposium on Network and Distributed System Security (NDSS)
Das S, Zhang W, Liu Y (2016) A fine-grained control flow integrity approach against runtime memory attacks for embedded systems. IEEE Trans Very Large Scale Integr (VLSI) Syst 24(11):3193–3207
Davi L, Koeberl P, Sadeghi A-R (2014) Hardware-assisted fine-grained control-flow integrity: towards efficient protection of embedded systems against software exploitation. In: Proceedings of the The 51st Annual Design Automation Conference on Design Automation Conference. ACM, pp 1–6
Davi L, Sadeghi A-R, Winandy M (2011) Ropdefender: a detection tool to defend against return-oriented programming attacks. In: Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security. ACM, pp 40–51
Fiskiran AM, Lee RB (2004) Runtime execution monitoring (REM) to detect and prevent malicious code execution. In: Proceedings of IEEE International Conference on Computer Design: VLSI in Computers and Processors, 2004, ICCD 2004. IEEE, pp 452–457
Gaikar V et al (2011) Iphone 4s officially announced by apple
Guthaus MR, Ringenberg JS, Ernst D, Austin TM, Mudge T, Brown RB (2001) Mibench: a free, commercially representative embedded benchmark suite. In: Proceedings of the Fourth Annual IEEE International Workshop on Workload Characterization. WWC-4 (Cat. No.01EX538), pp 3–14
He W, Das S, Zhang W, Liu Y (2020) BBB-CFI: lightweight CFI approach against code-reuse attacks using basic block information. ACM Trans Embed Comput Syst 19(1):1–22
Henning JL (2006) SPEC CPU2006 benchmark descriptions. ACM SIGARCH Comput Arch News 34(4):1–17
Hu H, Qian C, Yagemann C, Chung SPH, Harris WR, Kim T, Lee W (2018) Enforcing unique code target property for control-flow integrity. In: Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, CCS ’18, New York, NY, USA. Association for Computing Machinery, pp 1470–1486
Kanuparthi AK, Zahran M, Karri R (2012) Architecture support for dynamic integrity checking. IEEE Trans Inf Forensics Secur 7(1):321–332
Kayaalp M, Ozsoy M, Abu-Ghazaleh N, Ponomarev D (2012) Branch regulation: low-overhead protection from code reuse attacks. In: 2012 39th Annual International Symposium on Computer Architecture (ISCA). IEEE, pp 94–105
Kayaalp M, Schmitt T, Nomani J, Ponomarev D, Abu-Ghazaleh N (2013) Scrap: architecture for signature-based protection from code reuse attacks. In: 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA2013). IEEE, pp 258–269
Lee Y, Lee J, Heo I, Hwang D, Paek Y (2016) Integration of ROP/JOP monitoring IPS in an arm-based SOC. In: Proceedings of the 2016 Conference on Design, Automation and Test in Europe. EDA Consortium, pp 331–336
Limited A (2012) Procedure call standard for the arm architecture
Oh H, Yang M, Cho Y, Paek Y (2019) Actimon: Unified JOP and ROP detection with active function lists on an SoC FPGA. IEEE Access 7:186517–186528
Olle S-W, Sébastien L, Johan L (2010) Evaluation of the energy efficiency of arm based processors for cloud infrastructure. Turku Centre for Computer Science
Özdoganoglu H, Vijaykumar T, Brodley CE, Kuperman B, Jalote A et al (2006) Smashguard: a hardware solution to prevent security attacks on the function return address. IEEE Trans Comput 55(10):1271–1285
Pappas V, Polychronakis M, Keromytis AD (2013) Transparent ROP exploit mitigation using indirect branch tracing. In: USENIX Security, pp 447–462
Salwan J (2014) The shell storm linux shellcode repository
Samsung Electronics co., LTD. Exynos 4 (2012)
Shacham H (2007) The geometry of innocent flesh on the bone: return-into-LIBC without function calls (on the x86). In: Proceedings of the 14th ACM Conference on Computer and Communications Security. ACM, pp 552–561
Sigwald J (2012) Analysis of the jailbreakme v3 font exploit. Sogeti ESEC Lab
Team P (2003) Address space layout randomization
Wang Z, Wu C, Li J, Lai Y, Zhang X, Hsu W-C, Cheng Y (2017) Reranz: a light-weight virtual machine to mitigate memory disclosure attacks. In: Proceedings of the 13th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE ’17, New York, NY, USA. Association for Computing Machinery, pp 143–156
Wenjian H, Das S, Zhang W, Liu Y (2017) No-jump-into-basic-block: enforce basic block CFI on the fly for real-world binaries. In: 2017 54th ACM/EDAC/IEEE Design Automation Conference (DAC), pp 1–6
Xilinx Inc. Zc702 evaluation board for the zynq-7000 xc7z020 extensible processing platform user guide(ug850 v1.0) 2012
Acknowledgements
This work was supported in part by the Institute of Information and Communications Technology Planning and Evaluation (IITP) Grant Funded by the Korean Government (MSIT) under Grant 2018-0-00230 (Development on Autonomous Trust Enhancement Technology of IoT Device and Study on Adaptive IoT Security Open Architecture based on Global Standardization [TrusThingz Project]) and Grant 2017-0-00213 (Development of Cyber Self Mutation Technologies for Proactive Cyber Defense), in part by the National Research Foundation of Korea (NRF) Grant Funded by the Korean Government (MSIT) under Grant NRF-2020R1A2B5B03095204 and Grant NRF-2018R1D1A1B07049870, in part by the BK21 Plus program of the Creative Research Engineer Development for IT, Seoul National University in 2020, in part by the EDA tool from the IC Design Education Center (IDEC), South Korea, and in part by the research fund of Hanyang University (HY-2020).
Author information
Authors and Affiliations
Corresponding authors
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Oh, H., Cho, Y. & Paek, Y. A metadata-driven approach to efficiently detect code-reuse attacks on ARM multiprocessors. J Supercomput 77, 7287–7314 (2021). https://doi.org/10.1007/s11227-020-03542-1
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-020-03542-1