CN110866550B - 卷积神经网络、金字塔条状池化方法及恶意软件分类方法 - Google Patents

卷积神经网络、金字塔条状池化方法及恶意软件分类方法 Download PDF

Info

Publication number
CN110866550B
CN110866550B CN201911059032.8A CN201911059032A CN110866550B CN 110866550 B CN110866550 B CN 110866550B CN 201911059032 A CN201911059032 A CN 201911059032A CN 110866550 B CN110866550 B CN 110866550B
Authority
CN
China
Prior art keywords
pooling
layer
pyramid
strip
height
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
Application number
CN201911059032.8A
Other languages
English (en)
Other versions
CN110866550A (zh
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.)
Yunnan University YNU
Original Assignee
Yunnan University YNU
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 Yunnan University YNU filed Critical Yunnan University YNU
Priority to CN201911059032.8A priority Critical patent/CN110866550B/zh
Publication of CN110866550A publication Critical patent/CN110866550A/zh
Application granted granted Critical
Publication of CN110866550B publication Critical patent/CN110866550B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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
    • G06F21/561Virus type analysis
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

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

Abstract

本发明公开了一种卷积神经网络、金字塔条状池化方法及恶意软件分类方法。池化方法包括:数据尺寸的计算步骤、条状池化核心大小的计算步骤、数据填充的步骤、对填充的数据进行条状池化的步骤和池化结果连接的步骤。卷积神经网络中,池化层利用前述池化方法对数据进行池化处理。本发明的恶意软件分类方法为利用采用前述池化方法的卷积神经网络对恶意软件灰度图进行分类。本发明的池化方法、卷积神经网络以及分类方法,可以提升对如恶意软件灰度图等尺寸不规则图像的分类识别准确率,对于图像压缩较传统神经网络更少,处理效率更高。

Description

卷积神经网络、金字塔条状池化方法及恶意软件分类方法
技术领域
本发明涉及机器学习领域,尤其是一种卷积神经网络训练模型、卷积神经网络金字塔条状池化方法,以及利用金字塔条状池化卷积神经网络对恶意软件进行分类的方法。
背景技术
随着网络大数据技术的不断革新,对于行为的分析已出现了多种分析模型,其中,最常见的当属利用人工智能对大数据进行行为特征提取和分析。而对于人工智能而言,是基于神经网络对大数据进行机器学习而形成。其中常见的神经网络模型之一便是卷积神经网络。常规的卷积神经网络无法直接处理尺寸大小不规则的图像(如恶意软件灰度图片),导致对于不规则图像学习的效果不尽人意。
另外,互联网技术的飞速发展在带给人们生活便利的同时,恶意文件及其造成的破坏却不容乐观,其规模呈现指数级增长,成为威胁网络安全的重要因素之一。伴随着恶意软件的大肆出现,包括计算机病毒、特洛伊木马等在内的代表性恶意软件会严重影响计算机运行效率、窃取用户信息,严重时甚至会造成用户和单位的财产损失。近年来,一些黑客致力于窃取机密信息而不断编写和更新病毒,越来越多的学者为了研究病毒也对其做了变种并公布于自己的博客。同时,有攻击就有防护,攻击者和安全管理员之间形成了持久对抗的博弈格局。为了更好的隐藏恶意软件从而使其不被种种杀毒软件所发现,恶意软件一直在不断产生新的变种,且其形势严峻,如:2015年新增了4.3亿个恶意文件。CNCEKT/CC(国家互联网应急中心)在2017年2月的《CNCERT互联网安全威胁报告》中指出,在捕获的新增网络病毒文件中,按网络病毒名称统计新增4个,较上月增长300.0%。在3月的报告中指出,CNCERT捕获了大量新增网络病毒文件,其中按网络病毒名称统计新增11个,网络病毒家族统计新增2个。
在人工智能和深度学习技术取得飞速发展的今天,相关技术被广泛用于恶意软件的检测与分类。其中主要的一种分析技术是将恶意软件转换为灰度图,进而基于所提取的图像特征构建检测和分类模型。将恶意软件由二进制文件转制成为灰度图像后,利用卷积神经网络对恶意软件对应的灰度图进行处理,极大的简化了利用机器学习技术对恶意软件进行检测的复杂度并且显著地提升了识别恶意软件变种的检测率。
中国专利文献CN105718960A公开了一种基于卷积神经网络和空间金字塔匹配的图像排序模型方法,该方法包括卷积神经网络、近似最近邻匹配算法、类似空间金字塔匹配算法三个步骤,但该方法是将图像以不同的分辨率进行切分,对每一个分辨率下同一个区域中属于同一个类别的特征进行技术统计,最后将不同特征进行加权连接得到的一幅图像的特征直方图作为图像特征,该方法对传统的数字、动物头像等图像的特征具有一定优势,但对于恶意软件对应的图像进行分类的效果有待提升。中国专利文献CN103839074A公开了一种基于素描线段信息和空间金字塔匹配的图像分类方法,该方法包括使用训练图像和测试图像合并、根据primalsketch模型获得初始素描图、计算SIFT特征、在非结构区域按照空间金字塔匹配方法划分图像并提取SIFT特征、合并特征并进行聚类、从初始素描图的线段中提取统计特征、用空间金字塔匹配核函数并最终分类八个步骤,但是该方法使用空间金字塔提取特征解决图像细节信息对于恶意软件灰度图不具有普遍的适应性。中国专利文献CN106991440A公开了一种基于空间金字塔的卷积神经网络的图像分类方法,该方法包括前向传播获得卷积神经网络、反向调节两个主要步骤,但是该方法不适用于具有条状特征的恶意软件图像分类。中国专利文献CN106548073A公开了一种基于卷积神经网络的恶意APK的筛查方法,该方法包括反编译APK文件解析获得call graph、根据安全敏感函数和高频率函数进行call graph卷积、卷积结果传入网络模型pooling层、再接入卷积神经网络模型的隐藏层和输出层、获得检测结果五个步骤,但是其采用恶意软件调用的API特征,不是采用恶意软件灰度图的处理方法。
Kaiming He等人在《Spatial Pyramid Pooling in Deep ConvolutionalNetworks for Visual Recognition》一文中公开了一种空间金字塔构建的卷积神经网络用于图像识别的方法,包括输入层、隐藏层、池化层、空间金字塔层、输出层五个步骤,该方法可以实现对可变尺寸图像的识别效果,但该方法作用在具有典型图像特征的图片上,对于具有显著条状特征的恶意软件灰度图无法适用。Jun Yue等人在《A Deep LearningFramework for Hyperspectral Image Classification using Spatial PyramidPooling》一文中公开了一种基于空间金字塔的深度学习实现高光谱图像的分类方法,包括stacked autoencoders(SAEs)进行高层特征提取、Deep Convolutional Neural Networks(DCNNs)从训练数据提取丰富特征、逻辑回归进行分类三个步骤,该方法作用于常规的图像,无法直接对可变尺寸大小的图像进行处理。
因此,恶意软件及其造成的危害将持续伴随计算机网络的发展。如何进一步提升恶意软件检测能力,将在很大程度上决定网络的安全性,相关的研究同时具有理论价值和应用价值。
发明内容
本发明的发明目的在于:针对上述存在的问题,提供一种金字塔条状池化卷积神经网络训练模型、卷积神经网络金字塔条状池化方法,以及利用金字塔条状池化卷积神经网络对恶意软件进行分类的方法。以提升网络对于如恶意软件灰度图像等尺寸不规则图像的分类效果的准确率等性能。
本发明采用的技术方案如下:
一种卷积神经网络的金字塔条状池化方法,其特征在于,包括以下步骤:
A.计算输入样本数据xn每一层的宽度w1以及高h1,n对应于金字塔层级;
B.根据所计算出的输入样本数据xn每一层的宽度w1以及高h1,计算金字塔对应的每一层的条状池化核心;
C.根据金字塔每一层的条状池化核心,对对应层输入样本数据xn进行填充处理;
D.根据金字塔每一层的条状池化核心,对对应层的填充后的输入样本数据xn进行池化操作;
E.依次将金字塔每一层的条状池化结果进行拼接。
通过上述方法对数据进行处理,较传统网络模型和方法而言,训练过程中,压缩图像更少、训练时间更短,并且对于不规则图像的识别而言,大幅提高了分类准确率。
进一步的,上述步骤B中,所述计算金字塔对应的每一层的条状池化核心具体为:计算金字塔每一层条状池化核心的高度和长度。即确定金字塔每一层的条状池化核心的尺寸。
进一步的,计算金字塔每一层池化核心的高度和长度包括:若设置横向条状池化,则池化核心高度kh设置为
Figure BDA0002257341100000032
长度kw设置为w1;若设置纵向条状池化,则池化核心高度kh设置为h1,长度kw设置为
Figure BDA0002257341100000033
进一步的,上述步骤C包括根据金字塔每一层的条状池化核心,计算对应层数据的填充尺寸;
根据计算出的填充尺寸,对金字塔每一层的数据进行零值填充。
进一步的,上述步骤C包括:
C1:若kh≥h1,则高度填充参数ph为0,否则ph为
Figure BDA0002257341100000034
若kw≥w1,则宽度填充参数pw为0,否则pw为
Figure BDA0002257341100000035
C2:根据更新后的ph以及pw,对当前输入样本数据xn进行填充:填充值为0,将数据xn填充为[h1+2ph,w1+2pw]的3阶张量。
进一步的,上述步骤D包括:
根据计算出的kh和kw,对填充后的数据xn进行池化操作,将池化后的结果存储于An,则
Figure BDA0002257341100000031
其中μ(·)表示滑动窗口函数。
进一步的,步骤E包括:
针对于金字塔每一层,执行以下操作:计算金字塔当前层池化结果An的高度h2、长度c2以及张量的第三维宽度w2;根据计算出的长度c2,宽度w2以及高度h2,将对应于金字塔当前层的条状池化结果展开为形如的[h2*c2*w2,1,1]张量;
将每一层条状池化结果展开后的张量进行拼接。
本发明提供了一种卷积神经网络训练模型,包括输入层、隐含层和输出层,所述隐含层中,池化层采用上述的金字塔条状池化方法处理数据。
本发明的卷积神经网络,较传统神经网络识别不规则图像而言,识别时间更短,对于图像的压缩量更少,对于图像分类的准确率更高。
本发明提供了一种利用金字塔条状池化卷积神经网络的恶意软件分类方法,其特征在于,所述金字塔条状池化卷积神经网络输入层数据为恶意软件灰度图像,池化层采用上述的金字塔条状池化方法处理数据。
本发明的恶意软件分类方法对于恶意软件的分类结果较现有神经网络更为准确,识别时间更短,对于图像的处理计算量更少。
需要说明的是,本发明中,所述的|“第一”、“第二”等表示顺序的术语,或者相关参数后的‘1’、‘2’等序号,仅为区别描述对应的对象,非对相应的参数进行限定,也不应作为对本发明方案所选择对象/参数的限制。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1、本发明的池化方法对于图像而言,压缩量较传统池化方法更小,对于图像特征的提取和归纳更具代表性,池化处理效率高,可以提高分类模型对于不规则图像的识别准确率。
2、本发明相较于传统神经网络相比,在对不规则图像的分类方面,压缩图像更少,识别时间更短,分类准确率更高。
3、本发明对于恶意软件检测分类的方法,具备极高的性能,在分类识别效率和准确性上,均具有大幅提高。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是金字塔条状池化方法的一个实施例的流程图。
图2是利用金字塔条状池化卷积神经网络的恶意软件分类方法的一个实施例的流程图。
图3是图2的实施例中,实验使用的数据集样式的一个实施例。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
实施例一
本实施例公开了一种卷积神经网络的金字塔条状池化方法,该方法预设金字塔高度为N,该方法包括以下步骤:
A.计算输入样本数据xn(x∈Rc1*w1*h1)每一层的宽度w1以及高h1,n对应于金字塔层级。
B.根据所计算出的输入样本数据xn每一层的宽度w1以及高h1,计算金字塔对应的每一层的条状池化核心。
C.根据金字塔每一层的条状池化核心,对对应层输入样本数据xn进行填充处理。
D.根据金字塔每一层的条状池化核心,对对应层的填充后的输入样本数据xn进行池化操作。
E.将金字塔每一层的条状池化结果进行拼接。
F.输出拼接结果。
简而言之,本方法首先通过当前金字塔层级计算当前层所对应的池化核心大小以及填充大小,然后根据计算的核心大小以及填充大小,对输入样本数据xn进行池化处理,最后将每一层处理后的池化结果进行展开并拼接。本发明基于最大池化算法来实现金字塔条状池化,可有效提高卷积网络的性能,对条状特征的图像的分析效果尤其显著。
实施例二
本实施例公开了一种卷积神经网络的金字塔条状池化方法,包括以下步骤:
S1:计算输入样本数据xn(x∈Rc1*w1*h1)每一层的宽w1以及高h1,n对应于金字塔层级。
S2:根据所计算出的输入样本数据xn每一层的宽度w1以及高h1,计算金字塔对应的每一层的条状池化核心:若设置横向条状池化,则池化核高度kh设置为
Figure BDA0002257341100000051
长度kw设置为w1;若设置纵向条状池化,则池化核高度kh设置为h1,长度kw设置为
Figure BDA0002257341100000061
S3:由于数据xn的大小无法保证完美贴合池化计算所需要的大小,因此需要对输入到每一层的数据进行填充处理,通过设置高度填充大小:若kh≥h1,则高度填充参数ph为0,否则ph为
Figure BDA0002257341100000062
若kw≥w1,则宽度填充参数pw为0,否则pw为[(kw*n-w1/2;
S4:按照更新后的ph以及pw,对每一层的数据xn进行填充,填充值为0,将数据xn填充为[h1+2ph,w1+2pw]的3阶张量;
S5:根据计算出的金字塔每一层的池化核心kh以及kw,分别对对应层输入的数据xn进行池化操作,池化后的结果存储于An,则
Figure BDA0002257341100000063
其中μ(·)表示滑动窗口函数;
S6:依次将金字塔每一层的条状池化结果进行拼接:
S6.1:初始化y用于存储张量数据;
S6.2:初始化当前金字塔高度n为0;
S6.3:判断是否满足n<N,如果是,进入步骤S3.4;否则进入步骤S4;
S6.4:计算当前金字塔层池化结果An的高度h2、长度c2以及该张量的第三维宽度w2;
S6.5:根据计算出的长度c2,宽度w2以及高度h2,将An展开为形如[h2*c2*w2,1,1]的张量;
S6.6:将展开后的An张量拼接至y中;
S6.7:进入步骤6.3。
S7:返回结果y。
实施例三
本实施例公开了一种卷积神经网络的金字塔条状池化方法,包括以下步骤:
S1:计算输入样本数据xn(x∈Rc1*w1*h1)每一层的宽w1以及高h1,n对应于金字塔层级。
S2:设置金字塔每一层池化核心高度和长度:若设置横向条状池化,则池化核心高度kh设置为
Figure BDA0002257341100000071
长度kw设置为w1;若设置纵向条状池化,则池化核心高度kh设置为h1,长度kw设置为
Figure BDA0002257341100000072
S3:根据金字塔每一层的条状池化核心,对对应层输入样本数据xn进行填充处理。具体包括:
S3.1:若kh≥h1,则高度填充参数ph为0,否则ph为
Figure BDA0002257341100000073
若kw≥w1,则宽度填充参数pw为0,否则pw为
Figure BDA0002257341100000074
S3.2:根据更新后的ph以及pw,对当前输入样本数据xn进行填充,填充值为0,将数据xn填充为[h1+2ph,w1+2pw]的3阶张量。
S4:根据金字塔每一层的条状池化核心,对对应层的填充后的输入样本数据xn进行池化操作。
S5:依次将金字塔每一层的条状池化结果进行拼接。
实施例四
本实施例公开了一种卷积神经网络的金字塔条状池化方法,包括以下步骤:
S1:计算输入样本数据xn(x∈Rc1*w1*h1)的宽w1以及高h1,n对应于金字塔层级。
S2:根据所计算出的输入样本数据xn每一层的宽度w1以及高h1,计算金字塔对应的每一层的条状池化核心。具体包括:
设置金字塔每一层池化核心高度和长度:若设置横向条状池化,则池化核心高度kh设置为
Figure BDA0002257341100000075
长度kw设置为w1;若设置纵向条状池化,则池化核心高度kh设置为h1,长度kw设置为
Figure BDA0002257341100000076
S3:根据金字塔每一层的条状池化核心,对对应层输入样本数据xn进行填充处理。具体包括:
S3.1:若kh≥h1,则高度填充参数ph为0,否则ph为
Figure BDA0002257341100000077
若kw≥w1,则宽度填充参数pw为0,否则pw为
Figure BDA0002257341100000078
S3.2:根据更新后的ph以及pw,对当前输入样本数据xn进行填充,填充值为0,将数据xn填充为[h1+2ph,w1+2pw]的3阶张量。
S4:根据金字塔每一层的条状池化核心,对对应层的填充后的输入样本数据xn进行池化操作。具体包括:
根据计算出的kh和kw,对填充后的数据xn进行池化操作,将池化后的结果存储于An,则
Figure BDA0002257341100000081
其中μ(·)表示滑动窗口函数。
S5:将金字塔每一层的条状池化结果进行拼接。具体包括:步骤E包括
S5.1:初始化y使用存储张量数据;
S5.2:初始化当前金字塔高度n=0;
S5.3:判断是否满足n<N,若是,则当前金字塔高度n增加1,进入S5.4,否则跳出S5;
S5.4:计算金字塔当前层(第n层)池化结果An的高度h2、长度c2以及张量的第三维宽度w2;
S5.5:根据计算出的长度c2,宽度w2以及高度h2,将An展开为形如的[h2*c2*w2,1,1]张量;
S5.6:将展开后的An张量拼接至y中,跳转到步骤S5.3;
S6:输出y。
实施例五
本实施例公开了一种卷积神经网络的金字塔条状池化方法,其主要由两组步骤构成,金字塔划分以及条件池化。每次调用该方法时,计算当前输入样本数据x∈Rc×w×h的宽度w以及高度h,根据用户设置的金字塔高度N动态的计算金字塔每一层的条状池化Sn后的结果An
An=Sn(xn)
如图1所示,条件池化的计算包括以下步骤:
S1:计算当前输入数据x∈Rc1*w1*h1的宽w1以及高h1,初始化当前金字塔高度n为0。即从金字塔最底层开始计算。
S2:根据金字塔高度动态的计算金字塔每一层的条状池化核心,并对输入数据进行池化处理。具体步骤包括:
S2.1:如果当前金字塔高度n<N,则当前高度n增加1并进入步骤S2.2,否则进入步骤S3;
S2.2:若设置横向条状池化,则池化核高度kh设置为
Figure BDA0002257341100000091
长度kw设置为w;若设置纵向条状池化,则池化核高度kh设置为h,长度kw设置为
Figure BDA0002257341100000092
S2.3:由于数据xn的大小无法保证完美贴合池化计算所需要的大小,因此需要对其进行填充处理,通过设置高度填充大小。如果kh≥h1,则ph为0;否则ph为
Figure BDA0002257341100000093
如果kw≥w1,则pw为0;否则pw为
Figure BDA0002257341100000094
S2.4:按照更新后的ph以及pw对数据x进行填充,填充值为0,将数据xn填充为[h1+2ph,w1+2pw]的3阶张量;
S2.5:根据计算出的kh,kw对数据xn进行池化操作,池化后的结果存储于An,则
Figure BDA0002257341100000095
其中μ(·)表示滑动窗口函数;
S2.6:进入步骤S2.1。
S3:将每一层金字塔内的条状池化结果进行拼接便于后续处理。具体方法包括:
S3.1:初始化y用于存储张量数据;
S3.2:初始化当前金字塔高度n为0;
S3.3:判断是否满足n<N,如果是,进入步骤S3.4;否则进入步骤S4;
S3.4:计算当前金字塔层池化结果An的高度h2、长度c2以及张量的第三维宽度w2;
S3.5:根据计算出的长度c2,宽度w2以及高度h2,将An展开为形如[h2*c2*w2,1,1]的张量;
S3.6:将展开后的An张量拼接至y中;
S3.6:进入步骤3.3。
S4:返回结果y。
步骤3的拼接结果即为y=A1+A2+...+An,An(n=1,2,……)分别表示金字塔每一层的条状池化结果。
实施例六
本实施例公开了一种卷积神经网络训练模型,对于卷积神经网络,其包括输入层、隐含层和输出层,其中,隐含层包括卷积层、池化层和全连接层。在本实施例中,池化层采用上述实施例中的金字塔条状池化方法对卷积层输出的数据进行池化处理。
实施例七
本实施例公开了一种利用金字塔条状池化卷积神经网络的恶意软件分类方法,该分类方法所利用的金字塔条状池化卷积神经网络输入层的输入样本数据为恶意软件灰度图,网络池化层采用上述实施例中的金字塔条状池化方法对卷积层输出的数据进行池化处理。即在输入层输入数据后,进行数据整理,到卷积层的多层卷积,以及全连接层的连接处理后后续激活和输出层输出分类结果上,均较现有卷积神经网络无差别,改进点在于池化层的池化处理方法上,即图2中的S103步骤。
在分类过程中,对于不同尺寸恶意软件灰度图像的处理,可以使用cropping和warping方法。两种方法通过截取图像的代表性特征区域,作用于卷积神经网络中的卷积层之前,从而保证了卷积层处理的图像是固定大小尺寸。
实施例八
本实施例采用具体案例对实施例七的恶意软件分类方法进行实验验证,并采用现有池化方法进行技术效果对比。在本实施例中,使用深度学习框架Chainer构建神经网络以及金字塔条状池化,同时数据集来源于自制的恶意软件灰度图数据集(亦可使用公开的恶意软件样本)。表1是本实施例中数据集说明。
表1示例数据集说明
类别 数量
正常软件 800
恶意软件 900
在被实施例中,作为对比的传统池化方法,为全局平均池化、空间金字塔池化以及核心大小为2×2的最大池化,均由Chainer框架提供。网络模型采用10层架构,具体参数参见表2。
表2本发明设计网络模型架构和参数设置
Figure BDA0002257341100000101
Figure BDA0002257341100000111
利用金字塔条状池化可以将不同大小的特征统一压缩为大小为96×6的张量,极大地方便了全连接层的处理。同时,金字塔条状池化有效提升了网络的检测能力,实验结果见表3。
表3不同网络模型性能对比
全局平均池化 压缩图像 金字塔条状池化
Accuracy 97.66% 97.75% 98.72%
Precision 99.46% 99.25% 100.00%
Recall 95.92% 96.35% 97.45%
F1 97.66% 97.78% 98.71%
Specification 99.46% 99.23% 100.00%
此处对表3中的性能度量方式进行简要说明:
Figure BDA0002257341100000112
Figure BDA0002257341100000113
Figure BDA0002257341100000114
Figure BDA0002257341100000115
Figure BDA0002257341100000116
其中TP(True Positive)表示分类正确且预测为恶意软件,TN(True Negative)分类正确且预测为良性软件,FP(False Positive)分类错误且预测为恶意软件,FN(FalseNegative)分类错误且预测为良性软件。
本实施例在保持网络分类准确率的同时,还一定程度上提升了网络的运行效率。表4是上述各网络模型训练过程中一轮迭代所需要的时间。
表4网络训练所需时间
全局平均池化(单位:秒)
全局平均池化 79s
压缩图像 130s
金字塔条状池化 99s
从本实施例的结果可知,本发明的恶意软件分类方法,,其运行时间较其他网络模型和方法相比,压缩图像更少,并且能够带来良好的分类准确率提升。
下面结合附图3对本发明实施例的具体实施方式进行描述,以便于所属领域技术人员能够更好地理解发明的方案。需要说明书的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
对于4阶张量x∈RN×c×w×h以及其所对应的标签y∈[0,C]N,其中,C表示恶意软件分类标签的种类总数。卷积神经网络的目标是计算一个xn对应的预测标签
Figure BDA0002257341100000121
使其与真实标签yn相同,也就是计算
Figure BDA0002257341100000122
前边说到,卷积神经网络的隐层一般由3部分组成,包括卷积层、池化层和全连接层。其中,卷积层为
Figure BDA0002257341100000123
通过反向传播算法学习ki以及b的权重,完成特征提取的功能。池化层
Figure BDA0002257341100000124
是一组不需要学习的层,用于特征压缩。全连接层
Figure BDA0002257341100000125
用于分类输出。模型的学习目标定义为
Figure BDA0002257341100000126
其中,θ表示通过训练神经网络所学习到的加权参数、L(θ)表示神经网络学习中所定义的损失函数、m表示分类样本总数量、T表示矩阵转置、k表示分类标签的总数量、l表示具体的样本类别。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

Claims (1)

1.一种利用金字塔条状池化卷积神经网络的恶意软件分类方法,其特征在于,所述金字塔条状池化卷积神经网络输入层的输入样本数据xn为恶意软件灰度图像,所述恶意软件灰度图像经输入层进行数据整理后,由卷积层进行多层卷积,再由池化层进行池化处理,再由全连接层进行连接处理后进行激活,最后由输出层输出分类结果;
其中,池化层进行池化处理的方法包括:
A.计算输入样本数据xn每一层的宽度w1以及高h1,n对应于金字塔层级;
B.根据所计算出的输入样本数据xn每一层的宽度w1以及高h1,计算金字塔对应的每一层的条状池化核心,具体为计算金字塔每一层条状池化核心的高度和长度,包括:若设置横向条状池化,则池化核心高度kh设置为
Figure FDA0003635305000000011
长度kw设置为w1;若设置纵向条状池化,则池化核心高度kh设置为h1,长度kw设置为
Figure FDA0003635305000000012
Figure FDA0003635305000000013
C.根据金字塔每一层的条状池化核心,对对应层输入样本数据xn进行填充处理,包括:C1:若kh≥h1,则高度填充参数ph为0,否则ph为
Figure FDA0003635305000000014
若kw≥w1,则宽度填充参数pw为0,否则pw为
Figure FDA0003635305000000015
C2:根据更新后的ph以及pw,对当前输入样本数据xn进行填充:填充值为0,将数据xn填充为[h1+2ph,w1+2pw]的2阶张量;
D.根据金字塔每一层的条状池化核心,对对应层的填充后的输入样本数据xn进行池化操作,包括:根据计算出的kh和kw,对填充后的数据xn进行池化操作,将池化后的结果存储于An,则
Figure FDA0003635305000000016
其中μ(·)表示滑动窗口函数;
E.依次将金字塔每一层的条状池化结果进行拼接,包括:针对于金字塔每一层,执行以下操作:计算金字塔当前层池化结果An的高度h2、长度c2以及张量的第三维宽度w2;根据计算出的长度c2,宽度w2以及高度h2,将对应于金字塔当前层的条状池化结果展开为[h2*c2*w2,1,1]张量;将每一层条状池化结果展开后的张量进行拼接。
CN201911059032.8A 2019-11-01 2019-11-01 卷积神经网络、金字塔条状池化方法及恶意软件分类方法 Active CN110866550B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911059032.8A CN110866550B (zh) 2019-11-01 2019-11-01 卷积神经网络、金字塔条状池化方法及恶意软件分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911059032.8A CN110866550B (zh) 2019-11-01 2019-11-01 卷积神经网络、金字塔条状池化方法及恶意软件分类方法

Publications (2)

Publication Number Publication Date
CN110866550A CN110866550A (zh) 2020-03-06
CN110866550B true CN110866550B (zh) 2022-06-14

Family

ID=69653455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911059032.8A Active CN110866550B (zh) 2019-11-01 2019-11-01 卷积神经网络、金字塔条状池化方法及恶意软件分类方法

Country Status (1)

Country Link
CN (1) CN110866550B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105718960A (zh) * 2016-01-27 2016-06-29 北京工业大学 基于卷积神经网络和空间金字塔匹配的图像排序模型
CN105956532A (zh) * 2016-04-25 2016-09-21 大连理工大学 一种基于多尺度卷积神经网络的交通场景分类方法
CN106991440A (zh) * 2017-03-29 2017-07-28 湖北工业大学 一种基于空间金字塔的卷积神经网络的图像分类算法
KR101882743B1 (ko) * 2017-04-17 2018-08-30 인하대학교 산학협력단 콘볼루션 신경망 기반-계층적 특징 모델링을 이용한 효율적인 객체 검출 방법
CN108986124A (zh) * 2018-06-20 2018-12-11 天津大学 结合多尺度特征卷积神经网络视网膜血管图像分割方法
CN109215034A (zh) * 2018-07-06 2019-01-15 成都图必优科技有限公司 一种基于空间金字塔掩盖池化的弱监督图像语义分割方法
US10321728B1 (en) * 2018-04-20 2019-06-18 Bodygram, Inc. Systems and methods for full body measurements extraction
CN110225030A (zh) * 2019-06-10 2019-09-10 福州大学 基于rcnn-spp网络的恶意域名检测方法及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10002313B2 (en) * 2015-12-15 2018-06-19 Sighthound, Inc. Deeply learned convolutional neural networks (CNNS) for object localization and classification

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105718960A (zh) * 2016-01-27 2016-06-29 北京工业大学 基于卷积神经网络和空间金字塔匹配的图像排序模型
CN105956532A (zh) * 2016-04-25 2016-09-21 大连理工大学 一种基于多尺度卷积神经网络的交通场景分类方法
CN106991440A (zh) * 2017-03-29 2017-07-28 湖北工业大学 一种基于空间金字塔的卷积神经网络的图像分类算法
KR101882743B1 (ko) * 2017-04-17 2018-08-30 인하대학교 산학협력단 콘볼루션 신경망 기반-계층적 특징 모델링을 이용한 효율적인 객체 검출 방법
US10321728B1 (en) * 2018-04-20 2019-06-18 Bodygram, Inc. Systems and methods for full body measurements extraction
CN108986124A (zh) * 2018-06-20 2018-12-11 天津大学 结合多尺度特征卷积神经网络视网膜血管图像分割方法
CN109215034A (zh) * 2018-07-06 2019-01-15 成都图必优科技有限公司 一种基于空间金字塔掩盖池化的弱监督图像语义分割方法
CN110225030A (zh) * 2019-06-10 2019-09-10 福州大学 基于rcnn-spp网络的恶意域名检测方法及***

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
Image Recognition-based Deep Neural Network for Packed Malware Detection;X. Sun 等;《2021 International Conference on Intelligent Technology and Embedded Systems (ICITES)》;20211220;118-124 *
Malware Detection with Malware Images using Deep Learning Techniques;K. He 等;《2019 18th IEEE International Conference On Trust, Security And Privacy In Computing And Communications/13th IEEE International Conference On Big Data Science And Engineering (TrustCom/BigDataSE)》;20191031;95-102 *
Spatial pyramid pooling in deep convolutional networks for visual recognition;He K 等;《IEEE transactions on pattern analysis and machine intelligence》;20150109;第37卷(第9期);1904-1916 *
一种基于卷积神经网络的Web攻击检测方法;田俊峰 等;《小型微型计算机***》;20190315;第40卷(第3期);584-588 *
基于改进卷积神经网络的恶意代码检测技术;唐永旺 等;《信息工程大学学报》;20190415;第20卷(第2期);192-196+209 *
基于灰度图纹理指纹的恶意软件分类;张晨斌 等;《计算机科学》;20180615;第45卷(第S1期);383-386 *
基于空间金字塔池化的深度卷积神经网络多聚焦图像融合;梅礼晔 等;《云南大学学报(自然科学版)》;20190329;第41卷(第1期);18-27 *

Also Published As

Publication number Publication date
CN110866550A (zh) 2020-03-06

Similar Documents

Publication Publication Date Title
CN109977943B (zh) 一种基于yolo的图像目标识别方法、***和存储介质
CN107908963B (zh) 一种自动化检测恶意代码核心特征的方法
Chen Deep transfer learning for static malware classification
CN110704840A (zh) 一种基于卷积神经网络cnn的恶意软件检测方法
CN109829306B (zh) 一种优化特征提取的恶意软件分类方法
Chaganti et al. Image-based malware representation approach with EfficientNet convolutional neural networks for effective malware classification
Jiang et al. Color backdoor: A robust poisoning attack in color space
CN109063478A (zh) 可移植的可执行文件的病毒检测方法、装置、设备及介质
Chen et al. Using generative adversarial networks for data augmentation in android malware detection
Li et al. An adversarial machine learning method based on OpCode N-grams feature in malware detection
Anandhi et al. Malware visualization and detection using DenseNets
Kakisim et al. Sequential opcode embedding-based malware detection method
Shen et al. Feature fusion-based malicious code detection with dual attention mechanism and BiLSTM
CN115982706A (zh) 基于api调用序列行为多视角融合的恶意软件检测方法
CN111400713A (zh) 基于操作码邻接图特征的恶意软件族群分类方法
Li et al. Rethinking natural adversarial examples for classification models
Vashishtha et al. An Ensemble approach for advance malware memory analysis using Image classification techniques
CN111488574B (zh) 恶意软件分类方法、***、计算机设备和存储介质
CN111783088B (zh) 一种恶意代码家族聚类方法、装置和计算机设备
CN110866550B (zh) 卷积神经网络、金字塔条状池化方法及恶意软件分类方法
Nahhas et al. Android Malware Detection Using ResNet-50 Stacking.
Das et al. Image splicing detection based on deep convolutional neural network and transfer learning
Naeem et al. Android Device Malware Classification Framework Using Multistep Image Feature Extraction and Multihead Deep Neural Ensemble.
Lu et al. Deep learning based malware classification using deep residual network
CN112000954B (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
OL01 Intention to license declared