CN112182568A - 基于图卷积网络和主题模型的恶意代码分类 - Google Patents
基于图卷积网络和主题模型的恶意代码分类 Download PDFInfo
- Publication number
- CN112182568A CN112182568A CN201910587216.5A CN201910587216A CN112182568A CN 112182568 A CN112182568 A CN 112182568A CN 201910587216 A CN201910587216 A CN 201910587216A CN 112182568 A CN112182568 A CN 112182568A
- Authority
- CN
- China
- Prior art keywords
- graph
- malicious code
- convolution network
- function
- topic
- 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.)
- Granted
Links
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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Virology (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (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 (7)
1.一种基于图卷积网络和主题模型的恶意代码分类方法,其特征在于包括以下步骤:
步骤一:提取恶意代码的函数调用图
步骤二:提取恶意代码的函数指令分布
步骤三:选取最佳的主题数量
步骤四:将函数指令分布变换为函数主题分布
步骤五:将函数主题分布和函数调用图输入到分类模型中,训练模型
步骤六:将训练好的模型用于判定对恶意代码的家族分类
基于图卷积网络和主题模型的恶意代码分类方法,其特征在于步骤一中函数调用图提取方法,提取过程中去除了孤立函数,还直接将函数调用图存储为邻接矩阵。
2.根据权利要求1所述的基于图卷积网络和主题模型的恶意代码分类方法,其特征在于步骤二中获取函数指令分布时,可以仅对操作码进行计数,节省了存储空间。
3.根据权利要求1所述的基于图卷积网络和主题模型的恶意代码分类方法,其特征在于步骤四中在选取最佳的主题数量时,采用了实验验证的方式。
4.根据权利要求1所述的基于图卷积网络和主题模型的恶意代码分类方法,其特征在于步骤三中将主题模型应用与恶意代码的分类。
5.根据权利要求1所述的基于图卷积网络和主题模型的恶意代码分类方法,其特征在于步骤五自适应最大池化获取恶意代码的主题分布,避免了数据大小不同对分类模型带来的不良影响。
6.根据权利要求1所述的基于图卷积网络和主题模型的恶意代码分类方法,其特征在于步骤五使用了图卷积网络和注意力机制获得函数调用图的图嵌入,降低了图形匹配复杂度,保证了图形匹配的准确率。
7.根据权利要求1所述的基于图卷积网络和主题模型的恶意代码分类方法,其特征在于步骤五使用已训练的模型对恶意代码进行分类,具有很快的分类速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910587216.5A CN112182568B (zh) | 2019-07-02 | 2019-07-02 | 基于图卷积网络和主题模型的恶意代码分类 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910587216.5A CN112182568B (zh) | 2019-07-02 | 2019-07-02 | 基于图卷积网络和主题模型的恶意代码分类 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112182568A true CN112182568A (zh) | 2021-01-05 |
CN112182568B CN112182568B (zh) | 2022-09-27 |
Family
ID=73915533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910587216.5A Active CN112182568B (zh) | 2019-07-02 | 2019-07-02 | 基于图卷积网络和主题模型的恶意代码分类 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112182568B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112329013A (zh) * | 2019-08-05 | 2021-02-05 | 四川大学 | 一种基于图卷积网络和主题模型的恶意代码分类的方法 |
CN113626817A (zh) * | 2021-08-25 | 2021-11-09 | 北京邮电大学 | 恶意代码家族分类方法 |
CN115080973A (zh) * | 2022-07-20 | 2022-09-20 | 中孚安全技术有限公司 | 一种基于多模态特征融合的恶意代码检测方法及系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102034042A (zh) * | 2010-12-13 | 2011-04-27 | 四川大学 | 基于函数调用关系图特征的恶意代码检测新方法 |
CN102054149A (zh) * | 2009-11-06 | 2011-05-11 | 中国科学院研究生院 | 一种恶意代码行为特征提取方法 |
CN103870751A (zh) * | 2012-12-18 | 2014-06-18 | 中国移动通信集团山东有限公司 | 入侵检测方法及系统 |
US20170068816A1 (en) * | 2015-09-04 | 2017-03-09 | University Of Delaware | Malware analysis and detection using graph-based characterization and machine learning |
CN106709349A (zh) * | 2016-12-15 | 2017-05-24 | 中国人民解放军国防科学技术大学 | 一种基于多维度行为特征的恶意代码分类方法 |
US20170337123A1 (en) * | 2016-05-18 | 2017-11-23 | International Business Machines Corporation | Using multiple sequence alignment to identify security vulnerability code paths |
CN108959924A (zh) * | 2018-06-12 | 2018-12-07 | 浙江工业大学 | 一种基于词向量和深度神经网络的Android恶意代码检测方法 |
CN109101816A (zh) * | 2018-08-10 | 2018-12-28 | 北京理工大学 | 一种基于系统调用控制流图的恶意代码同源性分析方法 |
CN109190653A (zh) * | 2018-07-09 | 2019-01-11 | 四川大学 | 基于半监督密度聚类的恶意代码家族同源性分析技术 |
CN109284590A (zh) * | 2018-09-29 | 2019-01-29 | 武汉极意网络科技有限公司 | 访问行为安全防护的方法、设备、存储介质及装置 |
CN109829306A (zh) * | 2019-02-20 | 2019-05-31 | 哈尔滨工程大学 | 一种优化特征提取的恶意软件分类方法 |
US20190188390A1 (en) * | 2017-12-15 | 2019-06-20 | Mastercard International Incorporated | Security vulnerability analytics engine |
-
2019
- 2019-07-02 CN CN201910587216.5A patent/CN112182568B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054149A (zh) * | 2009-11-06 | 2011-05-11 | 中国科学院研究生院 | 一种恶意代码行为特征提取方法 |
CN102034042A (zh) * | 2010-12-13 | 2011-04-27 | 四川大学 | 基于函数调用关系图特征的恶意代码检测新方法 |
CN103870751A (zh) * | 2012-12-18 | 2014-06-18 | 中国移动通信集团山东有限公司 | 入侵检测方法及系统 |
US20170068816A1 (en) * | 2015-09-04 | 2017-03-09 | University Of Delaware | Malware analysis and detection using graph-based characterization and machine learning |
US20170337123A1 (en) * | 2016-05-18 | 2017-11-23 | International Business Machines Corporation | Using multiple sequence alignment to identify security vulnerability code paths |
CN106709349A (zh) * | 2016-12-15 | 2017-05-24 | 中国人民解放军国防科学技术大学 | 一种基于多维度行为特征的恶意代码分类方法 |
US20190188390A1 (en) * | 2017-12-15 | 2019-06-20 | Mastercard International Incorporated | Security vulnerability analytics engine |
CN108959924A (zh) * | 2018-06-12 | 2018-12-07 | 浙江工业大学 | 一种基于词向量和深度神经网络的Android恶意代码检测方法 |
CN109190653A (zh) * | 2018-07-09 | 2019-01-11 | 四川大学 | 基于半监督密度聚类的恶意代码家族同源性分析技术 |
CN109101816A (zh) * | 2018-08-10 | 2018-12-28 | 北京理工大学 | 一种基于系统调用控制流图的恶意代码同源性分析方法 |
CN109284590A (zh) * | 2018-09-29 | 2019-01-29 | 武汉极意网络科技有限公司 | 访问行为安全防护的方法、设备、存储介质及装置 |
CN109829306A (zh) * | 2019-02-20 | 2019-05-31 | 哈尔滨工程大学 | 一种优化特征提取的恶意软件分类方法 |
Non-Patent Citations (5)
Title |
---|
G. GANESH SUNDARKUMAR 等: "Malware detection via API calls, topic models and machine learning", 《2015 IEEE INTERNATIONAL CONFERENCE ON AUTOMATION SCIENCE AND ENGINEERING (CASE)》 * |
ROBERT SEARLES 等: "Parallelization of Machine Learning Applied to Call Graphs of Binaries for Malware Detection", 《2017 25TH EUROMICRO INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED AND NETWORK-BASED PROCESSING (PDP)》 * |
修扬 等: "基于操作码序列频率向量和行为特征向量的恶意软件检测", 《信息安全与通信保密》 * |
赵炳麟 等: "基于图结构的恶意代码同源性分析", 《通信学报》 * |
陈铁明 等: "基于API调用序列的Android恶意代码检测方法研究", 《浙江工业大学学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112329013A (zh) * | 2019-08-05 | 2021-02-05 | 四川大学 | 一种基于图卷积网络和主题模型的恶意代码分类的方法 |
CN113626817A (zh) * | 2021-08-25 | 2021-11-09 | 北京邮电大学 | 恶意代码家族分类方法 |
CN115080973A (zh) * | 2022-07-20 | 2022-09-20 | 中孚安全技术有限公司 | 一种基于多模态特征融合的恶意代码检测方法及系统 |
CN115080973B (zh) * | 2022-07-20 | 2022-12-06 | 中孚安全技术有限公司 | 一种基于多模态特征融合的恶意代码检测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112182568B (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110992354B (zh) | 基于引入自动记忆机制对抗自编码器的异常区域检测方法 | |
CN112182568B (zh) | 基于图卷积网络和主题模型的恶意代码分类 | |
CN110516305B (zh) | 基于注意机制元学习模型的小样本下故障智能诊断方法 | |
CN109299741B (zh) | 一种基于多层检测的网络攻击类型识别方法 | |
CN112784929B (zh) | 一种基于双元组扩充的小样本图像分类方法及装置 | |
CN110968845B (zh) | 基于卷积神经网络生成的针对lsb隐写的检测方法 | |
CN110738663A (zh) | 双域适应模块金字塔型网络及无监督域适应图像分割方法 | |
CN109813542A (zh) | 基于生成式对抗网络的空气处理机组的故障诊断方法 | |
CN113255661B (zh) | 一种输电线路涉鸟故障相关鸟种图像识别方法 | |
CN110751191A (zh) | 一种图像的分类方法及系统 | |
CN111126155B (zh) | 一种基于语义约束生成对抗网络的行人再识别方法 | |
CN111222583B (zh) | 一种基于对抗训练与关键路径提取的图像隐写分析方法 | |
CN109617864B (zh) | 一种网站识别方法及网站识别系统 | |
CN111737688B (zh) | 基于用户画像的攻击防御系统 | |
CN109740672B (zh) | 多流特征距离融合系统与融合方法 | |
CN111783688B (zh) | 一种基于卷积神经网络的遥感图像场景分类方法 | |
CN112329013A (zh) | 一种基于图卷积网络和主题模型的恶意代码分类的方法 | |
CN111461135B (zh) | 利用卷积神经网络集成的数字图像局部滤波取证方法 | |
CN117112991A (zh) | 一种基于改进深度残差收缩网络的轴承故障诊断方法 | |
CN116400168A (zh) | 一种基于深度特征聚类的电网故障诊断方法及系统 | |
CN113807541B (zh) | 决策系统的公平性修复方法、系统、设备及存储介质 | |
CN114067155A (zh) | 基于元学习的图像分类方法、装置、产品及存储介质 | |
CN109308565B (zh) | 人群绩效等级识别方法、装置、存储介质及计算机设备 | |
CN112686099A (zh) | 适用于用电业扩报装申请的图文资料自动识别方法及系统 | |
CN111080727B (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 |