[发明专利]基于寄存器架构的Android应用完整性验证方法有效

专利信息
申请号: 201510009389.0 申请日: 2015-01-08
公开(公告)号: CN104598808B 公开(公告)日: 2018-02-16
发明(设计)人: 王蕊;贾晓启;林子敏;张道娟 申请(专利权)人: 中国科学院信息工程研究所
主分类号: G06F21/52 分类号: G06F21/52;G06F21/55
代理公司: 北京君尚知识产权代理事务所(普通合伙)11200 代理人: 余长江
地址: 100093 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及一种基于寄存器架构的Android应用完整性验证方法,其步骤包括将Android应用程序代码转化为Dalvik虚拟指令代码;针对需要保护的代码段进行胎记分析,得到可用于胎记提取的指令代码状态和寄存器状态信息,并据此生成相应的胎记提取代码;通过代码插桩过程将胎记提取代码植入Smali格式虚拟指令代码中,并重新进行编译生成新的应用;通过动态执行应用预计算出胎记信息,在应用使用过程中,用胎记信息对应用进行完整性验证。本发明通过提取的应用执行过程中的胎记信息,能够主动验证应用代码段的运行过程是否存在异常,从而实现核心代码段、执行过程的验证。
搜索关键词: 基于 寄存器 架构 android 应用 完整性 验证 方法
【主权项】:
一种基于寄存器架构的Android应用完整性验证方法,其步骤包括:1)将Android应用程序的Dex格式代码转化为Dalvik Smali格式的虚拟指令代码;2)基于Android寄存器架构和指令结构特点,对需要保护的应用程序代码段进行胎记分析,得到可用于胎记提取的指令代码状态和寄存器状态信息,其方法为:2‑1)对应用代码执行过程进行分析,获取应用代码段中的类对象层次关系图和控制流程图,分析出应用代码可能的调用执行过程;2‑2)基于应用代码执行过程的分析结果,对代码进行代码中寄存器状态分析,通过寄存器状态恢复代码执行过程指令中缺失的寄存器类型信息;2‑3)基于应用代码执行过程的分析结果,对代码中寄存器的值进行不确定状态分析,通过不确定状态分析排除可能受到不确定因素影响的指令数据;3)根据步骤2)得到的可用于胎记提取的指令代码状态和寄存器状态信息,生成相应的胎记提取代码;胎记提取代码的生成过程针对单条Dalvik指令中的目的寄存器操作数,将其计算转换为合适的中间胎记状态,再将所有的中间胎记状态融合生成最终的胎记值,具体过程为:3‑1)将不同数据类型的寄存器数据转化为胎记中间值,用于进一步的胎记整合;3‑2)计算控制流状态,当应用代码不受不确定因素影响时,对于同样的初始化条件,保持相同的执行流程,提取出确定的胎记信息;当不确定因素引入时,通过生成确定的执行代码过程,得到确切的执行路径过程和路径之上的胎记信息;3‑3)胎记融合,针对代码指令中提取到的中间胎记信息值,利用随机运算与随机数值联合生成最终的胎记值;4)通过代码插桩过程将胎记提取代码植入步骤1)生成的虚拟指令代码中,并重新进行编译生成新的应用;5)通过动态执行应用预计算出胎记信息,在应用使用过程中,用胎记信息对应用进行完整性验证。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201510009389.0/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top