CN109284370B - 一种基于深度学习的移动应用描述与权限保真性判定方法及装置 - Google Patents
一种基于深度学习的移动应用描述与权限保真性判定方法及装置 Download PDFInfo
- Publication number
- CN109284370B CN109284370B CN201810950490.XA CN201810950490A CN109284370B CN 109284370 B CN109284370 B CN 109284370B CN 201810950490 A CN201810950490 A CN 201810950490A CN 109284370 B CN109284370 B CN 109284370B
- Authority
- CN
- China
- Prior art keywords
- mobile application
- authority
- word
- description
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Abstract
本发明公开一种基于深度学习的移动应用描述与权限保真性判定方法及装置,该装置用于实现上述方法,所述方法包括描述文本的预处理是将移动应用A的描述分句后,转化为深度神经网络进行分类时所用的词向量矩阵;每个句子s∈S对应零个或多个权限,利用训练的深度神经网络模型输出每个句子的分类类别,每个类别代表一种权限,整合移动应用A所有描述语句的类别输出,假设Y为模型输出类别对应的移动应用A的预测权限集,判定移动应用描述与权限保真性。本发明通过获得更丰富语义信息,更简单的词法分析及语法分析,获得更为准确的保真判定结果。
Description
技术领域
本发明涉及移动应用技术领域,特别涉及一种基于深度学习的移动应用描述与权限保真性判定方法及装置。
背景技术
移动互联网作为将传统互联网技术、移动通信技术和智能终端有机结合的产物,是传统互联网的延伸和演进方向,以其高便携性的优势发展迅速。移动应用是移动互联网发展的核心。2016年,移动应用数量同比大幅增长,最新数据显示,截止2017年3月,仅Google Play应用商店中可用的应用数量已经超过280万。诚然,移动互联网融合了移动通信随时随地通信的优势和互联网的开放性和丰富业务能力的特点,但在发展过程中,也逐渐削弱传统通信网络安全性较为容易管理的特点。另外,移动应用的广泛传播也使移动终端所承载的个人信息愈加丰富,这给移动终端用户带来新的威胁和风险,使移动应用安全问题成为焦点。
移动应用由许多独立开发者开发,用户难以确定这些应用程序的可信赖性。在Android系统中,任何移动应用程序如果想要访问系统资源或者其它应用程序的资源和数据,必须在Manifest.xml文件中显式的进行声明,且用户授权后才可以访问敏感信息(例如联系人列表,短信,GPS等)。开发者往往声明尽可能多的权限来满足移动应用丰富的功能,然而同时它也给恶意应用提供了可乘之机。比如Timothy Vidas在2011年发表的文献[1]中指出,很多软件都存在过度申请权限的问题,而大部分用户即使仔细查看权限列表仍然不了解这些权限意味着什么,就直接点击同意授予权限。因此,向用户直观解释Android应用需要声明权限的意义存在一定的难度,更不用说太多恶意应用会额外声明过多的权限等等。
在Android应用商店中,应用的功能描述是开发人员向用户传达应用功能的唯一手段。Android应用的描述权限保真性是指应用的功能描述能真实地反映应用所请求的权限。不满足描述权限保真性的Android应用很可能是恶意软件。基于描述与权限保真性来进行恶意应用检测是近年来常用的检测方法之一。
现有研究权限与描述相关性的工作主要有两个分支:基于关键词的方法和基于语义的方法。基于关键词进行保真性判断的方法简单、时间复杂度低。然而,尽管Watanabe等人[2]设计的ACODE框架结合信息检索中相关权重概念提取到更有效的关键词,但是仍避免不了基于关键词方法本身的限制:易混淆和缺乏语义推理。基于语义的方法中,Pandita等人[3]提出WHYPER框架,同时抽取权限解释说明和应用描述中有关系统资源与此资源上的操作,建立描述与权限的对应关系,但其弊端在于有限的语义模式、需从权限相关API调用图推导和缺乏自动化。Zhengyang Qu等人[4]提出AutoCog框架,自动的将描述语义与权限语义相关联,描述的一些功能可以映射到相应的权限形成DP模式对。诸姣[5]使用TF-IDF和LSI等自然语言处理技术得到每种类别的Android应用与各系统权限之间的关联关系模型。上述研究有一个共同点,即均使用自然语言处理技术分析自然语言的语义,建立Android应用的功能描述语义与系统权限语义之间的关联关系模型。不可避免会遇到自然语言处理研究本身的难点,如词义的消歧,句法的模糊性等问题。另外,这类模型由于是无监督学习,会出现实际中并不存在的但相关度却很高的关联关系,并且训练模型耗时较长。特别的,现有技术全部都只考虑描述与权限的一对一关系,不能判定整体的保真性。
发明内容
本发明的主要目的是提出一种基于深度学习的移动应用描述与权限保真性判定方法,旨在克服以上问题。
为实现上述目的,本发明提出的一种基于深度学习的移动应用描述与权限保真性判定方法,包括如下步骤:
S10将移动应用描述D分句成由若干句子s组成句子集S,按句生成词向量矩阵Q;
S20使用深度神经网络结构造文本分类模型来训练学习移动应用描述D与权限类别的从属关系,设每个句子s∈S对应零个或多个权限,利用训练的深度神经网络模型输出每个句子的分类类别,每个类别代表一种权限,输出移动应用描述D的类别,整合所有移动应用描述D的类别输出作为模型输出类别对应的移动应用的预测权限集Y;
S30根据移动应用声明权限情况,判定移动应用描述D与权限保真性。
优选地,所述S10之前还包括深度神经网络模型的训练,具体为:
S01构造词向量语料库中预训练的词向量模型:词向量模型训练将句子序列中的单词转为向量空间中的词向量,将向量空间上的相似度表示文本语义上的相似度,生成预训练的词向量模型;
S02训练深度神经网络分类模型:
在移动应用整体层面分别采样正负训练样本,其中训练样本的数据集包括应用描述句子和对应指示的权限类别;
组织网络层的模型结构,将词向量矩阵载入神经网络的Embedding层,设置trainable=False该层权重不可再训练,完全使用预训练的词向量,Embedding层后连接深度神经网络结构的核心单元,最后用一个sigmoid全连接输出,对每个权限类别分别做二分类,以1代表有体现该权限,以0代表无体现该权限,得到全部权限类别输出列表;
其中是第i个句子可以指示第j个权限的预测概率,是对应的真实标签,N为训练样本的总数即描述语句总数,C为类别总数即权限的数量,在取得误差后,采用RMSprop优化算法来将误差反向传播以更新模型中的参数,最小化目标函数,最终得到最优化的模型。
优选地,所述词向量模型训练将句子序列中的单词转为向量空间中的词向量之后还包括:S011对每个生成的词向量设置存储于词向量语料库的索引编号,以句子序列中的每个单词对应一个索引编号,每个索引编号寻对应一个词向量。
优选地,所述深度神经网络结构的核心单元包括卷积神经网络的卷积层与池化层,或者是,循环神经网络的GRU或LSTM单元。
优选地,所述S10包括如下步骤:
S101去停用词及英文描述词干化:假设SW为停用词集,剔除移动应用描述D中的停用词;对英文文本进行词干化操作,获得每个单词的词干部分;
S102将描述文本分句:用语句分隔符将移动应用描述D划分为句子集S;
S103生成词向量矩阵:从预训练的词向量语料库中找到该移动应用描述D中每个词和它所对应的词向量,按句生成每个句子s∈S的词向量矩阵Q∈Rl×k,l为句子s的总单词数,k为词向量维数。
优选地,所述停用词集SW中除了包含通用停用词,还包括移动应用描述领域内特定的停用词。
优选地,所述S30中判定移动应用描述D与权限保真性包括两个判定粒度,假设P为该移动应用声明的权限集:
(1)判定某个权限的保真性:对于移动应用声明的某个权限p∈P,同时p∈Y,则该移动应用描述D与该某个权限p具有保真性;否则不保真;
(2)判定移动应用整体保真性:对于移动应用声明的任一权限p∈P,都有p∈Y,则该移动应用描述D与其任一权限p具有保真性,否则不保真。
本发明还公开了一种基于深度学习的移动应用描述与权限保真性判定装置,包括:
生成模块,用于将移动应用描述D分句成由若干句子s组成句子集S,按句生成词向量矩阵Q;
构造关系模块,用于使用深度神经网络结构造文本分类模型来训练学习移动应用描述D与权限类别的从属关系,设每个句子s∈S对应零个或多个权限,利用训练的深度神经网络模型输出每个句子的分类类别,每个类别代表一种权限,输出移动应用描述D的类别,整合所有移动应用描述D的类别输出作为模型输出类别对应的移动应用的预测权限集Y;
判定模块,用于根据移动应用声明权限情况,判定移动应用描述D与权限保真性。
优选地,还包括训练模块,用于训练深度神经网络模型。
所述训练模块包括:
训练词向量模型单元,用于构造词向量语料库中预训练的词向量模型:词向量模型训练将句子序列中的单词转为向量空间中的词向量,将向量空间上的相似度表示文本语义上的相似度,生成预训练的词向量模型,训练词向量模型单元还包括索引子单元,用于对每个生成的词向量设置存储于词向量语料库的索引编号,以句子序列中的每个单词对应一个索引编号,每个索引编号寻对应一个词向量;
训练深度神经网络分类模型单元,用于在移动应用整体层面分别采样正负训练样本,其中训练样本的数据集包括应用描述句子和对应指示的权限类别;
组织网络层的模型结构单元,用于将词向量矩阵载入神经网络的Embedding层,设置trainable=False该层权重不可再训练,完全使用预训练的词向量,Embedding层后连接深度神经网络结构的核心单元,最后用一个sigmoid全连接输出,对每个权限类别分别做二分类,以1代表有体现该权限,以0代表无体现该权限,得到全部权限类别输出列表;
其中是第i个句子可以指示第j个权限的预测概率,是对应的真实标签,N为训练样本的总数即描述语句总数,C为类别总数即权限的数量,在取得误差后,采用RMSprop优化算法来将误差反向传播以更新模型中的参数,最小化目标函数,最终得到最优化的模型。
优选地,所述生成模块包括:
去词干单元,用于去停用词及英文描述词干化:假设SW为停用词集,剔除移动应用描述D中的停用词;对英文文本进行词干化操作,获得每个单词的词干部分;
分句单元,用于将描述文本分句:用语句分隔符将移动应用描述D划分为句子集S;
生成单元,用于生成词向量矩阵:从预训练的词向量语料库中找到该移动应用描述D中每个词和它所对应的词向量,按句生成每个句子s∈S的词向量矩阵Q∈Rl×k,l为句子s的总单词数,k为词向量维数。
与现有的技术相比,本发明具有以下优点和技术效果:
1.本发明在预训练的词向量模型生成语料库,词向量是在全部移动应用描述文本上训练的,充分保留和挖掘移动应用描述文本特有的用词与特性。另外训练过程使用word2vec利用了词的上下文,语义信息更加地丰富。
2.去停用词步骤中,停用词集SW中除了包含通用停用词,还包括移动应用描述领域内特定的停用词,以便删除那些不是通用停用词但通常用于移动应用程序描述中的术语。
3.本发明使用深度神经网络结构造文本分类模型来训练学习移动应用程序描述语句与权限类别的从属关系。充分利用端到端网络的优势,无需人工干预特征提取,相比之前研究中复杂的词法分析、语法分析更简单便捷且效果突出。
4.本发明整合移动应用描述每个分句对应的权限类别,通过与应用声明的权限对比,不仅可以检查某个权限的使用情况,还可以判定整体的保真性。
5.通过对安卓系统基于权限的安全机制的深入研究,以及应用商店关于应用的描述必须准确表达其功能并符合所声明的权限,可以得出结论,那些权限与功能描述的保真性较低的应用是非常可疑的。显式地指出这些应用的描述和声明的权限的不一致性,给出准确的判定结果,此项工作不仅可以帮助用户进一步识别恶意应用程序,还可以向开发人员反馈关于描述的不足,并且进一步帮助加强应用商店整体可信度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明的判定移动应用描述与权限保真性的方法流程图;
图2为1D卷积神经网络结构图;
图3为循环神经网络中GRU(Gated Recurrent Unit)神经网络结构图;
图4为词向量语料库文件格式的样例;
图5为描述文本预处理实例;
图6为所述基于深度学习的移动应用描述与权限保真性判定装置的功能模块图,
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
如图1-6所示,本发明提出的一种基于深度学习的移动应用描述与权限保真性判定方法,包括如下步骤:
S10将移动应用描述D分句成由若干句子s组成句子集S,按句生成词向量矩阵Q;
S20使用深度神经网络结构造文本分类模型来训练学习移动应用描述D与权限类别的从属关系,设每个句子s∈S对应零个或多个权限,利用训练的深度神经网络模型输出每个句子的分类类别,每个类别代表一种权限,输出移动应用描述D的类别,整合所有移动应用描述D的类别输出作为模型输出类别对应的移动应用的预测权限集Y;
S30根据移动应用声明权限情况,判定移动应用描述D与权限保真性。
优选地,所述S10之前还包括深度神经网络模型的训练,具体为:
S01构造词向量语料库中预训练的词向量模型:词向量模型训练将句子序列中的单词转为向量空间中的词向量,将向量空间上的相似度表示文本语义上的相似度,生成预训练的词向量模型;
S02训练深度神经网络分类模型:
在移动应用整体层面分别采样正负训练样本,其中训练模型的数据集包括应用描述句子和对应指示的权限类别;
组织网络层的模型结构,将词向量矩阵载入神经网络的Embedding层,设置trainable=False该层权重不可再训练,完全使用预训练的词向量,Embedding层后连接深度神经网络结构的核心单元,最后用一个sigmoid全连接输出,对每个权限类别分别做二分类,以1代表有体现该权限,以0代表无体现该权限,得到全部权限类别输出列表;
其中是第i个句子可以指示第j个权限的预测概率,是对应的真实标签,N为训练样本的总数即描述语句总数,C为类别总数即权限的数量,在取得误差后,采用RMSprop优化算法来将误差反向传播以更新模型中的参数,最小化目标函数,最终得到最优化的模型。
优选地,所述词向量模型训练将句子序列中的单词转为向量空间中的词向量之后还包括:S011对每个生成的词向量设置存储于词向量语料库的索引编号,以句子序列中的每个单词对应一个索引编号,每个索引编号寻对应一个词向量。
优选地,所述深度神经网络结构的核心单元包括卷积神经网络的卷积层与池化层,或者是,循环神经网络的GRU或LSTM单元。
优选地,所述S10包括如下步骤:
S101去停用词及英文描述词干化:假设SW为停用词集,剔除移动应用描述D中的停用词;对英文文本进行词干化操作,获得每个单词的词干部分;
S102将描述文本分句:用语句分隔符将移动应用描述D划分为句子集S;
S103生成词向量矩阵:从预训练的词向量语料库中找到该移动应用描述D中每个词和它所对应的词向量,按句生成每个句子s∈S的词向量矩阵Q∈Rl×k,l为句子s的总单词数,k为词向量维数。
优选地,所述停用词集SW中除了包含通用停用词,还包括移动应用描述领域内特定的停用词。
优选地,所述S30中判定移动应用描述D与权限保真性包括两个判定粒度,假设P为该移动应用声明的权限集:
(1)判定某个权限的保真性:对于移动应用声明的某个权限p∈P,同时p∈Y,则该移动应用描述D与该某个权限p具有保真性;否则不保真;
(2)判定移动应用整体保真性:对于移动应用声明的任一权限p∈P,都有p∈Y,则该移动应用描述D与其任一权限p具有保真性,否则不保真。
本发明还提出一种基于深度学习的移动应用描述与权限保真性判定装置,该基于深度学习的移动应用描述与权限保真性判定装置用于实现上述方法,由于本基于深度学习的移动应用描述与权限保真性判定装置采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
所述的基于深度学习的移动应用描述与权限保真性判定装置,包括:
生成模块10,用于将移动应用描述D分句成由若干句子s组成句子集S,按句生成词向量矩阵Q;
构造关系模块20,用于使用深度神经网络结构造文本分类模型来训练学习移动应用描述D与权限类别的从属关系,设每个句子s∈S对应零个或多个权限,利用训练的深度神经网络模型输出每个句子的分类类别,每个类别代表一种权限,输出移动应用描述D的类别,整合所有移动应用描述D的类别输出作为模型输出类别对应的移动应用的预测权限集Y;
判定模块30,用于根据移动应用声明权限情况,判定移动应用描述D与权限保真性。
优选地,还包括训练模块40,用于训练深度神经网络模型。
所述训练模块40包括:
训练词向量模型单元,用于构造词向量语料库中预训练的词向量模型:词向量模型训练将句子序列中的单词转为向量空间中的词向量,将向量空间上的相似度表示文本语义上的相似度,生成预训练的词向量模型,训练词向量模型单元还包括索引子单元,用于对每个生成的词向量设置存储于词向量语料库的索引编号,以句子序列中的每个单词对应一个索引编号,每个索引编号寻对应一个词向量;
训练深度神经网络分类模型单元,用于在移动应用整体层面分别采样正负训练样本,其中训练模型的数据集包括应用描述句子和对应指示的权限类别;
组织网络层的模型结构单元,用于将词向量矩阵载入神经网络的Embedding层,设置trainable=False该层权重不可再训练,完全使用预训练的词向量,Embedding层后连接深度神经网络结构的核心单元,最后用一个sigmoid全连接输出,对每个权限类别分别做二分类,以1代表有体现该权限,以0代表无体现该权限,得到全部权限类别输出列表;
其中是第i个句子可以指示第j个权限的预测概率,是对应的真实标签,N为训练样本的总数即描述语句总数,C为类别总数即权限的数量,在取得误差后,采用RMSprop优化算法来将误差反向传播以更新模型中的参数,最小化目标函数,最终得到最优化的模型。
优选地,所述生成模块包括:
去词干单元,用于去停用词及英文描述词干化:假设SW为停用词集,剔除移动应用描述D中的停用词;对英文文本进行词干化操作,获得每个单词的词干部分;
分句单元,用于将描述文本分句:用语句分隔符将移动应用描述D划分为句子集S;
生成单元,用于生成词向量矩阵:从预训练的词向量语料库中找到该移动应用描述D中每个词和它所对应的词向量,按句生成每个句子s∈S的词向量矩阵Q∈Rl×k,l为句子s的总单词数,k为词向量维数。
下面结合实施例及附图,对本发明作进一步地详细说明,但本发明的实施方式不限于此。
以移动应用8bit runner为例,此应用的描述文本为“8bit runner!It's asimple runner game where you try and beat gravity!The game has achievementsand an online leaderboard so you can try and beat the highscore of yourfriends.”。声明权限集P为{INTERNET}。
本发明判定移动应用描述与权限保真性的步骤如图1所示,深度神经网络结构选取ID卷积神经网络如图2所示。
一、判定移动应用描述与权限保真性的步骤
对移动应用8bit runner,应用1D卷积神经网络分类方法,对移动应用描述与权限保真性进行判定,包括以下步骤:
1.描述文本预处理
描述文本的预处理是将移动应用8bit runner的描述分句后,转化为深度神经网络进行分类时所用的词向量矩阵,分为四步:
(1)去停用词及英文描述词干化。停用词在文本中出现频率很高且不含有具体意义。例子中“a”,“where”,“you”,“and”,“the”,“has”,“so”,“can”,“of”即为停用词,其本身没有特别的意思,并且在文献中出现频率相当高,给文本检索带来一定的噪声,给获取正确的搜索结果带来困难,甚至于无法搜索出预期的正确结果。假设SW为停用词集(以英文为例,包括nltk库中stopwords语料通用的127个英文停用词和100个应用描述领域特定停用词,如app,free等),剔除描述文本中的停用词。使用nltk库中Porter Stemmer工具的stem()函数对每个英文单词进行词干化,获得每个单词的词干部分。如例子中“achievements”转化为其词干“achiev”。
(2)描述文本分句。根据语句分隔符(以英文为例句子分隔符为‘.’‘!’‘?’,以中文为例句子分隔符为‘。’‘!’‘?’)将上一步处理好的文本划分为句子集S。
(3)生成词向量矩阵。从预训练的词向量语料库字典中找到该应用描述中每个词和它所对应的词向量,按句生成每个句子s∈S的词向量矩阵Q∈Rl×k,l为句子s的总单词数,k为词向量维数100。例子中三句话生成3*100,6*100,8*100三个词向量矩阵。
描述文本预处理实例如图4所示。
2.深度神经网络分类
以卷积神经网络为例,每个句子s∈S对应零个或多个权限,分别对三个句子利用训练的卷积神经网络模型输出每个句子的类别列表,每个类别代表一种权限,模型参数训练详见下文。以第三个句子“game achiev onlin leaderboard tri beat highscorfriend”为例,如图2所示。卷积神经网络第一层Embedding层输入为8*100张量。第二层卷积层采用1D卷积,即在一维输入信号上进行邻域滤波,使用训练好的128个滤波器参数进行向量运算将其转为128个一维特征映射。第三层池化层选择MaxPooling取每个一维特征最大值,结合128个滤波信息生成特征向量。最后全连接层sigmoid函数输出每个类别的结果。实验中该句子输出的类别列表为[0,0,…0,1,0],其中权限INTERNET对应项为1,其余为0。假设Y为模型输出类别对应的移动应用A的预测权限集。本例中输出预测权限集为{INTERNET}。
3.判定移动应用描述与权限保真性
判定分为两个粒度:
(1)判定某个权限的保真性。对于A声明的某个权限p∈P,同时p∈Y,则该移动应用的p权限与描述具有保真性;否则不保真。在本例中,对于INTERNET这个权限,既在P中,也在Y中,因此该应用中INTERNET权限与描述保真。
(2)判定移动应用整体保真性。对于A声明的任一权限p∈P,都有p∈Y,则该移动应用描述与权限整体具有保真性,即这些描述句子可以涵盖声明的所有权限;否则不保真。在本例中,P中所有权限在Y中均有对应,因此该应用的描述与权限是整体具有保真性。
二、模型的训练
模型训练包括两部分:
1.构造词向量语料库中预训练的词向量模型
词向量模型训练运用word2vec的思想将句子序列中的单词转为向量空间中的向量表示,而向量空间上的相似度可以用来表示文本语义上的相似度。本发明使用收集到的全部移动应用的描述作为输入,得到针对移动应用描述的特有的词向量。模型训练的核心方法为gensim.models.Word2Vec()函数,该函数有很多可以影响训练速度和质量的参数。min_count可以对字典做截断.。少于min_count次数的单词会被丢弃掉,默认值为5。另外一个是神经网络的隐藏层的单元数size,即训练的词向量维数,本发明取100。假设W为所有移动应用描述文本所含的单词集(以英文为例则为每个不同的单词,以中文为例则为调用python中jieba库分词后的中文词语),将每个wi∈W,表征为100维实数值向量,构造针对移动应用描述的词向量语料库,格式如图4所示。从词向量语料库中解析出每个词和它所对应的词向量,并用字典方式存储,即为上述步骤1(3)中所提及预训练的词向量语料库字典。
2.深度神经网络分类模型
本发明以ID卷积神经网络为例并使用Keras实现整个深度学习网络。Keras是一个高层神经网络API,Keras由Python编写而成并基于Tensorflow或Theano。
(1)数据集:训练模型的数据集中包括应用描述句子和对应指示的权限类别,在移动应用整体层面分别有正负样本。
(2)模型结构:模型是一种组织网络层的方式,将词向量矩阵载入Embedding层,设置trainable=False该层权重不可再训练(之后网络训练中,词向量不再改变)。Embedding层后连接一个1D卷积层,convolutional.Conv1D()函数中设置滤波器(卷积核)个数为128,时域窗大小为5。而后池化层MaxPooling1D()对时域1D信号进行最大值池化,最后用一个sigmoid全连接输出,对每个权限类别分别做二分类(1和0分别代表有无体现该权限),得到全部类别输出列表。本发明研究移动应用中最常见且易发生安全问题的17种权限,共17个类别,因此输出为17维向量。
(3)模型训练:本发明设置二分类对数损失binary_crossentropy()作为目标函数获取当前模型相对于训练集的误差,返回近似分布和真实分布之前的交叉熵。该函数计算
其中p=true_dist和q=coding_dist,在取得误差后,采用RMSprop作为优化器来将误差反向传播以更新模型中的参数,最终得到最优化的模型。
与现有的技术相比,本发明具有以下优点和技术效果:
1、本发明使用预训练的词向量模型生成语料库,词向量是在全部移动应用描述文本上训练的,充分保留和挖掘移动应用描述文本特有的用词与特性。另外训练过程使用word2vec利用了词的上下文,语义信息更加地丰富。
2、去停用词步骤中,停用词集SW中除了包含通用停用词,还包括移动应用描述领域内特定的停用词,以便删除那些不是通用停用词但通常用于移动应用程序描述中的术语。
3、本发明使用深度神经网络结构造文本分类模型来训练学习移动应用程序描述语句与权限类别的从属关系。充分利用端到端网络的优势,无需人工干预特征提取,相比之前研究中复杂的词法分析、语法分析更简单便捷且效果突出。
4、本发明整合移动应用描述每个分句对应的权限类别,通过与应用声明的权限对比,不仅可以检查某个权限的使用情况,还可以判定整体的保真性。
5、通过对安卓系统基于权限的安全机制的深入研究,以及应用商店关于应用的描述必须准确表达其功能并符合所声明的权限,可以得出结论,那些权限与功能描述的保真性较低的应用是非常可疑的。显式地指出这些应用的描述和声明的权限的不一致性,给出准确的判定结果,此项工作不仅可以帮助用户进一步识别恶意应用程序,还可以向开发人员反馈关于描述的不足,并且进一步帮助加强应用商店整体可信度。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (6)
1.一种基于深度学习的移动应用描述与权限保真性判定方法,其特征在于,包括如下步骤:
S10将移动应用描述D分句成由若干句子s组成句子集S,按句生成词向量矩阵Q,包括:
S101去停用词及英文描述词干化:假设SW为停用词集,剔除移动应用描述D中的停用词,对英文文本进行词干化操作,获得每个单词的词干部分;所述停用词集SW中除了包含通用停用词,还包括移动应用描述领域内特定的停用词;
S102将描述文本分句:用语句分隔符将移动应用描述D划分为句子集S;
S103生成词向量矩阵:从预训练的词向量语料库中找到该移动应用描述D中每个词和它所对应的词向量,按句生成每个句子s∈S的词向量矩阵Q∈Rl×k,l为句子s的总单词数,k为词向量维数;
S20使用深度神经网络结构造文本分类模型来训练学习移动应用描述D与权限类别的从属关系,设每个句子s∈S对应零个或多个权限,利用训练的深度神经网络模型输出每个句子的分类类别,每个类别代表一种权限,输出移动应用描述D的类别,整合所有移动应用描述D的类别输出作为模型输出类别对应的移动应用的预测权限集Y;
S30根据移动应用声明权限情况,判定移动应用描述D与权限保真性;
判定移动应用描述D与权限保真性包括两个判定粒度,假设P为该移动应用声明的权限集:
(1)判定某个权限的保真性:对于移动应用声明的某个权限p∈P,同时p∈Y,则该移动应用描述D与该某个权限p具有保真性;否则不保真;
(2)判定移动应用整体保真性:对于移动应用声明的任一权限p∈P,都有p∈Y,则该移动应用描述D与其任一权限p具有保真性,否则不保真。
2.如权利要求1所述的基于深度学习的移动应用描述与权限保真性判定方法,其特征在于,所述S10之前还包括深度神经网络模型的训练,具体为:
S01构造词向量语料库中预训练的词向量模型:词向量模型训练将句子序列中的单词转为向量空间中的词向量,将向量空间上的相似度表示文本语义上的相似度,生成预训练的词向量模型;
S02训练深度神经网络分类模型:
在移动应用整体层面分别采样正负训练样本,其中训练样本的数据集包括应用描述句子和对应指示的权限类别;
组织网络层的模型结构,将词向量矩阵载入神经网络的Embedding层,设置trainable=False该层权重不可再训练,完全使用预训练的词向量,Embedding层后可连接深度神经网络结构的核心单元,最后用一个sigmoid全连接输出,对每个权限类别分别做二分类,以1代表有体现该权限,以0代表无体现该权限,得到全部权限类别输出列表;
3.如权利要求2所述的基于深度学习的移动应用描述与权限保真性判定方法,其特征在于,所述词向量模型训练将句子序列中的单词转为向量空间中的词向量之后还包括:S011对每个生成的词向量设置存储于词向量语料库的索引编号,以句子序列中的每个单词对应一个索引编号,每个索引编号寻对应一个词向量。
4.如权利要求2所述的基于深度学习的移动应用描述与权限保真性判定方法,其特征在于,所述深度神经网络结构的核心单元包括卷积神经网络的卷积层与池化层,或者是,循环神经网络的GRU或LSTM单元。
5.一种基于深度学习的移动应用描述与权限保真性判定装置,其特征在于,包括:
生成模块,用于将移动应用描述D分句成由若干句子s组成句子集S,按句生成词向量矩阵Q;所述生成模块包括:
去词干单元,用于去停用词及英文描述词干化,假设SW为停用词集,剔除移动应用描述D中的停用词;对英文文本进行词干化操作,获得每个单词的词干部分;所述停用词集SW中除了包含通用停用词,还包括移动应用描述领域内特定的停用词;
分句单元,用于分句描述文本,语句分隔符将移动应用描述D划分为句子集S;
生成单元,用于生成词向量矩阵,从预训练的词向量语料库中找到该移动应用描述D中每个词和它所对应的词向量,按句生成每个句子s∈S的词向量矩阵Q∈Rl×k,l为句子s的总单词数,k为词向量维数;
构造关系模块,用于使用深度神经网络结构造文本分类模型来训练学习移动应用描述D与权限类别的从属关系,设每个句子s∈S对应零个或多个权限,利用训练的深度神经网络模型输出每个句子的分类类别,每个类别代表一种权限,输出移动应用描述D的类别,整合所有移动应用描述D的类别输出作为模型输出类别对应的移动应用的预测权限集Y;
判定模块,用于根据移动应用声明权限情况,判定移动应用描述D与权限保真性;
判定移动应用描述D与权限保真性包括两个判定粒度,假设P为该移动应用声明的权限集:
(1)判定某个权限的保真性:对于移动应用声明的某个权限p∈P,同时p∈Y,则该移动应用描述D与该某个权限p具有保真性;否则不保真;
(2)判定移动应用整体保真性:对于移动应用声明的任一权限p∈P,都有p∈Y,则该移动应用描述D与其任一权限p具有保真性,否则不保真。
6.如权利要求5所述的基于深度学习的移动应用描述与权限保真性判定装置,其特征在于,还包括训练模块,用于训练深度神经网络模型,所述训练模块包括:
训练词向量模型单元,用于构造词向量语料库中预训练的词向量模型:词向量模型训练将句子序列中的单词转为向量空间中的词向量,将向量空间上的相似度表示文本语义上的相似度,生成预训练的词向量模型,训练词向量模型单元还包括索引子单元,用于对每个生成的词向量设置存储于词向量语料库的索引编号,以句子序列中的每个单词对应一个索引编号,每个索引编号寻对应一个词向量;
训练深度神经网络分类模型单元,用于采集在移动应用整体层面分别采样正负训练样本,其中训练模型的数据集包括应用描述句子和对应指示的权限类别;
组织网络层的模型结构单元,用于将词向量矩阵载入神经网络的Embedding层,设置trainable=False该层权重不可再训练,完全使用预训练的词向量,Embedding层后连接深度神经网络结构的核心单元,最后用一个sigmoid全连接输出,对每个权限类别分别做二分类,以1代表有体现该权限,以0代表无体现该权限,得到全部权限类别输出列表;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810950490.XA CN109284370B (zh) | 2018-08-20 | 2018-08-20 | 一种基于深度学习的移动应用描述与权限保真性判定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810950490.XA CN109284370B (zh) | 2018-08-20 | 2018-08-20 | 一种基于深度学习的移动应用描述与权限保真性判定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109284370A CN109284370A (zh) | 2019-01-29 |
CN109284370B true CN109284370B (zh) | 2022-05-06 |
Family
ID=65183306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810950490.XA Active CN109284370B (zh) | 2018-08-20 | 2018-08-20 | 一种基于深度学习的移动应用描述与权限保真性判定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284370B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162963B (zh) * | 2019-04-26 | 2021-07-06 | 佛山市微风科技有限公司 | 一种识别过权应用程序的方法 |
CN110096867B (zh) * | 2019-05-13 | 2021-10-08 | 南开大学 | 一种面向Android应用功能的权限推荐方法及系统 |
CN110647745A (zh) * | 2019-07-24 | 2020-01-03 | 浙江工业大学 | 基于深度学习的恶意软件汇编格式的检测方法 |
CN111241294B (zh) * | 2019-12-31 | 2023-05-26 | 中国地质大学(武汉) | 基于依赖解析和关键词的图卷积网络的关系抽取方法 |
CN111753322B (zh) * | 2020-07-03 | 2021-10-01 | 烟台中科网络技术研究所 | 一种移动App权限列表自动核验方法及系统 |
CN112035759A (zh) * | 2020-09-02 | 2020-12-04 | 胡煜昊 | 英文新闻媒体报道的假新闻检测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107103235A (zh) * | 2017-02-27 | 2017-08-29 | 广东工业大学 | 一种基于卷积神经网络的Android恶意软件检测方法 |
CN107392025A (zh) * | 2017-08-28 | 2017-11-24 | 刘龙 | 基于深度学习的恶意安卓应用程序检测方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243318B (zh) * | 2015-08-28 | 2020-07-31 | 小米科技有限责任公司 | 确定用户设备控制权限的方法、装置及终端设备 |
CN107798243A (zh) * | 2017-11-25 | 2018-03-13 | 国网河南省电力公司电力科学研究院 | 终端应用的检测方法和装置 |
-
2018
- 2018-08-20 CN CN201810950490.XA patent/CN109284370B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107103235A (zh) * | 2017-02-27 | 2017-08-29 | 广东工业大学 | 一种基于卷积神经网络的Android恶意软件检测方法 |
CN107392025A (zh) * | 2017-08-28 | 2017-11-24 | 刘龙 | 基于深度学习的恶意安卓应用程序检测方法 |
Non-Patent Citations (1)
Title |
---|
"基于深度学习的Android软件恶意行为检测方法的研究与实现";莫君生;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180315(第 03 期);第I138-133页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109284370A (zh) | 2019-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109284370B (zh) | 一种基于深度学习的移动应用描述与权限保真性判定方法及装置 | |
CN110569366B (zh) | 文本的实体关系抽取方法、装置及存储介质 | |
CN112015859B (zh) | 文本的知识层次抽取方法及装置、计算机设备及可读介质 | |
CN110727779A (zh) | 基于多模型融合的问答方法及系统 | |
CN109471944B (zh) | 文本分类模型的训练方法、装置及可读存储介质 | |
CN111353310A (zh) | 基于人工智能的命名实体识别方法、装置及电子设备 | |
CN110619051B (zh) | 问题语句分类方法、装置、电子设备及存储介质 | |
WO2021103712A1 (zh) | 一种基于神经网络的语音关键词检测方法、装置及系统 | |
CN110852079A (zh) | 文档目录自动生成方法、装置及计算机可读存储介质 | |
CN113095080B (zh) | 基于主题的语义识别方法、装置、电子设备和存储介质 | |
CN113672931B (zh) | 一种基于预训练的软件漏洞自动检测方法及装置 | |
CN112132238A (zh) | 一种识别隐私数据的方法、装置、设备和可读介质 | |
CN114691864A (zh) | 文本分类模型训练方法及装置、文本分类方法及装置 | |
CN111291551A (zh) | 文本处理方法、装置、电子设备及计算机可读存储介质 | |
CN113515593A (zh) | 基于聚类模型的话题检测方法、装置和计算机设备 | |
CN115730237B (zh) | 垃圾邮件检测方法、装置、计算机设备及存储介质 | |
CN114792092B (zh) | 一种基于语义增强的文本主题抽取方法及装置 | |
CN112364649B (zh) | 命名实体的识别方法、装置、计算机设备及存储介质 | |
CN115017356A (zh) | 图像文本对的判断方法和装置 | |
CN115129885A (zh) | 实体链指方法、装置、设备及存储介质 | |
CN114218364A (zh) | 问答知识库扩充方法与装置 | |
CN116050428B (zh) | 意图识别方法、装置、设备及存储介质 | |
CN117521673B (zh) | 一种具备分析训练性能的自然语言处理系统 | |
CN111431863B (zh) | 基于关系网络的主机入侵检测方法 | |
CN113704460B (zh) | 一种文本分类方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230914 Address after: Room 1001, Building 1, Saiyin International Business Center, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province, 311100 Patentee after: Hangzhou Jiajie Network Technology Co.,Ltd. Address before: 510275 No. 135 West Xingang Road, Guangzhou, Guangdong, Haizhuqu District Patentee before: SUN YAT-SEN University |