本发明专利技术公开了一种基于移动云计算的Android平台App风险评估方法与装置,该方法包括以下步骤:采集安卓市场中所有的App,并获得各App的权限列表;将获取的权限列表数据上传至云端;根据获得的各App的权限列表,根据权限列表中的App隐私权限和设置的隐私权限危险分值进行危险级别判断;根据手机客户端的请求向云端请求数据,将从云端获得的相应App的危险级别判断结果和App调用的隐私权限发送给客户。本发明专利技术通过对海量App的权限特征进行同类App种群特征分析,定义某个种群的动态最小权限集合,然后通过相似度计算的方法检测Android应用软件恶意倾向,为用户提供了一种可行且有效的App评估方法,有效减少用户隐私泄露的风险。
【技术实现步骤摘要】
本专利技术涉及云计算技术,尤其涉及一种基于移动云计算的Android平台App风险评估方法。
技术介绍
随着手机功能日益强大,它已成为生活中不可或缺的一部分。用户的频繁使用俨然使手机成为一个小型的个人隐私库,这些隐私包括照片,电子邮件,浏览记录,各种账号等。于是,用户的手机隐私安全成为了现下最大的安全问题之一。2014年上半年,新增移动互联网恶意程序超过36.7万,移动恶意程序99%以上针对安卓平台,恶意扣费类程序占到62%以上,超过300家应用商店存在移动恶意程序。活跃的应用程序高达600万个。大量APP可以在用户未授权的情况下读取用户隐私,某些恶意APP获取某些不必要的敏感权限。安卓APP安全的核心问题在于难以知道APP拥有的权限是否合理,这是一个不确定性问题,读取手机电话本的权限在微信应用中合理,但是在手电筒APP中就不合常理。一个典型的场景是,用户下载手电筒APP时,面对上千个手电筒APP,无法知道哪个更安全。应用市场提供的APP权限列表,对于广大非专业用户而言,不具有参对价值,用户无法知道此类APP拥有这些权限是否合理。大量的隐私泄露事件频发,普通用户、政府、应用市场对APP安全评级具有迫切需求,具有巨大的市场前景和机会。手机APP风险评估,需要监控和发现APP的行为,根据规则进行判定,需要实时、大量的计算,为了突破手机的性能约束,本项目研究一种基于Android手机APP风险评估系统,能够对各种APP进行风险评估计算,并将结果实时推送到手机中,提醒用户进行安全防护。由于Android的APP数量多,用户的APP的安装数量和类型不同,系统的安全风险也是不同,就需要提出一种策略能够根据用户安装的APP,提供个性化的风险预警。
技术实现思路
本专利技术要解决的技术问题在于针对现有技术中的缺陷,提供一种基于移动云计算的Android平台App风险评估方法。本专利技术解决其技术问题所采用的技术方案是:一种基于移动云计算的Android平台App风险评估方法,包括以下步骤:1)采集安卓市场中所有的App,并获得各App的权限列表;将获取的权限列表数据上传至云端;2)根据获得的各App的权限列表,根据权限列表中的App隐私权限和设置的隐私权限危险分值进行危险级别判断;所述App列表、App隐私权限、隐私权限危险分值存放在云端存储器中;所述App列表中包括不同App和同一App的不同版本;所述App隐私权限为所有安卓权限;所述隐私权限危险分值为预设恶意阀值,所述隐私权限危险分值的设置根据App的类别进行了分类处理;所述危险级别包括正常、预警、危险和高危四个等级;3)根据手机客户端的请求向云端请求数据,将从云端获得的相应App的危险级别判断结果和App调用的隐私权限发送给客户。按上述方案,所述步骤1)中获得各App的权限列表采用以下方法:静态分析法:采用词法分析,语法分析的技术手段来对App的程序文件进行扫描,从而生成程序的反汇编代码,然后阅读反汇编代码获得App的权限列表;静态分析法获取的是安装安卓应用程序时所申请的权限。按上述方案,所述步骤1)中获得各APP的权限列表采用以下方法:程序自动采集法;具体如下:1.1)在手机上安装待采集权限的App,所述手机上已经安装了权限采集程序;1.2)将待采集权限的App设为目的App;1.3)创建一个packageManager对象pm;1.4)调用pm的函数getPackageInfo,并将包名,权限两个量作为参数,构造出PackageInfo类对象info;1.5)调用info对象的requestedPermissions函数,并用一个字符串数组存权限列表;1.6)在屏幕上显示出所有权限,并在自己所在的包里创建一个txt文件存储权限列表;提取的权限的存储和传输由于在传输时需要尽可能的减少数据的大小,保证数据传输的可靠性和安全性,建立了一个结构体来存储传输的数据。这个结构体拥有两个属性:一个String类型的变量来存储目标App的包名,一个长为20的布尔型数组,来代表该App申请的隐私权限。例如:结构体名A通过包名来确定结构体名字符串型变量StringappName;通过包名来确定布尔型数组boolpermissions[20];对隐私权限进行比较后按顺序进行赋值表1.1中的编号即为permissions数组里面的下标,将隐私权限与目标App的所有权限一一对比,若发现相同就将该权限对应的permissions[i]赋值为true,直到所有的隐私权限判定完全为止。按上述方案,所述步骤2)中App的危险级别判断包括以下步骤:2.1)提取需要危险级别判断的App的类别;2.2)获得所有同类App的所涉及的最小权限集合;具体表示如下:设G=(Class,Population,Permissions);其中,Class为类别关键字;最大权限集合Population为该同类别下所有App涉及的隐私权限集合;最小权限Permissions为该同类别下每个App涉及的隐私权限的交集;2.3)根据改进的欧氏距离算法,计算该App与最小权限集合的相似距离;采用以下公式:di=sqrt(Pi)=sqrt(p02+p12+…+pk2),(p0,p1,…,pk∈Pi);其中,设该App涉及的隐私权限为Ai,0<i<n;Pi={p|p∈Ai–Permission,0<i<n本文档来自技高网...
【技术保护点】
一种基于移动云计算的Android平台App风险评估方法,其特征在于,包括以下步骤:1)采集安卓市场中所有的App,并获得各App的权限列表;将获取的权限列表数据上传至云端;2)根据获得的各App的权限列表,根据权限列表中的App隐私权限和设置的隐私权限危险分值进行危险级别判断;所述App列表、App隐私权限、隐私权限危险分值存放在云端存储器中;所述App列表中包括不同App和同一App的不同版本;所述App隐私权限为所有安卓权限;所述隐私权限危险分值为预设恶意阀值,所述隐私权限危险分值的设置根据App的类别进行了分类处理;所述危险级别包括正常、预警、危险和高危四个等级;3)根据手机客户端的请求向云端请求数据,将从云端获得的相应App的危险级别判断结果和App调用的隐私权限发送给客户。
【技术特征摘要】
1.一种基于移动云计算的Android平台App风险评估方法,其特征在于,包括
以下步骤:
1)采集安卓市场中所有的App,并获得各App的权限列表;将获取的权限
列表数据上传至云端;
2)根据获得的各App的权限列表,根据权限列表中的App隐私权限和设置
的隐私权限危险分值进行危险级别判断;
所述App列表、App隐私权限、隐私权限危险分值存放在云端存储器中;
所述App列表中包括不同App和同一App的不同版本;
所述App隐私权限为所有安卓权限;
所述隐私权限危险分值为预设恶意阀值,所述隐私权限危险分值的设置根
据App的类别进行了分类处理;
所述危险级别包括正常、预警、危险和高危四个等级;
3)根据手机客户端的请求向云端请求数据,将从云端获得的相应App的危
险级别判断结果和App调用的隐私权限发送给客户。
2.根据权利要求1所述的方法,其特征在于,所述步骤1)中获得各App的权
限列表采用以下方法:
静态分析法:采用词法分析,语法分析的技术手段来对App的程序文件进
\t行扫描,从而生成程序的反汇编代码,然后阅读反汇编代码获得App的权限列
表。
3.根据权利要求1所述的方法,其特征在于,所...
【专利技术属性】
技术研发人员:李涛,
申请(专利权)人:李涛,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。