基于深度学习的智能移动终端敏感数据授权验证缺陷检测方法与流程

文档序号:15852428发布日期:2018-11-07 10:17阅读:229来源:国知局
基于深度学习的智能移动终端敏感数据授权验证缺陷检测方法与流程

本发明涉及网络安全技术领域,尤其涉及一种基于深度学习网络的智能移动终端敏感数据授权验证缺陷检测方法。

背景技术

随着移动互联网的发展,智能移动终端广泛普及并成为日常工作生活中不可缺少的部分。根据相关研究结果,截至2017年第一季度,全球移动用户已经达到76亿;截至2016年第三季度,采用手机和平板等移动设备访问互联网的总流量已超过桌面端,达到51.2%。智能移动终端已经广泛应用于社会各个方面。

开放开源的移动操作系统有效降低了移动芯片厂商、智能移动终端厂商产品开发的门槛,有效推动了智能移动终端产业的发展。据idc分析,2017年第一季度安卓市场份额为85%,ios市场份额为14.7%,安卓作为第一名远超排名第二的ios。据kantarworldpanel分析,截止2017年2月底,国内安卓系统市场份额为81.36%。与此同时,安卓系统的平台开放性导致大量敏感数据的恶意获取和使用,对用户的安全和隐私造成了威胁。由于安卓系统的应用范围广,用户量庞大,安卓系统下应用程序对敏感数据的授权使用就格外重要。

安卓系统中的敏感数据可以分为产品敏感数据和用户敏感数据两类。产品敏感数据界定为:泄露后直接对企业安全造成重大损失或有助于帮助攻击者获取企业内部信息,并可能帮助攻击者尝试更多的攻击路径的信息,如登陆密码等。用户敏感数据界定为:1)用户隐私是指直接通过该数据或者结合该数据与其它的信息,可以识别出自然人的信息;2)一旦发生数据泄露事件,可以被恶意人员利用并在黑市卖到钱、或者造成伤害,如手机号码等。

安卓敏感数据可以通过权限获取,如使用android.permission.read_sms权限读取短信内容,使用android.permission.read_contacts允许应用访问联系人通讯录信息。目前对敏感数据授权采用的方式为:在应用安装使用前,给出用户授权告警信息,列出正在安装应用所需的系统权限信息;而仅通过给出的应用所需系统权限信息,用户并不能判断对敏感数据的授权使用是否合理。应用程序对不必要的敏感数据权限的获取会对用户个人隐私和信息安全造成很大隐患。



技术实现要素:

本发明提供一种基于深度学习网络的智能移动终端敏感数据授权验证缺陷检测方法,可以使安卓用户方便、快速、准确地验证与检测程序中敏感数据授权的缺陷,并及时对应用权限授权进行修改,从而提高安卓系统对敏感数据的保护。

为实现上述目的,本发明采用如下技术方案:

一种基于深度学习网络的智能移动终端敏感数据授权验证缺陷检测方法,包括:

对安卓应用程序的组件的基本信息进行分析与筛选,获取敏感数据权限授权特征信息;

针对所述敏感数据权限授权特征信息,对所述安卓应用程序进行描述,构建深度学习网络特征向量;

结合所述深度学习网络特征向量,建立深度学习网络模型;

使用所述深度学习网络模型,对所述安卓应用程序中敏感数据授权验证进行检测,识别敏感数据授权验证的缺陷。

可选地,所述对安卓应用程序的组件的基本信息进行分析与筛选,获取敏感数据权限授权特征信息包括:对安卓应用程序进行逆向,获得androidmanifest.xml文件,对该文件进行分析,获取安卓应用程序权限信息;分析所述安卓应用程序权限信息,提取与敏感数据授权相关的特征信息。

可选地,所述对安卓应用程序的组件的基本信息进行分析与筛选,获取敏感数据权限授权特征信息包括:在droidbox中运行安卓应用程序并执行,触发多种执行情况,监控其运行时情况并进行分析,从中提取与敏感数据授权相关的特征信息。

可选地,所述针对所述敏感数据权限授权特征信息,对所述安卓应用程序进行描述,构建深度学习网络特征向量包括:对所述敏感数据权限授权特征信息,按使用频次进行排序,选取其中使用频次较高的,作为安卓应用程序深度学习网络模型的特征向量。

可选地,所述敏感数据权限授权特征信息包括:对所述敏感数据权限授权特征信息,按影响严重性进行排序,选取运行时关键特征信息,作为安卓应用程序深度学习网络模型的特征向量。

可选地,所述结合所述深度学习网络特征向量,建立深度学习网络模型包括:采用多层自底向上的波尔茨曼机和一层有监督的反向传播网络组成的深层网络,以敏感数据授权特征作为深度学习网络模型的向量,训练深度学习网络模型。

可选地,所述使用所述深度学习网络模型,对所述安卓应用程序中敏感数据授权验证进行检测,识别敏感数据授权验证的缺陷包括:提取所述安卓应用程序敏感数据授权特征,使用所述深度学习网络模型对所述安卓应用程序敏感数据授权特征进行检测,输出安卓应用程序敏感数据授权验证的缺陷。

本发明提供的基于深度学习网络的智能移动终端敏感数据授权验证缺陷检测方法,为安卓应用程序使用者提供了敏感数据使用权限的检测方法和授权依据,安卓应用程序使用者可以更加方便、快速、准确地验证程序中的敏感数据权限问题,及时修改敏感数据授权权限,从而提高安卓应用程序在敏感数据的安全性。

附图说明

图1为本发明实施例提供的智能移动终端敏感数据授权验证缺陷检测结构图;

图2为本发明实施例提供的基于深度学习网络的智能移动终端敏感数据授权验证缺陷检测方法的流程图;

图3为本发明实施例提供的智能移动终端敏感数据特征提取流程图;

图4为本发明实施例提供的深度学习模型建立示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

深度学习是近年来出现的机器学习领域方法。其具有多层非线性映射的深层结构,可以对复杂的函数进行学习。多层映射可以在分类任务强化输入数据的区分能力方面,削弱不相关因素。

下面结合具体实施例对本发明基于深度学习网络的智能移动终端敏感数据授权验证缺陷检测方法进行详细说明。

本实施例的智能移动终端敏感数据授权验证缺陷检测的整体结构如图1所示,主体为硬件装置,即智能移动终端,其中承载着敏感数据授权验证缺陷检测工具,该工具的输入为安卓应用程序包,输出为敏感数据授权验证的缺陷结果。

本实施例的敏感数据授权验证缺陷检测工具的流程图如图2所示,主要包括如下步骤:

1)获取应用程序组件的基本信息。该步骤从应用程序原始信息和应用程序运行时信息两个方面,获取敏感数据权限授权特征信息。

具体地,智能移动终端敏感数据特征提取流程图如图3所示,详细说明如下:

1a)逆向安卓应用程序包,利用apktool、aapt(androidassertpackaingtool)等工具对安卓应用程序进行解析,获得安卓应用程序的文件,转到1b)。

1b)解析androidmanifest.xml文件,转到1c)。

其中,androidmanifest.xml是每个android应用程序中必须的文件,它位于整个项目的根目录。androidmanifest.xml是android应用程序的入口文件,它描述了package中暴露的组件(activities、services等等),他们各自的实现类,各种能被处理的数据和启动位置。

1c)获取安卓原始应用程序中敏感数据权限授权相关的特征,转到1g)。

1d)在droidbox中安装安卓应用程序,运行安卓应用程序,尽可能触发多种情况,并对应用程序运行情况进行监控,转到1e)。

其中,droidbox是一款开源软件,droidbox的核心技术称作taintdroid,从字面上理解就是污染机器。我们都知道标识隐私数据并不难,只要牢牢卡住相关的api调用就可以了,问题是如何知道这些隐私数据被泄漏出去了。恶意程序拿到隐私数据后往往会做一系列的操作,包括截取、拼装、加密甚至是进程间传递,这使得隐私数据的跟踪变得相当困难。所以关键技术就演变成了:如何跟踪数据。taintdroid的思想就是将所有隐私数据变成污染源,在程序运行的过程中如果想对污染源进行截取、拼装、加密、传递等等操作,那么新生成的数据也会被污染。如果有被污染的数据被泄漏出去,那么就发生了隐私泄漏。

1e)分析安卓应用程序运行情况,获取安卓应用程序行为信息,转到1f)。

1f)分析安卓应用程序行为信息,从中提取敏感数据权限授权相关的特征,转到1g)。

1g)结束。

2)构建深度学习网络模型特征向量。该步骤针对提取到的敏感权限授权特征信息,对安卓应用程序进行特征描述,生成深度学习网络的特征向量。

具体地,构建深度学习网络特征向量的详细说明如下:

2a)选取1c)中使用频次较高的特征信息,作为安卓程序原始敏感权限授权特征信息,转到2c)。

2b)选取1f)中关键运行时特征,作为安卓应用程序运行时敏感数据权限授权特征信息,转到2c)。

2c)根据步骤2a)-2b)得到的特征信息进行合并,生成安卓应用程序深度学习网络模型特征向量,转到2d)。

2d)结束。

3)建立深度学习网络模型。该步骤采用若干层自底向上的受限波尔茨曼机(rbm)和一层有监督的反向传播(bp)网络组成的深层网络,结合深度学习特征向量,训练深度网络模型。

具体地,深度学习网络模型建立示意图如图4所示,详细说明如下:

3a)将当前rbm的层数设置为1,对已经标记好的正常敏感数据授权权限和恶意敏感数据授权权限,执行步骤1)和步骤2),并将2c)中得到的特征向量v作为第一层rbm的输入v0,计算第一层的输出h0并小修改权值w0,完成第一层训练,转到3b)。

3b)固定当前rbm的权重和偏移量,将当前的rbm的输出作为下一个rbm的输入向量,转到3c)。

3c)根据3b)中得到的向量,训练下一个rbm,加到当前rbm的上方,将当前层数值加1,转到3d)。

3d)若当前层数等于深度学习网络模型中rbm的层数,转到3e),否则转到3b)。

3e)使用bp网络有监督训练分类器,并自顶向下反向微调整个深度学习网络模型,转到3f)。

3f)结束。

4)识别敏感数据授权验证的缺陷。该步骤使用深度学习网络,对安卓应用程序中敏感数据授权验证进行检测,输出敏感数据授权验证缺陷检测结果。

具体地,识别敏感数据授权验证缺陷的详细说明如下:

4a)对待测安卓应用程序执行步骤1)和步骤2),转到4b)。

4b)对4a)中获得的待测安卓应用特征向量,输入步骤3)中获得的深度网络模型,输出缺陷检测结果,转到4c)。

4c)结束。

本发明实施例提供的基于深度学习网络的智能移动终端敏感数据授权验证缺陷检测方法,为安卓应用程序使用者提供了敏感数据使用权限的检测方法和授权依据,安卓应用程序使用者可以更加方便、快速、准确地验证程序中的敏感数据权限问题,及时修改敏感数据授权权限,从而提高安卓应用程序在敏感数据的安全性。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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