基于移动云计算的Android平台App风险评估方法与装置的制造方法

文档序号:9397010阅读:306来源:国知局
基于移动云计算的Android平台App风险评估方法与装置的制造方法
【技术领域】
[0001] 本发明涉及云计算技术,尤其涉及一种基于移动云计算的Android平台App风险 评估方法。
【背景技术】
[0002] 随着手机功能日益强大,它已成为生活中不可或缺的一部分。用户的频繁使用俨 然使手机成为一个小型的个人隐私库,这些隐私包括照片,电子邮件,浏览记录,各种账号 等。于是,用户的手机隐私安全成为了现下最大的安全问题之一。
[0003] 2014年上半年,新增移动互联网恶意程序超过36. 7万,移动恶意程序99%以上针 对安卓平台,恶意扣费类程序占到62%以上,超过300家应用商店存在移动恶意程序。活跃 的应用程序高达600万个。大量APP可以在用户未授权的情况下读取用户隐私,某些恶意 APP获取某些不必要的敏感权限。安卓APP安全的核心问题在于难以知道APP拥有的权限 是否合理,这是一个不确定性问题,读取手机电话本的权限在微信应用中合理,但是在手电 筒APP中就不合常理。一个典型的场景是,用户下载手电筒APP时,面对上千个手电筒APP, 无法知道哪个更安全。应用市场提供的APP权限列表,对于广大非专业用户而言,不具有参 对价值,用户无法知道此类APP拥有这些权限是否合理。大量的隐私泄露事件频发,普通用 户、政府、应用市场对APP安全评级具有迫切需求,具有巨大的市场前景和机会。
[0004] 手机APP风险评估,需要监控和发现APP的行为,根据规则进行判定,需要实时、大 量的计算,为了突破手机的性能约束,本项目研究一种基于Android手机APP风险评估系 统,能够对各种APP进行风险评估计算,并将结果实时推送到手机中,提醒用户进行安全防 护。
[0005] 由于Android的APP数量多,用户的APP的安装数量和类型不同,系统的安全风险 也是不同,就需要提出一种策略能够根据用户安装的APP,提供个性化的风险预警。

【发明内容】

[0006] 本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于移动云计算 的Android平台App风险评估方法。
[0007] 本发明解决其技术问题所采用的技术方案是:一种基于移动云计算的Android平 台App风险评估方法,包括以下步骤:
[0008] 1)采集安卓市场中所有的App,并获得各App的权限列表;将获取的权限列表数据 上传至云端;
[0009] 2)根据获得的各App的权限列表,根据权限列表中的App隐私权限和设置的隐私 权限危险分值进行危险级别判断;
[0010] 所述App列表、App隐私权限、隐私权限危险分值存放在云端存储器中;
[0011] 所述App列表中包括不同App和同一 App的不同版本;
[0012] 所述App隐私权限为所有安卓权限;
[0013] 所述隐私权限危险分值为预设恶意阀值,所述隐私权限危险分值的设置根据App 的类别进行了分类处理;
[0014] 所述危险级别包括正常、预警、危险和高危四个等级;
[0015] 3)根据手机客户端的请求向云端请求数据,将从云端获得的相应App的危险级别 判断结果和App调用的隐私权限发送给客户。
[0016] 按上述方案,所述步骤1)中获得各App的权限列表采用以下方法:
[0017] 静态分析法:采用词法分析,语法分析的技术手段来对App的程序文件进行扫描, 从而生成程序的反汇编代码,然后阅读反汇编代码获得App的权限列表;静态分析法获取 的是安装安卓应用程序时所申请的权限。
[0018] 按上述方案,所述步骤1)中获得各APP的权限列表采用以下方法:
[0019] 程序自动采集法;具体如下:
[0020] I. 1)在手机上安装待采集权限的App,所述手机上已经安装了权限采集程序;
[0021]
[0022] 1. 2)将待采集权限的App设为目的App ;
[0023] 1. 3)创建一个 packageManager 对象 pm ;
[0024] 1. 4)调用pm的函数getPackagelnfo,并将包名,权限两个量作为参数,构造出 PackageInfo 类对象 info ;
[0025] 1. 5)调用info对象的requestedPermissions函数,并用一个字符串数组存权限 列表;
[0026] 1. 6)在屏幕上显示出所有权限,并在自己所在的包里创建一个txt文件存储权限 列表;
[0027] 提取的权限的存储和传输
[0028] 由于在传输时需要尽可能的减少数据的大小,保证数据传输的可靠性和安全性, 建立了一个结构体来存储传输的数据。这个结构体拥有两个属性:一个String类型的变量 来存储目标App的包名,一个长为20的布尔型数组,来代表该App申请的隐私权限。例如:
[0031] 表1. 1中的编号即为permissions数组里面的下标,将隐私权限与目标App的所 有权限--对比,若发现相同就将该权限对应的permissions [i]赋值为true,直到所有的 隐私权限判定完全为止。
[0032] 按上述方案,所述步骤2)中App的危险级别判断包括以下步骤:
[0033] 2. 1)提取需要危险级别判断的App的类别;
[0034] 2. 2)获得所有同类App的所涉及的最小权限集合;具体表示如下:
[0035] 设 G = (Class, Population, Permissions);
[0036] 其中,Class为类别关键字;
[0037] 最大权限集合Population为该同类别下所有App涉及的隐私权限集合;
[0038] 最小权限Permissions为该同类别下每个App涉及的隐私权限的交集;
[0039] 2. 3)根据改进的欧氏距离算法,计算该App与最小权限集合的相似距离;采用以 下公式:(Ii= Sqrt(Pi) = SqrUpt^p12+…+pk2),(PmP 1,…,pk e Pi);
[0040] 其中,设该App涉及的隐私权限为ApiKiXn !Pi= {p |p e A i- Permission, 0〈i〈n};
[0041] 2. 4)根据步骤2. 3)计算的结果确定该App的危险级别。具体方式为符合最小权 限集合的App为正常,危险的级别根据计算的欧式距离的进行阈值划分。由于不同类别的 App可以有不同的最小权限集合,所以不同类别的App危险等级划分是动态的,危险等级划 分阈值可以根据App种类、同类App权限分布规律等因素进行确定,并且根据时间等因素进 行演化。
[0042] 本发明还提供一种基于移动云计算的Android平台App风险评估装置,包括:
[0043] 权限采集模块,用于采集安卓市场中所有的App,并获得各App的权限列表;将获 取的权限列表数据上传至云端;
[0044] 云端存储分析器模块,用于根据获得的各App的权限列表,根据权限列表中的隐 私权限和设置的隐私权限危险分值进行危险级别判断;
[0045] 所述App列表、App隐私权限、隐私权限危险分值存放在云端存储器中;
[0046] 所述App列表中包括不同App和同一 App的不同版本;
[0047] 所述App隐私权限为所有安卓权限;
[0048] 所述隐私权限危险分值为预设恶意阀值,所述隐私权限危险分值的设置根据App 的类别进行了分类处理;
[0049] 所述危险级别包括正常、预警、危险和高危四个等级;
[0050] 风险评估接收客户端,用于根据手机客户端的请求向云端请求数据,将从云端获 得的相应App的危险级别判断判断结果和App调用的隐私权限发送给客户。
[0051] 本发明产生的有益效果是:本发明通过对海量App的权限特征进行分析,通过相 似度计算的方法检测Android应用软件恶意倾向,为用户提供了一种可行且有效的App评 估方法,通过提供安全分析,能有效减少用户隐私泄露的风险。
【附图说明】
[0052] 下面将结合附图及实施例对本发明作进一步说明,附图中:
[0053] 图1是本发明实施例的结构示意图;
[0054] 图2是本发明实施例的手电筒类App中涉及各隐私权限数量图;
[0055] 图3是本发明实施例的手电筒类App相似度距离d值降序排列趋势图;
[0056] 图4是本发明实施例的手电筒类App权限调用数量与相似距离d值关系图。
【具体实施方式】
[0057] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明 进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限 定本发明。
[0058] 如图1所示,一种基于移动云计算的Android平台App风险评估方法,包括以下步 骤:
[0059] 1)采集安卓市场中所有的App,并获得各App的权限列表;将获取的权限列表数据 上传至云端;
[0060] 获得各App的权限列表可采用以下两种方法:
[0061] 静态分析法:采用词法分析,语法分析的技术手段来对App的程序文件进行扫描, 从而生成程序的反汇编代码,然后阅读反汇编代码获得App的权限列表;静态分析法获取 的是安装安卓应用程序时所申请的权限;
[0062] 程序自动采集法;具体如下:
[0063] I. 1)在手机上安装待采集权限的App,所述手机上已经安装了权限采集程序;
[0064] 1. 2)将待采集权限的App设为目的App ;
[0065] 1. 3)创建一个 packageManager 对象 pm ;
[0066] 1. 4)调用pm的函数getPackagelnfo,并将包名,权限两个量作为参数,构造出 PackageInfo 类对象 info ;
[0067] 1. 5)调用info对象的requestedPermissions函数,并用一个字符串数组存权限 列表;
[0068] 1. 6)在屏幕上显示出所有权限,并在自己所在的包里创建一个txt文件存储权限 列表;
[0069] 2)根据获得的各App的权限列表,根据权限列表中的app隐私权限和设置的隐私 权限危险分值进行危险级别判断;
[0070] 所述App列表、App隐私权限、隐私权限危险分值存放在云端存储器中;
[0071] 所述App列表中包括不同App和同一 App的不同版本;
[0072] 所述App隐私权限为所有安卓权限;
[0073] 所述隐私权限危险分值为预设恶意阀值,所述隐私权限危险分值的设置根
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1