CN107798243A - 终端应用的检测方法和装置 - Google Patents

终端应用的检测方法和装置 Download PDF

Info

Publication number
CN107798243A
CN107798243A CN201711196245.6A CN201711196245A CN107798243A CN 107798243 A CN107798243 A CN 107798243A CN 201711196245 A CN201711196245 A CN 201711196245A CN 107798243 A CN107798243 A CN 107798243A
Authority
CN
China
Prior art keywords
layer
sample
terminal applies
input
feature
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.)
Pending
Application number
CN201711196245.6A
Other languages
English (en)
Inventor
郭志民
牛霜霞
吕卓
张鹏
陈崧
魏寒冰
王艳敏
肖寒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
Electric Power Research Institute of State Grid Henan Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
Electric Power Research Institute of State Grid Henan Electric Power Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, Electric Power Research Institute of State Grid Henan Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201711196245.6A priority Critical patent/CN107798243A/zh
Publication of CN107798243A publication Critical patent/CN107798243A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Virology (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种终端应用的检测方法,包括:获取终端应用的样本训练集,所述样本训练集包括正常终端应用和恶意终端应用;利用自编码对所述样本训练集进行预处理,得到预处理后的样本训练集;将所述预处理后的样本训练集输入到预先建立的初始卷积神经网络模型中,训练得到卷积神经网络;利用训练得到的卷积神经网络对待测终端应用进行检测,以确定所述待测终端应用是否为恶意应用。通过本发明,提高了恶意应用的检测准确率,降低了训练消耗时间。

Description

终端应用的检测方法和装置
技术领域
本发明涉及应用程序技术领域,具体而言,涉及一种终端应用的检测方法和装置。
背景技术
随着智能手机的不断推广,人们对智能手机的依赖逐步攀升,智能手机的安全也越来越受到重视。如果智能手机安装了恶意应用,容易致使用户信息被窃取。由于操作系统的不同,安卓系统的智能手机更容易受到恶意应用的攻击。APK是安卓应用的安装包,可以通过静态分析技术提取出安卓应用的静态特征,安卓恶意应用与正常应用的区分在于特征的不同,因此,可以通过静态分析应用的特征实现安卓恶意应用检测。静态分析的方法包括很多种,例如基于特征树的静态分析方法,旨在找到一种新型API表征方法。该方法可以应用在不同层面上,最终达到恶意检测的目的。采用一些机器学习方法也可以用来实现安卓恶意应用检测。这些机器学习方法可以避免手动制作和更新恶意应用检测规则,对于安卓恶意应用层出不穷的现状有着很重要的意义。
深度学习是机器学习中一个新的研究领域,起源于对人工神经网络的研究,通过组合低层次特征,形成抽象的高层特征表示,更好的发现数据的特点,得到更有用的数据表示,从而完成后续的工作。深度学习在语音识别、图像处理、自然语言处理等方面都已经有了很多的应用。目前,DBN等深度学习算法也在安卓恶意应用检测方面得到了应用,卷积神经网络作为深度学习算法的一种,但针对大规模的恶意应用检测卷积过程消耗时间过长、检测效率低。
针对现有技术中针对利用深度学习方法对恶意应用检测耗时长,效率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种终端应用的检测方法和装置,以解决现有技术中针对恶意应用检测耗时长,效率低的问题。
为了实现上述目的,根据本发明实施例的一个方面,提供了一种终端应用的检测方法,包括:获取终端应用的样本训练集,所述样本训练集包括正常终端应用和恶意终端应用;利用自编码对所述样本训练集进行预处理,得到预处理后的样本训练集;将所述预处理后的样本训练集输入到预先建立的初始卷积神经网络模型中,训练得到卷积神经网络;利用训练得到的卷积神经网络对待测终端应用进行检测,以确定所述待测终端应用是否为恶意应用。
可选地,利用自编码对所述样本训练集进行预处理,得到预处理后的样本训练集包括:
对所述样本训练集中的终端应用文件进行分析,提取每个终端应用的特征;
利用提取的特征生成每个终端应用的特征向量,得到特征向量集,其中,每个特征向量用于表示对应的终端应用;
利用自编码对所述特征向量集进行降维处理,得到预处理后的样本训练集,并确定自编码网络的层数以及各层节点数量。
可选地,对所述样本训练集中的终端应用文件进行分析,提取每个终端应用的特征包括:
采用静态分析方法对各个终端应用样本的apk文件进行分析,利用分析工具提取样本的11个类型的特征,包括Permissions、Filtered Intents、Restricted API calls、Component Names、Code Related Features、Certificate Information、PayloadInformation、Payload Information、Strings contained in the source code of app、Used Permissions、Hardware Features、Suspicious API Calls,每个类型的特征包括多个子特征;
利用提取的特征生成每个终端应用的特征向量包括:将每个终端应用样本具有的特征组成特征集合,并添加样本的分类标签,处理成对应的特征向量。
可选地,利用自编码对所述特征向量集进行降维处理包括:
确定所有终端应用样本中包含的最大样本特征数,并对于特征数小于所述最大样本特征数的样本进行补零处理;
构造基于自编码的5层自编码网络,依次包括1个输入层,3个隐含层和1个分类层;
设置自编码网络的输入层节点数与所述最大样本特征数相同,并设置第一个隐含层节点数、第二个隐含层节点数、第三个隐含层的节点数以及分类层的节点数,其中,第一个隐含层的输出最为第二个隐含层的输入,第二个隐含层的输出作为第三个隐含层的输入,将第三个隐含层的输出作为分类层的输入,将无标签的特征向量作为输入层,有标签的特征向量的标签作为分类层的输出;
利用反向传播算法对自编码网络进行调整,优化网络结构参数,最终将输入层与3个隐含层组成特征降维模型;
利用所述特征降维模型将所有的样本进行降维。
可选地,在将所述预处理后的样本训练集输入到预先建立的初始卷积神经网络模型中,训练得到卷积神经网络之前,还包括:
构造初始卷积神经网络的卷积层和池化层;
确定所述卷积层中卷积核的大小与个数、所述池化层的参数、所述卷积层与所述池化层的层数以及连接方式,得到所述初始卷积神经网络模型。
为了实现上述目的,根据本发明实施例的另一方面,提供了一种终端应用的检测装置,包括:
获取单元,用于获取终端应用的样本训练集,所述样本训练集包括正常终端应用和恶意终端应用;
处理单元,用于利用自编码对所述样本训练集进行预处理,得到预处理后的样本训练集;
训练单元,用于将所述预处理后的样本训练集输入到预先建立的初始卷积神经网络模型中,训练得到卷积神经网络;
检测单元,用于利用训练得到的卷积神经网络对待测终端应用进行检测,以确定所述待测终端应用是否为恶意应用。
可选地,所述训练单元包括:
提取模块,用于对所述样本训练集中的终端应用文件进行分析,提取每个终端应用的特征;
生成模块,用于利用提取的特征生成每个终端应用的特征向量,得到特征向量集,其中,每个特征向量用于表示对应的终端应用;
处理模块,用于利用自编码对所述特征向量集进行降维处理,得到预处理后的样本训练集,并确定自编码网络的层数以及各层节点数量。
可选地,提取模块具体用于采用静态分析装置对各个终端应用样本的apk文件进行分析,利用分析工具提取样本的11个类型的特征,包括Permissions、Filtered Intents、Restricted API calls、Component Names、Code Related Features、CertificateInformation、Payload Information、Payload Information、Strings contained in thesource code of app、Used Permissions、Hardware Features、Suspicious API Calls,每个类型的特征包括多个子特征;
所述生成模块具体用于将每个终端应用样本具有的特征组成特征集合,并添加样本的分类标签,处理成对应的特征向量。
可选地,所述处理模块包括:
确定子模块,用于确定所有终端应用样本中包含的最大样本特征数,并对于特征数小于所述最大样本特征数的样本进行补零处理;
构造子模块,用于构造基于自编码的5层自编码网络,依次包括1个输入层,3个隐含层和1个分类层;
设置子模块,用于设置自编码网络的输入层节点数与所述最大样本特征数相同,并设置第一个隐含层节点数、第二个隐含层节点数、第三个隐含层的节点数以及分类层的节点数,其中,第一个隐含层的输出最为第二个隐含层的输入,第二个隐含层的输出作为第三个隐含层的输入,将第三个隐含层的输出作为分类层的输入,将无标签的特征向量作为输入层,有标签的特征向量的标签作为分类层的输出;
优化子模块,用于利用反向传播算法对自编码网络进行调整,优化网络结构参数,最终将输入层与3个隐含层组成特征降维模型;
将维子模块,用于利用所述特征降维模型将所有的样本进行降维。
可选地,还包括:
构造单元,用于构造初始卷积神经网络的卷积层和池化层;
确定单元,用于确定所述卷积层中卷积核的大小与个数、所述池化层的参数、所述卷积层与所述池化层的层数以及连接方式,得到所述初始卷积神经网络模型。
根据本发明实施例,通过将自编码结合卷积与卷积神经网络相结合实现安卓恶意应用检测,与现有技术相比,具有以下优点:
第一,提出自编码作为安卓恶意应用检测的预训练方法,将预训练之后的特征编码作为深度学习的输入。与其他基于深度学习的安卓恶意应用检测方法不同之处在于,该预训练方法能够高效的降低维度,克服了对于数据维度过大而导致检测时间过长的问题,从而提高了检测效率;
第二,提出使用卷积神经网络实现对大规模安卓恶意应用的检测,拥有比浅层网络更加优异的特征表达能力。经对比检测,本申请相比于传统的SVM,检测准确率提升5%;
第三,提出自编码与卷积神经网络相结合的方法实现对大规模安卓恶意应用的检测,与卷积神经网络方法相比,在保证了检测准确率的前提下,将训练时间缩短了83%。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的终端应用的检测方法的流程图;
图2是根据本发明实施例的卷积神经网络的结构图;
图3是根据本发明实施例的实验数据对比示意图;
图4是根据本发明实施例的终端应用的检测装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明下面实施例中所述的DAE-CNN-S为基于自编码与卷积神经网络(串行结构)相结合的检测模型,DAE-CNN-P为基于自编码与卷积神经网络(并行结构)相结合的检测模型,CNN-S为基于卷积神经网络(串行结构)的检测模型,CNN-P为基于卷积神经网络(并行结构)的检测模型,DAE为基于深度自编码的检测模型,SVM为基于传统SVM的检测模型。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供了一种终端应用的检测方法。本发明实施例中所述的终端应用可以是指用于安装在移动终端上的应用程序
图1是根据本发明实施例的终端应用的检测方法的流程图。如图1所示,该终端应用的检测方法包括步骤如下:
步骤S101,获取终端应用的样本训练集,样本训练集包括正常终端应用和恶意终端应用。正常终端应用可以是指正常安装使用的应用程序,恶意终端应用可以是指存在恶意窃取信息或者攻击终端等的应用。获取的终端应用可以是指应用程序的安装文件,例如APK文件。正常终端应用和恶意终端应用的数量不限,可以是10000个正常样本、13000个恶意样本。
具体地,对于安卓应用,正常的安卓应用样本可以来源于安智市场,将下载的样本经过VirusTotal检测,报警数目为0的样本作为正常样本,恶意的安卓应用样本来源于VirusShare网站。
步骤S102,利用自编码对样本训练集进行预处理,得到预处理后的样本训练集。
自编码一种神经网络的形式,本发明实施例中所述的自编码可以进一步采用深度自编码。
具体地,预处理过程可以包括:对样本训练集中的终端应用文件进行分析,提取每个终端应用的特征;利用提取的特征生成每个终端应用的特征向量,得到特征向量集,其中,每个特征向量用于表示对应的终端应用;利用自编码对特征向量集进行降维处理,得到预处理后的样本训练集,并确定自编码网络的层数以及各层节点数量。
进一步地,可以采用静态分析方法对安卓应用APK文件进行分析,提取特征,并用特征向量表示对应的样本;通过利用深度自编码对数据进行降维预处理,确定深度自编码网络的层数以及各层节点数量,为后续进行卷积神经网络的训练提供基础。
步骤S103,将预处理后的样本训练集输入到预先建立的初始卷积神经网络模型中,训练得到卷积神经网络。
通过将降维处理后的样本作为样本输入,其中,训练与测试样本比例可以设置为4:1,将训练样本输入到卷积神经网络模型中,完成卷积神经网络的训练。
步骤S104,利用训练得到的卷积神经网络对待测终端应用进行检测,以确定待测终端应用是否为恶意应用。
将获取到的待测终端应用输入到训练后的卷积神经网络之后,由其对该待测终端应用进行分类,如果分到恶意应用一类,表示该待测终端应用为恶意应用;如果分到正常应用一类,则表示该待测终端应用为正常应用。
根据本发明实施例,通过将自编码结合卷积与卷积神经网络相结合实现安卓恶意应用检测,与现有技术相比,具有以下优点:
第一,提出自编码作为安卓恶意应用检测的预训练方法,将预训练之后的特征编码作为深度学习的输入。与其他基于深度学习的安卓恶意应用检测方法不同之处在于,该预训练方法能够高效的降低维度,克服了对于数据维度过大而导致检测时间过长的问题,从而提高了检测效率;
第二,提出使用卷积神经网络实现对大规模安卓恶意应用的检测,拥有比浅层网络更加优异的特征表达能力。经对比检测,本申请相比于传统的SVM,检测准确率提升5%;
第三,提出自编码与卷积神经网络相结合的方法实现对大规模安卓恶意应用的检测,与卷积神经网络方法相比,在保证了检测准确率的前提下,将训练时间缩短了83%。
可选地,对样本训练集中的终端应用文件进行分析,提取每个终端应用的特征包括:采用静态分析方法对各个终端应用样本的apk文件进行分析,利用分析工具提取样本的11个类型的特征,包括Permissions、Filtered Intents、Restricted API calls、Component Names、Code Related Features、Certificate Information、PayloadInformation、Payload Information、Strings contained in the source code of app、Used Permissions、Hardware Features、Suspicious API Calls,每个类型的特征包括多个子特征。
利用提取的特征生成每个终端应用的特征向量包括:将每个终端应用样本具有的特征组成特征集合,并添加样本的分类标签,处理成对应的特征向量。
本发明实施例中,使用深度自编码网络对样本进行逐层预训练可以快速降低样本的维度,利用抽象特征表示样本,其中,利用自编码对特征向量集进行降维处理包括:确定所有终端应用样本中包含的最大样本特征数,并对于特征数小于最大样本特征数的样本进行补零处理;构造基于自编码的5层自编码网络,依次包括1个输入层,3个隐含层和1个分类层;设置自编码网络的输入层节点数与最大样本特征数相同,并设置第一个隐含层节点数、第二个隐含层节点数、第三个隐含层的节点数以及分类层的节点数,其中,第一个隐含层的输出最为第二个隐含层的输入,第二个隐含层的输出作为第三个隐含层的输入,将第三个隐含层的输出作为分类层的输入,将无标签的特征向量作为输入层,有标签的特征向量的标签作为分类层的输出;利用反向传播算法对自编码网络进行调整,优化网络结构参数,最终将输入层与3个隐含层组成特征降维模型;利用特征降维模型将所有的样本进行降维。
在具体实施过程中可以分为以下几步:
第一步,确定所有样本中包含的最大样本特征数为431,并对于特征数小于431的样本进行补零处理;
第二步,构造基于深度自编码的5层深度自编码网络,5层依次包括1个输入层,3个隐含层和1个分类层;
第三步,深度自编码网络的输入层节点为431,第一个隐含层节点数为200,第二个隐含层节点数为100,第三个隐含层的节点数为20,分类层的节点数为2,第一个隐含层的输出最为第二个隐含层的输入,第二个隐含层的输出作为第三个隐含层的输入,将第三个隐含层的输出作为分类层的输入,将无标签的训练样本作为输入层,训练样本的标签作为分类层的输出;
第四步,利用反向传播算法对整个深度自编码网络进行调整,优化网络结构参数,最终将输入层与3个隐含层组成特征降维模型。
第五步,利用特征降维模型将所有的样本进行降维,将样本维度降为20。
需要说明的是,上述所采用的具体数值均为优选值,并不对本发明造成任何限定。
进一步地,深度自编码的输入层为k维的输入向量x,映射函数为
y=fθ(x)=σ(W·x+b) (1)
其中,σ(x)=1/(1+exp(-x))是激活函数sigmoid,x是输入向量,b是偏移量,W是权重。解码过程中,隐藏层y向解码层逆向重构出z,反向重构函数为
z=fθ′(y)=σ(W'·y+b′) (2)
其中W’是权重,b’是偏移量自编码的整个过程通过最小化网络输出与真实值之间的损失函数L(x,z)来调整权值和偏置值,从而使代码层的低维数据能够作为高维数据的表达,从而使隐含层的最后一层低维数据能够作为输入样本的表达,更好的表征正常样本与恶意样本。达到最优化,即:
其中,θ与θ′分别表示输入向量与网络输出向量,L为损失函数。根据安卓恶意应用检测的特点,训练的目的是更好的表征正常与恶意样本的不同,所以本实验中,在降维过程中的输出层节点数设置为2,即基于步骤2处理样本得到的结果,输入层节点数为431,将隐含层的节点数分别设置为200、100、20,分类层的节点数设置为2。综上所述,自编码降维过程中各层节点数为431-200-100-20-2。最终利用特征降维模型将所有的样本进行降维,将样本维度降为20。
可选地,本发明实施例中,在将预处理后的样本训练集输入到预先建立的初始卷积神经网络模型中,训练得到卷积神经网络之前,还包括:构造初始卷积神经网络的卷积层和池化层;确定卷积层中卷积核的大小与个数、池化层的参数、卷积层与池化层的层数以及连接方式,得到初始卷积神经网络模型。
也即是,先构造初始卷积神经网络模型,具体地,可以通过以下方式具体实施:
第一步,将每一个20维的样本投射到二维平面上,用20*256的二维数据矩阵表示每一个样本。所以基于卷积神经网络模型的输入是一个二维的数据矩阵,由m个k维向量组成。
第二步,构造卷积神经网络的卷积层与池化层,包含3个卷积层conv_0、conv_1、conv_2,用来提取不同位置的特征图,以及2个池化层pooling_0、pooling_1分别提取出conv_0、conv_1特征图中具有最优代表性的特征,将pooling_1以及conv_2一起输入至全连接层,将全连接层连接分类层即softmax层实现恶意与非恶意应用的分类;
第三步,确定各个卷积层中卷积核的大小与个数,以及池化层的大小:
卷积层conv_0 卷积核大小为3×256,个数为50个
池化层pooling_0 大小为3×1
卷积层conv_1 卷积核大小为3×1,个数为50个
池化层pooling_1 大小为3×1
卷积层conv_1 卷积核大小为2×1
进一步地,训练卷积神经网络包括如下步骤:
第一步,将训练样本与测试样本比例设置为4:1
第二步,将卷积层中的激活函数设置为Relu,分类层的激活函数设置为Softmax;
第三步,将卷积层conv_0的输出作为池化层pooling_0的输入,将pooling_0的输出作为conv_1的输入,将conv_1的输出作为pooling_1的输入,将pooling_1的输出作为conv_2的输入,将pooling_1的输出与conv_2的输出作为全连接层的输入,将全连接层的输出作为分类层的输入,完成整个卷积神经网络的训练,如图2所示。
卷积层中,用xi表示输入特征图,用yj表示与xi对应的输出特征图,卷积过程中的卷积核表示为kij∈Rh×l,为了加快训练的收敛速度,能够有更好的拟合能力,采用ReLu函数作为激活函数,即f(x)=max(0,x)。卷积神经网络具备权值共享特性,能更好的进行更高级别特征表达。卷积过程用如下公式表示:
yj(r)=max(O,bj(r)+∑ikij(r)×xi(r)) (4)
其中用r表示权值共享的区域,k表示卷积核,b表示偏置。卷积核对输入数据进行卷积之后得到的特征图表示为S∈R(m-h+1)×(n-l+1),其中m,n分别表示输入矩阵的大小,h,l表示卷积核的大小。
针对过拟合问题,在卷积层之后接入池化层,寻找局部最优特征。
全连接层由第二个池化层和池化后的卷积层构成,既能学习到该样本的局部最优特征,又能学习到全局特征,可以有效减少可能存在的重要特征的丢失,这对于特征的表达非常重要。这一层用公式表达如下:
其中xi表示输入,ω表示权重,b表示偏置。模型的输出层为softmax层,输出两个节点,从而达到安卓恶意应用检测的目的。这一层的表达公式如下:
其中yi,yj分别为全连接层的输出单元。
实验结果分析:
卷积神经网络方法能够学习到终端应用特征的更高级表达模式,从而更好的表征安卓恶意应用,检测准确率远远高于传统的机器学习方法SVM。基于卷积神经网络的检测模型虽然能够很好的表征终端应用的特征,但卷积过程消耗时间过长,容易产生过拟合现象,针对大规模安卓恶意应用检测来说并不适用。如图3所示,本发明提出的基于自编码深度学习的检测模型能够在保证检测准确率的同时,提升检测效率,更适用于大规模安卓恶意应用检测。
本发明实施例还提供了一种终端应用的检测装置。该装置可以通过终端设备实现其功能。需要说明的是,本发明实施例的终端应用的检测装置可以用于执行本发明实施例所提供的终端应用的检测方法,本发明实施例的终端应用的检测方法也可以通过本发明实施例所提供的终端应用的检测装置来执行。
图4是根据本发明实施例的终端应用的检测装置的示意图。如图4所示,该终端应用的检测装置包括:获取单元10、处理单元20、训练单元30、检测单元40。
获取单元10用于获取终端应用的样本训练集,样本训练集包括正常终端应用和恶意终端应用;
处理单元20用于利用自编码对样本训练集进行预处理,得到预处理后的样本训练集;
训练单元30用于将预处理后的样本训练集输入到预先建立的初始卷积神经网络模型中,训练得到卷积神经网络;
检测单元40用于利用训练得到的卷积神经网络对待测终端应用进行检测,以确定待测终端应用是否为恶意应用。
可选地,训练单元包括:
提取模块,用于对样本训练集中的终端应用文件进行分析,提取每个终端应用的特征;
生成模块,用于利用提取的特征生成每个终端应用的特征向量,得到特征向量集,其中,每个特征向量用于表示对应的终端应用;
处理模块,用于利用自编码对特征向量集进行降维处理,得到预处理后的样本训练集,并确定自编码网络的层数以及各层节点数量。
可选地,提取模块具体用于采用静态分析装置对各个终端应用样本的apk文件进行分析,利用分析工具提取样本的11个类型的特征,包括Permissions、Filtered Intents、Restricted API calls、Component Names、Code Related Features、CertificateInformation、Payload Information、Payload Information、Strings contained in thesource code of app、Used Permissions、Hardware Features、Suspicious API Calls,每个类型的特征包括多个子特征;生成模块具体用于将每个终端应用样本具有的特征组成特征集合,并添加样本的分类标签,处理成对应的特征向量。
可循啊地,处理模块包括:确定子模块,用于确定所有终端应用样本中包含的最大样本特征数,并对于特征数小于最大样本特征数的样本进行补零处理;构造子模块,用于构造基于自编码的5层自编码网络,依次包括1个输入层,3个隐含层和1个分类层;设置子模块,用于设置自编码网络的输入层节点数与最大样本特征数相同,并设置第一个隐含层节点数、第二个隐含层节点数、第三个隐含层的节点数以及分类层的节点数,其中,第一个隐含层的输出最为第二个隐含层的输入,第二个隐含层的输出作为第三个隐含层的输入,将第三个隐含层的输出作为分类层的输入,将无标签的特征向量作为输入层,有标签的特征向量的标签作为分类层的输出;优化子模块,用于利用反向传播算法对自编码网络进行调整,优化网络结构参数,最终将输入层与3个隐含层组成特征降维模型;将维子模块,用于利用特征降维模型将所有的样本进行降维。
可选地,装置还包括:构造单元,用于构造初始卷积神经网络的卷积层和池化层;确定单元,用于确定卷积层中卷积核的大小与个数、池化层的参数、卷积层与池化层的层数以及连接方式,得到初始卷积神经网络模型。
本发明实施例中,关于检测装置的具体描述参见对检测方法的描述,这里不做赘述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、移动终端、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种终端应用的检测方法,其特征在于,包括:
获取终端应用的样本训练集,所述样本训练集包括正常终端应用和恶意终端应用;
利用自编码对所述样本训练集进行预处理,得到预处理后的样本训练集;
将所述预处理后的样本训练集输入到预先建立的初始卷积神经网络模型中,训练得到卷积神经网络;
利用训练得到的卷积神经网络对待测终端应用进行检测,以确定所述待测终端应用是否为恶意应用。
2.根据权利要求1所述的检测方法,其特征在于,利用自编码对所述样本训练集进行预处理,得到预处理后的样本训练集包括:
对所述样本训练集中的终端应用文件进行分析,提取每个终端应用的特征;
利用提取的特征生成每个终端应用的特征向量,得到特征向量集,其中,每个特征向量用于表示对应的终端应用;
利用自编码对所述特征向量集进行降维处理,得到预处理后的样本训练集,并确定自编码网络的层数以及各层节点数量。
3.根据权利要求2所述的检测方法,其特征在于,对所述样本训练集中的终端应用文件进行分析,提取每个终端应用的特征包括:
采用静态分析方法对各个终端应用样本的apk文件进行分析,利用分析工具提取样本的11个类型的特征,包括Permissions、Filtered Intents、Restricted API calls、Component Names、Code Related Features、Certificate Information、PayloadInformation、Payload Information、Strings contained in the source code of app、Used Permissions、Hardware Features、Suspicious API Calls,每个类型的特征包括多个子特征;
利用提取的特征生成每个终端应用的特征向量包括:将每个终端应用样本具有的特征组成特征集合,并添加样本的分类标签,处理成对应的特征向量。
4.根据权利要求1所述的检测方法,其特征在于,利用自编码对所述特征向量集进行降维处理包括:
确定所有终端应用样本中包含的最大样本特征数,并对于特征数小于所述最大样本特征数的样本进行补零处理;
构造基于自编码的5层自编码网络,依次包括1个输入层,3个隐含层和1个分类层;
设置自编码网络的输入层节点数与所述最大样本特征数相同,并设置第一个隐含层节点数、第二个隐含层节点数、第三个隐含层的节点数以及分类层的节点数,其中,第一个隐含层的输出最为第二个隐含层的输入,第二个隐含层的输出作为第三个隐含层的输入,将第三个隐含层的输出作为分类层的输入,将无标签的特征向量作为输入层,有标签的特征向量的标签作为分类层的输出;
利用反向传播算法对自编码网络进行调整,优化网络结构参数,最终将输入层与3个隐含层组成特征降维模型;
利用所述特征降维模型将所有的样本进行降维。
5.根据权利要求1所述的检测方法,其特征在于,在将所述预处理后的样本训练集输入到预先建立的初始卷积神经网络模型中,训练得到卷积神经网络之前,还包括:
构造初始卷积神经网络的卷积层和池化层;
确定所述卷积层中卷积核的大小与个数、所述池化层的参数、所述卷积层与所述池化层的层数以及连接方式,得到所述初始卷积神经网络模型。
6.一种终端应用的检测装置,其特征在于,包括:
获取单元,用于获取终端应用的样本训练集,所述样本训练集包括正常终端应用和恶意终端应用;
处理单元,用于利用自编码对所述样本训练集进行预处理,得到预处理后的样本训练集;
训练单元,用于将所述预处理后的样本训练集输入到预先建立的初始卷积神经网络模型中,训练得到卷积神经网络;
检测单元,用于利用训练得到的卷积神经网络对待测终端应用进行检测,以确定所述待测终端应用是否为恶意应用。
7.根据权利要求6所述的检测装置,其特征在于,所述训练单元包括:
提取模块,用于对所述样本训练集中的终端应用文件进行分析,提取每个终端应用的特征;
生成模块,用于利用提取的特征生成每个终端应用的特征向量,得到特征向量集,其中,每个特征向量用于表示对应的终端应用;
处理模块,用于利用自编码对所述特征向量集进行降维处理,得到预处理后的样本训练集,并确定自编码网络的层数以及各层节点数量。
8.根据权利要求7所述的检测装置,其特征在于,
提取模块具体用于采用静态分析装置对各个终端应用样本的apk文件进行分析,利用分析工具提取样本的11个类型的特征,包括Permissions、Filtered Intents、RestrictedAPI calls、Component Names、Code Related Features、Certificate Information、Payload Information、Payload Information、Strings contained in the source codeof app、Used Permissions、Hardware Features、Suspicious API Calls,每个类型的特征包括多个子特征;
所述生成模块具体用于将每个终端应用样本具有的特征组成特征集合,并添加样本的分类标签,处理成对应的特征向量。
9.根据权利要求6所述的检测装置,其特征在于,所述处理模块包括:
确定子模块,用于确定所有终端应用样本中包含的最大样本特征数,并对于特征数小于所述最大样本特征数的样本进行补零处理;
构造子模块,用于构造基于自编码的5层自编码网络,依次包括1个输入层,3个隐含层和1个分类层;
设置子模块,用于设置自编码网络的输入层节点数与所述最大样本特征数相同,并设置第一个隐含层节点数、第二个隐含层节点数、第三个隐含层的节点数以及分类层的节点数,其中,第一个隐含层的输出最为第二个隐含层的输入,第二个隐含层的输出作为第三个隐含层的输入,将第三个隐含层的输出作为分类层的输入,将无标签的特征向量作为输入层,有标签的特征向量的标签作为分类层的输出;
优化子模块,用于利用反向传播算法对自编码网络进行调整,优化网络结构参数,最终将输入层与3个隐含层组成特征降维模型;
降维子模块,用于利用所述特征降维模型将所有的样本进行降维。
10.根据权利要求6所述的检测装置,其特征在于,还包括:
构造单元,用于构造初始卷积神经网络的卷积层和池化层;
确定单元,用于确定所述卷积层中卷积核的大小与个数、所述池化层的参数、所述卷积层与所述池化层的层数以及连接方式,得到所述初始卷积神经网络模型。
CN201711196245.6A 2017-11-25 2017-11-25 终端应用的检测方法和装置 Pending CN107798243A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711196245.6A CN107798243A (zh) 2017-11-25 2017-11-25 终端应用的检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711196245.6A CN107798243A (zh) 2017-11-25 2017-11-25 终端应用的检测方法和装置

Publications (1)

Publication Number Publication Date
CN107798243A true CN107798243A (zh) 2018-03-13

Family

ID=61536489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711196245.6A Pending CN107798243A (zh) 2017-11-25 2017-11-25 终端应用的检测方法和装置

Country Status (1)

Country Link
CN (1) CN107798243A (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108470027A (zh) * 2018-03-30 2018-08-31 广州优视网络科技有限公司 色情应用识别方法和装置、计算设备和存储介质
CN108985055A (zh) * 2018-06-26 2018-12-11 东北大学秦皇岛分校 一种恶意软件的检测方法及系统
CN109002715A (zh) * 2018-07-05 2018-12-14 东北大学秦皇岛分校 一种基于卷积神经网络的恶意软件识别方法及系统
CN109284370A (zh) * 2018-08-20 2019-01-29 中山大学 一种基于深度学习的移动应用描述与权限保真性判定方法及装置
CN109543403A (zh) * 2018-11-30 2019-03-29 网御安全技术(深圳)有限公司 一种系统调用行为序列降维方法、系统、装置及存储介质
CN109711160A (zh) * 2018-11-30 2019-05-03 北京奇虎科技有限公司 应用程序检测方法、装置及神经网络系统
CN109800797A (zh) * 2018-12-29 2019-05-24 360企业安全技术(珠海)有限公司 基于ai的文件黑白判断方法、装置及设备
CN110210215A (zh) * 2018-03-21 2019-09-06 腾讯科技(深圳)有限公司 一种病毒检测的方法以及相关装置
CN110335058A (zh) * 2019-04-30 2019-10-15 中国联合网络通信集团有限公司 一种用户满意度预测模型的样本生成方法及装置
WO2019197022A1 (en) * 2018-04-10 2019-10-17 Huawei Technologies Co., Ltd. Device and method for classifying program behaviour
CN110581834A (zh) * 2018-06-11 2019-12-17 中国移动通信集团浙江有限公司 一种通信能力开放异常检测方法和装置
CN110659483A (zh) * 2018-06-29 2020-01-07 卡巴斯基实验室股份制公司 使用在一个恶意文件上训练的学习模型识别多个恶意文件的系统和方法
CN110704841A (zh) * 2019-09-24 2020-01-17 北京电子科技学院 一种基于卷积神经网络的大规模安卓恶意应用检测系统及方法
CN110796179A (zh) * 2019-10-12 2020-02-14 上海上湖信息技术有限公司 用于模型训练的样本数据处理方法及装置、存储介质、终端
CN111262818A (zh) * 2018-11-30 2020-06-09 北京奇虎科技有限公司 病毒检测方法、系统、装置、设备及存储介质
CN111444507A (zh) * 2020-06-15 2020-07-24 鹏城实验室 加壳软件是否误报的判定方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794534A (zh) * 2015-04-16 2015-07-22 国网山东省电力公司临沂供电公司 一种基于改进深度学习模型的电网安全态势预测方法
CN105893848A (zh) * 2016-04-27 2016-08-24 南京邮电大学 一种基于代码行为相似度匹配的Android恶意应用程序防范方法
US20170017793A1 (en) * 2015-07-15 2017-01-19 Cylance Inc. Malware detection
CN106548073A (zh) * 2016-11-01 2017-03-29 北京大学 基于卷积神经网络的恶意apk的筛查方法
CN106845418A (zh) * 2017-01-24 2017-06-13 北京航空航天大学 一种基于深度学习的高光谱图像分类方法
CN107392019A (zh) * 2017-07-05 2017-11-24 北京金睛云华科技有限公司 一种恶意代码家族的训练和检测方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794534A (zh) * 2015-04-16 2015-07-22 国网山东省电力公司临沂供电公司 一种基于改进深度学习模型的电网安全态势预测方法
US20170017793A1 (en) * 2015-07-15 2017-01-19 Cylance Inc. Malware detection
CN105893848A (zh) * 2016-04-27 2016-08-24 南京邮电大学 一种基于代码行为相似度匹配的Android恶意应用程序防范方法
CN106548073A (zh) * 2016-11-01 2017-03-29 北京大学 基于卷积神经网络的恶意apk的筛查方法
CN106845418A (zh) * 2017-01-24 2017-06-13 北京航空航天大学 一种基于深度学习的高光谱图像分类方法
CN107392019A (zh) * 2017-07-05 2017-11-24 北京金睛云华科技有限公司 一种恶意代码家族的训练和检测方法及装置

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110210215A (zh) * 2018-03-21 2019-09-06 腾讯科技(深圳)有限公司 一种病毒检测的方法以及相关装置
CN108470027A (zh) * 2018-03-30 2018-08-31 广州优视网络科技有限公司 色情应用识别方法和装置、计算设备和存储介质
WO2019197022A1 (en) * 2018-04-10 2019-10-17 Huawei Technologies Co., Ltd. Device and method for classifying program behaviour
CN110581834A (zh) * 2018-06-11 2019-12-17 中国移动通信集团浙江有限公司 一种通信能力开放异常检测方法和装置
CN108985055A (zh) * 2018-06-26 2018-12-11 东北大学秦皇岛分校 一种恶意软件的检测方法及系统
CN108985055B (zh) * 2018-06-26 2020-08-28 东北大学秦皇岛分校 一种恶意软件的检测方法及系统
CN110659483A (zh) * 2018-06-29 2020-01-07 卡巴斯基实验室股份制公司 使用在一个恶意文件上训练的学习模型识别多个恶意文件的系统和方法
CN110659483B (zh) * 2018-06-29 2023-04-28 卡巴斯基实验室股份制公司 使用在一个恶意文件上训练的学习模型识别多个恶意文件的系统和方法
CN109002715A (zh) * 2018-07-05 2018-12-14 东北大学秦皇岛分校 一种基于卷积神经网络的恶意软件识别方法及系统
CN109002715B (zh) * 2018-07-05 2020-09-15 东北大学秦皇岛分校 一种基于卷积神经网络的恶意软件识别方法及系统
CN109284370A (zh) * 2018-08-20 2019-01-29 中山大学 一种基于深度学习的移动应用描述与权限保真性判定方法及装置
CN109711160B (zh) * 2018-11-30 2023-10-31 北京奇虎科技有限公司 应用程序检测方法、装置及神经网络系统
CN111262818B (zh) * 2018-11-30 2023-08-15 三六零科技集团有限公司 病毒检测方法、系统、装置、设备及存储介质
CN109711160A (zh) * 2018-11-30 2019-05-03 北京奇虎科技有限公司 应用程序检测方法、装置及神经网络系统
CN111262818A (zh) * 2018-11-30 2020-06-09 北京奇虎科技有限公司 病毒检测方法、系统、装置、设备及存储介质
CN109543403B (zh) * 2018-11-30 2020-09-29 网御安全技术(深圳)有限公司 一种系统调用行为序列降维方法、系统、装置及存储介质
CN109543403A (zh) * 2018-11-30 2019-03-29 网御安全技术(深圳)有限公司 一种系统调用行为序列降维方法、系统、装置及存储介质
CN109800797A (zh) * 2018-12-29 2019-05-24 360企业安全技术(珠海)有限公司 基于ai的文件黑白判断方法、装置及设备
CN110335058B (zh) * 2019-04-30 2021-09-14 中国联合网络通信集团有限公司 一种用户满意度预测模型的样本生成方法及装置
CN110335058A (zh) * 2019-04-30 2019-10-15 中国联合网络通信集团有限公司 一种用户满意度预测模型的样本生成方法及装置
CN110704841A (zh) * 2019-09-24 2020-01-17 北京电子科技学院 一种基于卷积神经网络的大规模安卓恶意应用检测系统及方法
CN110796179A (zh) * 2019-10-12 2020-02-14 上海上湖信息技术有限公司 用于模型训练的样本数据处理方法及装置、存储介质、终端
CN111444507A (zh) * 2020-06-15 2020-07-24 鹏城实验室 加壳软件是否误报的判定方法、装置、设备及存储介质
CN111444507B (zh) * 2020-06-15 2020-11-03 鹏城实验室 加壳软件是否误报的判定方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN107798243A (zh) 终端应用的检测方法和装置
Sun et al. Deep learning for plant identification in natural environment
CN111079639B (zh) 垃圾图像分类模型构建的方法、装置、设备及存储介质
Chen et al. A deep learning framework for time series classification using Relative Position Matrix and Convolutional Neural Network
Zhao et al. SEV‐Net: Residual network embedded with attention mechanism for plant disease severity detection
CN110532417A (zh) 基于深度哈希的图像检索方法、装置及终端设备
Chin et al. Intelligent image recognition system for marine fouling using softmax transfer learning and deep convolutional neural networks
CN111667022A (zh) 用户数据处理方法、装置、计算机设备和存储介质
Ashok Kumar et al. Enhanced facial emotion recognition by optimal descriptor selection with neural network
Van Hieu et al. Automatic plant image identification of Vietnamese species using deep learning models
CN108021806A (zh) 一种恶意安装包的识别方法和装置
CN110751072B (zh) 基于知识嵌入图卷积网络的双人交互识别方法
WO2022012668A1 (zh) 一种训练集处理方法和装置
CN112465226B (zh) 一种基于特征交互和图神经网络的用户行为预测方法
CN110993037A (zh) 一种基于多视图分类模型的蛋白质活性预测装置
Zhao et al. Crop pest recognition in real agricultural environment using convolutional neural networks by a parallel attention mechanism
Gao et al. Natural scene recognition based on convolutional neural networks and deep Boltzmannn machines
Cui et al. Maize leaf disease classification using CBAM and lightweight Autoencoder network
Kishore et al. A Multi-class SVM Based Content Based Image Retrieval System Using Hybrid Optimization Techniques.
Pei et al. Action recognition by learning temporal slowness invariant features
Olisah et al. Understanding unconventional preprocessors in deep convolutional neural networks for face identification
CN108960246A (zh) 一种用于图像识别的二值化处理装置及方法
CN111144453A (zh) 构建多模型融合计算模型的方法及设备、网站数据识别方法及设备
Zhong et al. Heterogeneous visual features integration for image recognition optimization in internet of things
CN116977265A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180313