[发明专利]抵御反汇编的花指令混淆信息安全控制方法、系统及装置有效
申请号: | 202010965422.8 | 申请日: | 2020-09-15 |
公开(公告)号: | CN112069467B | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 乐德广 | 申请(专利权)人: | 常熟理工学院 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 常州佰业腾飞专利代理事务所(普通合伙) 32231 | 代理人: | 张励 |
地址: | 215500 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 抵御 汇编 指令 混淆 信息 安全 控制 方法 系统 装置 | ||
本发明公开了一种抵御反汇编的花指令混淆信息安全控制方法及系统,首先,在ARM汇编代码中插入寄存器间接寻址的跳转花指令序列,构造分支信息并通过间接寻址隐藏分支信息;其次,设置计算花指令序列对寄存器间接寻址计算复杂化进一步隐藏分支信息;最后,利用元数据添加不可执行的垃圾花指令序列,抵御线性扫描反汇编的延迟重同步机制。该发明构建的用于隐藏待保护指令的花指令除了可以迷惑反汇编器的递归扫描之外,通过结合跳转花指令和垃圾花指令还可以抵御反汇编器的线性扫描和攻击者的动态跟踪调试。
技术领域
本发明涉及信息安全、软件保护、软件领域,尤其涉及一种抵御反汇编的花指令混淆信息安全控制方法及系统。
背景技术
随着嵌入式技术的发展,ARM处理器因其体积小、功耗低和性能高等特点很快占领了移动通信市场,如安卓智能手机和平板等移动设备,大都采用ARM处理器。于此同时,针对ARM处理器的程序攻击日益突出,如ARM指令反汇编、控制流分析和动态调试等。因此,如何保护基于ARM处理器的程序安全,成为软件保护研究的热点。目前,针对底层机器码到汇编指令的反汇编恶意分析主要进行指令混淆保护,常用混淆技术有等价指令替换,指令乱序和指令重叠等。但是这些指令混淆算法是针对变长指令的X86架构,并不适用于定长指令的ARM架构。此外,目前针对跳转花指令混淆的大部分研究仍停留在JMP和BF直接跳转阶段,其采用直接寻址方式,且跳转地址固定,容易被识别,无法对抗递归扫描反汇编。
为了解决以上技术缺陷,本发明在保持程序语义不变的情况下,充分利用跳转指令的相对寻址,不但实现判断、循环和子程序调用等控制流,还可以提供程序控制流变换和处理器状态切换,对提升ARM架构程序安全性有很大作用。因此,在对ARM指令集中的跳转指令进行分析的同时,结合多核ARM体系结构特征,提出基于寄存器间接寻址跳转的ARM汇编花指令混淆算法,包括等价变形计算花指令和不可执行的垃圾花指令等混淆构造方法,使得应用程序中重要算法指令的安全性在ARM架构上有显著的提升。
发明内容
1、本发明的目的
本发明所要解决的技术问题是在ARM架构上抵御恶意反汇编和逆向攻击。
本发明的目的是抵御ARM反汇编。
2、本发明所采用的技术方案
本发明公开了一种抵御反汇编的花指令混淆信息安全控制方法,包括如下步骤:
首先,在ARM汇编代码中插入寄存器间接寻址的跳转花指令序列,构造分支信息并通过间接寻址隐藏分支信息;
其次,设置计算花指令序列对寄存器间接寻址计算复杂化进一步隐藏分支信息;
最后,利用元数据添加不可执行的垃圾花指令序列,抵御线性扫描反汇编的延迟重同步机制。
优选的,按照如下步骤进行:
步骤1、通过跳转花指令序列构造分支信息;
步骤2、利用寄存器间接寻址隐藏分支信息;
步骤3、使寄存器间接寻址复杂化;
所述的分支路径移动目标位是寄存器的间接选址地址,其赋值通过计算花指令序列计算产生;通过随机插入不可执行的垃圾花指令序列构建另一条分支路径。
优选的,对不可执行的垃圾花指令的地址入口构造反汇编的花指令序列,从而将反汇编的花指令序列与其后的代码结合在一起。
优选的,所述的步骤1中分支指令作为保护的目标指令具体为:
步骤101、根据保护的目标指令,选定一个分割位置;
步骤102、设定分割位置后的指令序列为待移动指令序列即分支指令序列;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于常熟理工学院,未经常熟理工学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010965422.8/2.html,转载请声明来源钻瓜专利网。