应用软件安全级别的确定方法及装置转让专利

申请号 : CN201410670870.X

文献号 : CN104376266B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨正军袁广翔袁琦董霁李媛李乔

申请人 : 工业和信息化部电信研究院

摘要 :

本发明公开了一种应用软件安全级别的确定方法及装置,该方法包括:接收待测应用软件,获取待测应用软件的至少一个敏感行为;接收用户输入的信息,根据该信息及至少一个敏感行为确定每个敏感行为的权值;在终端模拟运行环境中触发待测应用软件执行其所有行为,获取待测应用软件对每个敏感行为的防御方式,并根据防御方式确定每个敏感行为的防御系数;根据每个敏感行为的权值和防御系数,确定待测应用软件的安全级别。根据用户定制化的需求以及对应用软件所执行的行为的敏感程度,对应用软件安全级别进行确定,得到量化的安全级别,实现了应用软件安全级别确定的定制化且能够得到较为准确的安全级别,使用户清楚安装该应用软件所带来的风险。

权利要求 :

1.一种应用软件安全级别的确定方法,其特征在于,包括:接收待测应用软件,获取所述待测应用软件的至少一个敏感行为;

接收用户输入的信息,根据所述信息及所述至少一个敏感行为确定每个敏感行为的权值,其中所述权值表示用户对敏感行为的敏感程度;

在终端模拟运行环境中触发所述待测应用软件执行其所有行为,获取所述待测应用软件对每个敏感行为的防御方式,并根据所述防御方式确定每个敏感行为的防御系数;

根据每个敏感行为的权值和防御系数,确定所述待测应用软件的安全级别。

2.根据权利要求1所述的方法,其特征在于,获取所述待测应用软件的至少一个敏感行为包括:识别所述待测应用软件的至少一个权限,确定所述至少一个权限中与预设的敏感行为匹配的权限作为所述待测应用软件的敏感行为,得到所述至少一个敏感行为。

3.根据权利要求1所述的方法,其特征在于,所述接收用户输入的信息,根据所述信息及所述至少一个敏感行为确定每个敏感行为的权值包括:根据所述信息对所述至少一个敏感行为进行分类,得到不同敏感程度的至少一个敏感行为集合;

按照预设的敏感程度与权值的对应关系,确定每个敏感行为集合的权值,其中同一敏感行为集合中的所有敏感行为的权值均与其所属的敏感行为集合的权值相同。

4.根据权利要求3所述的方法,其特征在于,根据每个敏感行为的权值和防御系数,确定所述待测应用软件的安全级别包括:计算所述敏感行为集合中的每个敏感行为的权值与防御系数的乘积,并计算乘积之和,得到第一计算结果;

计算所述敏感行为集合中的所有敏感行为的权值之和,得到第二计算结果;

计算所述第一计算结果与所述第二计算结果的比值,得到所述敏感行为集合的安全级别系数;

计算每个敏感行为集合的权值与安全级别系数的乘积,并计算乘积之和,得到第三计算结果;

计算所有敏感行为集合的权值之和,得到第四计算结果;

计算所述第三计算结果和所述第四计算结果的比值,得到所述待测应用软件的安全级别系数,其中,所述安全级别系数越大表示所述待测应用软件的安全级别越高。

5.根据权利要求1至4中任一项所述的方法,其特征在于,根据所述防御方式确定每个敏感行为的防御系数包括:按照预设的防御方式与防御系数的对应关系,确定每个敏感行为的防御系数;

其中,所述防御方式包括:

执行敏感行为时既没有提示也没有获得用户授权;

执行敏感行为时提示;

执行敏感行为之前提示但未给用户授权的机会;

执行敏感行为之前提示且获得用户授权后执行该敏感行为。

6.根据权利要求1至4中任一项所述的方法,其特征在于,在根据每个敏感行为的权值和防御系数,确定所述待测应用软件的安全级别之后,所述方法还包括:输出所述至少一个敏感行为及其防御方式和防御系数,以及所述待测应用软件的安全级别系数。

7.根据权利要求1至4中任一项所述的方法,其特征在于,所述敏感行为包括:系统功能类行为、通信网络类行为和系统接口类行为;

其中,系统功能类行为包括:读联系人、读短信记录、读彩信记录、读位置信息、读通话记录、本地录音、摄像或拍照、对用户数据的读操作、对用户数据的写操作、读取网络连接状态、安装方式、启动方式、退出方式、升级方式、卸载方式、内置链接或认证签名;

通信网络类行为包括:拨打电话、三方通话、发送短信、发送邮件、打开WLAN数据连接、关闭WLAN数据连接、定位功能或通话录音;

系统接口类行为包括:打开蓝牙数据连接、关闭蓝牙数据连接、打开红外数据连接、关闭红外数据连接、打开近场通信NFC数据连接、关闭NFC数据连接。

8.一种应用软件安全级别的确定装置,其特征在于,包括:接收模块,用于接收待测应用软件;

第一获取模块,用于获取所述待测应用软件的至少一个敏感行为;

第一确定模块,用于接收用户输入的信息,根据所述信息及所述至少一个敏感行为确定每个敏感行为的权值,其中所述权值表示用户对敏感行为的敏感程度;

第二获取模块,用于在终端模拟运行环境中触发所述待测应用软件执行其所有行为,获取所述待测应用软件对每个敏感行为的防御方式;

第二确定模块,用于根据所述防御方式确定每个敏感行为的防御系数;

第三确定模块,用于根据每个敏感行为的权值和防御系数,确定所述待测应用软件的安全级别。

9.根据权利要求8所述的装置,其特征在于,所述第一获取模块,具体用于识别所述待测应用软件的至少一个权限,确定所述至少一个权限中与预设的敏感行为匹配的权限作为所述待测应用软件的敏感行为,得到所述至少一个敏感行为。

10.根据权利要求8所述的装置,其特征在于,所述第一确定模块包括:分类单元,用于根据所述信息对所述至少一个敏感行为进行分类,得到不同敏感程度的至少一个敏感行为集合;

确定单元,用于按照预设的敏感程度与权值的对应关系,确定每个敏感行为集合的权值,其中同一敏感行为集合中的所有敏感行为的权值均与其所属的敏感行为集合的权值相同。

11.根据权利要求10所述的装置,其特征在于,所述第三确定模块包括:第一计算单元,用于计算所述敏感行为集合中的每个敏感行为的权值与防御系数的乘积,并计算乘积之和,得到第一计算结果;

第二计算单元,用于计算所述敏感行为集合中的所有敏感行为的权值之和,得到第二计算结果;

第三计算单元,用于计算所述第一计算结果与所述第二计算结果的比值,得到所述敏感行为集合的安全级别系数;

第四计算单元,用于计算每个敏感行为集合的权值与安全级别系数的乘积,并计算乘积之和,得到第三计算结果;

第五计算单元,用于计算所有敏感行为集合的权值之和,得到第四计算结果;

第六计算结果,用于计算所述第三计算结果和所述第四计算结果的比值,得到所述待测应用软件的安全级别系数,其中,所述安全级别系数越大表示所述待测应用软件的安全级别越高。

12.根据权利要求8至11中任一项所述的装置,其特征在于,所述第二确定模块,具体用于按照预设的防御方式与防御系数的对应关系,确定每个敏感行为的防御系数;

其中,所述防御方式包括:

执行敏感行为时既没有提示也没有获得用户授权;

执行敏感行为时提示;

执行敏感行为之前提示但未给用户授权的机会;

执行敏感行为之前提示且获得用户授权后执行该敏感行为。

13.根据权利要求8至11中任一项所述的装置,其特征在于,所述装置还包括:输出模块,用于输出所述至少一个敏感行为及其防御方式和防御系数,以及所述待测应用软件的安全级别系数。

14.根据权利要求8至11中任一项所述的装置,其特征在于,所述敏感行为包括:系统功能类行为、通信网络类行为和系统接口类行为;

其中,系统功能类行为包括:读联系人、读短信记录、读彩信记录、读位置信息、读通话记录、本地录音、摄像或拍照、对用户数据的读操作、对用户数据的写操作、读取网络连接状态、安装方式、启动方式、退出方式、升级方式、卸载方式、内置链接或认证签名;

通信网络类行为包括:拨打电话、三方通话、发送短信、发送邮件、打开WLAN数据连接、关闭WLAN数据连接、定位功能或通话录音;

系统接口类行为包括:打开蓝牙数据连接、关闭蓝牙数据连接、打开红外数据连接、关闭红外数据连接、打开近场通信NFC数据连接、关闭NFC数据连接。

说明书 :

应用软件安全级别的确定方法及装置

技术领域

[0001] 本发明涉及计算机安全技术领域,尤其涉及一种应用软件安全级别的确定方法及装置。

背景技术

[0002] 移动互联网的迅猛发展和移动应用的不断创新,为移动互联网用户带来丰富的体验和便捷的服务,促进了智能终端出货量、移动应用软件激活量的大幅度增加。移动应用软件作为人们使用终端功能以及移动互联网服务的主要方式,其强大的功能和易用性降低了用户使用智能终端的门槛,刺激了信息消费,但也存在一些不规范的行为,例如,在用户不知情的情况下自启动、消耗流量资费、静默安装、泄露隐私等,这对用户的正当权益造成了侵害,阻碍了移动互联网健康有序发展。
[0003] 移动应用软件由于不同的原因,可能带有不同程度的风险或危害。对于移动应用软件的安全性,常见的移动应用软件安全风险分类主要有三种方式:基于应用软件风险来源的分类,基于应用软件对用户、对其他应用软件、对运营商通信网络系统造成的危害结果分类,基于恶意行为所使用技术的分类。以下分别进行说明。
[0004] (一)基于危险来源的分类
[0005] 移动应用软件在终端功能侧、通信网络侧、系统接口侧三个方面存在安全风险。
[0006] 1)终端功能侧安全风险
[0007] 一些移动应用软件会向系统申请较高的权限,执行一些敏感行为或敏感行为的组合,甚至还会向第三方提供调用接口。这些敏感行为给用户带来了隐私泄露等安全风险,主要包括:
[0008] A)收集用户个人信息。移动应用软件存在:无故读取用户的国际移动用户识别码(International Mobile Subscriber Identification Number,简称为IMSI)、移动设备国际识别码(International Mobile Equipment Identification Number,简称为IMEI)、本机号码、通话状态、联系人、位置信息、短信记录、通话记录、其他应用数据库信息等收集个人信息的行为。
[0009] B)修改用户个人信息。移动应用软件存在:无故增加、修改、删除联系人、短信记录、通话记录、其他应用数据库信息等修改用户个人信息的行为。
[0010] C)其他安全风险。移动应用软件在整个生命周期中是否静默安装、捆绑恶意插件、强制开机自启动、无法正常退出、无法正常卸载、卸载时有恶意行为、卸载不干净等行为。
[0011] 2)通信网络侧安全风险
[0012] 移动应用软件在调用智能终端相关通信功能时存在安全风险,如一些恶意程序通过调用系统通信功能实现后台走流量、后台发短信等恶意目的造成用户的流量耗费、费用损失等不良后果。通信网络侧的安全风险主要包括:
[0013] A)移动应用软件直接进行拨打电话、发送短信、发送彩信、发送邮件等功能时,未经过加密处理,且通信过程不够安全保密,可能会被监听或远程控制。
[0014] B)移动应用软件在使用移动通信网络连接、WiFi网络连接时,存在擅自打开、关闭移动通信网络连接与WiFi网络连接开关的行为;在智能终端移动通信网络连接、WiFi网络连接开启的情况下,存在未向用户明示且未经用户允许直接通过移动通信或WiFi网络进行网络连接的行为。
[0015] C)移动应用软件在使用近场通信(Near Field Communication,简称为NFC)、蓝牙(bluetooth)时,存在擅自打开、关闭NFC与bluetooth开关的行为;在智能终端NFC、bluetooth开启的情况下,存在未向用户明示且未经用户允许直接调用NFC、bluetooth功能的行为。
[0016] 3)系统接口侧安全风险
[0017] 系统接口侧安全风险主要包括:移动应用软件在调用移动操作系统接口时,存在非法使用应用程序编程接口(Application Programming Interface,简称为API)避开权限验证、非法使用第三方ROM系统API接口,造成安全漏洞的行为。
[0018] (二)基于危害结果的分类
[0019] 1)恶意扣费
[0020] 恶意扣费是指未告知用户或未征得用户同意的情况下,通过后台或者欺骗用户等手段,订购各种类型的收费业务,给用户造成费用损失。目前一些应用软件的使用或部分功能的使用要付费,但都没有明确的收费提示或以暗示性的语言诱导用户误操作等导致用户被扣费,这些行为具有恶意扣费的属性。
[0021] 2)隐私窃取
[0022] 隐私窃取是指未告知用户或未征得用户同意的情况下,收集并传送用户的个人信息,造成用户的隐私泄露。这些信息包括:联系人信息、短信数据、通话记录、彩信数据、通话录音、定位信息、IMEI号、IMSI号、本地其他应用软件数据库信息等。
[0023] 3)远程控制
[0024] 远程控制是指未告知用户或未征得用户同意的情况下,通过远程命令控制终端或相关程序执行一系列操作。目前大部分木马都有文件管理、屏幕监控、键盘记录、音频监听、视频监控等远程控制相关的功能。
[0025] 4)恶意传播
[0026] 恶意传播是指通过自动化的感染、复制、下载等方式将程序本身或其变种等其他恶意代码进行传播扩散的行为。目前大部分蠕虫、捆绑软件都具有恶意传播的属性。
[0027] 5)资费消耗
[0028] 资费消耗是指未告知用户或未征得用户同意的情况下,通过后台或自动发送短信、彩信、拨打电话、连接网络等方式给用户造成费用损失。如部分应用通过后台私自发送增值服务短信或定制各类SP(Service Provider)付费业务,强制或私自连接恶意收费站点导致用户被扣费。
[0029] 6)系统破坏
[0030] 系统破坏是指通过终止进程、恶意篡改、非法劫持等手段导致智能终端或一些正常应用程序的功能无法正常使用、性能无法达到满足,通过干扰、损坏、断开移动通信网络手段等导致合法业务、服务无法正常执行的行为。如功能相似的应用程序强制终止竞争对手应用进程的行为。
[0031] 7)诱骗欺诈
[0032] 诱骗欺诈是指通过恶意篡改、非法伪造短信、彩信、通讯录、通话记录等方式欺骗用户,以达到不正当目的。如不少应用在用户不知情或未授权的情况下,将网址或链接加入用户手机浏览器书签的行为。
[0033] 8)流氓行为
[0034] 流氓行为是指对用户的个人信息、终端系统以及通信网络不造成直接损害的其他流氓行为。如卸载不干净、无法正常卸载、静默安装、强制开机自启动、各种广告行为等。
[0035] (三)基于恶意行为所用技术的分类
[0036] 1)蠕虫、病毒
[0037] 手机上的一段恶意程序,可能会破坏手机系统或窃取用户隐私,蠕虫利用网络进行自身复制和传播,传播途径包括:电子邮件、短消息、网络等途径。
[0038] 2)木马
[0039] 木马程序是恶意代码的一种,通常分为客户端和服务端,有远程控制、文件管理、视频监控、音频监控、屏幕控制等功能。
[0040] 3)用户级Rootkit
[0041] 用户模式的Rootkit定义为“能够长时间存在于计算机上或者自动化信息系统上的未被发现的处于用户空间(user land)的用户程序和代码集合”。恶意程序利用用户级Rootkit可以再Ring3层进行很多恶意操作。
[0042] 4)内核级Rootkit
[0043] 内核级Rootkit可以通过直接修改内核来添加隐藏代码实现控制系统的功能。内核级Rootkit可实现进程管理、安全控制、内存管理等功能。
[0044] 5)混合型恶意代码
[0045] 目前大部分的恶意代码一般综合使用了多种攻击技术,攻击能力不断强化。
[0046] 现有的评估方法仅从风险来源、造成的危害角度或恶意行为使用的技术考虑,将应用软件粗略地划分成安全与恶意两类。随着移动应用软件的功能越来越强大,很多软件可能同时属于上述分类中的几类,甚至是非常模糊的状态,现行的分类方法已经无法对软件不同程度的安全性进行准确的描述与评估,使整体的定性策略难以做到精准。另外不同的人由于各种各样的原因,对应用软件的安全性都有侧重点,而目前的评价体系很难做到。

发明内容

[0047] 本发明提供了一种应用软件安全级别的确定方法及装置,以至少解决现有技术无法对应用软件不同程度的安全性进行准确的描述与评估的问题。
[0048] 根据本发明的一个方面,提供了一种应用软件安全级别的确定方法,包括:接收待测应用软件,获取所述待测应用软件的至少一个敏感行为;接收用户输入的信息,根据所述信息及所述至少一个敏感行为确定每个敏感行为的权值,其中所述权值表示用户对敏感行为的敏感程度;在终端模拟运行环境中触发所述待测应用软件执行其所有行为,获取所述待测应用软件对每个敏感行为的防御方式,并根据所述防御方式确定每个敏感行为的防御系数;根据每个敏感行为的权值和防御系数,确定所述待测应用软件的安全级别。
[0049] 在一个实施例中,获取所述待测应用软件的至少一个敏感行为包括:识别所述待测应用软件的至少一个权限,确定所述至少一个权限中与预设的敏感行为匹配的权限作为所述待测应用软件的敏感行为,得到所述至少一个敏感行为。
[0050] 在一个实施例中,所述接收用户输入的信息,根据所述信息及所述至少一个敏感行为确定每个敏感行为的权值包括:根据所述信息对所述至少一个敏感行为进行分类,得到不同敏感程度的至少一个敏感行为集合;按照预设的敏感程度与权值的对应关系,确定每个敏感行为集合的权值,其中同一敏感行为集合中的所有敏感行为的权值均与其所属的敏感行为集合的权值相同。
[0051] 在一个实施例中,根据每个敏感行为的权值和防御系数,确定所述待测应用软件的安全级别包括:计算所述敏感行为集合中的每个敏感行为的权值与防御系数的乘积,并计算乘积之和,得到第一计算结果;计算所述敏感行为集合中的所有敏感行为的权值之和,得到第二计算结果;计算所述第一计算结果与所述第二计算结果的比值,得到所述敏感行为集合的安全级别系数;计算每个敏感行为集合的权值与安全级别系数的乘积,并计算乘积之和,得到第三计算结果;计算所有敏感行为集合的权值之和,得到第四计算结果;计算所述第三计算结果和所述第四计算结果的比值,得到所述待测应用软件的安全级别系数,其中,所述安全级别系数越大表示所述待测应用软件的安全级别越高。
[0052] 在一个实施例中,根据所述防御方式确定每个敏感行为的防御系数包括:按照预设的防御方式与防御系数的对应关系,确定每个敏感行为的防御系数;其中,所述防御方式包括:执行敏感行为时既没有提示也没有获得用户授权;执行敏感行为时提示;执行敏感行为之前提示但未给用户授权的机会;执行敏感行为之前提示且获得用户授权后执行该敏感行为。
[0053] 在一个实施例中,在根据每个敏感行为的权值和防御系数,确定所述待测应用软件的安全级别之后,所述方法还包括:输出所述至少一个敏感行为及其防御方式和防御系数,以及所述待测应用软件的安全级别系数。
[0054] 在一个实施例中,所述敏感行为包括:系统功能类行为、通信网络类行为和系统接口类行为;其中,系统功能类行为包括:读联系人、读短信记录、读彩信记录、读位置信息、读通话记录、本地录音、摄像或拍照、对用户数据的读操作、对用户数据的写操作、读取网络连接状态、安装方式、启动方式、退出方式、升级方式、卸载方式、内置链接或认证签名;通信网络类行为包括:拨打电话、三方通话、发送短信、发送邮件、打开无线局域网络(Wireless Local Area Networks,简称为WLAN)数据连接、关闭WLAN数据连接、定位功能或通话录音;系统接口类行为包括:打开蓝牙数据连接、关闭蓝牙数据连接、打开红外数据连接、关闭红外数据连接、打开近场通信(Near Field Communication,简称为NFC)数据连接、关闭NFC数据连接。
[0055] 根据本发明的另一个方面,提供了一种应用软件安全级别的确定装置,包括:接收模块,用于接收待测应用软件;第一获取模块,用于获取所述待测应用软件的至少一个敏感行为;第一确定模块,用于接收用户输入的信息,根据所述信息及所述至少一个敏感行为确定每个敏感行为的权值,其中所述权值表示用户对敏感行为的敏感程度;第二获取模块,用于在终端模拟运行环境中触发所述待测应用软件执行其所有行为,获取所述待测应用软件对每个敏感行为的防御方式;第二确定模块,用于根据所述防御方式确定每个敏感行为的防御系数;第三确定模块,用于根据每个敏感行为的权值和防御系数,确定所述待测应用软件的安全级别。
[0056] 在一个实施例中,所述第一获取模块,具体用于识别所述待测应用软件的至少一个权限,确定所述至少一个权限中与预设的敏感行为匹配的权限作为所述待测应用软件的敏感行为,得到所述至少一个敏感行为。
[0057] 在一个实施例中,所述第一确定模块包括:分类单元,用于根据所述信息对所述至少一个敏感行为进行分类,得到不同敏感程度的至少一个敏感行为集合;确定单元,用于按照预设的敏感程度与权值的对应关系,确定每个敏感行为集合的权值,其中同一敏感行为集合中的所有敏感行为的权值均与其所属的敏感行为集合的权值相同。
[0058] 在一个实施例中,所述第三确定模块包括:第一计算单元,用于计算所述敏感行为集合中的每个敏感行为的权值与防御系数的乘积,并计算乘积之和,得到第一计算结果;第二计算单元,用于计算所述敏感行为集合中的所有敏感行为的权值之和,得到第二计算结果;第三计算单元,用于计算所述第一计算结果与所述第二计算结果的比值,得到所述敏感行为集合的安全级别系数;第四计算单元,用于计算每个敏感行为集合的权值与安全级别系数的乘积,并计算乘积之和,得到第三计算结果;第五计算单元,用于计算所有敏感行为集合的权值之和,得到第四计算结果;第六计算结果,用于计算所述第三计算结果和所述第四计算结果的比值,得到所述待测应用软件的安全级别系数,其中,所述安全级别系数越大表示所述待测应用软件的安全级别越高。
[0059] 在一个实施例中,所述第二确定模块,具体用于按照预设的防御方式与防御系数的对应关系,确定每个敏感行为的防御系数;其中,所述防御方式包括:执行敏感行为时既没有提示也没有获得用户授权;执行敏感行为时提示;执行敏感行为之前提示但未给用户授权的机会;执行敏感行为之前提示且获得用户授权后执行该敏感行为。
[0060] 在一个实施例中,所述装置还包括:输出模块,用于输出所述至少一个敏感行为及其防御方式和防御系数,以及所述待测应用软件的安全级别系数。
[0061] 在一个实施例中,所述敏感行为包括:系统功能类行为、通信网络类行为和系统接口类行为;其中,系统功能类行为包括:读联系人、读短信记录、读彩信记录、读位置信息、读通话记录、本地录音、摄像或拍照、对用户数据的读操作、对用户数据的写操作、读取网络连接状态、安装方式、启动方式、退出方式、升级方式、卸载方式、内置链接或认证签名;通信网络类行为包括:拨打电话、三方通话、发送短信、发送邮件、打开WLAN数据连接、关闭WLAN数据连接、定位功能或通话录音;系统接口类行为包括:打开蓝牙数据连接、关闭蓝牙数据连接、打开红外数据连接、关闭红外数据连接、打开NFC数据连接、关闭NFC数据连接。
[0062] 通过本发明的应用软件安全级别的确定方法及装置,根据用户定制化的需求以及对应用软件所执行的行为的敏感程度,对应用软件安全级别进行确定,得到量化的应用软件安全级别;并且,可以根据用户需求或针对不同行业定制化地进行应用软件安全级别的确定,实现了应用软件安全级别确定的定制化且能够得到较为准确的安全级别,使用户清楚安装该应用软件所带来的安全风险程度,为用户选择安装应用软件提供重要参考,从而可以降低安装应用软件导致的风险。并且,按照用户对不同行为的敏感程度进行分类并设置相应的权值,以及考虑到应用软件执行敏感行为时的具体防御方式,可以进一步提高安全级别确定的准确性。另外,可以保留用户修改权值和防御系数的接口,以便用户可以根据实际需要自行设置。

附图说明

[0063] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的限定。在附图中:
[0064] 图1是本发明实施例的应用软件安全级别的确定方法的流程图;
[0065] 图2是本发明一实施例的应用软件安全级别的确定装置的结构框图;
[0066] 图3是本发明另一实施例的应用软件安全级别的确定装置的结构框图。

具体实施方式

[0067] 下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
[0068] 本发明实施例提供了一种应用软件安全级别的确定方法。图1是本发明实施例的应用软件安全级别的确定方法的流程图,如图1所示,该方法包括以下步骤:
[0069] 步骤S101,接收待测应用软件,获取待测应用软件的至少一个敏感行为。
[0070] 步骤S102,接收用户输入的信息,根据该信息及至少一个敏感行为确定每个敏感行为的权值。权值可以表示用户对敏感行为的敏感程度。
[0071] 步骤S103,在终端模拟运行环境中触发待测应用软件执行其所有行为,获取待测应用软件对每个敏感行为的防御方式,并根据防御方式确定每个敏感行为的防御系数。防御方式指的是执行敏感行为时或执行敏感行为之前是否提示用户以及是否在得到用户授权之后才执行该敏感行为,可以理解为防御程度。
[0072] 步骤S104,根据每个敏感行为的权值和防御系数,确定待测应用软件的安全级别。得到的安全级别是具体的数值,而非现有技术中的定性的安全级别。
[0073] 通过本发明实施例的应用软件安全级别的确定方法,根据用户定制化的需求以及对应用软件(或称为应用程序)所执行的行为的敏感程度,对应用软件安全级别进行确定,得到量化的应用软件安全级别;并且,可以根据用户需求或针对不同行业定制化地进行应用软件安全级别的确定,实现了应用软件安全级别确定的定制化且能够得到较为准确的安全级别,使用户清楚安装该应用软件所带来的安全风险程度,为用户选择安装应用软件提供重要参考,从而可以降低安装应用软件导致的风险。
[0074] 应用软件可以安装在计算机、手机或平板电脑等终端上。
[0075] 步骤S101中获取待测应用软件的至少一个敏感行为可以通过以下步骤实现:识别待测应用软件的至少一个权限,确定至少一个权限中与预设的敏感行为匹配的权限作为待测应用软件的敏感行为,得到至少一个敏感行为。本实施例中,预先设置一些敏感行为,对于具体的应用软件,自动进行识别,如果其权限包含在预设的敏感行为中,则认为该权限是该应用软件的敏感行为。
[0076] 在一个实施例中,步骤S102接收用户输入的信息,根据该信息及至少一个敏感行为确定每个敏感行为的权值可以包括:根据上述信息对至少一个敏感行为进行分类,得到不同敏感程度的至少一个敏感行为集合;按照预设的敏感程度与权值的对应关系,确定每个敏感行为集合的权值,其中同一敏感行为集合中的所有敏感行为的权值均与其所属的敏感行为集合的权值相同。
[0077] 本实施例中,用户可以通过终端的屏幕或键盘输入信息,其输入的信息可以是表示该用户对某一敏感行为的敏感程度,例如,终端屏幕显示一个敏感行为以及四种敏感程度(非常敏感、比较敏感、敏感和不敏感),用户通过触屏选择比较敏感,则确定了该敏感行为分类到比较敏感的类别。由此,得到了不同敏感程度的几个敏感行为集合,敏感行为集合可以通过列表的形式存储或展现。权值表示敏感程度,可以是权值越大,对该行为敏感程度越高。权值可以使用预设的值,例如,预设比较敏感的行为集合的权值为2,不敏感的行为集合的权值为0。本实施例中,按照用户对不同行为的敏感程度分类,使得得到的安全级别结果更为准确。当然,也可以保留用户修改权值的接口,以便用户可以根据实际需要自行修改权值。
[0078] 步骤S103中根据防御方式确定每个敏感行为的防御系数包括:按照预设的防御方式与防御系数的对应关系,确定每个敏感行为的防御系数。
[0079] 其中,防御方式包括:
[0080] 1)执行敏感行为时既没有提示也没有获得用户授权;
[0081] 2)执行敏感行为时提示;
[0082] 3)执行敏感行为之前提示但未给用户授权的机会;
[0083] 4)执行敏感行为之前提示且获得用户授权后执行该敏感行为。
[0084] 预设的防御方式与防御系数的对应关系,例如,某游戏有发送短信来定制功能的行为,若发送前明确告知用户且用户可选择,防御系数为1;若发送前仅告知用户但用户没有选择权,则防御系数为0.6;若发送后告知用户,则防御系数为0.3;若发送行为既未告知用户也未给用户提供选择权,则防御系数为0。在确定安全级别时,考虑到应用软件执行敏感行为时的具体防御方式,可以进一步提高安全级别确定的准确性。
[0085] 需要说明的是,可以保留用户修改防御系数的接口,以便用户可以根据实际需要自行修改防御系数。
[0086] 在一个实施例中,步骤S104根据每个敏感行为的权值和防御系数,确定待测应用软件的安全级别可以包括:
[0087] 计算敏感行为集合中的每个敏感行为的权值与防御系数的乘积,并计算乘积之和,得到第一计算结果;
[0088] 计算敏感行为集合中的所有敏感行为的权值之和,得到第二计算结果;
[0089] 计算第一计算结果与第二计算结果的比值,得到敏感行为集合的安全级别系数;
[0090] 计算每个敏感行为集合的权值与安全级别系数的乘积,并计算乘积之和,得到第三计算结果;
[0091] 计算所有敏感行为集合的权值之和,得到第四计算结果;
[0092] 计算第三计算结果和第四计算结果的比值,得到待测应用软件的安全级别系数,其中,安全级别系数越大表示待测应用软件的安全级别越高。
[0093] 例如,有四个敏感行为集合,某个敏感行为集合的安全级别系数SD1计算如下:其中,该集合包括三个敏感行为,其防御系数分别为P1至P3,W1表
示该敏感行为集合的权值,且该集合中每个敏感行为的权值均为W1。待测应用软件的安全级别系数(Safety Degree,简称为SD)为:
[0094]
[0095] 其中,W1至W4分别表示四个敏感行为集合的权值,SD1至SD4分别表示四个敏感行为集合的安全级别系数。上述公式是进行归一化,由上述公式可知SD的值处于范围[0,1],应用软件的SD值越大,说明其安全级别越高。
[0096] 由此,可以计算得到量化的安全级别系数,给用户提供更为精准的安全级别参考。
[0097] 在步骤S104之后,上述方法还可以包括:输出至少一个敏感行为及其防御方式和防御系数,以及待测应用软件的安全级别系数。输出内容可以是被测APP的安全级别,例如,可以输出总体安全级别系数,还可以输出总体安全级别系数以及对应于该系数的安全级别,如总体安全级别系数为0.8,对应的安全级别为高。除此之外,还可以输出具体的至少一个敏感行为及其对应的防御方式、防御系数以及各集合的安全级别系数。方便用户查看。
[0098] 上述敏感行为可以包括但不限于以下几类:系统功能类行为、通信网络类行为和系统接口类行为;
[0099] 其中,系统功能类行为包括:读联系人、读短信记录、读彩信记录、读位置信息、读通话记录、本地录音、摄像或拍照、对用户数据的读操作、对用户数据的写操作(修改或删除)、读取网络连接状态、安装方式、启动方式、退出方式、升级方式、卸载方式、内置链接或认证签名;
[0100] 通信网络类行为包括:拨打电话、三方通话、发送短信、发送邮件、打开WLAN数据连接、关闭WLAN数据连接、定位功能或通话录音;
[0101] 系统接口类行为包括:打开蓝牙数据连接、关闭蓝牙数据连接、打开红外数据连接、关闭红外数据连接、打开NFC数据连接、关闭NFC数据连接。
[0102] 由此可见,按照用户对不同行为的敏感程度进行分类并设置相应的权值,以及考虑到应用软件执行敏感行为时的具体防御方式,实现了应用软件安全级别确定的定制化且能够得到较为准确的安全级别,提高了安全级别确定的准确性,为用户选择安装应用软件提供重要参考,从而可以降低安装应用软件导致的风险。
[0103] 基于同一发明构思,本发明实施例还提供了一种应用软件安全级别的确定装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于应用软件安全级别的确定装置解决问题的原理与应用软件安全级别的确定方法相似,因此应用软件安全级别的确定装置的实施可以参见应用软件安全级别的确定方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0104] 图2是本发明一实施例的应用软件安全级别的确定装置的结构框图,如图2所示,该装置包括:接收模块21、第一获取模块22、第一确定模块23、第二获取模块24、第二确定模块25和第三确定模块26。下面对其结构进行详细说明。
[0105] 接收模块21,用于接收待测应用软件;
[0106] 第一获取模块22,连接至接收模块21,用于获取待测应用软件的至少一个敏感行为;
[0107] 第一确定模块23,连接至第一获取模块22,用于接收用户输入的信息,根据该信息及至少一个敏感行为确定每个敏感行为的权值,其中权值表示用户对敏感行为的敏感程度;
[0108] 第二获取模块24,连接至接收模块21,用于在终端模拟运行环境中触发待测应用软件执行其所有行为,获取待测应用软件对每个敏感行为的防御方式;
[0109] 第二确定模块25,连接至第二获取模块24,用于根据防御方式确定每个敏感行为的防御系数;
[0110] 第三确定模块26,连接至第一确定模块23和第二确定模块25,用于根据每个敏感行为的权值和防御系数,确定待测应用软件的安全级别。
[0111] 通过本发明实施例的应用软件安全级别的确定装置,根据用户定制化的需求以及对应用软件(或称为应用程序)所执行的行为的敏感程度,对应用软件安全级别进行确定,得到量化的应用软件安全级别;并且,可以根据用户需求或针对不同行业定制化地进行应用软件安全级别的确定,实现了应用软件安全级别确定的定制化且能够得到较为准确的安全级别,使用户清楚安装该应用软件所带来的安全风险程度,为用户选择安装应用软件提供重要参考,从而可以降低安装应用软件导致的风险。
[0112] 应用软件安全级别的确定装置可以安装在终端中,例如手机、平板电脑等。
[0113] 第一获取模块22具体用于识别待测应用软件的至少一个权限,确定至少一个权限中与预设的敏感行为匹配的权限作为待测应用软件的敏感行为,得到至少一个敏感行为。
[0114] 第一确定模块23包括:分类单元,用于根据信息对至少一个敏感行为进行分类,得到不同敏感程度的至少一个敏感行为集合;确定单元,连接至分类单元,用于按照预设的敏感程度与权值的对应关系,确定每个敏感行为集合的权值,其中同一敏感行为集合中的所有敏感行为的权值均与其所属的敏感行为集合的权值相同。
[0115] 第三确定模块26包括:第一计算单元,连接至第一确定模块和第二确定模块,用于计算敏感行为集合中的每个敏感行为的权值与防御系数的乘积,并计算乘积之和,得到第一计算结果;第二计算单元,连接至第一计算单元,用于计算敏感行为集合中的所有敏感行为的权值之和,得到第二计算结果;第三计算单元,连接至第一计算单元和第二计算单元,用于计算第一计算结果与第二计算结果的比值,得到敏感行为集合的安全级别系数;第四计算单元,连接至第三计算单元,用于计算每个敏感行为集合的权值与安全级别系数的乘积,并计算乘积之和,得到第三计算结果;第五计算单元,连接至第一确定模块,用于计算所有敏感行为集合的权值之和,得到第四计算结果;第六计算结果,连接至第四计算单元和第五计算单元,用于计算第三计算结果和第四计算结果的比值,得到待测应用软件的安全级别系数,其中,安全级别系数越大表示待测应用软件的安全级别越高。
[0116] 第二确定模块25具体用于按照预设的防御方式与防御系数的对应关系,确定每个敏感行为的防御系数。
[0117] 其中,防御方式包括:执行敏感行为时既没有提示也没有获得用户授权;执行敏感行为时提示;执行敏感行为之前提示但未给用户授权的机会;执行敏感行为之前提示且获得用户授权后执行该敏感行为。
[0118] 在一个实施例中,如图3所示,上述装置还可以包括:输出模块27,连接至第三确定模块26,用于输出至少一个敏感行为及其防御方式和防御系数,以及待测应用软件的安全级别系数。
[0119] 当然,上述模块划分只是一种示意划分,本发明并不局限于此。该装置还可以仅包括:获取模块和确定模块,获取模块执行与接收、获取相关的功能,确定模块执行与确定、计算相关的功能,只要能实现本发明的目的的模块划分,均应属于本发明的保护范围。
[0120] 由此可见,按照用户对不同行为的敏感程度进行分类并设置相应的权值,以及考虑到应用软件执行敏感行为时的具体防御方式,实现了应用软件安全级别确定的定制化且能够得到较为准确的安全级别,提高了安全级别确定的准确性,为用户选择安装应用软件提供重要参考,从而可以降低安装应用软件导致的风险。
[0121] 为了对上述应用软件安全级别的确定方法及装置进行更为清楚的解释,下面结合具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。
[0122] 本实施例中对移动应用软件进行安全级别评估,预设敏感行为列表如表1所示:
[0123] 表1敏感行为列表
[0124]获取粗略位置 通过WiFi或移动基站的方式获取用户粗略的经纬度信息,精
[0125]  度较低
获取精确位置 通过GPS芯片接收卫星的定位信息,定位精度较高
获取网络状态 获取网络信息状态,如当前的网络连接是否有效
获取WiFi状态 获取当前WiFi接入的状态以及WLAN热点的信息
账户管理 获取账户验证信息,例如GMail账户信息
使用蓝牙 允许程序连接配对过的蓝牙设备
蓝牙管理 允许程序进行发现和配对新的蓝牙设备
手机禁用 能够禁用手机,非常危险
应用删除时广播 当一个应用在删除时触发一个广播
收到短信时广播 当收到短信时触发一个广播
WAP PUSH广播 WAP PUSH服务收到后触发一个广播
拨打电话 允许程序从非系统拨号器里输入电话号码
通话权限 允许程序拨打电话,替换系统的拨号器界面
拍照权限 允许访问摄像头进行拍照
改变组件状态 改变组件是否启用状态
改变配置 允许当前应用改变配置,如定位
改变网络状态 改变网络状态如是否能联网
改变WiFi多播状态 改变WiFi多播状态
改变WiFi状态 改变WiFi状态
控制定位更新 允许获得移动网络定位信息改变
删除缓存文件 允许应用删除缓存文件
删除应用 允许程序删除应用
获取任务信息 允许程序获取当前或最近运行的应用
安装应用程序 允许程序安装应用
访问网络 访问网络连接,可能产生GPRS流量
软格式化 允许程序执行软格式化,删除系统配置信息
修改电话状态 修改电话状态,如飞行模式,但不包含替换系统拨号器界面
格式化文件系统 格式化可移动文件系统,比如格式化清空SD卡
允许NFC通讯 允许程序执行NFC近距离通讯操作,用于移动支持
处理拨出电话 允许程序监视,修改或放弃播出电话
读取日程提醒 允许程序读取用户的日程信息
读取联系人 允许应用访问联系人通讯录信息
[0126]屏幕截图 读取帧缓存用于屏幕截图
读取收藏夹和历史记录 读取浏览器收藏夹和历史记录
读取系统日志 读取系统底层日志
读取电话状态 访问电话状态
读取短信内容 读取短信内容
重启设备 允许程序重新启动设备
开机自动允许 允许程序开机自动运行
接收彩信 接收彩信
接收短信 接收短信
接收Wap Push 接收WAP PUSH信息
录音 录制声音通过手机或耳机的麦克
发送短信 发送短信
使用振动 允许振动
写入日程提醒 写入日程,但不可读取
写入联系人 写入联系人,但不可读取
写入外部存储 允许程序写入外部存储,如SD卡上写文件
写入收藏夹和历史记录 写入浏览器历史记录或收藏夹,但不可读取
读写系统敏感设置 允许程序读写系统安全敏感的设置项
编写短信 允许编写短信
[0127] 本实施例中,应用软件安全级别的确定具体如下:
[0128] 1)用户提取并上传被测应用软件(APP)到评估系统(相当于上述应用软件安全级别的确定装置)。该被测APP可以是下载的也可以是拷贝的。
[0129] 2)评估系统接收到被测APP后,自动识别被测APP所拥有的权限(即APP能够执行的行为),并列出评估系统认为的敏感行为形成敏感行为列表集合L。此处,评估系统认为的敏感行为,即表1所示的预设敏感行为,被测APP的权限中属于表1的即可列入敏感行为列表集合L。
[0130] 3)评估系统根据用户的定制化需求,对列出的敏感行为列表集合L分为三类:非常敏感、比较敏感和敏感,即三个敏感行为子集L1、L2和L3。对每个敏感行为进行赋值(权值W,表示敏感程度),例如,默认情况下子集L1(包括m个敏感行为)中的每个元素权值均为3,L2(包括n个敏感行为)中的每个元素权值均为2,L3(包括l个敏感行为)中的每个元素权值均为1,即:
[0131] W1[1]=W1[2]=…=W1[m]=3;
[0132] W2[1]=W2[2]=…=W2[n]=2;
[0133] W3[1]=W3[2]=…=W3[l]=1。
[0134] 需要说明的是,可以保留用户修改权值的接口,以便用户可以根据实际需要自行修改权值。
[0135] 4)评估系统内置有终端模拟运行环境,在该环境中使被测APP尽可能遍历所有可能的路径和目录,尽量保证被测APP所有功能、所有行为都得到触发,记录被测APP所执行的各个行为的防御方式。
[0136] 根据被测APP对每个敏感行为的防御方式,对每个敏感行为进行防御系数(P)赋值,例如,可以分以下几种情况:
[0137] P=0,APP执行某敏感行为时既无提示也没有授权;
[0138] P=0.3,APP执行某敏感行为时告知;
[0139] P=0.6,APP执行某敏感行为之前告知,但未给用户授权的机会;
[0140] P=1,APP执行某敏感行为既事前告知用户且获得用户授权才执行。
[0141] 需要说明的是,可以保留用户修改防御系数的接口,以便用户可以根据实际需要自行修改防御系数。
[0142] 5)根据权值W和防御系数P确定安全级别。
[0143] A、敏感行为子集的安全级别系数
[0144] 将敏感行为子集的安全级别系数定义为每一个敏感行为权值与防御系数的乘积之和与权值之和的比。
[0145] 敏感行为子集L1的安全级别系数
[0146] 敏感行为子集L2的安全级别系数
[0147] 敏感行为子集L3的安全级别系数
[0148] B、总体安全级别系数
[0149] 被测APP的安全级别系数
[0150] 上述公式是进行归一化,分母6为三个子集的权值之和。由上述公式可知SD的值处于范围[0,1],移动应用软件的SD值越大,说明其安全级别越高。
[0151] 6)输出
[0152] 输出内容可以是被测APP的安全级别,例如,可以输出总体安全级别系数,还可以输出总体安全级别系数以及对应于该系数的安全级别,如总体安全级别系数为0.8,对应的安全级别为高。除此之外,还可以输出具体的敏感行为列表集合L及其对应的防御方式、防御系数以及各子集的安全级别系数。
[0153] 上述方法流程可以通过以下四个功能逻辑模块来实现:定制化敏感行为输入模块、定制化防御系数输入模块、应用程序自动化全路径遍历模块、评级分析模块。
[0154] 定制化敏感行为输入模块(相当于上述接收模块21和第一获取模块22),用户根据业务需要或其他因素对不同的行为敏感程度不同,可以根据用户的输入列出定制化的敏感行为。
[0155] 定制化防御系数输入模块(相当于上述第一确定模块23和第二确定模块25),用户根据不同的业务需求,对不同敏感行为的重视程度不一样,对每一个输入的敏感行为设定权值,并根据应用程序自动化全路径遍历模块记录的防御方式设置防御系数。
[0156] 应用程序自动化全路径遍历模块(相当于上述第二获取模块24),内装有移动终端模拟运行环境,模拟终端的各种行为,将待测APP置于该模拟运行环境中,触发被测APP所有可能的执行路径,记录被测APP所有行为及敏感行为的防御方式。
[0157] 评级分析模块(相当于上述第三确定模块26),用于根据定制化的输入及程序运行情况的记录,计算并输出所有实际执行的敏感行为及安全级别。
[0158] 综上所述,根据用户定制化的需求以及对应用软件(或称为应用程序)所执行的行为的敏感程度,对应用软件安全级别进行确定。对应用软件(或称为应用程序)的权限进行分析,并进一步建立应用软件安全级别评价的层次结构,利用模糊综合评判对应用软件所需的操作权限的组合的风险进行量化,得到应用软件的安全级别,使用户清楚安装该应用软件所带来的安全风险程度,为用户选择安装应用软件提供重要参考,从而可以降低安装应用软件导致的风险。
[0159] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0160] 应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0161] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0162] 此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0163] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0164] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0165] 以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。