[发明专利]一种基于布局簇图的安卓应用重打包检测方法有效
申请号: | 201710328770.2 | 申请日: | 2017-05-11 |
公开(公告)号: | CN107169323B | 公开(公告)日: | 2020-09-15 |
发明(设计)人: | 岳胜涛;马骏;陶先平;吕建 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F21/56 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 张苏沛 |
地址: | 210046 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 布局 应用 打包 检测 方法 | ||
本发明提供了一种基于布局簇图的安卓软件重打包检测方法,其特征在于,包括以下步骤:1.1、动态执行安卓应用,收集用户界面信息,包括安卓应用运行时的布局、用户触发交互行为后的布局的变化与跳转;1.2、通过获得的应用布局所包含的用户界面信息构造布局簇图,并将布局簇图作为应用的软件胎记;1.3、通过比较布局簇图的相似度来判断应用之间是否重打包。本发明的软件重打包检测方法提供了动态执行安卓应用的策略,提高了对代码混淆与加这两类反检测方式的抵抗性,提高了安卓应用重打包检测的精确性。
技术领域
本发明专利涉及软件应用,软件胎记,重打包检测以及应用模糊算法领域,尤其涉及一种基于布局簇图的安卓应用重打包检测方法。
背景技术
近年来,随着移动设备的普及,基于移动设备的安卓应用数量不断增加。然而,通过已有的逆向工程工具,安卓应用可以被修改、重新打包并发布。攻击者利用安卓应用的流行性,向应用中插装广告、恶意程序来达到一些非法的目的。一些非官方的或者第三方的应用市场更是助长了这一现象。对这类安卓应用重打包的常见的检测思路就是生成应用的软件胎记,然后通过比较软件胎记来计算应用之间的相似程度。按照生成软件胎记的方式划分,可分为静态生成和动态生成。但是,攻击者们为了防止重打包的应用被识别出来,会对应用进行反检测处理,例如代码混淆或者软件加密。静态生成的软件胎记并不能很有效的抵抗一些代码混淆的攻击;而当安卓应用被加密之后,静态方法几乎难以产生效果。现有的动态生成软件胎记方式仍有不足,对代码的等价语义变换同样会影响这些胎记的效果。
发明内容
本发明主要针对上述不足,提出了一种基于布局簇图的安卓应用重打包检测方法。
该方法基于以下现实:攻击者在重打包应用时,为了利用原应用的流行性,总是使得重打包后的应用保持相似的界面与行为。因此,我们提出了布局簇图,一个用于描述安卓应用用户界面和行为的数据结构,并将此作为安卓应用的软件胎记用于判断安卓应用是否重打包。
本发明具体提供的功能包括:
1)自动化地执行并遍历安卓应用;
2)收集安卓应用用户界面信息;
3)反馈安卓应用界面之间的相似度;
4)反馈安卓应用的软件胎记;
5)提供安卓应用之间的相似度;
6)检测安卓应用是否重打包。
本发明的技术方案为:基于布局簇图的安卓应用重打包检测方法,主要过程包括:
1.1动态执行安卓应用,收集用户界面信息,包括安卓应用运行时的布局、用户触发交互行为后的布局的变化与跳转;
1.2通过获得的应用布局所包含的用户界面信息构造布局簇图,并将布局簇图作为应用的软件胎记;
1.3通过比较布局簇图的相似度来判断应用之间是否重打包。
安卓应用的布局是指安卓应用运行时刻呈现给用户的界面的结构信息,由一系列的 View Group以及View所构成。该视觉结构是安卓应用开发者设计出并用于用户交互的应用界面,会随着应用运行状态的不同而改变。
交互行为S包括点击、长按、左右滑动、上下滑动、菜单、返回、主桌面。
基于布局簇图的安卓应用重打包检测方法,其描述安卓应用运行时用户界面信息的数据模型布局簇图特征在于:
数据模型布局簇图是一个有向图,G=(C,E,A,α)。其中,C表示一簇相似的布局, E表示簇的转移,A为交互行为集合,α为E到A的映射;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710328770.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种大豆肽饮料及其制备工艺
- 下一篇:一种豆汁加工的方法