CN110659495A - 一种恶意代码家族分类方法 - Google Patents
一种恶意代码家族分类方法 Download PDFInfo
- Publication number
- CN110659495A CN110659495A CN201910929429.1A CN201910929429A CN110659495A CN 110659495 A CN110659495 A CN 110659495A CN 201910929429 A CN201910929429 A CN 201910929429A CN 110659495 A CN110659495 A CN 110659495A
- Authority
- CN
- China
- Prior art keywords
- malicious code
- layer
- image
- file
- algorithm
- 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
Links
- 238000000034 method Methods 0.000 title claims description 42
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 41
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 27
- 238000012549 training Methods 0.000 claims abstract description 19
- 238000010606 normalization Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 10
- 238000013135 deep learning Methods 0.000 claims description 9
- 230000005284 excitation Effects 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 7
- 238000011176 pooling Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 4
- 241000282326 Felis catus Species 0.000 claims description 3
- 201000011243 gastrointestinal stromal tumor Diseases 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 3
- 230000002159 abnormal effect Effects 0.000 claims description 2
- 238000005538 encapsulation Methods 0.000 claims description 2
- 238000007781 pre-processing Methods 0.000 abstract description 2
- 238000001514 detection method Methods 0.000 abstract 1
- 239000000523 sample Substances 0.000 description 19
- 238000004364 calculation method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000013074 reference sample Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000007790 scraping Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- 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/561—Virus type analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Virology (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种恶意代码家族分类检测方法,包括:从多个网站通过多线程爬虫算法抓取恶意代码样本,通过B2M算法,由二进制码汇编文件生成恶意代码图像,对图像进行标准化、归一化预处理后,再利用Gist算法,调用Matlab接口提取全局特征,采用优化卷积神经网络模型进行训练,得到恶意代码家族分类。本发明所述技术方案能够自动从多个网站抓取恶意代码,自动更新恶意代码家族分类特征库,抓取恶意代码效率高,恶意代码家族分类的准确性高。
Description
技术领域
本发明涉及网络与信息安全技术领域,尤其涉及一种恶意代码家族分类方法。
背景技术
恶意代码(Malicious Code,也称作Malware/恶意软件),指为达到恶意目的专门设计的程序、代码或指令,指一切意在破坏计算机、移动终端或网络系统可靠性、可用性、安全性或者消耗系统资源的恶意程序。恶意代码主要的存在形式包括:恶意数据文档、恶意网页、内存代码、可执行程序和动态链接库等。机器学习作为人工智能的一个重要分支已渗透到很多领域,深度学习是一种实现机器学习的重要技术,深度学习是利用深度神经网络来解决特征表达的一种学习过程。卷积神经网络CNN(Convolutional Neural Network)是深度学习中经典的模型之一,可应用于图像处理和图像识别等领域,在图像分类上展现出了极好的分类特性及良好的应用前景。
在过去十几年时间里,针对恶意代码家族的自动标注方法已经取得了一定成果,研究人员开发出了多种恶意代码家族自动标注系统。L.Nataraj等人(Malware image:visualization and automatic classification[A].Proceedings of VizSes[C],1011)首次将二进制文件以可见灰度图的形式表示,利用图像的纹理特征对恶意代码进行聚类。何源浩等人(一种基于深度学习的恶意代码样本分类方法及系统,1016,10,专利)对恶意代码样本进行反汇编得到汇编代码;然后基于十六进制码与图像灰度值的对应关系,将汇编代码转化为图像样本数据;将所述图像样本数据输入预先训练得到的卷积神经网络,得到恶意代码样本分类。何帅等人(基于恶意代码图像指纹的恶意代码家族标注方法,通信技术,1017,3)该方法将恶意代码反汇编文件绘制成图像,提取图像的全局指纹GIST特征描述符和局部指纹SIFT特征点,通过BoW模型对局部特征进行优化,最终获取图像指纹,并采用随机森林的方法实现恶意代码家族标注。通过对现有文献进行研究,发现每个文献存在如下一种或几种缺陷:(1)直接从恶意代码样本库获取恶意代码样本,对获取恶意代码样本进行分类,后续不能自动丰富更新恶意代码库,不能实时更新恶意代码家族分类特征库;(2)没有利用多线程爬虫算法通过多个提供恶意代码的网站抓取恶意代码样本,导致获取恶意代码样本的范围小、效率低;(3)没有利用卷积神经网络进行深度学习,或者利用了卷积神经网络进行深度学习但是学习的层数及大小不太合适恶意代码分类,导致恶意代码分类方法效率较低、准确率不高。
发明内容
本发明的目的是提供一种能克服上述缺陷、具有对恶意代码进行分类功能的一种恶意代码家族分类方法。其技术方案为采用以下步骤:
1)利用多线程爬虫算法,从网站抓取恶意代码样本,放入恶意代码样本库,多线程爬虫算法采用并发线程池编程模板threading中的Thread类,再重写run方法,线程自动运行run方法中的代码实现封装,采用threading.Condition实现线程高效上锁和解锁操作;
2)对步骤1)抓取的每一个恶意代码样本进行反汇编生成二进制码文件,放入扩展名为bytes的文件中;
3)通过B2M算法,将每一个二进制码文件生成恶意代码图像,并进行标准化、归一化预处理,放入恶意代码图像库;
4)批量化读取恶意代码图像库中的所有恶意代码图像,再利用Gist算法,调用Matlab软件接口提取恶意代码Gist图像全局特征,放入Gist全局特征库;
5)从Gist全局特征库获取全局特征,使用优化卷积神经网络模型进行深度学习训练,优化卷积神经网络采用多通道卷积技术和批量归一化算法,卷积神经网络优化是在单个卷积层中加入若干个不同尺寸的过滤器,生成更具多样性的feature map特征;批量归一化算法采用BN算法,训练后得到恶意代码家族种族分类,放入恶意代码家族分类特征库;若要自动更新恶意代码家族分类特征库转步骤1),否则结束。
所述的一种恶意代码家族分类方法,步骤1)中,从多个提供恶意代码网站发布站点抓取恶意代码样本,属于网络频繁型读取数据,针对网络频繁型读取数据操作,采用多线程爬虫算法提高系统的效率。从多个网站获取恶意代码样本,就使恶意代码样本量丰富、样本数据大,更适合采用卷积神经网络进行训练。爬虫算法采用python语言编程,利用并发的线程池模板实现多线程,线程数量与服务器核数及每个物理核上的逻辑processor一致,这样为了提高吞吐量,线程数应该设置在服务器核数与服务器核数乘以逻辑processor数之间。多线程的实现通过继承多线程编程模块threading中的Thread类,再重写run方法,线程就会自动运行run方法中的代码,能够让线程代码更好的封装;线程上锁和解锁操作使用threading.Condition,能避免做一些无用的上锁和解锁操作,在没有数据的时候处于阻塞等待状态,而一旦有合适的数据,就使用notify的相关函数通知其他处于等待状态的线程工作,从而提高程序的性能;由此完成从网站抓取恶意代码样本文件,并放入恶意代码样本库。
所述的一种恶意代码家族分类方法,步骤2)中,运行IDA反汇编软件打开恶意代码样本库中每一个可执行文件,反汇编生成汇编码文件以及二进制机器码文件,为每一个可执行文件创建一个名为主文件与原文件名相同、扩展名为bytes的文件。
所述的一种恶意代码家族分类方法,步骤3)中,用B2M算法读取bytes二进制机器码文件,以8bit作为一个单位,取值在0-255,对应灰度图的一个像素点,图像宽度固定,高度为整个文件大小与宽度的比值,让每一个文件都生成一个固定宽度的恶意代码图像文件。恶意代码图像文件标准化image_standardization计算利用公式:其中,μ是图像像素点的均值,x表示图像矩阵,其中adjust_stddev的计算利用公式:其中,α表示标准方差,N表示图像的像素数量。接着进行图像归一化处理,归一化处理norm计算利用公式:其中,xi表示图像在第i个点处的像素点值,max(x)、min(x)分别表示图像像素的最大值和最小值,公式的前半部分使图像的像素点范围由[0,255]转化为[0,1]之间的实数,而后再乘以255.0,恢复为正常像素点范围[0,255]。将预处理后的图像文件进行存放,形成恶意代码图像库。
所述的一种恶意代码家族分类方法,步骤4)中,利用MATLAB的Gist算法并结合python语言,将恶意代码图像库进行批量化处理操作;批量化处理方法为:读取步骤3)中的恶意代码图像库中的所有恶意代码图像,将图像路径传递给命令中img_path参数,而后利用Gist算法完成所有图像文件的全局特征提取,并放入Gist全局特征库。采用python语言进行批量化处理操作,调用Matlab的接口,直接在命令行中运行matlab-nojvm-nosplash-r“get_gist(‘img_path’);”,其中img_path为要输入图像的路径。图像全局特征包括:纹理特征、形状特征和空间关系特征。采用全局特征信息对其场景进行识别和分类,实现快速场景识别和分类。采用GIST算法提取图像的全局特征,具体方法为:假设待提取特征的恶意代码图像为f(x,y),首先,将恶意代码图像划分为n×n的网格,每个网格表示一个子区域,子区域的个数是n×n,用滤波器g(x,y)对子区域进行卷积滤波;然后在每个网格内计算每个通道的平均能量得到特征,将每个网格的特征级联,就得到恶意代码图像的Gist全局特征Gi(x,y),Gi(x,y)的计算利用公式:其中,cat表示级联运算,*为卷积运算,i的取值为1~n×n,m、l分别表示滤波尺度和方向数,c等于滤波尺度和方向数的乘积。
所述的一种恶意代码家族分类方法,步骤5)中,优化卷积神经网络模型输入形状为32×16×1,层次训练步骤如下:第一层卷积核为5×5,将输入的1通道转为32通道;第二层使用批量归一化BN算法,反向计算时参照的样本分布就会与正向计算时的数据分布一致,并对权重进行调整,最大限度的保证每次的正向传播输出在同一分布上,这样反向计算时参照的样本分布就会与正向计算时的数据分布一致,保证了分布的统一,对权重的调整更加有意义;第三层为Relu激励层;第四层是卷积核形状为2×2的最大池化层;第五层为两个卷积核并行的卷积层,两个卷积核形状分别为3×3和5×5,使用多通道卷积技术,在单个卷积层中加入若干个不同尺寸的过滤器,生成多样性feature map特征,通过优化卷积核技术,如将一个3×3的过滤器裁剪成3×1和1×3两个等效过滤器,分别对原有输入进行卷积操作,提高运算速度;第六层分别对第五层两个卷积操作进行批量归一化处理;第七层为两个卷积的Relu激励层;第八层使用concat函数将两个卷积操作后的输出合并在一起;第九层是卷积核形状为2×2的最大池化层;第十层输出1024节点的全连接层;第十一层为Relu激励层;第十二层为dropout层,随机选择一定比例的数据丢弃,降低对小概率异常数据的学习机会,丢弃的比例范围为1/1000~1/10为宜;第十三层为k个节点的全连接层,最后归为k类;第十四层为softmax层。将采用优化卷积神经网络模型训练后得到的恶意代码家族种族分类结果,放入恶意代码家族分类特征库。
本发明与现有技术相比,其优点在于:
1)从多个网站获取恶意代码样本,就使恶意代码样本量丰富、样本数据大,更适合采用卷积神经网络进行训练。针对网络频繁型读取数据,爬虫算法采用并发的线程池模板实现多线程,提高了抓取恶意代码的效率;利用threading多线程编程模块中的Thread类,再重写run方法,线程就会自动运行run方法中的代码,能够让线程代码更好的封装;使用threading.Condition能避免做一些无用的上锁和解锁操作,由此提高程序的性能。
2)优化卷积神经网络进行深度学习使之更加合适恶意代码分类,提高恶意代码分类方法效率和准确率;使用多通道卷积技术,在单个卷积层中加入若干个不同尺寸的过滤器,使生成的feature map特征更加多样性;使用批量归一化算法(BN算法),最大限度的保证每次正向传播输出在同一分布上,这样反向计算时参照的样本分布就会与正向计算时的数据分布一致,对权重的调整更加有意义。
3)实时利用多线程爬虫算法抓取新的恶意代码,自动识别恶意代码家族种类或者重新利用优化卷积神经网络模型进行训练产生新的恶意代码家族种类,同时实时更新恶意代码家族分类特征库,恶意代码家族分类特征库的不断扩大,又进一步提高了恶意代码家族分类的准确性。
附图说明
图1是本发明一种恶意代码家族分类方法流程图;
图2是本发明所用优化卷积神经网络层次结构图;
图3是本发明训练过程准确率变化图;
图4是本发明训练过程损失函数变化图;
图1中:101为利用爬虫算法抓取恶意代码样本文件,102为利用反汇编生成bytes文件,103为生成恶意代码图像库,104为构建Gist全局特征库,105为通过卷积神经网络训练后构建恶意代码家族分类特征库,106为判断是否进行恶意代码家族分类特征库的更新,107结束。
具体实施方法
本发明给出了一种恶意代码家族分类方法实施例,为使本技术领域人员更好地理解本发明实施例中的系统架构和技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图并通过2个实施例对本发明中的技术方案作进一步详细说明:
实施例1:恶意代码家族分类
步骤1),爬虫算法抓取恶意代码样本文件101,利用多线程爬虫算法从如下网站抓取恶意代码样本文件:https://github.com/ytisf/theZoo/、https://www.cert.org.cn/、https://www.hybrid-analysis.com/、http://83.133.184.251/virensimulation.org/、https://www.kaggle.com/c/malware-classification/、http://www.virusign.com/、https://forums.malwarebytes.com/forum/44-research-center/、https://malware.lu/、http://malc0de.com/database/、http://vxvault.net/ViriList.php、https://dasmalwerk.eu/,并放入恶意代码样本库。具体实施为:
爬虫算法采用python语言编程,利用并发的线程池模板实现多线程;多线程的线程数量与服务器核数及每个物理核上的逻辑processor一致,本例中采用的服务器核数是40,且每个物理核上有2个逻辑processor,线程数为40;多线程的实现通过继承多线程编程模块threading下的Thread类,再重写run方法,线程自动运行run方法中的代码;采用threading.Condition实现上锁和解锁操作。
步骤2)反汇编生成bytes文件102,具体实施为:运行IDA反汇编软件并打开步骤1)抓取的每一个恶意代码样本可执行文件,反汇编生成汇编码文件以及二进制机器码文件,创建一个名为主文件与原文件名相同、扩展名为bytes的文件。
步骤3)生成恶意代码图像库103,具体实施为:针对每一个bytes文件都生成一个固定宽度的恶意代码图像文件,利用公式对恶意代码图像文件标准化,其中μ是图像像素点的均值,x表示图像矩阵,其中 式中α表示标准方差,N表示图像的像素数量;然后利用公式 对标准化后的恶意代码图像文件进行图像归一化处理,其中xi表示图像在第i个点处的像素点值,max(x)、min(x)分别表示图像像素的最大值和最小值,公式的前半部分将图像的像素点范围由[0,255]转化为[0,1]之间的实数,将预处理后的恶意代码图像文件进行存放。
步骤4)构建Gist全局特征库104,具体实施为:批量读取步骤3)恶意代码图像库103中的所有恶意代码图像,将图像路径传递给命令中img_path参数,而后利用Gist算法完成所有图像文件包括纹理特征、形状特征和空间关系特征的全局特征提取,放入Gist全局特征库,特征提取具体实施为:先将恶意代码图像划分为n×n的网格,每个网格表示一个子区域,子区域的范围个数是n×n,用滤波器g(x,y)对子区域进行卷积滤波;然后利用公式将每个网格的特征级联,得到恶意代码图像的Gist全局特征Gi(x,y),其中cat表示级联运算,*为卷积运算,i的取值为1~n×n,m、l分别表示滤波尺度和方向数,c等于滤波尺度和方向数的乘积。
步骤5)卷积神经网络训练后构建恶意代码家族分类特征库105,具体实施为:恶意代码家族分类采用优化卷积神经网络,层次结构如图2,优化卷积神经网络模型输入形状为32×16×1,层次训练步骤如下:第一层卷积核为5×5,将输入的1通道转为32通道;第二层使用批量归一化BN算法,反向计算时参照的样本分布就会与正向计算时的数据分布一致,并对权重进行调整,最大限度的保证每次的正向传播输出在同一分布上;第三层为Relu激励层;第四层是卷积核形状为2×2的最大池化层;第五层为两个卷积核并行的卷积层,两个卷积核形状分别为3×3和5×5,然后进一步将3×3的过滤器裁剪成3×1和1×3两个等效过滤器,将5×5的过滤器裁剪成5×1和1×5两个等效过滤器;第六层分别对第五层两个卷积操作进行批量归一化处理;第七层为两个卷积的Relu激励层;第八层使用concat函数将两个卷积操作后的输出合并在一起;第九层是卷积核形状为2×2的最大池化层;第十层输出1024节点的全连接层;第十一层为Relu激励层;第十二层为dropout层,随机的选择一定比例数据丢弃,丢弃的比例范围为1/1000~1/10为宜,本例丢弃的比例为1/100;第十三层为k个节点的全连接层,最后归为k类;第十四层为softmax层。将采用优化卷积神经网络模型训练后得到的恶意代码家族种族分类结果,放入恶意代码家族分类特征库,实现恶意代码家族种族分类。
使用Google公司的开源TensorFlow框架,整个训练过程可视化显示,训练过程准确率(accuracy)变化如图3,损失函数(loss)变化如图4。
实施例2:恶意代码家族分类特征库更新
在已经创建了恶意代码家族分类特征库的基础上,执行步骤1)~步骤5)。
Claims (6)
1.一种恶意代码家族分类方法,其特征在于采用以下步骤:
1)利用多线程爬虫算法,从网站抓取恶意代码样本,放入恶意代码样本库,多线程爬虫算法采用并发线程池编程模板threading中的Thread类,再重写run方法,线程自动运行run方法中的代码实现封装,采用threading.Condition实现线程高效上锁和解锁操作;
2)对步骤1)抓取的每一个恶意代码样本进行反汇编生成二进制码文件,放入扩展名为bytes的文件中;
3)通过B2M算法,将每一个二进制码文件生成恶意代码图像,并进行标准化、归一化预处理,放入恶意代码图像库;
4)批量化读取恶意代码图像库中的所有恶意代码图像,再利用Gist算法,调用Matlab软件接口提取恶意代码Gist图像全局特征,放入Gist全局特征库;
5)从Gist全局特征库获取全局特征,使用优化卷积神经网络模型进行深度学习训练,优化卷积神经网络采用多通道卷积技术和批量归一化算法,卷积神经网络优化是在单个卷积层中加入若干个不同尺寸的过滤器,生成更具多样性的feature map特征;批量归一化算法采用BN算法,训练后得到恶意代码家族种族分类,放入恶意代码家族分类特征库;若要自动更新恶意代码家族分类特征库转步骤1),否则结束。
2.根据权利要求1所述的一种恶意代码家族分类方法,其特征在于:步骤1)中,从提供恶意代码网站发布站点抓取恶意代码样本,爬虫算法采用python语言编程,利用并发的线程池模板实现多线程,线程数量与服务器核数及每个物理核上的逻辑processor一致;多线程的实现通过继承threading中的Thread类,再重写run方法,线程就会自动运行run方法中的代码,让线程代码封装,线程的上锁和解锁操作使用threading.Condition,使用notify的相关函数通知其他处于等待状态的线程工作,由此完成从网站抓取恶意代码样本文件,并放入恶意代码样本库。
3.根据权利要求1所述的一种恶意代码家族分类方法,其特征在于:步骤2)中,运行IDA反汇编软件打开恶意代码样本可执行文件,反汇编生成汇编码文件以及二进制机器码文件,创建一个名为主文件与原文件名相同,扩展名为bytes的文件。
4.根据权利要求1所述的一种恶意代码家族分类方法,其特征在于:步骤3)中,用B2M算法读取二进制机器码文件,以8bit作为一个单位,取值在0-255,对应灰度图的一个像素点,图像宽度固定,高度为整个文件大小与宽度的比值,让每一个文件都生成一个固定宽度的恶意代码图像文件;
恶意代码图像文件标准化image_standardization计算如式(1):
其中μ是图像像素点的均值,x表示图像矩阵,其中adjust_stddev的值如式(2):
其中α表示标准方差,N表示图像的像素数量;
接着进行图像归一化处理,归一化处理norm计算如式(3):
其中xi表示图像在第i个点处的像素点值,max(x)、min(x)分别表示图像像素的最大值和最小值;
将预处理后的图像文件进行存放,形成恶意代码图像库。
5.根据权利要求1所述的一种恶意代码家族分类方法,其特征在于:步骤4)中,利用MATLAB的Gist算法并结合python语言,将恶意代码图像库进行批量化处理操作,具体为:批量化读取步骤3)中的恶意代码图像库中的所有恶意代码图像,将图像路径传递给命令中img_path参数,而后利用Gist算法完成所有图像文件的全局特征提取,并放入Gist全局特征库;
利用GIST算法提取图像全局特征的技术方案为:
假设待提取特征的恶意代码图像为f(x,y),首先将恶意代码图像划分为n×n的网格,每个网格表示一个子区域,子区域的个数是n×n,用滤波器g(x,y)对子区域进行卷积滤波;
然后在每个网格内计算每个通道的平均能量得到特征,将每个网格的特征级联,就得到恶意代码图像的Gist全局特征Gi(x,y),即为式(4):
其中cat表示级联运算,*为卷积运算,i的取值为1~n×n,m和l分别表示滤波尺度和方向数,c等于滤波尺度和方向数的乘积。
6.根据权利要求1所述的一种恶意代码家族分类方法,其特征在于:步骤5)中,优化卷积神经网络模型输入形状为32×16×1,层次训练步骤如下:
第一层卷积核为5×5,将输入的1通道转为32通道,
第二层使用批量归一化BN算法,对权重进行归一化调整,
第三层为Relu激励层,
第四层是卷积核形状为2×2的最大池化层,
第五层为两个卷积核并行的卷积层,两个卷积核形状分别为3×3和5×5,使用多通道卷积技术,在单个卷积层中加入若干个不同尺寸的过滤器,生成多样性feature map特征,
第六层分别对第五层两个卷积操作进行批量归一化处理,
第七层为两个卷积的Relu激励层,
第八层使用concat函数将两个卷积操作后的输出合并在一起,
第九层是卷积核形状为2×2的最大池化层,
第十层输出1024节点的全连接层,
第十一层为Relu激励层,
第十二层为dropout层,随机选择一定比例的数据丢弃,降低对小概率异常数据的学习机会,
第十三层为k个节点的全连接层,最后归为k类,
第十四层为softmax层,
将采用优化卷积神经网络模型训练后得到的恶意代码家族种族分类结果,放入恶意代码家族分类特征库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910929429.1A CN110659495A (zh) | 2019-09-27 | 2019-09-27 | 一种恶意代码家族分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910929429.1A CN110659495A (zh) | 2019-09-27 | 2019-09-27 | 一种恶意代码家族分类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110659495A true CN110659495A (zh) | 2020-01-07 |
Family
ID=69039833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910929429.1A Pending CN110659495A (zh) | 2019-09-27 | 2019-09-27 | 一种恶意代码家族分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659495A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111488953A (zh) * | 2020-06-28 | 2020-08-04 | 浙江网新恒天软件有限公司 | 基于html源码特征对网页主题进行快速分类的方法 |
CN111552965A (zh) * | 2020-04-07 | 2020-08-18 | 哈尔滨工程大学 | 一种基于pe头可视化的恶意软件分类方法 |
CN112214766A (zh) * | 2020-10-12 | 2021-01-12 | 杭州安恒信息技术股份有限公司 | 一种检测挖矿木马的方法、装置、电子装置和存储介质 |
US20210240826A1 (en) * | 2020-01-31 | 2021-08-05 | Palo Alto Networks, Inc. | Building multi-representational learning models for static analysis of source code |
CN113420295A (zh) * | 2021-06-27 | 2021-09-21 | 杭州迪普科技股份有限公司 | 恶意软件的检测方法及装置 |
CN114647849A (zh) * | 2022-03-22 | 2022-06-21 | 安天科技集团股份有限公司 | 潜在危险文件的检测方法、装置、电子设备及存储介质 |
US11550911B2 (en) | 2020-01-31 | 2023-01-10 | Palo Alto Networks, Inc. | Multi-representational learning models for static analysis of source code |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107392019A (zh) * | 2017-07-05 | 2017-11-24 | 北京金睛云华科技有限公司 | 一种恶意代码家族的训练和检测方法及装置 |
CN107609399A (zh) * | 2017-09-09 | 2018-01-19 | 北京工业大学 | 基于nin神经网络的恶意代码变种检测方法 |
CN107908963A (zh) * | 2018-01-08 | 2018-04-13 | 北京工业大学 | 一种自动化检测恶意代码核心特征方法 |
CN108717512A (zh) * | 2018-05-16 | 2018-10-30 | 中国人民解放军陆军炮兵防空兵学院郑州校区 | 一种基于卷积神经网络的恶意代码分类方法 |
-
2019
- 2019-09-27 CN CN201910929429.1A patent/CN110659495A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107392019A (zh) * | 2017-07-05 | 2017-11-24 | 北京金睛云华科技有限公司 | 一种恶意代码家族的训练和检测方法及装置 |
CN107609399A (zh) * | 2017-09-09 | 2018-01-19 | 北京工业大学 | 基于nin神经网络的恶意代码变种检测方法 |
CN107908963A (zh) * | 2018-01-08 | 2018-04-13 | 北京工业大学 | 一种自动化检测恶意代码核心特征方法 |
CN108717512A (zh) * | 2018-05-16 | 2018-10-30 | 中国人民解放军陆军炮兵防空兵学院郑州校区 | 一种基于卷积神经网络的恶意代码分类方法 |
Non-Patent Citations (2)
Title |
---|
张景莲: "基于特征融合的恶意代码分类研究", 《计算机工程》 * |
郎大鹏: "基于多特征融合的恶意代码分类算法", 《计算机应用》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210240826A1 (en) * | 2020-01-31 | 2021-08-05 | Palo Alto Networks, Inc. | Building multi-representational learning models for static analysis of source code |
US11550911B2 (en) | 2020-01-31 | 2023-01-10 | Palo Alto Networks, Inc. | Multi-representational learning models for static analysis of source code |
US11615184B2 (en) * | 2020-01-31 | 2023-03-28 | Palo Alto Networks, Inc. | Building multi-representational learning models for static analysis of source code |
US20230185913A1 (en) * | 2020-01-31 | 2023-06-15 | Palo Alto Networks, Inc. | Building multi-representational learning models for static analysis of source code |
US11783035B2 (en) | 2020-01-31 | 2023-10-10 | Palo Alto Networks, Inc. | Multi-representational learning models for static analysis of source code |
US11816214B2 (en) | 2020-01-31 | 2023-11-14 | Palo Alto Networks, Inc. | Building multi-representational learning models for static analysis of source code |
CN111552965A (zh) * | 2020-04-07 | 2020-08-18 | 哈尔滨工程大学 | 一种基于pe头可视化的恶意软件分类方法 |
CN111488953A (zh) * | 2020-06-28 | 2020-08-04 | 浙江网新恒天软件有限公司 | 基于html源码特征对网页主题进行快速分类的方法 |
CN111488953B (zh) * | 2020-06-28 | 2020-10-13 | 浙江网新恒天软件有限公司 | 基于html源码特征对网页主题进行快速分类的方法 |
CN112214766A (zh) * | 2020-10-12 | 2021-01-12 | 杭州安恒信息技术股份有限公司 | 一种检测挖矿木马的方法、装置、电子装置和存储介质 |
CN113420295A (zh) * | 2021-06-27 | 2021-09-21 | 杭州迪普科技股份有限公司 | 恶意软件的检测方法及装置 |
CN114647849A (zh) * | 2022-03-22 | 2022-06-21 | 安天科技集团股份有限公司 | 潜在危险文件的检测方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110704842A (zh) | 一种恶意代码家族分类检测方法 | |
CN110659495A (zh) | 一种恶意代码家族分类方法 | |
Herath et al. | Cfgexplainer: Explaining graph neural network-based malware classification from control flow graphs | |
US20210132990A1 (en) | Operator Operation Scheduling Method and Apparatus | |
CN115578602A (zh) | 一种基于改进YOLOv7的自然树种识别方法 | |
Geng et al. | An improved helmet detection method for YOLOv3 on an unbalanced dataset | |
Parez et al. | Towards Sustainable Agricultural Systems: A Lightweight Deep Learning Model for Plant Disease Detection. | |
CN117375896A (zh) | 基于多尺度时空特征残差融合的入侵检测方法及系统 | |
CN116403019A (zh) | 遥感图像量子识别方法、装置、存储介质及电子装置 | |
CN118711089A (zh) | 一种基于优化改进的YOLOv8无人机图像目标检测方法 | |
CN116663017A (zh) | 一种基于多程序图的漏洞检测方法及装置 | |
Priya et al. | An enhanced animal species classification and prediction engine using cnn | |
Capogrosso et al. | Enhancing split computing and early exit applications through predefined sparsity | |
CN116012571A (zh) | 一种融合注意力机制的玉米籽粒破碎率实时检测方法 | |
CN118797415A (zh) | 温室内番茄病害识别方法、装置及存储介质 | |
CN117708643B (zh) | 一种基于融合序列特征的桥梁监测异常数据的识别方法及系统 | |
CN118965201A (zh) | 一种基于多模态特征融合的恶意软件检测分类方法及系统 | |
Fitrianah et al. | Fine-tuned mobilenetv2 and vgg16 algorithm for fish image classification | |
CN118628717A (zh) | 无人机群目标检测方法、系统、电子设备、介质和产品 | |
CN115100509B (zh) | 基于多分支块级注意力增强网络的图像识别方法及系统 | |
Thuan et al. | Backbone search for object detection for applications in intrusion warning systems | |
KS et al. | Crop pest identification using deep network based extracted features and MobileENet in smart agriculture | |
Scientific | Hybrid deep learning framework for intrusion detection: Integrating cnn, lstm, and attention mechanisms to enhance cybersecurity | |
CN115643153A (zh) | 基于图神经网络的报警关联分析方法 | |
Ye et al. | Facial expression recognition method based on shallow small convolution kernel capsule network |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200107 |