一种基于深度学习的安卓应用管理系统及方法

文档序号:1755128 发布日期:2019-11-29 浏览:31次 >En<

阅读说明:本技术 一种基于深度学习的安卓应用管理系统及方法 (A kind of Android application management system and method based on deep learning ) 是由 王志强 李格菲 池亚平 张健毅 吕欣 邹潇湘 钱榕 张克君 卓子寒 于 2019-08-27 设计创作,主要内容包括:本发明涉及一种基于深度学习的安卓应用管理系统及方法,包括特征提取模块、深度学习模块以及分类管理模块。特征提取模块以安卓应用为输入,使用静态提取方式提取特征形成特征文档。深度学习模块使用卷积神经网络作为学习模型。一方面对特征文档与标识值组成的样本集进行训练与学习,得到学习成熟的模型;另一方面以特征文档作为输入,使用学习成熟的模型,准确的分类管理安卓应用,提高应用商店的管理效率。(The present invention relates to a kind of Android application management system and method based on deep learning, including characteristic extracting module, deep learning module and Classification Management module.Characteristic extracting module is applied with Android as input, is extracted feature using static extracting mode and is formed feature documents.Deep learning module uses convolutional neural networks as learning model.On the one hand the sample set that feature documents are formed with ident value is trained and is learnt, obtain the mature model of study;On the other hand using feature documents as input, using the model that study is mature, accurate Classification Management Android application improves the efficiency of management of application shop.)

一种基于深度学习的安卓应用管理系统及方法

技术领域

本发明涉及移动终端安全技术领域,特别涉及一种基于深度学习的安卓应用管理系统及方法。

背景技术

安卓作为当前最为流行的移动智能操作系统,设备和用户数量庞大,应用种类丰富,其安全性受到了广泛关注。安卓应用商店通常根据应用开发人员指定的类别或通过分析应用开发人员提供的描述对应用进行分类。但是这个过程很容易被恶意应用的开发人员操纵以逃避检测,例如将无资质金融类应用添加更易通过审核的资讯类应用界面。此外随着安卓应用数量的***式增长,如何快速准确地对安卓应用进行自动分类,提高管理效率是至关重要的。但是目前针对安卓应用分类管理的研究较少。在最相关的工作中,Shabtai等人利用静态分析和机器学习算法对工具类和游戏类安卓应用进行分类管理;Wang Wei等人同样利用静态分析技术,应用多种机器学习算法对24类安卓应用进行分类管理。但是机器学习算法对复杂函数和分类问题表达受限,泛化能力受到制约,准确率较低。

发明内容

本发明的技术解决问题:克服现有技术的不足,提供一种基于深度学习的安卓应用管理系统及方法,利用静态提取方式提取安卓应用特征,以确保分类管理效率;将安卓应用的特征文档处理为二维的特征矩阵,形式化为“图片”,采用在图片识别领域表现出色的卷积神经网络算法对大量安卓应用进行准确的分类管理。

本发明的技术解决方案:基于深度学习的安卓应用管理系统及方法,如图1所示包括:

特征提取模块,所述特征提取模块被配置为以带有不同类别标识值的多类安卓应用为输入,使用静态提取方式提取多类特征形成特征文档;

深度学习模块,所述深度学习模块被配置为使用卷积神经网络对由所述特征文档与类别标识值组成的样本集进行训练,得到学习成熟的模型;同时以所述特征文档作为输入,使用所述学习成熟的模型作为最终的分类管理模型;

分类管理模块,所述分类管理模块采用浏览器/服务器架构,其中服务器端被配置为通过调用所述的特征提取模块与深度学习模块得到的学习成熟的模型作为安卓应用的分类管理模型;浏览器端被配置为面向安卓应用商店进行上传大量新的安卓应用,通过服务器端的模型对安卓应用进行分类管理。

本发明基于深度学习的安卓应用管理系统实现步骤如下:

1.采集大量带有类别标识的安卓应用,批量提取静态特征形成特征文档;

1.1.解压缩安卓应用,获取文件AndroidManifest.xml;

1.2.使用AXMLPrinter2和TinyXml工具解析AndroidManifest.xml文件,得到安卓应用的权限特征、软硬件特征以及意图特征作为静态特征;对于每一个安卓应用,将其所包含的静态特征提取到文本文档中作为特征文档;

2.使用卷积神经网络对由特征文档和类别标识值组成的样本集进行训练,得到学习成熟的模型,所述卷积神经网络由嵌入层、卷积层、池化层和全连接层构成;

2.1.嵌入层:遍历所有的特征文档获取非重复静态特征,将其映射到低维向量表示,嵌入维度为300,由此获得每个静态特征对应的向量表示。将每个安卓应用的特征文档及其标识值输入到卷积神经网络的嵌入层,将特征文档所包含的静态特征转换为向量表示,得到二维的特征矩阵。

2.2.卷积层:在嵌入层之后并行连接4个卷积层conv1、conv2、conv3和conv4,卷积核的大小分别为2x300、3x300、4x300和5x300,卷积核的个数均为64个。

2.3.池化层:四个卷积层后分别连接最大池化层pooling1、pooling2、pooling3和pooling4,每个池化层得到64个最优特征。

2.4.全连接层:池化层后通过全连接层送入softmax分类器,进行分类管理。

3.通过浏览器将安卓应用批量上传到服务器,服务器调用学习成熟的模型进行分类管理。

本发明与现有技术相比的优点在于:

(1)本发明是对安卓应用管理方法的一种有效补充。利用静态提取方式从安卓应用中提取三类特征,分别是权限特征、软硬件特征以及意图特征,相比于动态分析,消耗更少的资源和时间。因为本发明的应用场景主要为安卓应用商店,所以仅利用静态分析方法提取特征,以确保分类管理效率。此外,该系统具有一定的拓展性,可以根据安卓应用商店对于管理类别的划分进行自由调整,同时也可以加入更多的特征,为更加准确地进行安卓应用分类管理打下良好基础。

(2)将每个安卓应用的特征转化为二维的特征矩阵,可视化为“图片”,结合在图像识别方面表现优秀的卷积神经网络模型可以更加高效的学习特征,达到更高的分类管理准确率和更快的分类管理速度。

附图说明

图1为本发明系统的流程图;

图2为本发明系统中的卷积神经网络的结构。

具体实施方式

下面结合附图对本发明进行详细说明

如图1所示,本发明基于深度学习的安卓应用管理系统由特征提取模块、深度学习模块以及分类管理模块构成。

以下说明以小米应用商店应用分类管理为例,整个实现过程如下:

(1)从小米应用商店爬虫下载多类安卓应用,包括游戏类应用、图书阅读类应用、影音视听类应用、聊天社交类应用、体育运动类应用、新闻资讯类应用、时尚购物类应用、金融理财类应用以及摄影摄像类应用,并对其中分类错误的应用进行手动校正,将以上九类应用顺序编号为1~9,作为类别标识值;

(2)解压缩安卓应用,获取文件AndroidManifest.xml,使用AXMLPrinter2和TinyXml工具解析AndroidManifest.xml文件,得到安卓应用的权限特征、软硬件特征以及意图特征作为静态特征,即标签<uses-permission>,<uses-feature>,<intent-filter>中的内容。对于每一个安卓应用,将其所包含的静态特征提取到文本文档中作为特征文档;

(3)使用卷积神经网络对由特征文档和类别标识值组成的样本集进行训练,得到学习成熟的模型。卷积神经网络包括嵌入层、卷积层、池化层和全连接层。

(3.1)嵌入层:遍历所有的特征文档获取非重复静态特征,将其映射到低维向量表示,嵌入维度为300,由此获得每个静态特征对应的向量表示。将每个安卓应用的特征文档及其标识值输入到卷积神经网络的嵌入层,将特征文档所包含的静态特征转换为向量表示,得到二维的特征矩阵。

(3.2)卷积层:在嵌入层之后并行连接4个卷积层conv1、conv2、conv3和conv4,卷积核的大小分别为2x300、3x300、4x300和5x300,卷积核的个数均为64个。

(3.3)池化层:四个卷积层后分别连接最大池化层pooling1、pooling2、pooling3和pooling4,每个池化层得到64个最优特征。

(3.4)全连接层:池化层后通过全连接层送入softmax分类器,进行分类管理。

(3.5)在所有安卓应用中随机选取80%作为训练样本,其中10%作为验证样本,其余20%作为测试样本。每次训练过程中,观察验证样本的准确率和损失值,当损失值不再降低时停止训练,得到学习成熟的模型,作为最终的分类管理模型。

(3.6)本发明的实验检测结果如表1所示,利用深度学习模块得到的分类管理模型对20%测试样本进行测试,结果显示六种类型安卓应用全部分类正确,三种类型安卓应用中各有一个应用分类错误。证明了本系统的分类有效性。可对后续大量安卓应用进行快速准确的分类管理。

表1

(4)安卓应用商店可以通过浏览器将安卓应用批量上传到服务器,服务器调用学习成熟的模型进行分类管理。

7页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种数据指令分析方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!