[发明专利]基于App对比分析的Android应用商店可信度的评价方法有效

专利信息
申请号: 201510436106.0 申请日: 2015-07-23
公开(公告)号: CN105068921B 公开(公告)日: 2018-04-10
发明(设计)人: 董渊;吴亦颖;王耀;王生原 申请(专利权)人: 清华大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京思海天达知识产权代理有限公司11203 代理人: 楼艮基
地址: 100084*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 基于App对比分析的安卓应用商店可信度的评价方法,涉及软件工程领域和程序分析领域,所述方法适用于安卓应用程序,通过对安卓应用商店中的应用程序进行采样和对比分析,找出不同类型的差异,根据不同的重要程度给定不同的权值,应用评价算法,对应用商店进行综合评价,并给出评价结果和相对排序。方法的主要步骤如下选择应用商店,选择应用程序App样本集;搭建虚拟机环境,采集应用程序App样本;应用程序App安装文件推送和基本信息获取;各应用商店应用程序App与官方应用程序App的对比分析和结果保存;各应用商店评分计算;最终结果统计。本发明具有应用范围广、评价合理、自动化程度高、使用方面、结果展示直观等特点。
搜索关键词: 基于 app 对比 分析 android 应用 商店 可信度 评价 方法
【主权项】:
基于App对比分析的Android应用商店可信度评价方法,其特征在于,是一种基于对比分析的App文件评价方法,是在安卓虚拟机中依次完成以下步骤实现的:步骤(1)按下述条件离线选择Android应用商店,简称应用商店,下同:所述Android应用商店至少包括:预安装的、手机生产厂商的、搜索引擎公司的、电商的以及移动运营商的应用商店在内的各类专门的应用商店,所述条件是指:只要在注册用户数量、日均用户访问量、月累计下载量、日累计下载量、商店可供下载的应用数量这五个条件中有任何一条满足预设的下限阈值就认为符合条件;步骤(2)应用程序App的种类和应用程序样本集大小的选择:按当前智能手机用户安装的应用程序的种类和平均应用程序App的数量而定,App样本集大小的取值为25;步骤(3)应用程序App样本的采集:用步骤(1)中的每一个所述应用商店的ID命名一台对应的Android虚拟机,在其中安装对应的所述应用商店的客户端,并从所述应用商店中下载并安装应用程序App,构成样本集,再从每个应用程序App所对应的官方网站下载所述App样本集需要的应用程序App并安装在命名为official的虚拟机中,所有应用程序App数据的采集必须保证在同一天完成并更新到当日的最新版本;步骤(4)完成应用程序App的安装文件简称apk文件的推送和所有应用程序App基本信息的录入:在安装所有安卓虚拟机的实验机器中建立一个文件夹作为保存安装文件的共享目录,把每个装有应用商店客户端的虚拟机和所述的official虚拟机中的apk文件推送到所述共享目录下的相应文件夹中,并把安装的所有应用程序App的基本信息以及所述apk文件在共享目录中的文件路径、版本信息都保存到便于检索的文件或软件中;步骤(5)按以下步骤对从各所述应用商店下载并安装的应用程序App与官方网站下载并安装的应用程序App进行对比分析,并保存结果:步骤(5.1)所述官方应用程序App与应用商店应用程序App的一致性检测,其中至少包括包名、版本号、SHA256校验和在内的涉及整体异同方面的比较,比较结果分为:I(identical):一致,M(SHA256‑mismatched):校验错,L(lower version):版本低,H(higher version):版本高,N(package name mismatched due to false‑returned):包名错误,E(corrupted apk files):包损坏,步骤(5.2)所述官方应用程序App与应用商店应用程序App的安装文件apk的内容差异比较,得到下述六类结果:首先对apk文件中的数字签名进行比较;然后再根据manifest文件中所列出的每个文件进行逐个比较,比较的结果被分为以下6类:S:数字签名改变,C:关键文件内容改变,至少包括权限文件AndroidManifest.xml,以下简称manifest、Java可执行文件.dex、本地可执行的库文件.so在内的直接影响所述应用程序的运行的那些关键文件,R:资源相关文件的改变,至少包括资源文件目录res和assets下的图片、声音、视频在内的文件的改变,F:无法定位manifest中程序清单中的文件,D:有文件被删除,X:有新增加的文件,在比较时首先对安装文件apk中的数字签名进行比较,然后再根据所述manifest文件中的所列出的每个文件进行逐个比较;步骤(5.3)按以下步骤对步骤(5.2)中得到的有差异的权限文件进行进一步的详细分析:首先将存在差异的所述权限文件AndroidManifest.xml转化为可读格式,之后对转化后的上述权限文件中的XML元素进行对比,并保存所有的差异,以所述差异是否涉及用户的权限修改为准则,把比较结果分为以下四种:AX0表示XML树完全相同,AX1表示所述差异不影响用户界面及所述应用商店的应用程序App的正常运行,与所述官方应用程序App在使用效果上无显著差别,AX2表示所述差异不影响所述应用商店的应用程序App的正常运行,但至少在用户的感官效果、对用户设备的适应性上与所述官方应用程序App相比,存在明显缺陷,AX3表示所述差异可能造成用户隐私数据泄露、产生安全隐患和用户软硬件设备的损坏;步骤(5.4)运行于Android系统的Dalvik虚拟机中的java可执行代码dex文件的对比分析:步骤(5.4.1)对所述dex文件进行类级别class level的比较,类的增加、删减、改变的部分将被分别列出,步骤(5.4.2)对所述dex文件进行函数级别method level的比较,步骤如下:步骤(5.4.2.1)把所述dex文件对应的安装文件apk分别转换为中间代码文件,步骤(5.4.2.2)捕获每个中间代码文件中的包括内部调用在内的所有函数调用,步骤(5.4.2.3)对其中SHA256校验和不一致的两个中间代码文件中的所有函数调用做逐个比较,确定:新增加的函数、删除的函数、函数内部新增加的以及删减的函数调用,步骤(5.4.2.4)对步骤(5.4.2.3)的结果按下述方式处理:DC0:凡是对比结果一致的,表示没有修改,标记为0,DC2:凡是有不一致的都标记为2;步骤(5.5)本地可执行的库文件.so,简称.so文件的分析,其差异包括删除、增加或修改了.so文件中的内容,其中被修改的.so文件,将通过导出符号表的不同来体现,结果分为如下两类:SC0:两者完全一致被标记为0,SC2:导出信息不同,增加或删除某些.so文件,标记为2;步骤(6)用safe、warning、critical三种等级描述步骤(5)得到的分析结果:a.Safe:安全Identical(I):所述应用商店的应用程序App与官方的应用程序App完全一致,Higher version(H):所述应用商店的应用程序App的版本高于官方应用程序App的版本,Zero‑modification(ZM):表示零修改,虽然SHA256检验和不一致,但经过各模块的分析后一致,Zero‑impact modification(ZI):表示零影响修改,有些修改对于用户界面和程序执行流程没有影响;b.Warning:警告Corrupted apk files(E):所述应用商店的应用程序的安装文件apk是损坏的,Modifications on resource‑related files(R):被修改的文件只是与资源相关的至少包括音频、视频在内的文件,Lower Version(L):所述应用商店中的应用程序App的版本比官方应用程序App版本低,可能存在漏洞或bug,False‑returned(N):用户实际下载到的应用程序App并不是真正想要下载的应用程序App;c.Critical:危险Modifications on critical files(C):所述权限文件、.dex文件、.so文件被修改,Signature changed(S):所述应用程序App的数字签名被修改;步骤(7)通过计算应用商店的应用程序App样本集的评分对应用商店进行总体评价:步骤(7.1)规定:Safe等级中的选项产生正得分,Warning和Critical等级中的选项产生负得分,步骤(7.2)所述应用商店中应用程序App的正得分总和P(s),通过各选项对应的应用程序App的个数和相应的权重系数计算,公式如下:P(s)=I(s)*e+H(s)*f+Z(s)*gT(s)]]>I(s)表示被标记为identical(I)的应用程序App个数,H(s)表示被标记为高版本higher version(H)的应用程序App的个数,Z(s)表示被标记为无修改或无影响的修改的应用程序App的个数,T(s)表示从所述应用商店下载的应用程序App的总数,其中权重系数e=100,f=100,g=90;步骤(7.3)所述应用商店中应用程序App的负得分总和Ne(s),由Warning部分的负得分Wa(s)和Critical部分的负得分Cr(s)求和得到,公式如下:Ne(s)=Wa(s)+Cr(s)其中,Wa(s)表示应用程序App含有Warning中选项所产生的对应负得分:Wa(s)=E(s)*j+R(s)*k+(L(s)+N(s))*lT(s),]]>E(s)表示被有损坏的应用程序App的个数,R(s)表示资源文件被修改的应用程序App的个数,L(s)表示版本低于官方版本的应用程序App的个数,N(s)表示包名不匹配的应用程序App的个数,其中权重系数j=10,k=20,l=30;Cr(s)表示应用程序App含有Critical中选项所产生的对应负得分:Cr(s)=A(s)*m+C(s)*n+B(s)*q+S(s)*rT(s)]]>A(s)表示权限文件被修改的应用程序App的个数,C(s)表示Java可执行代码文件被修改的应用程序App的个数,B(s)表示本地可执行库文件被修改的应用程序App的个数,S(s)表示数字签名被修改的应用程序App的个数,其中权重系数m=60,n=80,q=80,r=100;步骤(7.4)应用商店总得分TR(s)通过正负得分求和得到,计算公式如下:TR(s)=P(s)‑Ne(s);步骤(8)结果显示。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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