一种基于服务粒度的隐私权限管理方法与流程

文档序号:15258038发布日期:2018-08-24 20:58阅读:286来源:国知局

发明涉及信息安全技术领域,具体涉及一种基于服务粒度的隐私权限管理方法。



背景技术:

近10年来,移动设备在消费领域乃至此后企业领域的扩展,从速度和数量来看都是相当惊人的。早在2014年,andreessenhorowitz分析师benedictevans就说:“移动正在啃噬这个世界(mobileiseatingtheworld)”。这从来就不是夸张,全球范围内移动设备的数量早就在多年前超越了世界人口总和。从2007年苹果推出初代iphone革新智能手机至今短短11年,移动行业的市场规模都在急速增长。statista的数据显示,2016年全球范围内智能手机的出货量约在15亿台左右,预计到2020年这个数字会增加到17.1亿;到2018年,全球手机用户总数将达到25.3亿人次。

目前,主流的手机操作系统有android和ios。android系统的源代码拥有良好的开放性,使得开发者可以按自己的需求对源代码进行二次开发。ios系统流畅的操作体验、精美的系统界面和较高的安全性都是目前其他手机系统难以媲美的。这两款手机操作系统同样为用户提供了丰富的应用,不同的是android提供了更多免费应用,而ios上的应用更规范和安全。statista最新数据显示,googleplay应用商店1月份的应用数量达到了280万款,苹果appstore应用商店应用数量则为220万。appstore中app下载累计次数达到1400亿次。更有显示移动用户平常87%的时间都是花在移动app之上。

从移动安全的角度来说,移动平台的攻击面正变得越来越大,风险也因此越来越大。此外,android和ios都采用了粗粒度的权限管理机制,即用户自己负责应用级权限申请及授予机制。由于用户缺乏对移动平台隐私泄露的防范意识和专业知识,使移动平台成为隐私泄露的高发区。因此,移动应用亟需一个有效的隐私泄露检测机制。

目前,移动终端针对应用软件进行隐私泄露检测主要包括2种技术:静态分析、动态分析。静态分析是指在不执行计算机程序的条件下,对源代码进行分析,找出代码缺陷。目前主要有leakminer、trustdroid和flowdroid等。动态分析是指通过观察程序在运行过程中的状态,如寄存器内容,函数执行结果,内存使用情况等等,分析函数功能,明确代码逻辑,挖掘可能存在的隐私泄露行为。目前主要有taitdroid、appfence和kynoid等。现有的隐私泄露检测机制针对具体的应用场景在一定程度上避免了移动平台的隐私泄露。但是,现有的隐私泄露检测机制仍存在以下问题:

(1)现存系统普遍检测了应用安装时申请的隐私权限,但实际用户使用的服务只涉及部分隐私权限。这无疑是多考虑了隐私权限的检测数量,这不仅增加了评估阶段的消耗时间,而且降低了检测结果的准确率。

(2)现有的一些服务类应用就是需要用户的隐私信息才能提供正常的服务,比如百度地图、美团外卖需要用户定位、淘宝需要用户个人信息等,仅仅使用静态分析,这些应用同样存在敏感数据流路径。因此很难有效分清应用是合法使用用户隐私还是存在隐私泄露行为。



技术实现要素:

本发明的目的是提供一种应用隐私泄露检测速度快且检测结果准确率高的基于服务粒度的隐私权限管理方法。

为实现上述目的,本发明采用了如下技术方案:所述的一种基于服务粒度的隐私权限管理方法,包括以下步骤:

步骤一:先为所有应用服务绑定的一个其正常运行需要的最小隐私权限集合,所述最小隐私权限集合是指同类应用提供相同服务需要申请的隐私权限集合的交集;

步骤二:获取待测应用的应用服务、并验证应用服务是否合理;

步骤三:获取应用的唯一标识,利用唯一标识从数据库中查询历史检测结果,如果数据库中已经存在应用服务的检测结果,则获取检测结果并结合预设的隐私权限开启限制,为用户选择的应用服务绑定的隐私权限的赋予问题给予合理的提示;如果数据库中没有存在应用服务的检测结果,则执行步骤四;

步骤四:根据应用服务获取需要检测的最小隐私权限集合,然后使用静态分析获取隐私权限相关api之间的敏感数据流路径;

步骤五:将步骤四获取的敏感数据流路径按照特征向量定义量化成特征向量;

步骤六:分析良性样本应用和恶性样本应用的差异敏感数据流路径量化并构建特征样本矩阵;

步骤七:使用机器学习算法对应用服务的特征向量进行学习分类,再确定应用是良性还是恶性,其中恶性是指应用具有隐私泄露行为,良性是指应用安全;

步骤八:根据步骤七得到的检测结果,并结合预设的隐私权限开启限制,为用户选择的应用服务绑定的隐私权限的赋予问题给予合理的提示。

进一步地,前述的一种基于服务粒度的隐私权限管理方法,其中:在步骤二中,系统会验证待测应用是否拥有用户选择使用的应用服务,如果待测应用拥有用户选择使用的应用服务,系统正常向下执行,如果待测应用不拥有用户选择使用的应用服务,系统会提示用户继续选择需要使用的应用服务。

进一步地,前述的一种基于服务粒度的隐私权限管理方法,其中:在步骤二中,验证应用服务是否合理的方法包括以下步骤:

步骤(1):先反编译应用权限申请文件,获取应用申请权限集合;

步骤(2):接着分析判断应用申请权限集合是否包含用户选择的应用服务绑定的最小隐私权限集合,如果应用申请权限集合包含用户选择的应用服务绑定的最小隐私权限集合,则判断用户选择的应用服务合理,如果应用申请权限集合不包含用户选择的应用服务绑定的最小隐私权限集合,则判断用户选择的应用服务不合理。

进一步地,前述的一种基于服务粒度的隐私权限管理方法,其中:隐私权限包括:读通讯录、读用户账号、读日历、读模糊地址、读精确地址、摄像头、录音、读手机状态、读通话记录、读日志、读浏览器历史访问、读短信、网络。

进一步地,前述的一种基于服务粒度的隐私权限管理方法,其中:隐私权限开启限制包括:开启时间段、开启次数。

进一步地,前述的一种基于服务粒度的隐私权限管理方法,其中:应用的唯一标识包括:包名、版本及签名。

通过上述技术方案的实施,本发明的有益效果是:(1)采用了一种服务绑定的概念,为应用提供的每一个服务绑定一个最小隐私权限集合,并使静态分析阶段只追踪应用服务绑定的隐私权限的api之间的敏感数据流路径,从而有效提高应用隐私泄露的检测速度;(2)采用了静态分析有效结合机器学习算法,将静态分析得到的敏感数据流路径特征抽象成特征向量,并使用机器学习算法进行学习分类,提高检测结果准确率。

附图说明

图1为本发明所述的一种基于服务粒度的隐私权限管理方法的流程框图。

具体实施方式

下面结合附图和具体实施例对发明作进一步说明。

如图1所示,所述的一种基于服务粒度的隐私权限管理方法,包括以下步骤:

步骤一:先为所有应用服务绑定的一个其正常运行需要的最小隐私权限集合,所述最小隐私权限集合是指同类应用提供相同服务需要申请的隐私权限集合的交集;

步骤二:获取待测应用的应用服务、并验证应用服务是否合理;

其中:系统会验证待测应用是否拥有用户选择使用的应用服务,如果待测应用拥有用户选择使用的应用服务,系统正常向下执行,如果待测应用不拥有用户选择使用的应用服务,系统会提示用户继续选择需要使用的应用服务;

其中:验证应用服务是否合理的方法包括以下步骤:

步骤(1):先反编译应用权限申请文件,获取应用申请权限集合;

步骤(2):接着分析判断应用申请权限集合是否包含用户选择的应用服务绑定的最小隐私权限集合,如果应用申请权限集合包含用户选择的应用服务绑定的最小隐私权限集合,则判断用户选择的应用服务合理,如果应用申请权限集合不包含用户选择的应用服务绑定的最小隐私权限集合,则判断用户选择的应用服务不合理;

步骤三:获取应用的唯一标识,唯一标识包括:包名、版本及签名,利用唯一标识从数据库中查询历史检测结果,如果数据库中已经存在应用服务的检测结果,则获取检测结果并结合预设的隐私权限开启限制,为用户选择的应用服务绑定的隐私权限的赋予问题给予合理的提示;如果数据库中没有存在应用服务的检测结果,则执行步骤四;上述隐私权限包括:读通讯录、读用户账号、读日历、读模糊地址、读精确地址、摄像头、录音、读手机状态、读通话记录、读日志、读浏览器历史访问、读短信、网络;上述隐私权限开启限制包括:开启时间段、开启次数;

步骤四:根据应用服务获取需要检测的最小隐私权限集合,然后使用静态分析获取隐私权限相关api之间的敏感数据流路径;

步骤五:将步骤四获取的敏感数据流路径按照特征向量定义量化成特征向量;其中,特征向量定义为s={r1,r2,r3...rn,c},其中ri表示敏感数据流路径,下标n表示总的敏感数据流路径个数,c表示应用的性质,其量化形式如上表的任意一行数据所示。

步骤六:分析良性样本应用和恶性样本应用的差异敏感数据流路径量化并构建特征样本矩阵;其中,特征样本矩阵量化定义如下表所示:

特征样本矩阵

如上表所示,特征矩阵的列包含恶意应用和良性应用独自拥有的敏感数据流路径和应用性质来标记应用是良性还是恶性;如果检测的应用存在列出的敏感数据流路径,那么就置1,否则置0;应用如果有隐私泄露行为,那么它的应用性质则为bad,反之则为good;

步骤七:使用机器学习算法对应用服务的特征向量进行学习分类,再确定应用是良性还是恶性,其中恶性是指应用具有隐私泄露行为,良性是指应用安全;

步骤八:根据步骤七得到的检测结果,并结合预设的隐私权限开启限制,为用户选择的应用服务绑定的隐私权限的赋予问题给予合理的提示。

本发明的优点是:(1)采用了一种服务绑定的概念,为应用提供的每一个服务绑定一个最小隐私权限集合,并使静态分析阶段只追踪应用服务绑定的隐私权限的api之间的敏感数据流路径,从而有效提高应用隐私泄露的检测速度;(2)采用了静态分析有效结合机器学习算法,将静态分析得到的敏感数据流路径特征抽象成特征向量,并使用机器学习算法进行学习分类,提高检测结果准确率。

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