摘要

ARMv8-A是ARM公司首款支持64位指令集的处理器架构,其引入一个全新的64位指令集A64。ARMv8-A与以往的ARM架构在指令集、指令编码、内部寄存器(功能定义、长度和个数)、函数调用规约、函数prologue和epilogue处理等诸多方面均存在很大的差异。在ARMv8-A处理器架构上,如何来实现返回导向编程ROP(Return-Oriented Programming)攻击以及是否具有图灵完整性等问题目前尚不明确。深入讨论ARMv8-A上实现ROP的基本单元的特性,给出其逻辑结构与分类方法,并给出实现ARMv8-A ROP的原理框架与方法。通过一个基于Linaro ARMv8 Linux实现的ARMv8 ROP攻击实例来验证提出的技术和方法。

  • 单位
    中国人民解放军陆军工程大学