CN109165688A - 一种安卓恶意软件家族分类器构建方法及其分类方法 - Google Patents

一种安卓恶意软件家族分类器构建方法及其分类方法 Download PDF

Info

Publication number
CN109165688A
CN109165688A CN201810987313.9A CN201810987313A CN109165688A CN 109165688 A CN109165688 A CN 109165688A CN 201810987313 A CN201810987313 A CN 201810987313A CN 109165688 A CN109165688 A CN 109165688A
Authority
CN
China
Prior art keywords
android malware
android
malware
family classification
classifier
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
CN201810987313.9A
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.)
Jinan University
University of Jinan
Original Assignee
Jinan University
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 Jinan University filed Critical Jinan University
Priority to CN201810987313.9A priority Critical patent/CN109165688A/zh
Publication of CN109165688A publication Critical patent/CN109165688A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • 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

Abstract

本发明公开了安卓恶意软件家族分类器构建方法及其分类方法,首先构建数据训练集,获取各训练样本的灰度代码图像;将移除全连接分层的卷积神经网络模型作为特征提取模块,将各灰度代码图像输入到特征提取模块中,通过特征提取模块提取到各安卓恶意软件灰度代码图像的特征向量;构建新的全连接层,将该新的全连接层添加到上述特征提取模块后,构成第一卷积神经网络模型;在第一卷积神经网络模型中,全连接层中的分类器读取到数据训练集中各安卓恶意软件灰度代码图像的特征向量;运行第一卷积神经网络模型,通过读取的特征向量针对全连接层中的分类器进行训练,得到安卓恶意软件家族分类器;本发明能够提高安卓恶意软件的家族分类准确率。

Description

一种安卓恶意软件家族分类器构建方法及其分类方法
技术领域
本发明属于软件安全技术领域,特别涉及一种安卓恶意软件家族分类器构建方法及其分类方法。
背景技术
到目前为止,智能手机的操作系统主要有三种:Android、iOS以及Windows Phone。其中,Android和iOS占据了大部分市场份额。尤其是Android系统,凭借它的开源特性、开发便利性以及应用程序无界限的特点吸引了无数开发人员以及普通大众,成为当前最流行的移动操作系统。根据IDC Quarterly Mobile Phone Tracker相关统计数据,截止至2017年第一季度,Android系统占据了全球移动操作系统市场份额的85.0%。
然而,随着智能移动设备的普及,Android安全问题也日益严重。360发布的《2017年中国手机安全生态报告》显示,2017年1-7月平均每日的恶意应用感染量达61.5万人次,日均新增Android恶意软件近2.3万个,总共新增Android恶意应用样本483.9万个。
从以上数据可以看出,Android安全问题相当严峻。因此对Android恶意软件进行分析和检测具有重要意义。赛门铁克发布的《2017年互联网安全威胁报告》指出14-16年期间新型Android恶意软件家族数量分别是46、18和4,新的恶意软件家族增长数量明显下降。与此同时Android恶意软件变种从14年的2200种增长到了16年的3600种。虽然恶意软件数量在不断增加,但根据赛门铁克统计,大部分新的恶意代码及其变种都是在原有恶意软件的基础上经过变换操作、重用模块等发展而来,很大程度上与原有恶意代码的大部分源码同源。因此对恶意软件进行分类处理的技术显得尤为重要,可以通过分类处理快速准确地判断待测文件属于哪一恶意软件家族。
目前已有不少关于安卓恶意软件家族分类技术的研究文献,但他们都有各自的局限性。例如Deshotels等人的论文中提出的DroidLegacy方法和Suarez-Tangil等人在论文中提出的Dendroid方法的局限性在于:主要针对重打包的恶意应用,且仅在较小的数据集上了进行验证。
发明内容
本发明的第一目的在于克服现有技术的缺点与不足,提供一种安卓恶意软件家族分类器构建方法,该构建方法能够在基于较少的标签样本下产生一个分类效果良好的安卓恶意软件家族分类器,具有训练计算量小以及训练速度快的优点。
本发明的目的在于提供一种由上述构建的分类器实现的安卓恶意软件家族分类方法,该方法可以准确地分类出安卓恶意软件的家族。
本发明的第一目的通过下述技术方案实现:一种安卓恶意软件家族分类器构建方法,步骤如下:
步骤S1、首先获取多个已知家族分类标签的安卓恶意软件,构成数据训练集;
步骤S2、获取数据训练集中各安卓恶意软件的灰度代码图像;
步骤S3、获取一个卷积神经网络模型,移除该卷积神经网络模型中的顶层卷积层,即全连接分层,得到特征提取模块;将数据训练集中各安卓恶意软件的灰度代码图像输入到特征提取模块中,通过特征提取模块提取到各安卓恶意软件灰度代码图像的特征向量,然后存储到特征向量文件中;
步骤S4、构建一个顶层卷积层,即新的全连接层,并且将该新的全连接层添加到步骤S3获取到的特征提取模块后,得到第一卷积神经网络模型;
步骤S5、第一卷积神经网络模型中,首先全连接层中的分类器从特征向量文件中读取到数据训练集中各安卓恶意软件灰度代码图像的特征向量;然后运行第一卷积神经网络模型,通过数据训练集中各安卓恶意软件灰度代码图像的特征向量针对全连接层中的分类器进行训练;将全连接层中分类器经过训练后的第一卷积神经网络模型作为安卓恶意软件家族分类器。
优选的,所述步骤S2中,获取到数据训练集中各安卓恶意软件的灰度代码图像的具体过程如下:
针对数据训练集中的每个安卓恶意软件,提取出其中的Dex文件;
针对于每个安卓恶意软件的Dex文件,获取DeX文件的二进制代码,并且将DeX文件的二进制代码转换成十六进制格式;然后从左到右,依次将每两个相邻的十六进制数字划分为一个字节;最后将每个字节映射为图像像素的一个灰度值,从而获取到图像像素矩阵;
针对于每个安卓恶意软件Dex文件的图像像素矩阵,将其转换为灰度代码图像。
更进一步的,所述步骤S2中,针对于数据训练集中的每个安卓恶意软件,首先将其后缀名apk修改为zip,然后将其解压,最后从解压后的文件中提取出Dex文件。
优选的,所述步骤S3中,将经过ImageNet图像数据集训练好的Google Inception-v3模型作为卷积神经网络模型。
优选的,构建的新的全连接层中的分类器为Softmax分类器。
优选的,还包括如下步骤:
获取多个已知家族分类标签的安卓恶意软件,随机构成多个数据验证集;在训练得到安卓恶意软件家族分类器过程中,进行优化器、学习率和迭代次数的参数调整,具体为:
步骤S51、在第一卷积神经网络模型中,使用多种不同的优化器,分别通过数据训练集中各安卓恶意软件灰度代码图像的特征向量针对全连接层中的分类器进行训练,然后通过数据验证集验证训练后的安卓恶意软件分类器的分类准确率以及训练迭代次数,选出迭代次数最少就能达到相应分类准确率要求的优化器,作为安卓恶意软件家族分类器的优化器;
步骤S52、在第一卷积神经网络模型中,使用了多个学习率数值,分别通过数据训练集中各安卓恶意软件灰度代码图像的特征向量针对全连接层中的分类器进行训练,在神经网络训练达到收敛时观察相应学习率下的分类准确率,选取最佳分类准确率对应的学习率作为安卓恶意软件家族分类器的学习率;
步骤S53、在确定优化器和学习率后,采用十折交叉验证法,通过数据验证集确定收敛到最佳分类准确率时的迭代次数,作为安卓恶意软件家族分类器的迭代次数。
更进一步的,
分类准确率Accuracy的计算公式如下:
Accuracy=(TP+TN)/(FP+TP+FN+TN);
其中TP为真正例,TN为真负例,FN为假负例,FP为假正例。
更进一步的,所述优化器包括Adadelta优化器,Adagrad优化器,梯度下降优化器和Adam优化器;
所述学习率数值取自0.00001~0.05;
所述迭代次数选用自800~1400。
本发明的第二目的通过下述技术方案实现:一种安卓恶意软件家族分类方法,步骤如下:
获取需要进行家族分类的安卓恶意软件,得到该安卓恶意软件的灰度代码图像,然后将该安卓恶意软件的灰度代码图像输入到权利要求1至8中任一项所述方法构建得到的安卓恶意软件家族分类器中,得到家族分类结果。
优选的,针对于需要进行家族分类的安卓恶意软件,获取到该安卓恶意软件的灰度代码图像的具体过程如下:
针对需要进行家族分类的安卓恶意软件,提取出安卓恶意软件的Dex文件;针对于该安卓恶意软件的Dex文件,获取DeX文件的二进制代码,并且将DeX文件的二进制代码转换成十六进制格式;然后从左到右,依次将每两个相邻的十六进制数字划分为一个字节;最后将每个字节映射为图像像素的一个灰度值,从而获取到图像像素矩阵;针对于该安卓恶意软件Dex文件的图像像素矩阵,将其转换为灰度代码图像。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明安卓恶意软件家族分类器构建方法,首先构建数据训练集,获取数据训练集中由各安卓恶意软件转换的灰度代码图像;然后将移除了全连接分层的卷积神经网络模型作为特征提取模块,将数据训练集中各安卓恶意软件转换的灰度代码图像输入到特征提取模块中,提取到各安卓恶意软件灰度代码图像的特征向量;接着构建一个新的全连接层,将该新的全连接层添加到上述特征提取模块后,构成第一卷积神经网络模型;在第一卷积神经网络模型中,全连接层中的分类器读取到数据训练集中各安卓恶意软件灰度代码图像的特征向量;运行第一卷积神经网络模型,通过读取的特征向量针对全连接层中的分类器进行训练;将全连接层中分类器经过训练后的第一卷积神经网络模型作为安卓恶意软件家族分类器。由上述可知,本发明方法是在基于灰度代码图像深度学习后构建得到的安卓恶意软件家族分类器,在基于较少的标签样本下即可产生一个分类效果良好的安卓恶意软件家族分类器。另外,在训练过程中,本发明只针对深度学习神经网络的顶层进行训练,而不改变其他所有剩余层的参数,即只训练处于顶层的分类器,具有训练计算量小以及训练速度快的优点。
(2)本发明安卓恶意软件家族分类器构建方法中,还包括在训练得到安卓恶意软件家族分类器过程中进行参数的调整,主要是根据分类准确率以及收敛情况选择最合适的优化器、学习率和迭代次数,在这三个参数进行调整后即可得到分类准确率非常高的安卓恶意软件家族分类器;相比现有技术中采用GIST算法并利用随机森林算法来训练其恶意软件分类器需要调整至少8个参数(决策树的个数和最大深度(即n_estimators和max_depth)、单个决策树使用特征的最大数量(即max_features)、分裂内部节点所需最小样本数(即min_samples_split)、叶子节点上应有的最少样本数(即min_samples_leaf)、滤波器个数(即prefilter)、每个数值范围的方向数量(即orientationsPerScale)和图像分割区域块数(即numberBlocks))的方法,本发明方法具有在分类器训练过程中,参数调整简单的优点。
(3)本发明安卓恶意软件家族分类方法,首先获取需要进行家族分类的安卓恶意软件,得到该安卓恶意软件的灰度代码图像,然后将该安卓恶意软件的灰度代码图像输入到本发明方法构建得到的安卓恶意软件家族分类器中,得到家族分类结果。相比现有技术中其他的分类方法,本发明安卓恶意软件家族分类方法具有分类准确率更高的优点。
附图说明
图1是本发明安卓恶意软件家族分类器构建方法流程图。
图2是本发明构建的安卓恶意软件家族分类器在不同迭代次数下使用四种优化器时的分类准确率。
图3是本发明构建的安卓恶意软件家族分类器不同学习率值下的分类准确率。
图4a和4b是本发明构建的安卓恶意软件家族分类器的学习率在0.0005时进行10折交叉验证的分类准确率。
图5a是本发明分类方法和现有技术中分类方法针对不同家族安卓恶意软件分类时的F-measure值。
图5b是本发明分类方法和现有技术中分类方法针对不同家族安卓恶意软件分类时的误报率(FPR)值。
图5c是本发明分类方法和现有技术中分类方法针对不同家族安卓恶意软件分类时的漏报率(FNR)值。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
本实施例公开了一种安卓恶意软件家族分类器构建方法,如图1所示,步骤如下:
步骤S1、首先获取多个已知家族分类标签的安卓恶意软件,构成数据训练集;
步骤S2、获取数据训练集中各安卓恶意软件的灰度代码图像;具体过程如下:
针对数据训练集中的每个安卓恶意软件,首先将其后缀名apk修改为zip,然后将其解压,最后从解压后的文件中提取出classes.dex文件,即获取到Dex文件。
针对于每个安卓恶意软件的Dex文件,获取DeX文件的二进制代码,并且将DeX文件的二进制代码转换成十六进制格式;然后从左到右,依次将每两个相邻的十六进制数字划分为一个字节,因此得到每个字节的取值范围为0X00到0XFF,即从0至255;最后将每个字节映射为图像像素的一个灰度值,从而获取到图像像素矩阵;
针对于每个安卓恶意软件Dex文件的图像像素矩阵,将其转换为灰度代码图像。
步骤S3、获取一个卷积神经网络模型,移除该卷积神经网络模型中的顶层卷积层,即全连接分层,得到特征提取模块;将数据训练集中各安卓恶意软件的灰度代码图像输入到特征提取模块中,通过特征提取模块提取到各安卓恶意软件灰度代码图像的特征向量,然后存储到特征向量文件中;在本实施例中,获取的卷积神经网络模型为经过ImageNet图像数据集训练好的Google Inception-v3模型;将Google Inception-v3模型移除全连接层后即得到特征提取模块,该特征提取模块可以提取到各安卓恶意软件灰度代码图像的2048维特征向量。
步骤S4、构建一个顶层卷积层,即新的全连接层,并且将该新的全连接层添加到步骤S3获取到的特征提取模块后,得到第一卷积神经网络模型;在本实施例中,构建的新的全连接层中包含的分类器为Softmax分类器。
步骤S5、第一卷积神经网络模型中,首先全连接层中的分类器从特征向量文件中读取到数据训练集中各安卓恶意软件灰度代码图像的特征向量;然后运行第一卷积神经网络模型,通过数据训练集中各安卓恶意软件灰度代码图像的特征向量针对全连接层中的Softmax分类器进行训练;将全连接层中Softmax分类器经过训练后的第一卷积神经网络模型作为安卓恶意软件家族分类器。
其中,本实施例在上述安卓恶意软件家族分类器构建过程中,还包括如下步骤:
获取多个已知家族分类标签的安卓恶意软件,随机构成多个数据验证集;在训练得到安卓恶意软件家族分类器过程中,进行优化器、学习率和迭代次数的参数调整,具体为:
步骤S51、在第一卷积神经网络模型中,使用多种不同的优化器,分别通过数据训练集中各安卓恶意软件灰度代码图像的特征向量针对全连接层中的分类器进行训练,然后通过数据验证集验证训练后的安卓恶意软件分类器的分类准确率以及对应训练迭代次数,选出迭代次数最少就能达到相应分类准确率要求的优化器,作为安卓恶意软件家族分类器的优化器;在本实施例中,选出的是迭代次数较少就能达到较高分类准确率的优化器。
步骤S52、在第一卷积神经网络模型中,使用了多个学习率数值,分别通过数据训练集中各安卓恶意软件灰度代码图像的特征向量针对全连接层中的分类器进行训练,在神经网络训练达到收敛时观察相应学习率下的分类准确率,选取最佳分类准确率对应的学习率作为安卓恶意软件家族分类器的学习率;
步骤S53、在确定优化器和学习率后,采用十折交叉验证法,确定收敛到最佳分类准确率时的迭代次数,作为安卓恶意软件家族分类器的迭代次数。
在本实施例中,为了使神经网络的收敛速度取得最优效果,本实施例比较了Tensorflow框架中提供的四种常用优化器对卷积神经网络的加速效果。本实施例上述步骤S51中使用四种不同的优化器分别在相同的数据训练集上训练得到安卓恶意软件分类器,并记录分类准确率以及训练迭代次数。如图2所示是使用以下四种优化器的分类准确率散点图(百分比形式),即AdadeltaOptimizer,AdagradOptimizer,GradientDescentOptimizer和AdamOptimizer(对应为Adadelta优化器,Adagrad优化器,梯度下降优化器和Adam优化器)。四种优化器对应的散点图由不同类型的标记点组成。例如,AdamOptimizer的散点图由代表分类准确率的圆点组成。
由图2可以看出,使用AdamOptimizer的分类器仅在100次迭代后就达到96%的分类准确率,而使用其他三个优化器的分类器需要大约600次迭代才能达到上述精度。使用AdamOptimizer的分类器在1300次迭代内收敛到最大分类准确率(约98%),而使用其他三个优化器的分类器需要大约1800次迭代才能接近98%的分类准确率。总而言之,与其他三种优化器相比,AdamOptimizer可以使神经网络以更快的速度在更高的分类准确率上收敛。基于上述实验结果,本发明最终将按照恶意软件家族分类器的神经网络优化器设置为AdamOptimizer。
在本实施例中,需要调整的神经网络已经过预先训练,为了避免太快或过多地改变神经网络的权重,本实施例让学习率和学习率衰减速度保持在非常小的数值,将神经网络的学习率从一个非常小的数值逐渐调整到一个很大的数值。如图3所示,本实施例在实验中使用了8个学习率数值,范围从0.00001到0.05,并且在神经网络训练达到收敛时观察相应的分类准确率。如图3所示,当学习率为0.0005时,达到最佳的分类准确率。
在本实施例中,对学习率为0.0005时的安卓恶意软件家族分类器在数据验证集上的收敛速度进行了测量。我们对不同的数据验证集进行了10折交叉验证,即进行了10轮实验,为了清楚起见,图4a和4b所示,使用了两个子图分别显示前5轮和后5轮的实验运行结果。如图4a和4b所示,在所有10轮实验结果中,安卓恶意软件家族分类器收敛到最佳准确率(约97%)的优化迭代次数在800到1400之间。因此,安卓恶意软件家族分类器确定参数后,可以在数据验证集上快速收敛。
实施例2
本实施例还公开了一种安卓恶意软件家族分类方法,步骤如下:
获取需要进行家族分类的安卓恶意软件,得到该安卓恶意软件的灰度代码图像,然后将该安卓恶意软件的灰度代码图像输入到实施例1方法构建得到的安卓恶意软件家族分类器中,得到家族分类结果。
在针对于需要进行家族分类的安卓恶意软件,获取到该安卓恶意软件的灰度代码图像的具体过程如下:
针对需要进行家族分类的安卓恶意软件,提取出安卓恶意软件的Dex文件;针对于该安卓恶意软件的Dex文件,获取DeX文件的二进制代码,并且将DeX文件的二进制代码转换成十六进制格式;然后从左到右,依次将每两个相邻的十六进制数字划分为一个字节;最后将每个字节映射为图像像素的一个灰度值,从而获取到图像像素矩阵;针对于该安卓恶意软件Dex文件的图像像素矩阵,将其转换为灰度代码图像。
在本实施例中,将14类安卓恶意软件家族共3962个安卓恶意软件数据集随机分为10个大致相等的子集进行十折交叉验证。为了比较本实施例分类方法与现有技术的分类结果,采用以下评估度量指标:F-measure,误报率(FPR)和漏报率(FNR);如图5a至5c所示为本实施例分类方法和现有技术中分类方法下针对14类安卓恶意软件家族进行分类时的F-measure值,误报率(FPR)值和漏报率(FNR)值,本实施例分类方法的F-Measure的平均值为95.2%,说明本实施例能够有效地对安卓恶意软件进行分类。本实施例分类方法的FNR的平均值为4.9%,说明本实施例的漏报率较低。本实施例分类方法的FPR的平均值为0.2%,说明本实施例方法的误报率非常低。与现有技术的平均值相比,本实施例的F-Measure平均值更高、FNR和FPR平均值更低。对于F-Measure值,本实施例方法在一半以上的安卓恶意软件家族(即DroidDream,DroidKungFu,FakeInstaller,Iconosys,Imlog,Opfake,SendPay和Gappusin)超过现有技术,在其他恶意软件家族中与现有技术效果相近。对于FNR值,本实施例方法在12个恶意软件家族上超过现有技术,在剩余2个恶意软件家族(即Kmin和MobileTx)上效果相近。对于FPR值,本实施例方法在5个恶意软件家族(即DroidKungFu,FakeInstaller,Iconosys,Opfake和Plankton)上超过了现有技术,并且在剩余其他恶意软件家族上效果相近。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.一种安卓恶意软件家族分类器构建方法,其特征在于,步骤如下:
步骤S1、首先获取多个已知家族分类标签的安卓恶意软件,构成数据训练集;
步骤S2、获取数据训练集中各安卓恶意软件的灰度代码图像;
步骤S3、获取一个卷积神经网络模型,移除该卷积神经网络模型中的顶层卷积层,即全连接分层,得到特征提取模块;将数据训练集中各安卓恶意软件的灰度代码图像输入到特征提取模块中,通过特征提取模块提取到各安卓恶意软件灰度代码图像的特征向量,然后存储到特征向量文件中;
步骤S4、构建一个顶层卷积层,即新的全连接层,并且将该新的全连接层添加到步骤S3获取到的特征提取模块后,得到第一卷积神经网络模型;
步骤S5、第一卷积神经网络模型中,首先全连接层中的分类器从特征向量文件中读取到数据训练集中各安卓恶意软件灰度代码图像的特征向量;然后运行第一卷积神经网络模型,通过数据训练集中各安卓恶意软件灰度代码图像的特征向量针对全连接层中的分类器进行训练;将全连接层中分类器经过训练后的第一卷积神经网络模型作为安卓恶意软件家族分类器。
2.根据权利要求1所述的安卓恶意软件家族分类器构建方法,其特征在于,所述步骤S2中,获取到数据训练集中各安卓恶意软件的灰度代码图像的具体过程如下:
针对数据训练集中的每个安卓恶意软件,提取出其中的Dex文件;
针对于每个安卓恶意软件的Dex文件,获取DeX文件的二进制代码,并且将DeX文件的二进制代码转换成十六进制格式;然后从左到右,依次将每两个相邻的十六进制数字划分为一个字节;最后将每个字节映射为图像像素的一个灰度值,从而获取到图像像素矩阵;
针对于每个安卓恶意软件Dex文件的图像像素矩阵,将其转换为灰度代码图像。
3.根据权利要求2所述的安卓恶意软件家族分类器构建方法,其特征在于,所述步骤S2中,针对于数据训练集中的每个安卓恶意软件,首先将其后缀名apk修改为zip,然后将其解压,最后从解压后的文件中提取出Dex文件。
4.根据权利要求1所述的安卓恶意软件家族分类器构建方法,其特征在于,所述步骤S3中,将经过ImageNet图像数据集训练好的Google Inception-v3模型作为卷积神经网络模型。
5.根据权利要求1所述的安卓恶意软件家族分类器构建方法,其特征在于,构建的新的全连接层中的分类器为Softmax分类器。
6.根据权利要求1所述的安卓恶意软件家族分类器构建方法,其特征在于,还包括如下步骤:
获取多个已知家族分类标签的安卓恶意软件,随机构成多个数据验证集;在训练得到安卓恶意软件家族分类器过程中,进行优化器、学习率和迭代次数的参数调整,具体为:
步骤S51、在第一卷积神经网络模型中,使用多种不同的优化器,分别通过数据训练集中各安卓恶意软件灰度代码图像的特征向量针对全连接层中的分类器进行训练,然后通过数据验证集验证训练后的安卓恶意软件分类器的分类准确率以及训练迭代次数,选出迭代次数最少就能达到相应分类准确率要求的优化器,作为安卓恶意软件家族分类器的优化器;
步骤S52、在第一卷积神经网络模型中,使用了多个学习率数值,分别通过数据训练集中各安卓恶意软件灰度代码图像的特征向量针对全连接层中的分类器进行训练,在神经网络训练达到收敛时观察相应学习率下的分类准确率,选取最佳分类准确率对应的学习率作为安卓恶意软件家族分类器的学习率;
步骤S53、在确定优化器和学习率后,采用十折交叉验证法,通过数据验证集确定收敛到最佳分类准确率时的迭代次数,作为安卓恶意软件家族分类器的迭代次数。
7.根据权利要求6所述的安卓恶意软件家族分类器构建方法,其特征在于,
分类准确率Accuracy的计算公式如下:
Accuracy=(TP+TN)/(FP+TP+FN+TN);
其中TP为真正例,TN为真负例,FN为假负例,FP为假正例。
8.根据权利要求6所述的安卓恶意软件家族分类器构建方法,其特征在于,所述优化器包括Adadelta优化器,Adagrad优化器,梯度下降优化器和Adam优化器;
所述学习率数值取自0.00001~0.05;
所述迭代次数选用自800~1400。
9.一种安卓恶意软件家族分类方法,其特征在于,步骤如下:
获取需要进行家族分类的安卓恶意软件,得到该安卓恶意软件的灰度代码图像,然后将该安卓恶意软件的灰度代码图像输入到权利要求1至8中任一项所述方法构建得到的安卓恶意软件家族分类器中,得到家族分类结果。
10.根据权利要求9所述的安卓恶意软件家族分类方法,其特征在于,针对于需要进行家族分类的安卓恶意软件,获取到该安卓恶意软件的灰度代码图像的具体过程如下:
针对需要进行家族分类的安卓恶意软件,提取出安卓恶意软件的Dex文件;针对于该安卓恶意软件的Dex文件,获取DeX文件的二进制代码,并且将DeX文件的二进制代码转换成十六进制格式;然后从左到右,依次将每两个相邻的十六进制数字划分为一个字节;最后将每个字节映射为图像像素的一个灰度值,从而获取到图像像素矩阵;针对于该安卓恶意软件Dex文件的图像像素矩阵,将其转换为灰度代码图像。
CN201810987313.9A 2018-08-28 2018-08-28 一种安卓恶意软件家族分类器构建方法及其分类方法 Pending CN109165688A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810987313.9A CN109165688A (zh) 2018-08-28 2018-08-28 一种安卓恶意软件家族分类器构建方法及其分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810987313.9A CN109165688A (zh) 2018-08-28 2018-08-28 一种安卓恶意软件家族分类器构建方法及其分类方法

Publications (1)

Publication Number Publication Date
CN109165688A true CN109165688A (zh) 2019-01-08

Family

ID=64897002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810987313.9A Pending CN109165688A (zh) 2018-08-28 2018-08-28 一种安卓恶意软件家族分类器构建方法及其分类方法

Country Status (1)

Country Link
CN (1) CN109165688A (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109829306A (zh) * 2019-02-20 2019-05-31 哈尔滨工程大学 一种优化特征提取的恶意软件分类方法
CN109871686A (zh) * 2019-01-31 2019-06-11 中国人民解放军战略支援部队信息工程大学 基于图标表示和软件行为一致性分析的恶意程序识别方法及装置
CN110572393A (zh) * 2019-09-09 2019-12-13 河南戎磐网络科技有限公司 一种基于卷积神经网络的恶意软件流量分类方法
CN110717412A (zh) * 2019-09-23 2020-01-21 广东工业大学 一种检测恶意pdf文档的方法及系统
CN110837638A (zh) * 2019-11-08 2020-02-25 鹏城实验室 一种勒索软件的检测方法、装置、设备及存储介质
CN110879888A (zh) * 2019-11-15 2020-03-13 新华三大数据技术有限公司 病毒文件检测方法、装置及设备
CN111062036A (zh) * 2019-11-29 2020-04-24 暨南大学 恶意软件识别模型构建、识别方法及介质和设备
CN111259397A (zh) * 2020-02-12 2020-06-09 四川大学 一种基于马尔科夫图和深度学习的恶意软件分类方法
CN111444507A (zh) * 2020-06-15 2020-07-24 鹏城实验室 加壳软件是否误报的判定方法、装置、设备及存储介质
CN111475810A (zh) * 2020-04-13 2020-07-31 广州锦行网络科技有限公司 一种恶意软件检测器训练方法及系统、检测方法及系统
CN111552963A (zh) * 2020-04-07 2020-08-18 哈尔滨工程大学 一种基于结构熵序列的恶意软件分类方法
CN111783088A (zh) * 2020-06-03 2020-10-16 杭州迪普科技股份有限公司 一种恶意代码家族聚类方法、装置和计算机设备
CN112001424A (zh) * 2020-07-29 2020-11-27 暨南大学 基于对抗训练的恶意软件开放集家族分类方法和装置
CN112434296A (zh) * 2020-12-09 2021-03-02 广东工业大学 一种安卓恶意应用的检测方法及装置
CN112784269A (zh) * 2021-01-15 2021-05-11 鹏城实验室 恶意软件检测方法、装置和计算机存储介质
CN112906002A (zh) * 2021-03-26 2021-06-04 山西三友和智慧信息技术股份有限公司 一种基于深度学习的恶意软件识别方法
CN113378171A (zh) * 2021-07-12 2021-09-10 东北大学秦皇岛分校 一种基于卷积神经网络的Android勒索软件检测方法
CN114579970A (zh) * 2022-05-06 2022-06-03 南京明博互联网安全创新研究院有限公司 一种基于卷积神经网络的安卓恶意软件检测方法及系统
CN114611107A (zh) * 2022-03-11 2022-06-10 广州翰南工程技术有限公司 一种基于超分辨特征图像的安卓恶意软件分类方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105184313A (zh) * 2015-08-24 2015-12-23 小米科技有限责任公司 分类模型构建方法及装置
CN105989288A (zh) * 2015-12-31 2016-10-05 武汉安天信息技术有限责任公司 一种基于深度学习的恶意代码样本分类方法及系统
CN107103235A (zh) * 2017-02-27 2017-08-29 广东工业大学 一种基于卷积神经网络的Android恶意软件检测方法
CN107563439A (zh) * 2017-08-31 2018-01-09 湖南麓川信息科技有限公司 一种识别清洗食材图片的模型及识别食材类别的方法
WO2018045165A1 (en) * 2016-09-01 2018-03-08 Cylance Inc. Container file analysis using machine learning models
CN108268860A (zh) * 2018-02-09 2018-07-10 重庆科技学院 一种基于卷积神经网络的天然气集输站设备图像分类方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105184313A (zh) * 2015-08-24 2015-12-23 小米科技有限责任公司 分类模型构建方法及装置
CN105989288A (zh) * 2015-12-31 2016-10-05 武汉安天信息技术有限责任公司 一种基于深度学习的恶意代码样本分类方法及系统
WO2018045165A1 (en) * 2016-09-01 2018-03-08 Cylance Inc. Container file analysis using machine learning models
CN107103235A (zh) * 2017-02-27 2017-08-29 广东工业大学 一种基于卷积神经网络的Android恶意软件检测方法
CN107563439A (zh) * 2017-08-31 2018-01-09 湖南麓川信息科技有限公司 一种识别清洗食材图片的模型及识别食材类别的方法
CN108268860A (zh) * 2018-02-09 2018-07-10 重庆科技学院 一种基于卷积神经网络的天然气集输站设备图像分类方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHANG HOON KIM等: "classifying malware using convolutional gated neural network", 《2018 20TH INTERNATIONAL CONFERENCE ON ADVANCED COMMUNICATION TECHNOLOGY》 *
李骏骁: "基于监督型机器学习分类方法的Android恶意软件检测技术研究", 《中国优秀硕士学位论文全文数据库》 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871686A (zh) * 2019-01-31 2019-06-11 中国人民解放军战略支援部队信息工程大学 基于图标表示和软件行为一致性分析的恶意程序识别方法及装置
CN109829306B (zh) * 2019-02-20 2023-07-21 哈尔滨工程大学 一种优化特征提取的恶意软件分类方法
CN109829306A (zh) * 2019-02-20 2019-05-31 哈尔滨工程大学 一种优化特征提取的恶意软件分类方法
CN110572393A (zh) * 2019-09-09 2019-12-13 河南戎磐网络科技有限公司 一种基于卷积神经网络的恶意软件流量分类方法
CN110717412A (zh) * 2019-09-23 2020-01-21 广东工业大学 一种检测恶意pdf文档的方法及系统
CN110837638B (zh) * 2019-11-08 2020-09-01 鹏城实验室 一种勒索软件的检测方法、装置、设备及存储介质
CN110837638A (zh) * 2019-11-08 2020-02-25 鹏城实验室 一种勒索软件的检测方法、装置、设备及存储介质
CN110879888A (zh) * 2019-11-15 2020-03-13 新华三大数据技术有限公司 病毒文件检测方法、装置及设备
CN111062036A (zh) * 2019-11-29 2020-04-24 暨南大学 恶意软件识别模型构建、识别方法及介质和设备
CN111259397B (zh) * 2020-02-12 2022-04-19 四川大学 一种基于马尔科夫图和深度学习的恶意软件分类方法
CN111259397A (zh) * 2020-02-12 2020-06-09 四川大学 一种基于马尔科夫图和深度学习的恶意软件分类方法
CN111552963A (zh) * 2020-04-07 2020-08-18 哈尔滨工程大学 一种基于结构熵序列的恶意软件分类方法
CN111475810A (zh) * 2020-04-13 2020-07-31 广州锦行网络科技有限公司 一种恶意软件检测器训练方法及系统、检测方法及系统
CN111783088B (zh) * 2020-06-03 2023-04-28 杭州迪普科技股份有限公司 一种恶意代码家族聚类方法、装置和计算机设备
CN111783088A (zh) * 2020-06-03 2020-10-16 杭州迪普科技股份有限公司 一种恶意代码家族聚类方法、装置和计算机设备
CN111444507A (zh) * 2020-06-15 2020-07-24 鹏城实验室 加壳软件是否误报的判定方法、装置、设备及存储介质
CN112001424A (zh) * 2020-07-29 2020-11-27 暨南大学 基于对抗训练的恶意软件开放集家族分类方法和装置
CN112001424B (zh) * 2020-07-29 2023-05-23 暨南大学 基于对抗训练的恶意软件开放集家族分类方法和装置
CN112434296A (zh) * 2020-12-09 2021-03-02 广东工业大学 一种安卓恶意应用的检测方法及装置
CN112784269A (zh) * 2021-01-15 2021-05-11 鹏城实验室 恶意软件检测方法、装置和计算机存储介质
CN112906002A (zh) * 2021-03-26 2021-06-04 山西三友和智慧信息技术股份有限公司 一种基于深度学习的恶意软件识别方法
CN113378171A (zh) * 2021-07-12 2021-09-10 东北大学秦皇岛分校 一种基于卷积神经网络的Android勒索软件检测方法
CN114611107A (zh) * 2022-03-11 2022-06-10 广州翰南工程技术有限公司 一种基于超分辨特征图像的安卓恶意软件分类方法
CN114579970A (zh) * 2022-05-06 2022-06-03 南京明博互联网安全创新研究院有限公司 一种基于卷积神经网络的安卓恶意软件检测方法及系统

Similar Documents

Publication Publication Date Title
CN109165688A (zh) 一种安卓恶意软件家族分类器构建方法及其分类方法
CN105184160B (zh) 一种基于API对象调用关系图的Android手机平台应用程序恶意行为检测的方法
CN112734775B (zh) 图像标注、图像语义分割、模型训练方法及装置
Triastcyn et al. Generating artificial data for private deep learning
CN108648191A (zh) 基于贝叶斯宽度残差神经网络的害虫图像识别方法
CN111126386B (zh) 场景文本识别中基于对抗学习的序列领域适应方法
CN109961145A (zh) 一种针对图像识别模型分类边界敏感的对抗样本生成方法
CN111368895B (zh) 一种湿垃圾中垃圾袋目标检测方法及检测系统
CN107392019A (zh) 一种恶意代码家族的训练和检测方法及装置
CN107609399A (zh) 基于nin神经网络的恶意代码变种检测方法
CN110232280A (zh) 一种基于树结构卷积神经网络的软件安全漏洞检测方法
CN104809069A (zh) 一种基于集成神经网络的源代码漏洞检测方法
CN109784056A (zh) 一种基于深度学习的恶意软件检测方法
CN106096413B (zh) 一种基于多特征融合的恶意代码检测方法及系统
CN112883378B (zh) 图嵌入与深度神经网络相融合的安卓恶意软件检测方法
CN111723874A (zh) 一种基于宽度和深度神经网络的声场景分类方法
CN111382438A (zh) 基于多尺度卷积神经网络的恶意软件检测方法
CN110347931A (zh) 文章新章节的检测方法及装置
CN112784790A (zh) 一种基于元学习的泛化性伪造脸检测方法
CN113901448A (zh) 基于卷积神经网络和轻量级梯度提升机的入侵检测方法
CN113095158A (zh) 一种基于对抗生成网络的笔迹生成方法及装置
Kornish et al. Malware classification using deep convolutional neural networks
CN106295708A (zh) 一种基于Fisher分类器组的连续型数据预处理方法
CN112437053A (zh) 入侵检测方法及装置
Zhuang et al. A handwritten Chinese character recognition based on convolutional neural network and median filtering

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190108

WD01 Invention patent application deemed withdrawn after publication