一种基于大数据的android应用权限聚类与群体特征分析方法与流程

文档序号:14325475阅读:230来源:国知局

本发明涉及信息安全技术,尤其涉及一种基于大数据的android应用权限聚类与群体特征分析方法。



背景技术:

安全报告显示,2015年中国境内智能手机联网终端达11.3亿部,手机网民达7.8亿占全国人口56.9%。其中运行android操作系统的智能手机最多,比例高达78.9%。早在2014年谷歌官方市场的android应用数量就已达到100万。

android系统的权限调用,时刻关系着手机软件以及用户的隐私数据的安全,权限调用的复杂性以及其不确定性,使得安卓应用权限调用的合理性和app自身恶意性判定成为了不确定性问题。2015年,全球移动互联网领域恶意软件的数量依然呈现持续增长态势,相比较2014年同期增长速度有所上升。由于android操作系统的开放性,它自然而然的成为了移动互联网领域的首要被攻击对象。

android安全问题中,权限是进行安全性分析的重要因素。不同种类的android应用权限的数量和种类不尽相同,相同的权限对不同类型应用的影响程度也会不一样。android应用是否应该拥有某种或某类权限,这是一个不确定性的问题。针对android应用权限不确定性问题,学术界和产业界提出了一系列应对方法。

android操作系统拥有一套完整的基于权限管理的隐私保护机制,用以保护用户隐私数据的安全。在这个权限管理机制中,相关应用软件需要声明相应的权限,才能访问对应的功能,或者进行读写操作。

在当前android系统的权限管理机制下,用户在安装应用软件前,必须要认真仔细的阅读软件声明的所有权限,根据得到的信息判断是否继续安装软件。许多研究表明,用户在安装软件之前,往往很难做到这一点,最主要的原因是android权限系统过于复杂,用户很难正确理解其含义,然后做出合理的操作上的选择。

对android权限系统是否能够起到服务客户并为他们提供警告信息,felt等人做了相关研究。他们对308个安卓用户进行了网络问卷调查,并在实验室中对25名用户进行了面谈与行为分析。结果表明,只有17%的用户会在安装时留意相关的权限警告,只有2.6%的用户正确理解了系统提供的权限说明。大多用户在安装时往往只留意权限警告的类别,而不会仔细去看权限相关详情。所以,android的权限机制,无法保证有效的帮助用户在安装时做出正确决定。即使恶意软件声明了的读取和发送隐私的相关权限,也会很容易被用户忽视。



技术实现要素:

本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于大数据的android应用权限聚类与群体特征分析方法。

本发明解决其技术问题所采用的技术方案是:一种基于大数据的android应用权限聚类与群体特征分析方法,包括以下步骤:

1)构建app样本库,从应用市场采集多种类型应用的全集,并将它们按类型区分存储在云端数据库中;

2)利用权限提取和分离工具,对所有采集到的app进行权限的提取与分离,并将所有的数据存储在云端数据库中;

3)权限特征集合:对app样本库中的应用,按类型来获取他们的权限构成的权限集合全集。对每一个权限赋予一定的权重值,与用户隐私相关程度越大的权限调用,被赋予的权重值就越高。从而构建出每种类型app的权限特征集合;

4)静态统计分析:对同一类型的每一个app的权限进行赋值,并最终求得每个应用权限的和。将同一类型应用按照权限和由小到大进行排序,并按照一定的跨度范围进行安全等级的划分。

然后从群体的角度进行了隐私权限的统计和分析。统计的内容包括:对每个隐私权限,拥有该权限的app占比;隐私权限被调用数量对比;

5)聚类:利用k-means算法,对已经提取的三类app的权限特征集合数据进行处理。根据安全等级的划分结果,将聚类结果的簇数设定为k,即每一个类型的app会被自动划分为k个不同的簇。

6)隐私特征挖掘;针对聚类算法的划分结果,挑选出与用户隐私数据紧密相关的权限,进行同类app中划分出的不同簇,与各种隐私权限之间的深入研究。

本发明产生的有益效果是:本发明提出了一种基于大数据的android应用权限聚类与群体特征分析方法,本发明的结果可以用于验证当前应用市场中存在的多种类型应用软件,通过分类器对同种类的android应用进行动态的评分排名,为用户进行应用软件下载提供参考和推荐。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明实施例的方法流程图;

图2是本发明实施例的阅读器app权值分布图;

图3是本发明实施例的手电筒app权值分布图;

图4是本发明实施例的照相机app权值分布图;

图5是本发明实施例的各种群中隐私权限被调用数量对比示意图;

图6是本发明实施例的手电筒类型app聚类结果分布图;

图7是本发明实施例的照相机类型app聚类结果分布图;

图8是本发明实施例的阅读器类型app聚类结果分布图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图1所示,一种基于大数据的android应用权限聚类与群体特征分析方法,包括以下步骤:

1)构建app样本库,从应用市场采集多种类型应用的全集,并将它们按类型区分存储在云端数据库中;

2)利用aapt权限获取工具,对所有采集到的app进行权限的提取与分离,并将所有的数据存储在云端数据库中;

3)权限特征集合。对app样本库中的应用,按类型来获取他们的权限构成的权限集合全集。对每一个权限赋予一定的权重值,与用户隐私相关程度越大的权限调用,被赋予的权重值就越高。从而构建出每种类型app的权限特征集合。

对于每个类型的app集合,它的权限就是该集合内所有app的权限并集。

初始化集合中所有app的权重为0,然后遍历每个app个体的所有权限,计算这些权限权重值的和,就得到某个app个体的权重.

4)静态统计分析:对同一类型的每一个app的权限进行赋值,并最终求得每个应用权限的权值和。将同一类型应用按照权限和由小到大进行排序,并按照一定的跨度范围进行安全等级的划分。

然后从群体的角度进行了隐私权限的统计和分析。统计和分析的内容包括:对每个隐私权限,拥有该权限的app占比;隐私权限被调用数量对比;

5)app的权限特征集合聚类算法模块。利用k-means算法,对已经提取的每一个类型的app的权限特征集合数据进行处理。根据安全等级的划分结果,将聚类结果的簇数设定为k,即每一个类型的app会被自动划分为k个不同的簇。

在进行聚类算法操作时,输入为某类型app集合s,以及权值和。输出结果为聚类后被分为k个簇的数据。

μ(0)=μ1(0),μ2(0)...,μk(0)(1)

聚类算法具体流程见公式(1),公式(2)和公式(3),初始化k个聚类中心μ(0),然后对于数据集中的每个数据xj,计算与中心的距离,这里的距离计算采用的是欧式距离,找到距离最近的中心点。不断更新中心点,直到中心点不再改变。

聚类算法要把某类型app集合分为k类,在同一类型app中的个体,都有自己的权重值和,目标函数采用的距离度量方法为欧几里得距离法,距离越大,app个体间的差异就越大,最终所有app将收敛为k簇。簇的质心为本簇所有数据的均值。

6)隐私特征挖掘。针对聚类算法的划分结果,挑选出与用户隐私数据紧密相关的权限,进行同类app中划分出的不同簇,与各种隐私权限之间的深入研究。

本实施方式提供一个具体实施例,选出获取地理位置,读取短信,读取通讯录,这三类最为直接涉及用户隐私的权限,进行了权限的组合分析,以及不同类型app之间权限组合统计的对比,进行对比试验。

具体对比试验如下:

1.实验设计与结果分析

1.1基于静态统计的群体特征分析

1.1.1面向群体的权值特征分析

基于实验的设计思路,利用python制作了爬虫程序,在360手机市场中爬取了62类共计27702个安卓app,对它们的权限进行了提取和预处理。其中,选取了照相机,阅读器以及手电筒这三类常用app作为主要研究对象,从而展开更进一步的实验。

图2,图3,图4中数据显示了阅读器,手电筒和照相机三种不同类别的app被赋予权值,经过静态的统计分析后得到的分布图。根据每一类应用的权限种类和数量不同,对他们进行了权值的赋予,阅读器和照相机的权值分布在0到2200,手电筒权值分布在0到2000。

阅读器类app总个数为501个,权值分布在0到880的应用个数占应用总个数的66.66%,这表示有三分之二的阅读器类应用仅仅使用现有权限是可以实现基础功能的,权限值更大的app出现隐私泄露等恶意行为的几率相对就会更高。在手电筒这个app群体中,87.72%的android应用主要集中在权值范围800以内,由于这个群体的功能特点比较单一,因此剩余12%的应用就很有可能存在恶意性。照相机类型的应用在整个群体层面来看与手电筒相似,xx%的应用分布在1400范围之内,照相机类别在0到600权值范围内占比大致相当,为xx%左右,剩余xx%的应用属于高危应用,即发生用户隐私泄露的可能性较高。

1.1.2面向隐私权限的群体特征分析(对每个隐私权限,拥有该权限的app占比;隐私权限被调用数量对比)

面向群体的权值特征分析实验主要从三类app整个种群的角度,进行了粗粒度的安全等级划分(均等划分原则,尽量均等的划分权值来进行粗粒度的安全等级处理),本节实验在权值特征分析的基础上,研究了手电筒,照相机,阅读器这三类应用隐私权限调用情况。

表1照相机类隐私权限分布

表2手电筒类隐私权限分布

表3阅读器隐私权限占比

表1,表2,表3,图5中数据由静态统计学的方法,统计了照相机,手电筒以及阅读器这三类应用中,调用隐私权限的app数占种群总数的比重。统计图发现在各个种群中,阅读器类app隐私权限占比普遍较高,尤其在读取外存,读取短信,接收短信以及发送短信这些权限上表现的格外明显;读取外存这一权限的调用,符合阅读器这一类型app的功能特点,因此隐私泄露可能性以及app恶意性有待进一步验证。然而在操作短信相关权限中,阅读器类app所占比例为其他两类app相同权限的3到4倍,隐私泄露风险明显高于手电筒和照相机这两类应用,同时,存在恶意软件的比例也会相对较高。多个应用之间比较,可以发现,不同功能类型的应用群体特征会有所差异。证明采用聚类的方法,能够自适应具有不同群体特征的应用。

在三类应用中,涉及读取通讯录的权限占比差异不明显,且在所有隐私权限中是阅读器类应用所占比例最小的一项;对于位置权限,我们统计了获取粗略地理位置,获取精确地理位置,gps定位,访问额外位置定位这四种主要的地理位置控制权限,这四种权限拥有至少一种的三类app比例为:照相机类72.84%,手电筒类66.5%,阅读器类92.8%。这表示,在三类android应用中,绝大部分app都拥有访问地理位置的权限,并且对于手电筒这类不需要获取地理位置权限也能满足用户需求的应用,同样也有三分之二的应用拥有获取地理位置这一权限,这表明,任何一个android应用,甚至只是功能单一的手电筒,也有可能成为用户隐私的泄露源头。

从图5三类android应用隐私权限对比中可以看出,app权限的种类和数量与功能相关,不同种类的app,声明权限的功能不尽相同;同时从应用种群的角度来看,种群间的特异性存在差异,功能越单一的种群,隐私泄露的整体可能性相对较小,因为声明的权限数量不需要太多,因此可能发生隐私泄露的权限范围也会缩小。发掘种群之间的差异和特异性,进行归纳总结和对比分析,这对于之后的研究工作,设计恶意应用软件识别分类工具,有利于识别器的剪枝设计,节省样本的检测搜索空间,提高识别准确率和分类效率,具有很强的指导意义。

2、基于聚类的群体特征分析

分别对手电筒,照相机,阅读器三类android应用的权值利用k-means算法进行了聚类操作,得到下列三个类别的聚类结果分布图。

实验在分析了数据的规模以及权值分布范围,经过多次分类尝试,对比了聚类的结果,最终将样本聚成8个不同的类别,根据每个类别的权值范围不同,又将他们进行了等级的划分,并规定:等级越高,危险系数越高,发生隐私泄露的可能性也会越高,在高等级的应用中,出现用户隐私泄露恶意软件的概率也就越大。

2.1手电筒类聚类结果与分析

从图6,表4可以看出,在之前章节的静态统计分析中,我们采用均等划分原则,尽量均等的划分权值来进行粗粒度的安全等级处理。本节采用聚类的方式,在手电筒类权值分布图中,总共划分出8个不同的危险等级,等级越低,代表危险系数越低,相对的安全程度也就越高。从饼状图中可以看出,被划分为危险系数最低的等级1的手电筒数量,占样本总数量的四分之一,分布在等级2到等级6的android手电筒应用比例大致相当,等级7与等级8的分布为7%和4%。各等级的权值分布范围可以参照表格。

表4手电筒类型app权值范围分布表

2.2照相机类聚类结果与分析表5照相机类型app权值范围分布表

不同于手电筒类别,照相机类的聚类结果图7,表5表示,绝大部分的照相机android应用主要集中在2,3,4,5这四个等级,这表示不同的android应用种群间存在差异性,不同种群的android应用安全等级分布情况不同,这也与不同类型app的功能相关,功能越单一的应用,所需权限就越少,发生隐私泄露风险的可能性也会越小。在照相机种群中,高危等级,等级7(5%)等级8(1%)的数量总和只有手电筒类别应用的一半,这表明在种群中,个体存在一定的差异性,即使是功能简单,并不引人注目的app,也有可能存在隐私泄露风险。

2.3阅读器类聚类结果与分析

表6阅读器类型app权值范围分布表

从图8和表6可以看出在阅读器这个类别中,高危等级等级7和等级8的android应用数量高达五分之一,这就意味着,用户在没有确定的目标下载应用时,在盲目状态下是很容易选择到高危应用进行下载,如果用户在安装之前,没有仔细阅读并且理解应用软件声明的权限,那么就很有可能成为恶意软件的攻击目标。

从整个种群的角度来看,危险系数较低的前4个等级,在阅读器种群中占种群总数的60%左右,在照相机种群中占应用总数量的70%,手电筒种群中占种群总数的60%。可以看出,在android应用市场中虽然鱼龙混杂,但是相对较安全的应用软件还是占据大多数。根据应用软件所声明的权限数量和功能的差异,不同种群也会有一定的区别。

3、面向群体的隐私特征挖掘

在日常生活中,移动智能设备中的隐私权限调用情况,与用户的个人隐私息息相关。恶意软件往往只需要利用最为常见的一些隐私权限,就能获得用户大量的隐私信息。

用户关于地理位置相关的隐私权限,主要是由access_coarse_location,access_fine_location,access_gps等权限来进行管理与保护。例如,一个软件想要获取gps模块的数据,那么需要先声明access_coarse_location或access_fine_location权限,然而,恶意软件任然可以通过其他未受到保护的传感器获取用户地理位置相关的权限,没有受到保护的传感器包括磁力传感器,距离传感器,光线传感器,压力传感器,陀螺回转仪等。攻击者可以仅仅凭借加速传感器中数据,实现惯性导航系统。计算得到用户的运动速度从而推出运动方式。如果恶意软件将多个传感器的数据进行综合分析,还能实现更加精准的惯性导航系统,从而得到用户的运动速度,运动方式,运行方向,移动距离等隐私数据。

如果在综合光线传感器,那么恶意软件还可以计算出用户的作息时间,生活习惯等隐私。目前市面上,一些导航软件,例如高德地图,已经实现了惯性导航功能,便于在建筑物或隧道等无法运用gps卫星信号的情况下,继续提供导航服务。然而如果这些未受保护的传感器恶意软件所利用,那么用户隐私是很容易发生泄露的。

在本节试验中,对手电筒,照相机,阅读器这三类android应用聚类后的结果进行了深入的隐私权限挖掘与分析。实验主要从两个角度入手:1.从隐私权限的角度来进行三个类别应用的统计分析,在所有拥有某类型隐私权限的同种群app中,不同的8个安全等级的分布情况是什么样的。2.从聚类后的8个等级入手,统计分析每个等级的权限分布情况。

3.1手电筒类隐私特征挖掘

由前几节的实验结果可以看出,等级7和等级8这样的高危等级,在同类型android应用中所占的比例在15%以内,它们的数量虽然少,但是却有很高的造成隐私泄露的可能性。在手电筒这一类型中,等级7的比例占7%,等级8的比例占4%。对于聚类后的数据集合,实验进行了隐私权限分布情况的深层次分析与统计。

对于write_call_log(允许写入不可读用户联系人数据)send_sms(发送短信)这两个直接涉及到用户隐私权限,拥有这两个权限的app都是等级8中的应用,同时receive_sms,read_sms,read_contacts拥有这些隐私权限的应用大部分同样被划分到了等级8。在拥有read_external_storage以及获取精确地理位置和粗略地理位置的app中,数量最多的是等级7,所有具有读取彩信以及获取gps定位权限的app都被划分为等级6。

从更为深入详细的隐私权限对比数据我们可以看到,在手电筒类别应用中,高危等级6,7,8占据了大量隐私权限,有些甚至是独占某些重要隐私权限,例如读取短信,通讯录等。

从另一个角度来看,几乎所有的8个等级的手电筒类android应用,都拥有获取地理位置这一权限,除等级1之外其余所有等级都具有read_external_storage权限。被划分为等级6,7,8的app拥有的权限数量明显高于其他几个安全等级较低的簇。android应用中,拥有的权限数量越多,直接或间接获取隐私权限的可能性也就越大,因此他们的危险等级和造成隐私泄露的风险也会提高。

统计分析结果可以看出,在照相机和阅读器这两个类别的android应用中,不同安全等级之间的区分差别就弱了许多。这表明应用的功能越复杂,需要的权限种类和数量越多,其危险性和隐私泄露的风险评估就越不容易准确界定。这与权限调用的不确定性以及应用功能的复杂程度有关。权限之间相互调用配合工作,都极有可能直接或间接的造成隐私泄露。除了目前划分的这些隐私权限之外,还有一些类型的隐私数据没有受到任何安全机制的保护,一旦用户在应用之间切换或进行其他功能调用时,就极其有可能触发未受android系统安全保护的各种机制。

例如剪贴板中的数据。剪贴板功能早在android1.0版本就开始使用,目前用户已经习惯使用剪贴板来在不同界面组件之间复制以及移动文本数据。用户复制进入剪贴板的数据,很大一部分都是涉及到个人隐私的敏感数据,如:电话号码,银行账号,密码,邮箱地址,短信,文件内容等。这些隐私数据进入剪贴板之后,android隐私保护机制就会失去作用,不能对其提供任何形式的保护。此时恶意软件就能在用户毫无察觉的情况下读取剪贴板中的数据,获得用户重要隐私,甚至可能通过访问网络,上传到未知服务器,用于不法行为。

访问地理位置,读取通讯录,读取短信等这些隐私权限,都是恶意软件的重点访问对象。在手电筒,照相机,阅读器这三类应用中,为了探索权限组合之间的关系,更深入的去探索权限调用不确定性中的可能存在的统计学规律,实验将三个类型应用涉及到关于地理位置,短信以及通讯录的隐私权限进行了多种组合,然后将三种类型的组合结果放在一起进行对比实验。

实验结果可以看出,无论是哪种形式的权限组合,在种群总个数相当的情况下,阅读器类应用的比例都是最高的。特别是地理位置与读取短信的组合以及地理位置与通讯录的组合。

在地理位置与读取短信这个组合中,阅读器类应用的比例是手电筒类型的7倍,是照相机类型的4倍。在三种权限同时具备的情况下,手电筒类型比例约为手电筒类型的6倍,照相机类型的3倍。

android应用的权限种类和个数与其实现的功能成正相关,功能越是丰富的app,权限之间的调用和配合分工越复杂,其中的权限安全性界定的不确定性就会增强,这种不确定性很难从个体的角度去把握,但是我们可以通过对一个类型应用的研究,从统计学的角度去总结和分析群体的特征。

4、实验总结

实验对多个类型的app集合进行了检测评估,也提取了多个集合的权限特征向量,表明聚类分析的方法可以为不同类型app提供评估标准,具有一定的适应性;同时统计得到的不同app集合的权限特征向量,以及隐私权限分布特征,也可以为实现app安全等级分类模型提供数据支持。

本发明提出了一种基于大数据的android应用权限聚类与群体特征分析方法,实施例中对手电筒,照相机阅读器三类android应用群体进行了聚类处理和权限特征分析,方法具有一定的种群间适应性,可扩展性强,能应对大规模数据的优点。

当前的工作对多种群android应用进行了权限的提取和分离,多角度多层次的进行了统计学处理,实验结果和结论为今后设计android恶意软件识别器奠定了良好的理论和实践基础。android恶意软件识别器可用于验证当前应用市场中存在的多种类型应用软件,通过分类器对同种类的android应用进行动态的评分排名,为用户进行应用软件下载提供参考和推荐。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1