[发明专利]一种基于关键词上下文频率矩阵的应用重打包辨别方法有效
| 申请号: | 201310438444.9 | 申请日: | 2013-09-24 |
| 公开(公告)号: | CN103473104A | 公开(公告)日: | 2013-12-25 |
| 发明(设计)人: | 郭耀;吕骁博;王浩宇;刘梦馨;陈向群 | 申请(专利权)人: | 北京大学 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445 |
| 代理公司: | 北京万象新悦知识产权代理事务所(普通合伙) 11360 | 代理人: | 朱红涛 |
| 地址: | 100871*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 关键词 上下文 频率 矩阵 应用 打包 辨别 方法 | ||
技术领域
本发明涉及一种基于关键词上下文频率矩阵的应用重打包辨别方法,具体涉及一种在安卓平台下,利用应用程序代码关键词频率矩阵,识别应用重打包的处理方法。
背景技术
安卓(Android)系统是谷歌公司开发并推广,基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,例如智能手机或平板电脑。安卓系统是目前全球市场份额最大的移动手机操作系统,来自官方的数据显示,安卓系统上的应用程序已经超过975,000个。
通常,安卓系统应用程序由第三方开发者开发和发布,这就带来一个问题,即应用重打包。应用重打包是指,某些开发者通过不同渠道攫取其他开发者发布的应用,通过反编译,二进制代码插桩等技术,对现有应用程序进行修改(例如植入恶意代码,修改开发者信息,修改权限,对受保护内容进行破解等),再重新打包、发布。这就引发了关于版权,安全,著作权,隐私保护,恶意代码植入等诸多问题。
Silvio Cesare和Yang Xiang在《Software Similarity and Classification》一书中总结了若干关于软件相似度和聚类分析的解决方案:例如通过字符串分析,对代码文本进行相似度比较,进而得出软件相似度的信息;以及通过对代码词频进行统计,根据统计结果比较软件相似度。不过这些解决方案并没有考虑移动平台应用相关的特殊情况。
2012年,美国南加州大学Wu Zhou,Yajin Zhou等人提出了另一种解决方案(CODASPY’12论文):利用混淆哈希技术,提取应用程序特征,然后利用混淆哈希生成应用的指纹,再采用滚动哈希技术,将指纹生成为一个特征向量,通过两个应用的特征向量相似度比较,判断是否存在软件重打包问题。该方法需要对所有代码进行分析,复杂低效,且依赖代码文本顺序,无法处理通过插入无用代码,代码混淆,函数重命名,改变代码顺序等对代码进行修改的情况。
发明内容
本发明的目的是提供一种新的方法,使得在较小开销,较快时间内,对给出的若干安卓应用程序进行预处理,得到一个基于关键词上下文频率的特征矩阵,通过对矩阵相似度的计算,进行聚类,得到这些安卓应用程序中哪些是重打包应用的信息。
本发明的原理是:首先对应用程序文件(apk文件)进行处理,得到smali代码文件,smali代码是原来应用程序二进制代码的一种中间表示。然后对smali代码处理,提取操作符序列,统计关键词信息,对每个特定类型的关键词构造上下文相关的特征三元组<K1,i,K2>,生成基于上下文频率的特征矩阵,对应用程序的特征矩阵进行两两对比,根据矩阵相似度得到两个应用程序的相似度。最后结合作者信息等内容判断应用程序间是否有重打包关系。
本发明提供的技术方案如下:
一种基于关键词上下文频率矩阵的应用重打包辨别方法,应用于安卓系统,其特征是,包括如下步骤(流程参见图9):
A.对应用程序文件进行预处理,将二进制代码转换为smali代码文件、提取应用程序的作者签名信息并构造关键词向量;
B.对smali代码文件进行处理,生成smali操作符序列;
C.生成关键词上下文频率矩阵;
D.对比应用程序关键词上下文频率矩阵的相似度,判断该应用程序是否为重打包应用。
所述的应用重打包辨别方法,其特征是,步骤A包括:
A1.提取安卓应用程序二进制代码文件以及META-INFO文件中的作者签名信息文件;
A2.使用现有工具,将二进制代码转换为smali代码文件;
A3.使用现有工具,从相应文件提取作者签名内容;
A4.构造关键词向量。
所述的应用重打包辨别方法,其特征是,步骤B包括:
B1.对步骤A中得到的smali代码文件进行处理,去掉第三方库文件(主要是一些广告库,社交平台库等内容);
B2.对步骤B1中得到的smali代码文件处理,将每条语句中的操作符以外的其他所有信息剥离,得到一个应用程序的smali操作符序列。
所述的应用重打包辨别方法,其特征是,步骤C包括:
C1.构造关键词上下文频率矩阵Max;
C2.根据选定的关键词向量,对每一个关键词,在步骤B得到的smali操作符序列中的每一次出现,采用哈希算法,将其上文的K条语句和下文的K条语句分别映射为整数K1和K2,其中,所述关键词在关键词向量中对应下标为i;
C3.增加特征矩阵对应位置Max[i][K1][K2]计数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310438444.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:储存柜充气系统的无线监控系统
- 下一篇:一种直下式LED背光的液晶显示屏





