CN112329013A - 一种基于图卷积网络和主题模型的恶意代码分类的方法 - Google Patents
一种基于图卷积网络和主题模型的恶意代码分类的方法 Download PDFInfo
- Publication number
- CN112329013A CN112329013A CN201910715247.4A CN201910715247A CN112329013A CN 112329013 A CN112329013 A CN 112329013A CN 201910715247 A CN201910715247 A CN 201910715247A CN 112329013 A CN112329013 A CN 112329013A
- Authority
- CN
- China
- Prior art keywords
- graph
- malicious code
- convolution network
- function
- malicious
- 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 abstract description 21
- 238000009826 distribution Methods 0.000 claims abstract description 30
- 238000013145 classification model Methods 0.000 claims abstract description 8
- 230000001131 transforming effect Effects 0.000 claims abstract description 3
- 230000006870 function Effects 0.000 claims description 53
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000011176 pooling Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims 2
- 230000002411 adverse Effects 0.000 claims 1
- 238000012795 verification Methods 0.000 claims 1
- 238000004458 analytical method Methods 0.000 description 10
- 230000003068 static effect Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000010801 machine learning 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/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- 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
-
- 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Virology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种基于图卷积网络和主题模型的恶意代码同源性方法。本方法可以自动地从恶意代码中提取函数调用图和函数指令分布,使用图卷积网络对函数调用图进行嵌入,使用主题模型对指令分布进行变换和降维。主要包括以下几个步骤:(1) 提取恶意代码的函数调用图;(2) 提取恶意代码的函数指令分布;(3) 选取最佳的主题数量;(4) 将函数指令分布变换为函数主题分布;(5) 将函数主题分布和函数调用图输入到分类模型中,训练模型;(6) 将训练好的模型用于判定对恶意代码的家族分类。
Description
技术领域
本发明涉及机器学习与网络安全技术领域。
背景技术
近年来,全球网络安全攻防博弈态势日趋严峻,各种利用恶意代码谋取政治、经济等利益的攻击事件层出不穷。当前的恶意代码存在几个特点:
1)恶意代码的数量保持急剧增长的趋势;
2)绝大多数恶意代码属于已知恶意代码家族;
3)大多数同一家族的恶意代码存在某种共性。
根据以上几点可以得出结论,通过提取特征对恶意代码进行家族分类可以实现对绝大多数恶意代码的同源性判定。目前恶意代码的同源性分析技术包括动态分析和静态分析两大类。静态分析技术具有分析速度快,无须运行的优点。目前常用的恶意代码静态特征包括结构特征,指令特征,函数特征和数据特征等几类。函数调用图是常用的结构特征,可以体现出程序的设计特点。但目前传统的函数调用图匹配方法计算复杂度非常高。此外,反汇编指令也是恶意代码同源性分析中常用的特征。但指令的数量较多,存在一些冗余指令。鉴于此种情况,本发明提出一种基于图卷积网络和主题模型的恶意代码同源性分析方法,降低恶意代码函数调用图的匹配复杂度,提高同源性分析效果。
发明内容
本发明提出一种基于图卷积网络和主题模型的恶意代码同源性方法。本方法可以自动地从恶意代码中提取函数调用图和函数指令分布,使用图卷积网络对函数调用图进行嵌入,使用主题模型对指令分布进行变换和降维。本方法通过构建神经网路,实现对恶意代码的家族分类,具体技术方案如下。
提出一种基于图卷积网络和主题模型的恶意代码同源性分析方法,所述方法包括。
A.提取恶意代码的函数调用图,并存储为邻接矩阵,提取恶意代码中每个函数的指令分布。
B.利用图卷积网络实现对函数调用图邻接矩阵的卷积,得到节点嵌入矩阵,通过注意力机制对节点嵌入加权求和得到函数调用图的图嵌入。
C.利用主题模型对恶意代码的指令分布进行变换和降维,得到恶意代码的函数主题分布,使用自适应最大池化得到恶意代码的主题分布。通过比较分类效果选取最佳的主题数量。
D.将图嵌入和恶意代码主题分布相连后作为恶意代码的特征向量,输入到全连接层和Softmax层得到恶意代码家族分类的结果。
附图说明
为了进一步阐述本发明的实现目标、实现方法和特性,将结合附图进行详细描述。
图1是一个展示本发明提出的方法的具体实现的总体流程图。
图2 是一个说明本发明中注意力机制实现的示意图。
图3 是一个说明本发明中自适应最大池化实现的示意图。
具体实施方式
本发明是基于图卷积网络和主题模型对恶意代码进行家族分类,主要针对windows系统下的PE格式的恶意代码。首先提取恶意代码的函数调用图和函数指令分布,然后输入到分类模型进行家族分类。分类模型包括多层图卷积网络,注意力层,主题层,池化层,全连接层和Softmax层。为了进一步阐述本发明的具体实施方式,将结合附图加以详细的说明。本发明提出一种基于图卷积网络和主题模型的恶意代码同源性分析方法,可以降低函数调用图的匹配复杂度。
提取恶意代码的函数调用图:首先遍历恶意代码的所有函数,去除IDA无法解析的函数和孤立的函数。孤立函数是指没有被其他函数调用且没有调用其他函数的一类函数。初始化全为0的邻接矩阵,遍历所有函数的调用函数,并将邻接矩阵对应元素置1。
提取恶意代码的函数指令分布:首先遍历恶意代码的所有函数,获取函数的起止点,获取函数中的每条指令,去除操作数,保留操作码,保存每个函数的操作码出现的次数。
获取最佳的主题数量:抽取一部分恶意代码的函数指令分布,将每一个函数的主题分布看作一个文本,使用one-hot进行编码,将主题数量的范围设置为1-24,训练主题模型,获取每个函数的主题分布。将每个恶意代码的所有函数主题分布输入到分类模型中,不使用函数调用图,观察不同主题数量对分类结果的影响,选择最佳的主题数量。
获取函数主题分布:使用最佳的主题数量,重新训练主题模型,调整迭代次数,将每个恶意代码的函数主题分布存储为json文件。
训练分类模型:图卷积网络会计算函数调用图的节点嵌入,注意力机制由节点嵌入得到图嵌入。自适应最大池化可以由恶意代码的函数主题分布得到恶意代码的主题分布。
恶意代码分类:选定与训练集不存在交叉的恶意代码测试集,测试分类模型的效果,并与已有的方法进行对比。
Claims (8)
1.一种基于图卷积网络和主题模型的恶意代码分类方法,其特征在于包括以下步骤:
步骤一:提取恶意代码的函数调用图;
步骤二:提取恶意代码的函数指令分布;
步骤三:选取最佳的主题数量;
步骤四:将函数指令分布变换为函数主题分布;
步骤五:将函数主题分布和函数调用图输入到分类模型中,训练模型;
步骤六:将训练好的模型用于判定对恶意代码的家族分类。
2.根据权利要求1所述的基于图卷积网络和主题模型的恶意代码分类方法,其特征在于步骤一中函数调用图提取方法,提取过程中去除了孤立函数,并直接将函数调用图存储为邻接矩阵。
3.根据权利要求1所述的基于图卷积网络和主题模型的恶意代码分类方法,其特征在于步骤二中获取函数指令分布时,可以仅对操作码进行计数,节省了存储空间。
4.根据权利要求1所述的基于图卷积网络和主题模型的恶意代码分类方法,其特征在于步骤四中在选取最佳的主题数量时,采用了实验验证的方式。
5.根据权利要求1所述的基于图卷积网络和主题模型的恶意代码分类方法,其特征在于步骤三中将主题模型应用与恶意代码的分类。
6.根据权利要求1所述的基于图卷积网络和主题模型的恶意代码分类方法,其特征在于步骤五自适应最大池化获取恶意代码的主题分布,避免了数据大小不同对分类模型带来的不良影响。
7.根据权利要求1所述的基于图卷积网络和主题模型的恶意代码分类方法,其特征在于步骤五使用了图卷积网络和注意力机制获得函数调用图的图嵌入,降低了图形匹配复杂度,保证了图形匹配的准确率。
8.根据权利要求1所述的基于图卷积网络和主题模型的恶意代码分类方法,其特征在于步骤五使用已训练的模型对恶意代码进行分类,具有很快的分类速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910715247.4A CN112329013A (zh) | 2019-08-05 | 2019-08-05 | 一种基于图卷积网络和主题模型的恶意代码分类的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910715247.4A CN112329013A (zh) | 2019-08-05 | 2019-08-05 | 一种基于图卷积网络和主题模型的恶意代码分类的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112329013A true CN112329013A (zh) | 2021-02-05 |
Family
ID=74319347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910715247.4A Pending CN112329013A (zh) | 2019-08-05 | 2019-08-05 | 一种基于图卷积网络和主题模型的恶意代码分类的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112329013A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360912A (zh) * | 2021-08-09 | 2021-09-07 | 四川大学 | 恶意软件检测方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054149A (zh) * | 2009-11-06 | 2011-05-11 | 中国科学院研究生院 | 一种恶意代码行为特征提取方法 |
CN108959924A (zh) * | 2018-06-12 | 2018-12-07 | 浙江工业大学 | 一种基于词向量和深度神经网络的Android恶意代码检测方法 |
CN109889436A (zh) * | 2019-02-20 | 2019-06-14 | 北京航空航天大学 | 一种社交网络中垃圾邮件发送者的发现方法 |
US20190188390A1 (en) * | 2017-12-15 | 2019-06-20 | Mastercard International Incorporated | Security vulnerability analytics engine |
CN112182568A (zh) * | 2019-07-02 | 2021-01-05 | 四川大学 | 基于图卷积网络和主题模型的恶意代码分类 |
-
2019
- 2019-08-05 CN CN201910715247.4A patent/CN112329013A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054149A (zh) * | 2009-11-06 | 2011-05-11 | 中国科学院研究生院 | 一种恶意代码行为特征提取方法 |
US20190188390A1 (en) * | 2017-12-15 | 2019-06-20 | Mastercard International Incorporated | Security vulnerability analytics engine |
CN108959924A (zh) * | 2018-06-12 | 2018-12-07 | 浙江工业大学 | 一种基于词向量和深度神经网络的Android恶意代码检测方法 |
CN109889436A (zh) * | 2019-02-20 | 2019-06-14 | 北京航空航天大学 | 一种社交网络中垃圾邮件发送者的发现方法 |
CN112182568A (zh) * | 2019-07-02 | 2021-01-05 | 四川大学 | 基于图卷积网络和主题模型的恶意代码分类 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360912A (zh) * | 2021-08-09 | 2021-09-07 | 四川大学 | 恶意软件检测方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112182568B (zh) | 基于图卷积网络和主题模型的恶意代码分类 | |
CN110516305B (zh) | 基于注意机制元学习模型的小样本下故障智能诊断方法 | |
CN109299741B (zh) | 一种基于多层检测的网络攻击类型识别方法 | |
CN104063706B (zh) | 一种基于surf算法的视频指纹提取方法 | |
CN110992354A (zh) | 基于引入自动记忆机制对抗自编码器的异常区域检测方法 | |
CN112784929B (zh) | 一种基于双元组扩充的小样本图像分类方法及装置 | |
Chen et al. | Image processing operations identification via convolutional neural network | |
CN109740672B (zh) | 多流特征距离融合系统与融合方法 | |
CN110751191A (zh) | 一种图像的分类方法及系统 | |
CN116400168A (zh) | 一种基于深度特征聚类的电网故障诊断方法及系统 | |
CN113255661A (zh) | 一种输电线路涉鸟故障相关鸟种图像识别方法 | |
CN111126155B (zh) | 一种基于语义约束生成对抗网络的行人再识别方法 | |
CN111737688B (zh) | 基于用户画像的攻击防御系统 | |
CN109617864A (zh) | 一种网站识别方法及网站识别系统 | |
CN112329013A (zh) | 一种基于图卷积网络和主题模型的恶意代码分类的方法 | |
CN111783688B (zh) | 一种基于卷积神经网络的遥感图像场景分类方法 | |
CN111461135B (zh) | 利用卷积神经网络集成的数字图像局部滤波取证方法 | |
CN117112991A (zh) | 一种基于改进深度残差收缩网络的轴承故障诊断方法 | |
CN114067155B (zh) | 基于元学习的图像分类方法、装置、产品及存储介质 | |
CN109308565B (zh) | 人群绩效等级识别方法、装置、存储介质及计算机设备 | |
CN111080727B (zh) | 彩色图像重构方法及装置、图像分类方法及装置 | |
CN114119971B (zh) | 一种语义分割方法、系统和电子设备 | |
CN113034472B (zh) | 一种基于梯度网络架构搜索的空域隐写分析方法及系统 | |
CN117708643B (zh) | 一种基于融合序列特征的桥梁监测异常数据的识别方法及系统 | |
CN113505783B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210205 |