CN116702143A - 基于api特征的恶意软件智能检测方法 - Google Patents
基于api特征的恶意软件智能检测方法 Download PDFInfo
- Publication number
- CN116702143A CN116702143A CN202310706953.9A CN202310706953A CN116702143A CN 116702143 A CN116702143 A CN 116702143A CN 202310706953 A CN202310706953 A CN 202310706953A CN 116702143 A CN116702143 A CN 116702143A
- Authority
- CN
- China
- Prior art keywords
- api
- information
- layer
- representation
- parameter information
- 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
- 230000006870 function Effects 0.000 claims abstract description 74
- 238000001514 detection method Methods 0.000 claims abstract description 55
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000003058 natural language processing Methods 0.000 claims abstract description 16
- 238000013136 deep learning model Methods 0.000 claims abstract description 9
- 239000013598 vector Substances 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 15
- 238000000605 extraction Methods 0.000 claims description 14
- 230000002457 bidirectional effect Effects 0.000 claims description 10
- 238000013528 artificial neural network Methods 0.000 claims description 8
- 230000006399 behavior Effects 0.000 abstract description 2
- 230000000694 effects Effects 0.000 abstract description 2
- 238000004458 analytical method Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 238000012549 training Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000011951 anti-virus test Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Virology (AREA)
- Stored Programmes (AREA)
Abstract
本发明属于计算机恶意软件检测技术领域,公开了基于API特征的恶意软件智能检测方法,包括以下步骤:获取目标程序的API函数调用信息;根据所述API函数调用信息,从API调用序列中提取关键的API函数调用;利用自然语言处理方法来获取每个关键的API函数调用的语义表示,获得API序列信息和API参数信息;使用预先构建的深度学习模型对所述API调用序列和API参数信息进行全面分析,确定恶意软件。本发明充分利用API调用序列和API参数信息对目标程序的行为进行全面分析,提高了恶意代码检测的效果。
Description
技术领域
本发明属于计算机恶意软件检测技术领域,具体涉及基于API特征的恶意软件智能检测方法。
背景技术
恶意代码是指带有攻击意图所编写的一段代码,是当今互联网用户面临的主要威胁之一。恶意代码会对计算机造成各种形式的损害,导致电脑具有运行速度变慢甚至崩溃、磁盘空间减少、网络互动增加等异常行为,还可以被用来获取互联网用户的个人信息,如银行信息、密码等,已经严重危害到了人们的数据和财产安全。恶意代码可以根据其传播方式或行为特性进行分类,主要包括病毒、蠕虫、木马、间谍软件、勒索软件等。根据AV-Test最近的报告,到2021年,互联网上总共出现了13.12亿个恶意软件,这些海量的恶意程序对软件安全构成了严重威胁。
恶意代码检测是一种能够识别出恶意程序的方法,现有的恶意代码检测技术主要是基于静态检测或者人工分析,恶意代码静态检测方法只对程序本身进行分析,不实际执行程序,易受到恶意程序加壳、变形、多态等的干扰,检测效率低。
基于上述检测方法的缺陷,研究人员和网络安全公司将恶意代码的检测转向了深度学习方法,并进行研究,其中卷积神经网络在图像处理领域取得了十分优异的成绩。其方法为,在进行恶意代码检测时,将恶意程序转化为图像或者矩阵,再按照深度学习的步骤进行训练,最终获得一个检测准确率较高的模型。
将恶意程序转换为图像后进行深度学习的方法有很多种,较常见的方法有以下两种:
(1)通过静态分析目标二进制程序将其转换为灰度图,一个二进制程序的每个字节范围在00到0xFF之间,可以对应灰度图的0到255。通过设置长和宽,可将程序的字节序列转换为矩阵。其中,矩阵中每一项可对应灰度图中每一个像素点。最后,利用深度学习算法对灰度图进行分析,识别对应的恶意程序。
(2)将样本程序运行时调用的API序列信息转换为一个矩阵,利用APIHook或者程序插桩技术分析恶意程序在***运行时调用的API序列信息。最后,通过深度学习算法对API序列信息进行分析,以识别对应的恶意程序。
由于静态检测本身存在较大的缺陷,因此目前常使用第二种检测方案。但是在实际应用过程中发现,这种检测方式,需要拦截的API函数数量较多,会影响了恶意代码检测的性能,且开销较大;同时API特征信息调用不够充分,会导致恶意代码检测效果不理想。
发明内容
本发明意在提供基于API特征的恶意软件智能检测方法,本发明旨在解决现有技术中存在的技术问题。
为实现上述目的,本发明提供如下技术方案,基于API特征的恶意软件智能检测方法,包括以下步骤:
获取目标程序的API函数调用信息;
根据所述API函数调用信息,从API调用序列中提取关键的API函数调用;
利用自然语言处理方法来获取每个关键的API函数调用的语义表示,获得API序列信息和API参数信息;
使用预先构建的深度学习模型对所述API调用序列和API参数信息进行全面分析,确定恶意软件。
在本发明的另一种优选实施方式中,根据所述API函数调用信息,从API调用序列中提取关键的API函数调用,包括,通过计算每个API调用特征对于恶意软件检测的贡献度,选择最具代表性和区分度的API特征,得到API集合1;
基于WindowsAPI编程,专注于字符串参数信息,利用字符串参数信息获得API集合。
在本发明的另一种优选实施方式中,特征提取步骤,字符串参数包括导入的DLL、导入的API、URL、IP地址、文件位置、文件名、注册表项、注册表值。
在本发明的另一种优选实施方式中,利用自然语言处理方法来获取每个关键的API函数调用的语义表示,获得API序列信息和API参数信息,包括,基于特征频率对API函数参数信息进行处理。
在本发明的另一种优选实施方式中,API函数参数信息的处理,包括,构建一个包含所有参数特征的集合,再计算每个参数特征在数据集中出现了多少个样本,最后预先定义一个阈值,只保留频率大于阈值的参数特征,获得API序列信息和API参数信息。
在本发明的另一种优选实施方式中,利用自然语言处理方法来获取每个关键的API函数调用的语义表示,获得API序列信息和API参数信息,还包括还利用独热编码方案对特征参数进行向量化处理。
在本发明的另一种优选实施方式中,步骤四使用的深度学习模型为混合分类器模型,其包括HAN模型和MLP模型;利用HAN模型对API调用序列进行全面分析,利用MLP模型对于API参数信息进行全面分析,确定恶意软件;
HAN模型包括输入层、词嵌入层、句子编码层、句子注意力层、文档编码层、文档注意力层和输出层;
输入层:输入层用于接收一个文档,文档包含多个句子,即多个API序列;
词嵌入层:将每个句子转换为词向量的序列,使用预训练的词向量,即利用word2vec模型获得的API语义向量;
句子编码层:将每个句子的API语义向量输入到双向RNN中,将双向RNN的输出连接成为一个句子的表示;
句子注意力层:将句子编码层得到的每个句子的表示,通过一个MLP进行加权表示,每个句子表示的权重是由注意力分数决定,注意力分数由句子表示和文档级别的向量计算得出;
文档编码层:将句子注意力层的加权表示结果输入到双向RNN中,将双向RNN的输出连接成为整个文档的表示;
文档注意力层:将文档编码层得到的文档表示,通过一个MLP进行加权表示,注意力分数由文档表示和一个全局的向量计算得出;
输出层:将文档注意力层得到的加权文档表示输入到输出层,得到一个多维向量;
MLP模型为前馈神经网络,为一层或多层。
恶意软件智能检测装置,包括:
API函数拦截模块,用于获取目标程序的API函数调用信息;
特征提取模块,用于根据所述API函数调用信息,从API调用序列中提取关键的API函数调用;
特征处理模块,用于利用自然语言处理方法来获取每个关键的API函数调用的语义表示,获得API序列信息和API参数信息;
恶意代码检测模块,用于使用预先构建的深度学习模型对所述API调用序列和API参数信息进行全面分析,确定恶意软件。
在本发明的另一种优选实施方式中,特征提取模块,具体用于根据所述API函数调用信息,从API调用序列中提取关键的API函数调用,包括,通过计算每个API调用特征对于恶意软件检测的贡献度,选择最具代表性和区分度的API特征,得到API集合1;基于WindowsAPI编程,专注于字符串参数信息,利用字符串参数信息获得API集合。
在本发明的另一种优选实施方式中,特征提取模块提取的字符串参数包括导入的DLL、导入的API、URL、IP地址、文件位置、文件名、注册表项、注册表值。
本发明的有益效果:
1、本发明采用动态检测方法,在恶意软件智能检测装置中运行样本程序,可以动态观察到程序的实际执行情况,能够有效减少程序加壳、变形和多态技术对恶意代码检测带来的影响。
2、本发明基于信息熵增益选择少量的API函数进行拦截,减少了恶意代码检测的性能开销。
3、本发明分别使用HAN模型和MLP模型分别对API调用序列和API参数信息进行充分分析并进行信息融合,能更好的分析目标程序,从而提高恶意代码的检测率。
综上,本发明解决了当前恶意程序检测困难的问题,利用动态检测方法,在恶意软件智能检测装置中运行样本程序,避免了恶意程序加壳、变形、多态所造成的干扰。相较于静态分析方法导致对目标程序分析不充分的问题,本发明通过动态分析API调用序列和API参数信息,能更有效识别恶意代码。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请实施例的框架图。
图2是本申请实施例中恶意代码检测的框架图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
分层注意力网络模型:HAN模型
前馈神经网络模型:MLP模型
自然语言处理:NLP
递归神经网络:RNN
双向循环神经网络:双向RNN、BiRNN
本发明提供了基于API特征的恶意软件智能检测方法,如图1所示,使用恶意软件智能检测装置完成恶意软件的监测,恶意软件智能检测装置包括API函数拦截单元、特征提取单元、特征处理单元和恶意代码检测单元。
API函数拦截模块,用于获取目标程序的API函数调用信息,其中包含API函数调用序列信息和API函数参数信息。
特征提取模块,用于根据所述API函数调用信息,从API调用序列中提取关键的API函数调用,以减少API函数拦截的数量,从而提升检测方案的性能。包括,通过计算每个API调用特征对于恶意软件检测的贡献度,选择最具代表性和区分度的API特征,得到API集合1;基于WindowsAPI编程,专注于字符串参数信息,利用字符串参数信息获得API集合。特征提取模块提取的字符串参数包括导入的DLL、导入的API、URL、IP地址、文件位置、文件名、注册表项、注册表值。
特征处理模块,用于利用自然语言处理方法来获取每个关键的API函数调用的语义表示,获得API序列信息和API参数信息。
恶意代码检测模块,用于使用预先构建的深度学习模型对所述API调用序列和API参数信息进行全面分析,确定恶意软件。
基于API特征的恶意软件智能检测方法,在恶意软件智能检测装置上进行恶意软件的检测,包括API函数拦截、特征提取、特征处理和恶意代码检测步骤。
步骤一:API函数拦截
API函数拦截步骤主要用于获取目标程序的API函数调用信息,具体为,使用Frida工具来动态拦截目标程序的API函数调用信息,该信息包含了API调用序列信息和API函数参数信息。程序的函数功能代码在运行时会暴露在内存中,因此能够动态拦截目标程序的API函数调用信息。
步骤二:特征提取
特征提取步骤主要用于从API调用序列中提取关键的API函数调用,用于减少API函数拦截的数量,从而提升检测方案的性能。在获取API调用序列信息之后,需要从中提取出有用的特征。选择重点的API函数进行拦截,以提升检测方案的性能。
首先,基于信息熵增益进行特征提取,通过计算每个API调用特征对于恶意代码检测的贡献度,选择出最具代表性和区分度的API特征,得到API集合1。
再基于字符串参数信息,获得API集合2。集合2中选择的API必须同时满足API调用应该操作关键***资源和相应的字符串参数应该明确指向操作的关键***资源两个条件。
与地址参数和句柄参数相比,字符串参数包含更多的语义信息。字符串参数包括8中类型,具体为,导入的DLL、导入的API、URL、IP地址、文件位置、文件名、注册表项、注册表值。
通过API集合1和API集合2的组合的筛选,提取出相对较少且有用的调用信息。
步骤三:特征处理
特征处理步骤是利用自然语言处理方法(NLP)来获取每个函数的语义表示,使相似的函数产生相似的向量。同时,还需要对函数参数进行向量化处理。
使用自然语言处理方法来向量化API调用序列信息,API调用序列信息能反映目标程序的基本行为。从自然语言处理角度,每一个API函数调用可看成一个词,包含特定的语义信息。利用word2vec模型,获得API语义向量。
API函数参数特征的处理是基于特征频率实现的,先构建一个包含所有参数特征的集合,再计算每一个参数特征在数据集中出现了多少个样本;然后,预先定义一个阈值,保留频率大于阈值的参数特征。
同时,利用信息熵增益方法,进一步减少参数特征的数量。
应用独热编码模型对参数特征进行向量化处理,具体而言,其参数向量可表示为
,其中K代表参数特征的数量。
步骤四:恶意代码检测
恶意代码检测步骤需要构建一个深度学习模型对恶意代码进行智能检测,具体如图2所示,该模型为混合分类器模型,为了融合API调用序列和API参数信息,该模型包括HAN模型和MLP模型,用于对API调用序列和API参数信息进行全面分析,其中MLP模型为一层或多层,本实施例中MLP模型为两个。
HAN模型用于分析API调用序列特征,HAN模型包括输入层、词嵌入层、句子编码层、句子注意力层、文档编码层、文档注意力层、输出层。句子编码层与句子注意力层之间通过全连接层连接,文档编码层与文档注意力层之间也使用全连接层连接。
其中一个MLP模型包含三层全连接层神经网络,用于完成API参数信息的分析。
另一个MLP模型包含全连接层、分类层和输出层,用于实现API特征的融合和分类。
其中全连接层使用ReLU函数作为激活函数,分类层使用Softmax函数作为分类任务的激活函数。
输入层:接收一个文档,文档包含多个句子,即多个API序列。
词嵌入层:将每个句子转换为词向量(API)的序列,使用的是预训练的词向量,即利用word2vec模型获得API语义向量。
句子编码层:将每个句子的词向量序列输入到双向RNN中,将双向RNN的输出连接成一个句子的表示。本实施例中句子编码层使用GRU。
句子注意力层:将句子编码层得到的每个句子的表示,通过一个前馈神经网络(MLP)进行加权表示。每个句子表示的权重是由注意力分数决定,注意力分数由句子表示和文档级别的向量计算得出。
文档编码层:将句子注意力层的加权表示结果输入到双向RNN中,将双向RNN的输出连接成为整个文档的表示。本实施例中文档编码层也使用GRU。
文档注意力层:将文档编码层得到的文档表示,通过一个前馈神经网络(MLP)进行加权表示,注意力分数由文档表示和一个全局的向量计算得出。
输出层:将文档注意力层得到的加权文档表示输入到输出层,得到一个多维向量。
为了训练整个神经网络,本发明采用分类交叉熵作为损失函数。为了解决过拟合问题,本发明使用了dropout方法。此外,为了优化训练,本发明利用了adam算法。
恶意代码检测的具体操作步骤为,使用HAN模型分析API序列特征,利用输入层接收API调用序列信息文档,该文档内包含了多个句子;再利用词嵌入层将每个句子转化为词向量序列;将每个句子的词向量序列输入到双向RNN中,并将双向RNN的输出连接成为一个句子的表示;再将句子进行加权表示,并输入到输出层,输出一个多维向量。
使用其中一个MLP模型分析API参数信息,该网络模型由3个全连接层组成,其输出为一个多维向量。
使用另一个MLP模型完成API特征的融合和分类,利用全连接层将HAN模型输出多维向量和MLP模型输出的多维向量连接在一起,并通过分类层进行训练,最终由输出层输出标量,确定恶意软件,完成对恶意软件的检测。
综上,本发明通过提取目标程序的API调用序列信息和API参数信息,并结合信息熵增益方法提取关键API调用信息,能减少API函数拦截的数量,提升恶意代码检测方案的性能。
同时,利用word2vec模型对API调用信息进行向量化处理,利用独热编码模型对API参数进行向量化处理。分别使用HAN模型和MLP模型对API调用序列和API参数信息进行充分分析,提升了恶意代码的检测率。
在本说明书的描述中,参考术语“优选的实施方式”、“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (10)
1.基于API特征的恶意软件智能检测方法,其特征在于,包括以下步骤:
获取目标程序的API函数调用信息;
根据所述API函数调用信息,从API调用序列中提取关键的API函数调用;
利用自然语言处理方法来获取每个关键的API函数调用的语义表示,获得API序列信息和API参数信息;
使用预先构建的深度学习模型对所述API调用序列和API参数信息进行全面分析,确定恶意软件。
2.根据权利要求1所述的基于API特征的恶意软件智能检测方法,其特征在于:根据所述API函数调用信息,从API调用序列中提取关键的API函数调用,包括,通过计算每个API调用特征对于恶意软件检测的贡献度,选择最具代表性和区分度的API特征,得到API集合1;
基于WindowsAPI编程,专注于字符串参数信息,利用字符串参数信息获得API集合。
3.根据权利要求2所述的基于API特征的恶意软件智能检测方法,其特征在于:字符串参数包括导入的DLL、导入的API、URL、IP地址、文件位置、文件名、注册表项、注册表值。
4.根据权利要求3所述的基于API特征的恶意软件智能检测方法,其特征在于:利用自然语言处理方法来获取每个关键的API函数调用的语义表示,获得API序列信息和API参数信息,包括,基于特征频率对API函数参数信息进行处理。
5.根据利要求4所述的基于API特征的恶意软件智能检测方法,其特征在于:API函数参数信息的处理,包括,构建一个包含所有参数特征的集合,再计算每个参数特征在数据集中出现了多少个样本,最后预先定义一个阈值,只保留频率大于阈值的参数特征,获得API序列信息和API参数信息。
6.根据权利要求5所述的基于API特征的恶意软件智能检测方法,其特征在于:利用自然语言处理方法来获取每个关键的API函数调用的语义表示,获得API序列信息和API参数信息,还包括利用独热编码方案对特征参数进行向量化处理。
7.根据权利要求6所述的基于API特征的恶意软件智能检测方法,其特征在于:使用的深度学习模型为混合分类器模型,其包括HAN模型和MLP模型;利用HAN模型对API调用序列进行全面分析,利用MLP模型对于API参数信息进行全面分析,确定恶意软件;
HAN模型包括输入层、词嵌入层、句子编码层、句子注意力层、文档编码层、文档注意力层和输出层;
输入层:输入层用于接收一个文档,文档包含多个句子,即多个API序列;
词嵌入层:将每个句子转换为词向量的序列,使用预训练的词向量,即利用word2vec模型获得的API语义向量;
句子编码层:将每个句子的API语义向量输入到双向RNN中,将双向RNN的输出连接成为一个句子的表示;
句子注意力层:将句子编码层得到的每个句子的表示,通过一个MLP进行加权表示,每个句子表示的权重是由注意力分数决定,注意力分数由句子表示和文档级别的向量计算得出;
文档编码层:将句子注意力层的加权表示结果输入到双向RNN中,将双向RNN的输出连接成为整个文档的表示;
文档注意力层:将文档编码层得到的文档表示,通过一个MLP进行加权表示,注意力分数由文档表示和一个全局的向量计算得出;
输出层:将文档注意力层得到的加权文档表示输入到输出层,得到一个多维向量;
MLP模型为前馈神经网络,为一层或多层。
8.恶意软件智能检测装置,其特征在于:包括,
API函数拦截模块,用于获取目标程序的API函数调用信息;
特征提取模块,用于根据所述API函数调用信息,从API调用序列中提取关键的API函数调用;
特征处理模块,用于利用自然语言处理方法来获取每个关键的API函数调用的语义表示,获得API序列信息和API参数信息;
恶意代码检测模块,用于使用预先构建的深度学习模型对所述API调用序列和API参数信息进行全面分析,确定恶意软件。
9.权利要求8所述的恶意软件智能检测装置,其特征在于:所述特征提取模块,具体用于根据所述API函数调用信息,从API调用序列中提取关键的API函数调用,包括,通过计算每个API调用特征对于恶意软件检测的贡献度,选择最具代表性和区分度的API特征,得到API集合1;基于WindowsAPI编程,专注于字符串参数信息,利用字符串参数信息获得API集合。
10.根据权利要求9所述的恶意软件智能检测装置,其特征在于:所述特征提取模块提取的字符串参数包括导入的DLL、导入的API、URL、IP地址、文件位置、文件名、注册表项、注册表值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310706953.9A CN116702143A (zh) | 2023-06-15 | 2023-06-15 | 基于api特征的恶意软件智能检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310706953.9A CN116702143A (zh) | 2023-06-15 | 2023-06-15 | 基于api特征的恶意软件智能检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116702143A true CN116702143A (zh) | 2023-09-05 |
Family
ID=87844722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310706953.9A Pending CN116702143A (zh) | 2023-06-15 | 2023-06-15 | 基于api特征的恶意软件智能检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116702143A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117574370A (zh) * | 2023-11-28 | 2024-02-20 | 中华人民共和国新疆出入境边防检查总站(新疆维吾尔自治区公安厅边境管理总队) | 一种恶意代码检测*** |
-
2023
- 2023-06-15 CN CN202310706953.9A patent/CN116702143A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117574370A (zh) * | 2023-11-28 | 2024-02-20 | 中华人民共和国新疆出入境边防检查总站(新疆维吾尔自治区公安厅边境管理总队) | 一种恶意代码检测*** |
CN117574370B (zh) * | 2023-11-28 | 2024-05-31 | 中华人民共和国新疆出入境边防检查总站(新疆维吾尔自治区公安厅边境管理总队) | 一种恶意代码检测*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107908963B (zh) | 一种自动化检测恶意代码核心特征的方法 | |
Wang et al. | PDRCNN: Precise phishing detection with recurrent convolutional neural networks | |
CN110266647B (zh) | 一种命令和控制通信检测方法及*** | |
CN113596007B (zh) | 一种基于深度学习的漏洞攻击检测方法和设备 | |
Li et al. | Opcode sequence analysis of Android malware by a convolutional neural network | |
CN112989831B (zh) | 一种应用在网络安全领域的实体抽取方法 | |
Malaysia | ‘An enhanced online phishing e-mail detection framework based on evolving connectionist system | |
Liu et al. | An efficient multistage phishing website detection model based on the CASE feature framework: Aiming at the real web environment | |
CN112884204B (zh) | 网络安全风险事件预测方法及装置 | |
CN113360912A (zh) | 恶意软件检测方法、装置、设备及存储介质 | |
CN113221112B (zh) | 基于弱相关集成策略的恶意行为识别方法、***和介质 | |
CN112685738B (zh) | 一种基于多级投票机制的恶意混淆脚本静态检测方法 | |
KR102120200B1 (ko) | 악성 코드 수집 방법 및 시스템 | |
Mimura et al. | Filtering malicious javascript code with doc2vec on an imbalanced dataset | |
Patil et al. | Detection of malicious javascript code in web pages | |
Zhang et al. | Cross-site scripting (XSS) detection integrating evidences in multiple stages | |
CN116702143A (zh) | 基于api特征的恶意软件智能检测方法 | |
CN113992623B (zh) | 一种基于内容与源码的网页邮件跨站脚本攻击检测方法 | |
CN110866257A (zh) | 木马检测方法及装置、电子设备、存储介质 | |
Abaimov et al. | A survey on the application of deep learning for code injection detection | |
CN113918936A (zh) | Sql注入攻击检测的方法以及装置 | |
CN111475812B (zh) | 一种基于数据可执行特征的网页后门检测方法与*** | |
Yang et al. | MLAB-BiLSTM: online web attack detection via attention-based deep neural networks | |
Ding et al. | Detecting Domain Generation Algorithms with Bi-LSTM. | |
CN114169540A (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 |