融合用户主观评价的多维Android平台应用行为安全性评估方法

文档序号:31857722发布日期:2022-10-19 03:32阅读:68来源:国知局
融合用户主观评价的多维Android平台应用行为安全性评估方法
融合用户主观评价的多维android平台应用行为安全性评估方法
技术领域
1.本发明涉及移动应用安全领域,具体涉及一种融合用户主观评价的多维 android平台应用行为安全性评估方法。


背景技术:

2.基于android平台的移动设备因其操作方便、功能丰富、便于拓展等优势吸 引了大量用户,而随着android操作系统平台的普及,海量的应用程序也被开发 出来,为终端用户提供了丰富的功能。但是越来越多的应用程序也带了严重的安 全隐患。android软件可以很容易获取用户的敏感信息,防护不当便容易泄露用 户隐私。这一风险也吸引了不良运营商甚至攻击者的兴趣,恶意软件开始在应用 市场蔓延,混入良性软件中威胁用户隐私安全。例如存在流氓软件,如间谍软件 跟踪用户的位置并向控制者报告,广告软件收集用户身份信息以实施精准营销, 也存在恶意软件窃取银行密码以及用户敏感信息实施犯罪活动等。
3.为了防范这类应用程序,需要帮助用户在安装时对其进行审查。android系 统依靠permission来帮助用户了解应用程序的安全和隐私风险。应用程序必须请 求权限才能访问敏感资源。换言之,android应用程序必须向用户呈现其预期的 行为。但是这是粗粒度的,即使权限介绍了应用程序尝试访问的资源,它们也不 提供有关如何使用这些资源的细粒度信息。假设用户安装了一个应用程序,并允 许它访问他的通讯录信息。用户很难知道应用程序是根据他的预期去进行访问, 还是在持续访问而无需征得用户的明确同意。因此除了基于权限的静态分析外, 进行持续追踪的动态分析以及了解用户对敏感行为的关注程度也是十分必要的。 一方面通过持续追踪应用在实际运行过程中的调用行为,对敏感行为进行实时记 录,另一方面,基于主观预期调整监测重点,有侧重的进行标记。综合性机制需 要在静态分析的工作基础上,指导监测已安装的应用程序例如软件运行时的api 调用情况并结合用户期望进行判断,以便在恶意应用程序滥用其敏感信息前让用 户知晓。
4.在用户日常使用中,移动应用程序中的行为是否合适,应当让用户根据他的 性格和看法来进行风险判断。然而,进行软件安全性判断并不是所有人都能准确 做到的。此外,用户也需要掌握应用程序在不同环境下的不会产生安全威胁的行 为。但是普通用户进行这样的评估是不切实际的。因此,需要提供一种自动化评 估机制来评估应用程序,并在违反用户的安全性预期的情况下有效地提醒用户。


技术实现要素:

5.为解决上述问题,本发明提供一种融合用户主观评价的多维android平台应 用行为安全性评估方法。
6.本发明具体采用如下技术方案:
7.一种融合用户主观评价的多维android平台应用行为安全性评估方法,其特 征在
于,所述方法包括应用分析方法和应用评估方法:
8.所述应用分析方法用于对待测应用进行基于权限的静态检测,对待测应用行 为进行实时的动态监测,获得所述待测应用对各权限的调用情况;所述静态检测 的结果为所述动态监测提供指导,补偿动态监测的低效性;
9.所述应用评估方法用于将静态检测和动态监测结果进行量化,得到特征向量, 融入用户对于待测应用所属软件类别调用不同权限的主观预期,基于已有恶意软 件与良性软件数据集,根据不同用户的敏感度对待测软件进行评估打分。
10.本发明进一步优选的技术方案是:
11.对待测应用进行基于权限的静态检测包括:从华为手机应用市场获取待测应 用的apk文件,利用反编译技术获得应用源代码,利用字符串匹配技术,对反编 译后获得的androidmanifest.xml文件进行分析,获取定义在《user-permission》标 签下的权限申请情况。
12.基于静态检测结果对待测应用行为进行实时的动态监测包括:在root后的 android环境里安装待测应用,利用hook技术控制系统服务进程;对于静态检测 中得到的申请较多的权限,增大被监测相关api数量,对于静态检测中没有申 请或较少申请的权限,减少对其监测力度;运行待测应用,获得一定时间内该应 用调用各类隐私权限与敏感api的记录。
13.本发明进一步优选的技术方案是:
14.所述应用评估方法,包含以下步骤:
15.步骤1:根据应用分析方法中的静态检测数据得到静态指标——权限相关度;
16.步骤2:根据应用分析方法中的动态监测数据得到动态指标——历史置信度;
17.步骤3:根据用户对于待测应用所属软件类别调用不同权限的容忍程度与敏 感度,得到主观预期指标——主观预期值;
18.步骤4:根据已有恶意软件与良性软件数据集,结合待测应用静态、动态和 主观预期三维指标,进行评估分值。
19.本发明进一步优选的技术方案是:
20.所述步骤1包括:
21.根据华为手机应用市场将软件分为17类,记为aj,j∈{1,...,17},根据android 官方将权限分为9组,记为pi,i∈{1,...,9};静态检测得到权限申明向量,有:
22.s
mf
={p1,p2,...,p9,c}
ꢀꢀꢀ
(1)
[0023][0024]
c=j,if c∈ajꢀꢀꢀ
(3)
[0025]
根据权限申明向量,静态指标权限相关度w(pi,aj)计算公式为:
[0026]
[0027]
其中n为已有数据集中待测应用所属软件类别的应用数量,n(pi,aj)表示权 限组pi在aj应用类别中出现的频次,w(pi,aj)表示第i个权限组在第j个软件类别 中的权限相关度。
[0028]
所述步骤2包括:
[0029]
动态监测得到待测应用在一定时间内各组权限对应的api函数的调用次数, 计算动态指标历史置信度h(apii):
[0030][0031]
其中h(apii)代表被检测应用aj调用api组函数apii的历史置信度,调用频 次t(apii,aj)说明了通过该权限泄露隐私的可能性,β为调节系数;σ为增长系数, 衡量随着泄露可能性的增加,系统对该应用调取该权限的可容忍程度。
[0032]
所述步骤3包括:
[0033]
对于aj类软件,用户对其将使用的权限或敏感api函数类别进行判断,分数 从高到低分别为5,4,3,2,1,从认为很不相关到认为很相关;用户认为使用 该权限或api函数产生安全威胁的可能性越高,则打分数越高,否则打分则低; 定义主观评价向量为e
user

[0034]euser
(aj)={j(1,aj),j(2,aj),...,j(9,aj),c}
ꢀꢀꢀ
(6)
[0035]
其中j(i,aj)是用户的主观预期值。
[0036]
所述步骤4包括:将待测应用的静态、动态和主观预期三维指标加权相加, 得到待测样本指标向量;利用svm软间隔训练已有数据集,得到恶意软件与良 性软件之间的超平面与判别函数risk,输入待测样本指标向量,根据其距超平面 距离以及被判为良性软件的概率进行评估打分。
[0037]
本发明的有益效果:
[0038]
本发明基于静态检测得到各组权限的申请情况,得到待测应用对应软件类别 其每组权限组对应的权限相关度;基于动态监测得到待测应用在一定时间内各组 权限的调用记录,得到待测软件各组权限的历史置信度;根据用户对于待测应用 所属软件类别使用各组权限的容忍程度与敏感度,得到待测软件的主观预测值; 最终结合待测应用静态、动态和主观预期三维指标,根据已有恶意软件与良性软 件数据集对android平台的应用进行行为安全性量化评估。相对于传统的静态分 析和动态分析方法,本发明在静态检测中引入权限相关度,在动态监测中引入历 史置信度,能够一方面客观体现待测应用所属软件类别的客观权限需求情况,同 时量化体现一定时间内待测应用实际的各组权限使用情况;将静态检测和动态监 测结合起来,利用静态检测结果指导动态监测,能够同时考虑代码层面的权限申 请和应用的实际运行情况,并且结合待测应用所属类别的情况对待测应用进行具 体实时行为分析,并且补偿动态监测的低效性,提高动态监测的效率,确保评估 的全面与科学;相对于传统的参考安全专家的基于经验的主观判断,引入用户对 于待测应用使用各组权限的主观预期,能够体现不同用户的差异性,为不同态度 与敏感程度提供差异化的评估结果;相对于传统的分级评估结果,输出百分制的 评估分数更为具体,便于用户自行权衡比较不同应用安全表现。
[0039]
本方法包括应用分析方法和应用评估方法,应用分析方法对应用apk源文件 进行基于权限的静态检测,提高精细度与客观性;对应用实时行为进行动态监测, 获得一定时间内待测应用对各权限的调用情况。同时,静态检测的结果也为动态 监测提供指导,补偿
等进程,加载类库,调用函数;
[0063]
(3)然后,根据静态检测的分析结果,对于申请较多的权限重点关注,更多 监测相关api行为,对于没有申请或申请较少的权限,减少其监测api数量;
[0064]
(4)最后,将待测应用安装在该android环境中,运行应用,hook模块对系 统api函数进行调用监测,记录在日志中;
[0065]
如图1所示,应用评估方法分为基于静态检测得到权限相关度,基于动态监 测得到历史置信度,基于用户主观得到主观预期值,根据三维指标进行量化评估 四个步骤。
[0066]
对于基于静态检测得到权限相关度,具体步骤如下:
[0067]
(1)根据华为手机应用市场将软件分为17类,记为aj,j∈{1,...,17},根据 android官方将权限分为9组,记为pi,i∈{1,...,9};静态检测得到权限申明向 量,有:
[0068]smf
={p1,p2,...,p9,c}
ꢀꢀꢀ
(1)
[0069][0070]
c=j,if c∈ajꢀꢀꢀ
(3)
[0071]
(2)对于aj类应用程序,其每个被静态检测检测到的权限pi,相关度指标从大 到小分别表示该权限与这类应用的关系从很弱到很强;每一个权限的使用频度为 f(pi,aj),其中n(pi,aj)表示权限组pi在aj应用类别中出现的频次,n表示该类 应用中所分析的总应用个数;随着pi权限组申请次数越多,相应的该权限的使用 频度值将会越高,权重值越小,即可能产生安全威胁的风险越低,待检测应用程 序使用该权限越安全;
[0072][0073]
(3)权限相关度权重的计算公式为:
[0074]f′
(pi,aj)=(1-f(pi,aj))2ꢀꢀꢀ
(8)
[0075][0076]
基于动态监测得到历史置信度,具体步骤如下:
[0077]
(1)将涉及隐私泄露相关度较高的api函数,分为与权限组分类对应的9个 api组,定义为apii,i∈{1,2,...,9};
[0078]
(2)将隐私api函数在一定时间内的使用次数t(apii,aj)与此api组与软件 功能相关度,作为历史置信度的评价指标,相关度越低以及使用次数越多将使得 对软件的某个api组的信任度呈指数型衰减,定义历史置信指标:
[0079][0080]
其中h(apii)代表被检测应用aj调用api组apii的历史置信度,调用频次 t(apii,aj)说明了通过该权限泄露隐私的可能性,则h(apii)表示对于某个应用 程序,调用某个api组的可信任程度;β为调节系数。σ为增长系数,衡量随着 泄露可能性的增加,系统对该应用调取该权限的可容忍程度,应该根据实际情况 进行设计;
[0081]
(3)h(apii)最后得到动态特征向量d
api

[0082]dapi
={h(api1),h(api2),...,h(api9),c}
ꢀꢀꢀ
(10)
[0083]
基于用户主观得到主观预期值,具体方法如下:
[0084]
对于aj类软件,用户对其将使用的权限或敏感api函数类别进行判断,分数 从高到低分别为5,4,3,2,1,从认为很不相关到认为很相关。用户认为使用 该权限或api函数产生安全威胁的可能性越高,则打分数越高,否则打分则低。 定义主观评价向量为e
use
r,其中j(i,aj)是用户的主观预期值:
[0085]euser
(aj)={j(1,aj),j(2,aj),...,j(9,aj),c}
ꢀꢀꢀ
(6)
[0086]
根据三维指标进行量化评估,具体步骤如下:
[0087]
(1)将待测应用的静态、动态和主观三维指标归一化后加权相加,得到待测 应用的评估向量risk;
[0088]
(2)基于已有数据集,利用support vector machines(svm)模型训练样本 数据;svm对于输入的risk评估向量进行判别,通过非线性变换将risk评估向 量转化为某个维度的特征空间中的线性分类问题,在高维特征空间中训练线性的 svm;使用核函数k(riski,riskj)来替换目标函数和分类决策函数中的内积,来 实现非线性变换,此处采用了高斯核函数。
[0089][0090]
选取合适的核函数以及惩罚参数c>0,得到非线性支持向量机以确定两类 样本间的分离超平面和分离决策函数,即fw(g),g为训练集。
[0091][0092]
其中bi为二分类结果,benign类即为1,malware类即为-1。α
i*
,b
*
即为凸 二次规划问题最优解。
[0093]
(3)根据得到的分离超平面和分离决策函数,有两种量化评分方式;基于距 离的评分:设距离函数dist(a
wait
,fw),其中a
wait
为待判别应用;对于给定的数 据集g和获得的超平面fw(g),定义超平面关于样本点gi的几何间隔为γi;若应用 为良性软件γi为正,恶意软件的γi为负;对样本集进行训练。若训练集中最大距 离为maxdist,最小距离为mindist,对benign类和malware类样本距超平面距 离的绝对值分别归一化,malware类之后需取反;之后映射到1-100的范围内, 输出评估分数score(dist,a
wait
,g),0-50区间内说明为malware,51-100区间内 说明为benign;
[0094]
(4)基于概率的评分:为良性软件类的概率为prob(a
wait
,g,0),为恶意软件类的概率为 prob(a
wait
,g,1):
[0095]
prob(a
wait
,g,0)+prob(a
wait
,g,1)=1
ꢀꢀꢀꢀ
(13)
[0096]
计算判别函数两边分布概率情况,得到score(dist,a
wait
,g),0-50区间内说 明为malware,51-100区间内说明为benign。
[0097]
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还 包括由以上技术特征任意组合所组成的技术方案。
[0098]
方法测试案例
[0099]
以出行导航类为例。
[0100]
从华为官方手机应用市场获取待测应用的apk文件,利用静态检测工具进行 检测,得到导航出行类应用的权限相关度。如图4所示,相机、位置、电话和存 储类的权限相关度很低,说明该类软件经常申请这几类权限,所以在对用户使用 的应用进行安全性分析时,导航出行类软件对这些权限的调用行为是可以容忍的。
[0101]
将出行导航类待测软件安装在配有动态监测工具的android环境内,运行待 测软件,动态监测工具对应用行为进行监测并记录,得到历史置信度。其中某软 件x的历史置信度如图5所示,可以看到,通过调节增长系数和调节系数的取 值,减少历史置信度的极端情况,控制各指标的差距和间隔在合适的区间内。本 次测试中选取α=2,β=3。
[0102]
设置两组态度相对相反的主观预期值,实验组对各权限使用更加敏感,更加 注重隐私保护,对照组相对更加宽容,对应用使用各种权限更加包容,如图6 所示。
[0103]
图7和图8展示了导航出行类待测应用的特征分布。图7选取位置和传感两 个具有代表性的特征展示二维特征分布,图8增加电话进行三维特征展示。可以 看出,benign类和malware类之间差异较为明显,虽然在少数样本的分析值相对 离群,但在总体上是明显二类可分的,体现了综合性框架的互补作用。
[0104]
图9和图10分别为基于距离的评估方案和基于概率的评估方案,tn表示各 软件,实验组为用户a,对照组为用户b。可以看到,在基于距离的评估方案中, 对于注重隐私保护的用户a而言,没有应用符合安全预期,相比而言较为安全 的tn4的评分仅约为40。而相对不是很关注地理位置信息以及通讯隐私的用户 b而言,tn4与tn5应用达到安全预期,评估值较高。在基于分布概率的评估 方案中,用户b的软件安全情况与方案一大致相同,而对于用户a,其中tn4 软件的评估情况达到安全预期,tn5、tn1应用安全系数也有小幅提高。综合来 看,此套面向用户的评估方案可用性良好,不同用户对应的app分类结果存在 一定差异,同类别软件相同的行为会造成不同的主观判断,进而产生不同的评估 结果,且证明该模型能够突出不同软件行为之间的差异,将其量化为显著的数字 特征,方便用户理解感知,为用户提供了良好的参考。此外,从图中也可以看出 两种评估方案中,基于分布概率的评估方案安全性评估对用户关注度较为宽容, 可平衡过于极端的主观打分影响。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1