paperbot · PL 论文追踪

全部论文 待读 收藏

P2 iDEV: exploring and exploiting semantic deviations in ARM instruction processing

iDEV:探索与利用 ARM 指令处理中的语义偏差
ISSTA Proceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis2021匹配度 3/10 · 该论文研究 ARM 指令处理工具(CPU、QEMU、反汇编器)间的语义偏差与差分测试,属于程序分析/体系结构安全范畴,但未涉及 LLM/Agent 与静态分析交叉、浮点程序分析或贝叶斯程序分析等用户核心方向。引用 7 inbox
Shisong Qin, Chao Zhang, Kaixiang Chen, Zheming Li
crossref: 2026-09-12

AI 速览

一句话:提出 iDEV 框架,用差分测试系统揭示并利用 ARM 指令处理工具间的语义偏差及其安全影响。

ARM 已成为主流处理器架构,但商业 CPU、模拟器和二进制分析工具在处理同一 ARM 指令时存在语义偏差(ISDev),此前缺乏系统研究。本文对 ISDev 分类并分析安全影响,展示利用该偏差的隐蔽定向攻击与定向防御规避,可生成针对特定平台或绕过检测的恶意软件。为系统探索该问题,作者实现差分测试框架 iDEV,并在四类硬件、QEMU 和五个反汇编器上评估 ARMv7-A。结果显示:超过 600 万条指令使动态执行器运行时行为不同,超过 800 万条指令使静态反汇编器解码结果不同,超过 100 万条指令造成动静不一致;根因多为 ARM 不可预测指令和程序缺陷。

问题
同一 ARM 指令在不同 CPU、模拟器和反汇编器中处理语义不一致(ISDev),其系统性分类与安全影响尚未被充分研究。
方法
对 ISDev 进行分类并分析安全影响,构造隐蔽定向攻击与防御规避;实现差分测试框架 iDEV 来探索现有 ARM 指令处理工具。
评估
在四种硬件设备、QEMU 模拟器和五个可处理 ARMv7-A 的反汇编器上评估,发现数百万条指令导致动态行为、静态解码或动静结果不一致,并分析了各自根因。
原文摘要(Abstract)

ARM has become the most competitive processor architecture. Many platforms or tools are developed to execute or analyze ARM instructions, including various commercial CPUs, emulators, and binary analysis tools. However, they have deviations when processing the same ARM instructions, and little attention has been paid to systematically analyze such semantic deviations, not to mention the security implications of such deviations. In this paper, we conduct an empirical study on the ARM Instruction Semantic Deviation (ISDev) issue. First, we classify this issue into several categories and analyze the security implications behind them. Then, we further demonstrate several novel attacks which utilize the ISDev issue, including stealthy targeted attacks and targeted defense evasion. Such attacks could exploit the semantic deviations to generate malware that is specific to certain platforms or able to detect and bypass certain detection solutions. We have developed a framework iDEV to systematically explore the ISDev issue in existing ARM instructions processing tools and platforms via differential testing. We have evaluated iDEV on four hardware devices, the QEMU emulator, and five disassemblers which could process the ARMv7-A instruction set. The evaluation results show that, over six million instructions could cause dynamic executors (i.e., CPUs and QEMU) to present different runtime behaviors, and over eight million instructions could cause static disassemblers yielding different decoding results, and over one million instructions cause inconsistency between dynamic executors and static disassemblers. After analyzing the root causes of each type of deviation, we point out they are mostly due to ARM unpredictable instructions and program defects.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot6665,
  title = {iDEV: exploring and exploiting semantic deviations in ARM instruction processing},
  author = {Shisong Qin and Chao Zhang and Kaixiang Chen and Zheming Li},
  booktitle = {ISSTA},
  year = {2021},
  doi = {10.1145/3460319.3464842}
}