CN105068921A - 基于App对比分析的Android应用商店可信度评价方法 - Google Patents

基于App对比分析的Android应用商店可信度评价方法 Download PDF

Info

Publication number
CN105068921A
CN105068921A CN201510436106.0A CN201510436106A CN105068921A CN 105068921 A CN105068921 A CN 105068921A CN 201510436106 A CN201510436106 A CN 201510436106A CN 105068921 A CN105068921 A CN 105068921A
Authority
CN
China
Prior art keywords
application
file
shop
app
official
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510436106.0A
Other languages
English (en)
Other versions
CN105068921B (zh
Inventor
董渊
吴亦颖
王耀
王生原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201510436106.0A priority Critical patent/CN105068921B/zh
Publication of CN105068921A publication Critical patent/CN105068921A/zh
Application granted granted Critical
Publication of CN105068921B publication Critical patent/CN105068921B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

基于App对比分析的安卓应用商店可信度的评价方法,涉及软件工程领域和程序分析领域,所述方法适用于安卓应用程序,通过对安卓应用商店中的应用程序进行采样和对比分析,找出不同类型的差异,根据不同的重要程度给定不同的权值,应用评价算法,对应用商店进行综合评价,并给出评价结果和相对排序。方法的主要步骤如下:选择应用商店,选择应用程序App样本集;搭建虚拟机环境,采集应用程序App样本;应用程序App安装文件推送和基本信息获取;各应用商店应用程序App与官方应用程序App的对比分析和结果保存;各应用商店评分计算;最终结果统计。本发明具有应用范围广、评价合理、自动化程度高、使用方面、结果展示直观等特点。

Description

基于App对比分析的Android应用商店可信度评价方法
技术领域
本发明涉及软件工程领域和程序分析领域,特别涉及一种Android应用商店可信度评价方法。
背景技术
当前,随着移动互联网技术的快速发展,以智能手机为主的移动手持设备大大普及并不断改变和影响着大众的生活。Android系统,作为智能手机的主流操作系统之一,由Google发布并连续公布了十一个新版本,已经占据了智能手机操作系统一半以上的市场份额。App是运行在Android系统中的应用程序,随着用户数量的增加,Android应用程序的下载量已突破百亿。在中国,超过70%的用户无法获得Google服务,大量的用户依赖于第三方安卓应用商店来下载安装安卓应用。虽然Android应用的增长速度依然很快,但Google仍然允许开发者自由发布其开发的Android应用,这些应用是否可信,有待于进一步验证。由于中国的特殊国情,为了方便大众下载安装Android应用程序,在国内有很多第三方的Android应用商店可以提供安卓应用的下载。
随着智能手机的快速发展,这些第三方的安卓应用商店也快速发展起来。在缺乏合理监管以及开发者的逐利心理的影响下,这些第三方的安卓应用商店中的应用程序App的安全性成为一个疑问。随着应用程序功能的丰富,大众生活与移动应用程序的关系日益密切,一些涉及到用户隐私泄露和移动支付欺骗等方面的安全事件时有发生,一些带有恶意行为的应用程序也不断被曝光,这些问题不断引起人们对于安卓应用商店中应用程序App安全性的怀疑。
为了对Android应用商店的可信度进行评估,就必须对这些应用商店中的App(应用程序)进行分析和评估。目前,对于程序的分析方法主要分为静态分析和动态分析两种。动态分析主要是指在程序的具体执行过程中对程序进行分析,包括动态调试、动态插桩等等。对于Android应用程序,常用的动态调试分析工具不能很好的应用于Android系统,移动设备的交互也是一个很大的限制。静态分析主要是指在不执行程序的情况下通过代码扫描对程序的控制流、数据流、语法等内容进行分析。由于Android应用商店提供apk的下载,获得二进制文件之后,可用反编译工具对其进行反编译后进行静态分析。
目前,对于Android程序的分析也有一些工具,例如:Drozer、Androguard等。Drozer是一款针对Android的安全评估框架,它既可以运行在实体设备上也可以运行在虚拟机中,在无需打开USB调试模式和其他开发者选项的情况下,对Android手机进行扫描,并发现暴漏出来的潜在安全隐患。Androguard是一款针对AndroidApk反解析的工具。它可以反解析apk内部的xml文件,获取apk资源目录结构,获取权限列表。
然而,这些工具都有其各自的局限性,没有哪一款工具能够对Android应用程序进行全面的分析,目前也没有相关的组织或个人对于Android应用商店的可信度这一问题发表相关研究报告。
针对这一问题,本发明系统地提出了一套针对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(lowerversion):版本低,
H(higherversion):版本高,
N(packagenamemismatchedduetofalse-returned):包名错误,
E(corruptedapkfiles):包损坏,
步骤(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文件进行类级别classlevel的比较,类的增加、删减、改变的部分将被分别列出,
步骤(5.4.2)对所述dex文件进行函数级别methodlevel的比较,步骤如下:
步骤(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完全一致,
Higherversion(H):所述应用商店的应用程序App的版本高于官方应用程序App的版本,
Zero-modification(ZM):表示零修改,虽然SHA256检验和不一致,但经过各模块的分析后一致,
Zero-impactmodification(ZI):表示零影响修改,有些修改对于用户界面和程序执行流程没有影响;
b.Warning:警告
Corruptedapkfiles(E):所述应用商店的应用程序的安装文件apk是损坏的,Modificationsonresource-relatedfiles(R):被修改的文件只是与资源相关的至少包括音频、视频在内的文件,
LowerVersion(L):所述应用商店中的应用程序App的版本比官方应用程序App版本低,可能存在漏洞或bug,
False-returned(N):用户实际下载到的应用程序App并不是真正想要下载的应用程序App;
c.Critical:危险
Modificationsoncriticalfiles(C):所述权限文件、.dex文件、.so文件被修改,Signaturechanged(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 ) * g T ( s )
I(s)表示被标记为identical(I)的应用程序App个数,
H(s)表示被标记为高版本higherversion(H)的应用程序App的个数,
Z(s)表示被标记为无修改或无影响的修改的应用程序App的个数,
T(s)表示从所述应用商店下载的应用程序App的总数,
其中权重系数e=100,f=100,g=90;
步骤(7.3)所述应用商店中应用程序App的负得分总和N(s),由Warning部分的负得分Wa(s)和Critical部分的负得分Cr(s)求和得到,公式如下:
Ne(s)=Wa(s)+Cr(s)
其中,Wa(s)表示应用程序App含有Warning中选项所产生的对应负得分:
W a ( s ) = E ( s ) * j + R ( s ) * k + ( L ( s ) + N ( s ) ) * 1 T ( s ) ,
E(s)表示被有损坏的应用程序App的个数,
R(s)表示资源文件被修改的应用程序App的个数,
L(s)表示版本低于官方版本的应用程序App的个数,
N(s)表示包名不匹配的应用程序App的个数,
其中权重系数j=10,k=20,l=30;
Cr(s)表示应用程序App含有Critical中选项所产生的对应负得分:
C r ( s ) = A ( s ) * m + C ( s ) * n + B ( s ) * q + S ( s ) * r T ( 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)结果显示。
本发明的优点在于:应用范围广,能够对任何一个Android应用商店进行可信性评价;评价方法合理,该系统较为全面的考虑了Android应用商店中app异同的各个方面,并进行了细粒度的分析对比,整个系统对于各类异同的安全隐患进行充分评估,并赋予不同的影响权值,在样本数据的选择方面也充分贴近用户的实际使用习惯;自动化程度较高;使用方便、直观。
附图说明
图1,示出评价方法的设计思路。
图2,示出评价系统流程图。
图3,示出评价系统前端功能示图。
图4,示出App对比过程示意图。
图5,示出20家安卓应用商店的App可信度评分分布。
具体实施方式
本发明所述设计思路如图1所示,具体方法通过软件系统的方式实现,基本流程如图2所示,在该系统中具体采取以下步骤进行:
步骤(1):根据调研分析结果确定要评估的应用商店的数量N,下载安装虚拟机,使用该软件新建N+1个Android虚拟机,并将其中N个虚拟机的名称改为对应的商店名在数据库中的ID,剩余的一个改为official。
步骤(2):在N个Android虚拟机中安装相应的应用商店客户端,并分别使用各自的客户端下载安装要分析的app样本集中的App。在名称为official的虚拟机中安装App样本集中所有App的官方版本,所有工作必须在同一天完成,并及时更新,保证采样数据在时间上的一致性。
步骤(3):在数据库中建立设计好的相应数据表,在N+1个Android虚拟机中安装评估系统的前端XTrasApp,分别运行每个虚拟机中的XTrasApp程序,该程序会将所有App的基本信息写入数据库,并将所有的apk文件推送到设置好的共享目录下的相应文件夹中,其功能示意图如图3所示。
步骤(4):运行评价系统的主要分析程序,其程序执行过程如图4所示。
步骤(4.1):在对比分析之前,先将共享目录下每个apk文件的路径推送到数据库中。完成推送之后检查数据库,由于某些文件的包名存在异常,需要手动将实际存在而没有录入的apk文件的路径补齐。
步骤(4.2):运行主体对比分析程序,完成图4中所示的各对比分析过程,并将结果存入数据库中。
步骤(5):通过浏览器发出页面请求,后台将评分计算结果返回,并以图的方式显示出来,实例评分结果展示如图5所示。
以上实施方式仅用于说明本发明,而非对本发明的限制,相关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
本发明具有如下优点:
1.应用范围广:通过上述描述可以看出本发明的应用范围比较广,可以对任意数量的Android应用商店进行可信性评估。评价方法不受限于具体的应用商店、时间范围、App数据集的选择;使用资源限制小,在个人PC上也可以完成整个评估过程。
2.评价方法合理:本发明的方法能够较为全面的考虑Android应用商店中App异同的各个方面,并进行了细粒度的分析对比;在分析过程的各个阶段中影响权值的设定方面,通过对各类异同的安全隐患进行充分评估,赋予不同的影响权值;在样本数据的选择和采集方面也充分贴近用户的实际使用习惯。
3.具有一定的创新性:本发明为了对Android应用商店进行较为合理的可信度评价,整合了一些传统的对比方法,提出了新的评估算法,考虑了各个方面的影响因素,综合评估。
4.自动化程度高:根据本发明编写的工具,只需做很小的修改就可用于不同的Android应用商店的可信度评价,大多数操作都可完全自动完成。
5.使用方便、结果直观:使用本发明的方法对Android应用商店进行可信度评价时,除去某些模拟用户行为的操作之外,整个过程手动介入少,使用方便,结果的展示直观、明了。

Claims (1)

1.基于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(lowerversion):版本低,
H(higherversion):版本高,
N(packagenamemismatchedduetofalse-returned):包名错误,
E(corruptedapkfiles):包损坏,
步骤(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文件进行类级别classlevel的比较,类的增加、删减、改变的部分将被分别列出,
步骤(5.4.2)对所述dex文件进行函数级别methodlevel的比较,步骤如下:
步骤(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完全一致,
Higherversion(H):所述应用商店的应用程序App的版本高于官方应用程序App的版本,
Zero-modification(ZM):表示零修改,虽然SHA256检验和不一致,但经过各模块的分析后一致,
Zero-impactmodification(ZI):表示零影响修改,有些修改对于用户界面和程序执行流程没有影响;
b.Warning:警告
Corruptedapkfiles(E):所述应用商店的应用程序的安装文件apk是损坏的,
Modificationsonresource-relatedfiles(R):被修改的文件只是与资源相关的至少包括音频、视频在内的文件,
LowerVersion(L):所述应用商店中的应用程序App的版本比官方应用程序App版本低,可能存在漏洞或bug,
False-returned(N):用户实际下载到的应用程序App并不是真正想要下载的应用程序App;
c.Critical:危险
Modificationsoncriticalfiles(C):所述权限文件、.dex文件、.so文件被修改,Signaturechanged(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 ) * g T ( s )
I(s)表示被标记为identical(I)的应用程序App个数,
H(s)表示被标记为高版本higherversion(H)的应用程序App的个数,
Z(s)表示被标记为无修改或无影响的修改的应用程序App的个数,
T(s)表示从所述应用商店下载的应用程序App的总数,
其中权重系数e=100,f=100,g=90;
步骤(7.3)所述应用商店中应用程序App的负得分总和N(s),由Warning部分的负得分Wa(s)和Critical部分的负得分Cr(s)求和得到,公式如下:
Ne(s)=Wa(s)+Cr(s)
其中,Wa(s)表示应用程序App含有Warning中选项所产生的对应负得分:
W a ( s ) = E ( s ) * j + R ( s ) * k + ( L ( s ) + N ( s ) ) * 1 T ( s ) ,
E(s)表示被有损坏的应用程序App的个数,
R(s)表示资源文件被修改的应用程序App的个数,
L(s)表示版本低于官方版本的应用程序App的个数,
N(s)表示包名不匹配的应用程序App的个数,
其中权重系数j=10,k=20,l=30;
Cr(s)表示应用程序App含有Critical中选项所产生的对应负得分:
C r ( s ) = A ( s ) * m + C ( s ) * n + B ( s ) * q + S ( s ) * r T ( 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)结果显示。
CN201510436106.0A 2015-07-23 2015-07-23 基于App对比分析的Android应用商店可信度的评价方法 Expired - Fee Related CN105068921B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510436106.0A CN105068921B (zh) 2015-07-23 2015-07-23 基于App对比分析的Android应用商店可信度的评价方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510436106.0A CN105068921B (zh) 2015-07-23 2015-07-23 基于App对比分析的Android应用商店可信度的评价方法

Publications (2)

Publication Number Publication Date
CN105068921A true CN105068921A (zh) 2015-11-18
CN105068921B CN105068921B (zh) 2018-04-10

Family

ID=54498298

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510436106.0A Expired - Fee Related CN105068921B (zh) 2015-07-23 2015-07-23 基于App对比分析的Android应用商店可信度的评价方法

Country Status (1)

Country Link
CN (1) CN105068921B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105389263A (zh) * 2015-12-24 2016-03-09 北京奇虎科技有限公司 应用软件权限监控方法、系统及设备
CN106293836A (zh) * 2016-08-10 2017-01-04 浙江温商贷互联网金融服务有限公司 一种手机软件快速更新迭代方法
CN107015973A (zh) * 2016-01-27 2017-08-04 腾讯科技(深圳)有限公司 一种应用排序方法、装置及服务器
CN107590165A (zh) * 2016-07-08 2018-01-16 广州市动景计算机科技有限公司 置信度设置方法、设备和服务器
CN108229116A (zh) * 2016-12-12 2018-06-29 卡巴斯基实验室股份制公司 防止用户对应用程序的不公平评价的系统和方法
CN108519872A (zh) * 2018-03-22 2018-09-11 华东师范大学 一种基于差异比较对顺序图进行评价的方法
CN108733426A (zh) * 2017-04-21 2018-11-02 海马云(天津)信息技术有限公司 电子设备运行应用的方法、装置及电子设备
CN110362729A (zh) * 2019-07-03 2019-10-22 杭州安恒信息技术股份有限公司 基于搜索引擎的未上架风险app检索方法
CN111222122A (zh) * 2019-12-31 2020-06-02 航天信息股份有限公司 应用权限管理方法、装置及嵌入式设备
CN111340583A (zh) * 2020-02-13 2020-06-26 北京字节跳动网络技术有限公司 信息获取方法、装置、计算机设备和存储介质
CN111460453A (zh) * 2019-01-22 2020-07-28 百度在线网络技术(北京)有限公司 机器学习训练方法、控制器、装置、服务器、终端和介质
CN112912840A (zh) * 2019-03-13 2021-06-04 谷歌有限责任公司 调试应用以供由应用交付服务器交付
US12106084B2 (en) 2019-03-13 2024-10-01 Google Llc Debugging applications for delivery via an application delivery server

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473509A (zh) * 2013-09-30 2013-12-25 清华大学 Android平台恶意软件自动检测方法
WO2015017479A1 (en) * 2013-07-31 2015-02-05 Microsoft Corporation App annotation and facilitation of user search task and user action
CN104484607A (zh) * 2014-12-16 2015-04-01 上海交通大学 Android应用程序安全性测试的通用方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015017479A1 (en) * 2013-07-31 2015-02-05 Microsoft Corporation App annotation and facilitation of user search task and user action
CN103473509A (zh) * 2013-09-30 2013-12-25 清华大学 Android平台恶意软件自动检测方法
CN104484607A (zh) * 2014-12-16 2015-04-01 上海交通大学 Android应用程序安全性测试的通用方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YI YING NG 等: ""Which Android App Store Can be Trusted in China?"", 《2014 IEEE 38TH ANNUAL INTERNATIONAL COMPUTER,SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC)》 *
于成丽 等: ""一种Android应用安全审核认证系统的设计方案"", 《电视技术》 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105389263B (zh) * 2015-12-24 2017-12-19 北京奇虎科技有限公司 应用软件权限监控方法、系统及设备
CN105389263A (zh) * 2015-12-24 2016-03-09 北京奇虎科技有限公司 应用软件权限监控方法、系统及设备
CN107015973B (zh) * 2016-01-27 2020-12-29 腾讯科技(深圳)有限公司 一种应用排序方法、装置及服务器
CN107015973A (zh) * 2016-01-27 2017-08-04 腾讯科技(深圳)有限公司 一种应用排序方法、装置及服务器
CN107590165A (zh) * 2016-07-08 2018-01-16 广州市动景计算机科技有限公司 置信度设置方法、设备和服务器
CN107590165B (zh) * 2016-07-08 2021-10-08 阿里巴巴(中国)有限公司 置信度设置方法、设备和服务器
CN106293836A (zh) * 2016-08-10 2017-01-04 浙江温商贷互联网金融服务有限公司 一种手机软件快速更新迭代方法
CN108229116B (zh) * 2016-12-12 2021-08-06 卡巴斯基实验室股份制公司 防止用户对应用程序的不公平评价的系统和方法
CN108229116A (zh) * 2016-12-12 2018-06-29 卡巴斯基实验室股份制公司 防止用户对应用程序的不公平评价的系统和方法
CN108733426B (zh) * 2017-04-21 2021-10-29 海马云(天津)信息技术有限公司 电子设备运行应用的方法、装置及电子设备
CN108733426A (zh) * 2017-04-21 2018-11-02 海马云(天津)信息技术有限公司 电子设备运行应用的方法、装置及电子设备
CN108519872B (zh) * 2018-03-22 2021-05-07 华东师范大学 一种基于差异比较对顺序图进行评价的方法
CN108519872A (zh) * 2018-03-22 2018-09-11 华东师范大学 一种基于差异比较对顺序图进行评价的方法
CN111460453A (zh) * 2019-01-22 2020-07-28 百度在线网络技术(北京)有限公司 机器学习训练方法、控制器、装置、服务器、终端和介质
CN111460453B (zh) * 2019-01-22 2023-12-12 百度在线网络技术(北京)有限公司 机器学习训练方法、控制器、装置、服务器、终端和介质
CN112912840A (zh) * 2019-03-13 2021-06-04 谷歌有限责任公司 调试应用以供由应用交付服务器交付
US12106084B2 (en) 2019-03-13 2024-10-01 Google Llc Debugging applications for delivery via an application delivery server
CN110362729A (zh) * 2019-07-03 2019-10-22 杭州安恒信息技术股份有限公司 基于搜索引擎的未上架风险app检索方法
CN111222122A (zh) * 2019-12-31 2020-06-02 航天信息股份有限公司 应用权限管理方法、装置及嵌入式设备
CN111340583A (zh) * 2020-02-13 2020-06-26 北京字节跳动网络技术有限公司 信息获取方法、装置、计算机设备和存储介质
CN111340583B (zh) * 2020-02-13 2023-05-23 北京字节跳动网络技术有限公司 信息获取方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN105068921B (zh) 2018-04-10

Similar Documents

Publication Publication Date Title
CN105068921A (zh) 基于App对比分析的Android应用商店可信度评价方法
Pashchenko et al. Vulnerable open source dependencies: Counting those that matter
CN110442511B (zh) 可视化埋点测试方法及装置
Jimenez et al. Vulnerability prediction models: A case study on the linux kernel
Walden et al. Predicting vulnerable components: Software metrics vs text mining
US10275601B2 (en) Flaw attribution and correlation
KR102356771B1 (ko) 데이터 구동 테스트 프레임워크
US9268665B2 (en) System and method for identifying fault prone computer code files
US10628584B1 (en) Functional language source code vulnerability scanner
Kirbas et al. The relationship between evolutionary coupling and defects in large industrial software
Villanes et al. What are software engineers asking about android testing on stack overflow?
Li et al. Voting with their feet: Inferring user preferences from app management activities
Kang et al. A secure-coding and vulnerability check system based on smart-fuzzing and exploit
US10152405B2 (en) Application testing system and method
CN113158251B (zh) 应用程序隐私泄露检测方法、系统、终端及介质
CN103279710A (zh) Internet信息系统恶意代码的检测方法和系统
US20180267888A1 (en) Automatic regression identification
CN105095207A (zh) 检索、获取应用软件内容的方法和装置
CN115033894B (zh) 一种基于知识图谱的软件组件供应链安全检测方法及装置
Autili et al. Software engineering techniques for statically analyzing mobile apps: research trends, characteristics, and potential for industrial adoption
CN108829575B (zh) 测试案例推荐方法、电子装置及可读存储介质
CN111324510B (zh) 日志处理方法、装置及电子设备
Li et al. Large-scale third-party library detection in android markets
CN113449310A (zh) 一种应用程序漏洞检测方法、装置及设备
Chen et al. An empirical study on the effect of testing on code quality using topic models: A case study on software development systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180410

CF01 Termination of patent right due to non-payment of annual fee