CN114679331B - 一种基于ai技术的恶意代码被动检测方法及系统 - Google Patents
一种基于ai技术的恶意代码被动检测方法及系统 Download PDFInfo
- Publication number
- CN114679331B CN114679331B CN202210371445.5A CN202210371445A CN114679331B CN 114679331 B CN114679331 B CN 114679331B CN 202210371445 A CN202210371445 A CN 202210371445A CN 114679331 B CN114679331 B CN 114679331B
- Authority
- CN
- China
- Prior art keywords
- program
- tested
- malicious
- shelling
- black
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 48
- 238000005516 engineering process Methods 0.000 title claims abstract description 24
- 230000003068 static effect Effects 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000007689 inspection Methods 0.000 claims abstract description 6
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 12
- 238000011160 research Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 9
- 230000004048 modification Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 7
- 244000035744 Hura crepitans Species 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 5
- 230000006399 behavior Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 2
- 238000012216 screening Methods 0.000 claims description 2
- 238000013527 convolutional neural network Methods 0.000 description 14
- 239000013598 vector Substances 0.000 description 14
- 238000012549 training Methods 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000011176 pooling Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 210000005036 nerve Anatomy 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- 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/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Virology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种基于AI技术的恶意代码被动检测方法及系统,其方法包括:S1:计算待测程序的Hash值,将其与黑白名单数据库中已知程序的Hash值进行对比,若待测程序不是已知程序,则转至S2;S2:对待测程序进行加壳检验,按照其加壳方式对待测程序调用脱壳脚本,进行自动化脱壳处理;S3:提取待测程序的静态特征,结合训练好的静态分类器进行恶意软件检测与分类,如果判定待测程序类别为恶意程序,则输出其类别,并将其加入黑白名单数据库,否则转入S4;S4:提取待测程序的动态特征,结合训练好的动态分类器进行恶意软件检测与分类,输出待测程序的类别,并将其加入黑白名单数据库。本发明提供的方法为恶意代码的判别及分类提供有力的数据支持。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及一种基于AI技术的恶意代码被动检测方法及系统。
背景技术
恶意代码的威胁极大,能够快速进行自我复制,并对计算机进行攻击。常见的恶意代码包括计算机病毒、特洛伊木马、计算机蠕虫、后门、逻辑炸弹等。由于恶意代码本身即为一段程序代码,可以在很隐蔽的情况下嵌入到正常合法的程序中,通过运行合法的程序而自动运行,从而达到破坏被感染计算机的数据、程序以及对被感染计算机进行信息窃取等目的。恶意代码经过多年的发展,破坏性、种类和感染性都得到极大的增强。而且,随着计算机网络化程度的不断普及,网络传播的恶意代码造成的影响和危害越来越大。目前,恶意代码的检测是安全领域研究的热点之一。早期的恶意软件往往实现的恶意目标比较单一,容易被检测到。但是随着黑客技术的不断提高,恶意代码的隐蔽性越来越强,破坏性大而且难以检测。一个恶意软件往往会呈现多个类别的特征,从而绕过运行在内核模式下的防火墙、防病毒等恶意代码防护软件。
针对上述问题,CN202111297733.2给出了一种恶意代码检测方法,在获取待检测的目标代码包后,通过采用预设神经网络模型对所述目标代码包进行特征提取,以获取所述目标代码包的两轮特征信息,然后结合两轮检测结果确定所述目标代码包中的恶意代码包情况。CN202111119216.6给出了一种基于改进CNN网络的恶意代码检测方法,通过图像化技术将恶意代码转换成灰度图像特征,再通过N-Gram技术提取恶意代码的操作码序列特征,通过特征融合技术将全局特征和局部特征进行特征融合,得到的融合特征输入到改进的卷积神经网络模型训练并选用合适的分类器进行检测。CN202111061961.X给出了一种恶意代码检测的方法,通过将可执行程序代码在动态沙箱中模拟运行,获取数据集;利用数据集训练XGBoost模型;利用数据集训练TextCNN模型;将实时采集的数据分别输入训练好的XGBoost模型和训练好的TextCNN模型,将两个模型的输出结果进行归一化处理得到最终的预测结果,提高了恶意代码的识别率。
综上,目前的方法及系统无法解决如下问题:(1)对经过精心伪装后的恶意代码检测存在一定不足;(2)对恶意代码单纯采用静态分析或动态分析的方法,影响了恶意代码检测的准确率和效率。
发明内容
为了解决上述技术问题,本发明提供一种基于AI技术的恶意代码被动检测方法及系统。
本发明技术解决方案为:一种基于AI技术的恶意代码被动检测方法,包括:
步骤S1:计算待测程序的Hash值,将其与黑白名单数据库中已知程序的Hash值进行对比,若所述待测程序不是所述已知程序,则转至步骤S2;其中,所述已知程序包括:正常程序和恶意程序;
步骤S2:对所述待测程序进行加壳检验,按照其加壳方式对所述待测程序调用脱壳脚本,进行自动化脱壳处理;
步骤S3:提取所述待测程序的静态特征,结合训练好的静态分类器进行恶意软件检测与分类,如果判定所述待测程序类别为恶意程序,则输出其类别,并将其加入所述黑白名单数据库,否则转入步骤S4;
步骤S4:提取所述待测程序的动态特征,结合训练好的动态分类器进行恶意软件检测与分类,输出所述待测程序的类别,并将其加入所述黑白名单数据库。
本发明与现有技术相比,具有以下优点:
本发明公开了一种基于AI技术的恶意代码被动检测方法,能够对恶意代码进行自动化查壳检测,并对常见的压缩壳、加密壳进行自动化脱壳;通过设定的黑白名单对待测程序进行快速过滤,删除其中的重复样本和已知样本;先采用静态检测提高恶意代码的检测效率,然后采用动态检测提高检测的准确率,从而为恶意代码的判别及分类提供有力的数据支持。
附图说明
图1为本发明实施例中一种基于AI技术的恶意代码被动检测方法的流程图;
图2A为本发明实施例中RNN网络架构示意图;
图2B为本发明实施例中利用RNN网络生成特征图像流程示意图;
图3为本发明实施例中CNN网络架构示意图;
图4为本发明实施例中一种基于AI技术的恶意代码被动检测方法流程示意图;
图5为本发明实施例中一种基于AI技术的恶意代码被动检测系统的结构框图;
图6为本发明实施例中一种基于AI技术的恶意代码被动检测系统的流程示意框图。
具体实施方式
本发明提供了一种基于AI技术的恶意代码被动检测方法,通过首先对从待测程序进行黑白名单判定,然后进行脱壳处理,最后采用先静态检测提高检测效率,后动态检测提高准确率的方法,为恶意代码的判别及分类提供有力的数据支持。
为了使本发明的目的、技术方案及优点更加清楚,以下通过具体实施,并结合附图,对本发明进一步详细说明。
实施例一
如图1所示,本发明实施例提供的一种基于AI技术的恶意代码被动检测方法,包括下述步骤:
步骤S1:计算待测程序的Hash值,将其与黑白名单数据库中已知程序的Hash值进行对比,若待测程序不是已知程序,则转至步骤S2;其中,已知程序包括:正常程序和恶意程序;
步骤S2:对待测程序进行加壳检验,按照其加壳方式对待测程序调用脱壳脚本,进行自动化脱壳处理;
步骤S3:提取待测程序的静态特征,结合训练好的静态分类器进行恶意软件检测与分类,如果判定待测程序类别为恶意程序,则输出其类别,并将其加入黑白名单数据库,否则转入步骤S4;
步骤S4:提取待测程序的动态特征,结合训练好的动态分类器进行恶意软件检测与分类,输出待测程序的类别,并将其加入黑白名单数据库。
在一个实施例中,上述步骤S1:计算待测程序的Hash值,将其与黑白名单数据库中已知程序的Hash值进行对比,若待测程序不是已知程序,则转至步骤S2;其中,已知程序包括:正常程序和恶意程序,具体包括:
步骤S11:利用MD5-Hash函数将待测程序映射到有限长度的域上,将计算得到的Hash值作为待测程序的唯一身份标识;
步骤S12:通过字符串匹配的方式,将Hash值与黑白名单数据库中已知程序的Hash值进行快速匹配,若待测程序不是已知程序,则转至步骤S2;其中,黑白名单数据库是指存放已检测过的所有程序Hash值的数据库,白名单指的是正常程序的Hash值集合,黑名单指的是恶意程序的Hash值集合。
本发明实施例根据计算得到的程序Hash值,利用预先设定的黑白名单对待测程序进行快速过滤,筛除已有明确结果的程序样本,避免对相同样本的重复检测,降低系统开销。
在一个实施例中,上述步骤S2:对待测程序进行加壳检验,按照其加壳方式对待测程序调用脱壳脚本,进行自动化脱壳处理,具体包括:
步骤S21:对加壳特征进行分析,确定待测程序是否加壳,若判定待测程序已加壳,则确定其加壳方式及版本,则转至步骤S22,否则转至步骤S3;
加壳程序一般存在如下特征:1)加壳程序中仅存在较少的导入函数;2)加壳程序的熵值高于未加壳的程序,表现为加壳程序中的数据更接近于随机数据;3)加壳程序通常具有异常的节大小,比如.text节的原始数据大小为0,但是虚拟大小非0等特征。
本发明实施例通过加壳特征码实现对加壳种类的判别,对于常见的压缩壳、加密壳等加壳方式,根据加壳算法的版本,调用对应的脱壳脚本。
步骤S22:基于加壳方式及版本,调用对应的脱壳脚本进行脱壳,若脱壳成功,则得到脱壳程序并转至步骤S3,若脱壳失败,则将待测程序存档保存。
本发明实施例中,当脱壳成功时,生成脱壳成功日志,该日志包含待测程序的Hash值作为唯一标识、加壳版本、脱壳时间等信息;当脱壳失败时,生成脱壳失败日志,该日志包含待测程序Hash值、加壳版本、首次加壳检测时间等信息。并将脱壳成功的程序进行后续的静态特征分析,将脱壳失败的程序进行存档保留以备后续分析。
在一个实施例中,上述步骤S3:提取待测程序的静态特征,结合训练好的静态分类器进行恶意软件检测与分类,如果判定待测程序类别为恶意程序,则输出其类别,并将其加入黑白名单数据库,否则转入步骤S4,具体包括:
步骤S31:通过对待测程序的PE结构进行详细解析,提取其中的有效静态特征集;PE结构中与恶意代码检测相关的静态属性包括:DLL的出现频率、API的出现频率、引用DLL的总数、调用API的总数、.test节头、.data节头、.rsrc节头和.rdata节头;
步骤S32:利用AdaBoost集成学习算法,通过构建并结合多个学习器,形成一个强学习器,基于静态特征集进行恶意代码的检测和分类任务,如果判定待测程序类别为恶意程序,则输出其类别,并将其加入黑白名单数据库,否则转入步骤S4。
本发明实施例中采用AdaBoost集成学习算法,是多个弱分类器的结合。本发明中采用的弱分类器是决策树。AdaBoost集成学习算法具体分类过程如下:
首先,提高在前一轮弱分类器错误分类样本的权值,并降低哪些被正确分类样本的权值。这样一来,那些没有得到正确分类的数据,由于其权值的加大,从而增加了其在后一轮弱分类器的比重。
其次,AdaBoost采用多个弱分类器加权多数表决的方法,具体指加大分类误差率小的分类器的权值,使其在表决中起到较大作用;减小分类误差率答的弱分类器的权值,使其在表决中起到较小的作用。
在一个实施例中,上述步骤S4提取待测程序的动态特征,结合训练好的动态分类器进行恶意软件检测与分类,输出待测程序的类别,并将其加入黑白名单数据库,具体包括:
步骤S41:通过在SandBoxie和BSA构成的动态沙箱中执行待测程序,对在程序执行期间的API调用、网络访问、系统文件修改和注册表修改的动态特征属性进行格式化处理,并生成记录API调用序列的日志文件;使用RNN基于动态特征属性提取待测程序的行为特征并生成特征图像;
本发明中实施例中使用RNN基于动态特征属性提取待测程序的行为特征并生成特征图像,包括:RNN网络训练和利用训练好的RNN网络生成特征图像。本发明实施例中RNN网络包括一个输入层x,7个隐藏层,1个输出层y。其中第一层隐藏层h1为普通的神经单元,第二~六层隐藏层(h2~h6)为LSTM神经单元。RNN网络的架构如图2A所示。
首先,RNN网络训练及调优的具体过程如下:
(1)将已知恶意代码执行期间的API调用、网络访问、系统文件修改和注册表修改的动态特征属性进行格式化处理,并生成记录API调用序列的日志文件;
(2)对所有采集的动态特征和日志文件进行one-hot编码,生成动态特征的特征向量,作为RNN算法的输入层x。其中,日志文件操作步骤向量集为{S1,S2,S3,……,St},编码为one-hot向量集为{x1,x2,x3,……,xt}。
(3)每个输入层one-hot向量中的xi对应输出层预测的输出向量yi,然后通过计算yi与xi+1的差距得到损失函数。
(4)当所有的t步操作都经过RNN网络后,得到所有{y1,y2,y3,……,yt}的损失函数情况。
(5)利用反向传播计算更新RNN中所有的权重,完成RNN算法的参数调优。
(6)经过多次迭代,直到输出向量yi与实际操作xi+1的损失函数在设定的阈值之内。此时得到训练好的RNN网络。
其次,如图2B所示,利用训练好的RNN网络生成特征图像,具体过程如下:
(1)将待测程序的操作编码为one-hot向量,然后依次输入到训练好的RNN网络中,获得每个输入向量xi的第六个隐藏层向量,得到向量集/>
(2)将得到的向量集转换成相同大小的特征图像矩阵M。首先将所有元素进行缩放,保证所有元素取值范围为[0,1],计算公式如下:
然后将特征向量利用函数f转换成相同大小的特征图像矩阵M,计算公式如下:
其中,fi为固定大小的特征图像矩阵的元素,xi为第i个动态特征,则特征图像矩阵M为:
其中,N为动态特征图像矩阵M的行数,W为第6隐藏层的维数。
(3)将动态特征图像矩阵M中所有元素fij乘以255,用来形成256级灰度图像。
步骤S42:使用CNN对特征图像进行分类,得到待测程序的类别,并将其加入黑白名单数据库。
本发明中所述的利用CNN网络对特征图像进行分类,包括训练CNN网络,以及利用训练好的CNN网络对特征图像进行分类。本发明实施例中CNN网络包括1个输入层、2个卷积-池化层、1个全连接层和2个输出层。第一个卷积层包含5个核,用于处理的输入的W0×W0×1的图像;第二个卷积层包含10个核,用于处理前一层输出的W1×W1×10的图像;每个池化层均用于处理前一个卷积层的输出结果,并将其尺寸减小为原尺寸的一半,第1个池化层将图像降为(W0/2)×(W0/2)×1,第2个池化层将图像降为(W1/2)×(W1/2)×10;最大池化的步长为2,CNN算法为二分类,包含两个输出层。CNN网络的详细架构如图3所示。
首先,CNN网络的训练及调优的具体过程如下:
(1)使用带有恶意、良性标记的特征图像矩阵作为输入训练CNN网络;
(2)输出y0、y1分别为良性软件、恶意软件的概率。可用sigmoid函数Sig(y1)计算出为恶意软件的概率。
其次,利用训练好的CNN网络,对输入的特征图像进行分类,具体过程与上述CNN训练过程相同。
最后,根据得到的待测程序的类别,并将其加入黑白名单数据库。
如图4的一种基于AI技术的恶意代码被动检测方法流程图所示,本发明实施例首先对待测程序进行Hash值计算,采用字符串快速匹配的方式,判定待测程序是否在黑白名单数据库中;如果在数据库中,则直接输出结果并结束;如果不在数据库中,则进行加壳判定,如果判定程序加壳,则自动化调用脱壳程序进行处理,否则直接进行静态分析处理;静态研判模块将通过静态检测的方式对待测程序进行分析,如果判定为恶意程序(或正常程序),则生成静态检测报告并输出结果,同时将分析结果同步到黑白名单数据库;如果无法判定分析结果,则将待测程序进行下一步动态分析;动态研判模块将通过沙箱动态运行待测程序进行分析,如果判定为恶意程序(或正常程序),则生成静态检测报告并输出结果,同时将分析结果同步到黑白名单数据库。
本发明公开了一种基于AI技术的恶意代码被动检测方法,能够对恶意代码进行自动化查壳检测,并对常见的压缩壳、加密壳进行自动化脱壳;通过设定的黑白名单对待测程序进行快速过滤,删除其中的重复样本和已知样本;先采用静态检测提高恶意代码的检测效率,然后采用动态检测提高检测的准确率,从而为恶意代码的判别及分类提供有力的数据支持。
实施例二
如图5所示,本发明实施例提供了一种基于AI技术的恶意代码被动检测系统,包括下述模块:
判别筛选模块51,用于计算待测程序的Hash值,将其与黑白名单数据库中已知程序的Hash值进行对比,若待测程序不是已知程序,则转至软件脱壳模块;其中,已知程序包括:正常程序和恶意程序;
软件脱壳模块52,用于对待测程序进行加壳检验,按照其加壳方式对待测程序调用脱壳脚本,进行自动化脱壳处理;
静态研判模块53,用于提取待测程序的静态特征,结合训练好的静态分类器进行恶意软件检测与分类,如果待测程序类别为恶意程序,则输出其类别,并将其加入黑白名单数据库,否则转入动态研判模块;
动态研判模块54,用于提取待测程序的动态特征,结合训练好的动态分类器进行恶意软件检测与分类,输出待测程序的类别,并将其加入黑白名单数据库。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。
Claims (4)
1.一种基于AI技术的恶意代码被动检测方法,其特征在于,包括:
步骤S1:计算待测程序的Hash值,将其与黑白名单数据库中已知程序的Hash值进行对比,若所述待测程序不是所述已知程序,则转至步骤S2;其中,所述已知程序包括:正常程序和恶意程序;
步骤S2:对所述待测程序进行加壳检验,按照其加壳方式对所述待测程序调用脱壳脚本,进行自动化脱壳处理;
步骤S3:提取所述待测程序的静态特征,结合训练好的静态分类器进行恶意软件检测与分类,如果判定所述待测程序类别为恶意程序,则输出其类别,并将其加入所述黑白名单数据库,否则转入步骤S4,具体包括:
步骤S31:通过对所述待测程序的PE结构进行详细解析,提取其中的有效静态特征集;PE结构中与恶意代码检测相关的静态属性包括:DLL的出现频率、API的出现频率、引用DLL的总数、调用API的总数、.test节头、.data节头、.rsrc节头和.rdata节头;
步骤S32:利用AdaBoost集成学习算法,通过构建并结合多个学习器,形成一个强学习器,基于所述静态特征集进行恶意代码的检测和分类任务,如果判定所述待测程序类别为恶意程序,则输出其类别,并将其加入所述黑白名单数据库,否则转入步骤S4;
步骤S4:提取所述待测程序的动态特征,结合训练好的动态分类器进行恶意软件检测与分类,输出所述待测程序的类别,并将其加入所述黑白名单数据库,具体包括:
步骤S41:通过在SandBoxie和BSA构成的动态沙箱中执行所述待测程序,对在程序执行期间的API调用、网络访问、系统文件修改和注册表修改的动态特征属性进行格式化处理,同时生成记录API调用序列的日志文件;使用RNN基于所述动态特征属性提取所述待测程序的行为特征并生成特征图像;
步骤S42:使用CNN对所述特征图像进行分类,得到所述待测程序的类别,并将其加入所述黑白名单数据库。
2.根据权利要求1所述的基于AI技术的恶意代码被动检测方法,其特征在于,所述步骤S1:计算待测程序的Hash值,将其与黑白名单数据库中已知程序的Hash值进行对比,若所述待测程序不是所述已知程序,则转至步骤S2;其中,所述已知程序包括:正常程序和恶意程序,具体包括:
步骤S11:利用MD5-Hash函数将所述待测程序映射到有限长度的域上,将计算得到的Hash值作为所述待测程序的唯一身份标识;
步骤S12:通过字符串匹配的方式,将所述Hash值与黑白名单数据库中已知程序的Hash值进行快速匹配,若所述待测程序不是所述已知程序,则转至步骤S2;其中,所述黑白名单数据库是指存放已检测过的所有程序Hash值的数据库,白名单指的是正常程序的Hash值集合,黑名单指的是恶意程序的Hash值集合。
3.根据权利要求1所述的基于AI技术的恶意代码被动检测方法,其特征在于,所述步骤S2:对所述待测程序进行加壳检验,按照其加壳方式对所述待测程序调用脱壳脚本,进行自动化脱壳处理,具体包括:
步骤S21:对加壳特征进行分析,确定所述待测程序是否加壳,若判定所述待测程序已加壳,则确定其加壳方式及版本,则转至步骤S22,否则转至步骤S3;
步骤S22:基于所述加壳方式及版本,调用对应的脱壳脚本进行脱壳,若脱壳成功,则得到脱壳程序并转至步骤S3,若脱壳失败,则将所述待测程序存档保存。
4.一种基于AI技术的恶意代码被动检测系统,其特征在于,包括下述模块:
判别筛选模块,用于计算待测程序的Hash值,将其与黑白名单数据库中已知程序的Hash值进行对比,若所述待测程序不是所述已知程序,则转至软件脱壳模块;其中,所述已知程序包括:正常程序和恶意程序;
软件脱壳模块,用于对所述待测程序进行加壳检验,按照其加壳方式对所述待测程序调用脱壳脚本,进行自动化脱壳处理;
静态研判模块,用于提取所述待测程序的静态特征,结合训练好的静态分类器进行恶意软件检测与分类,如果所述待测程序类别为恶意程序,则输出其类别,并将其加入所述黑白名单数据库,否则转入动态研判模块,具体包括:
步骤S31:通过对所述待测程序的PE结构进行详细解析,提取其中的有效静态特征集;PE结构中与恶意代码检测相关的静态属性包括:DLL的出现频率、API的出现频率、引用DLL的总数、调用API的总数、.test节头、.data节头、.rsrc节头和.rdata节头;
步骤S32:利用AdaBoost集成学习算法,通过构建并结合多个学习器,形成一个强学习器,基于所述静态特征集进行恶意代码的检测和分类任务,如果判定所述待测程序类别为恶意程序,则输出其类别,并将其加入所述黑白名单数据库,否则转入动态研判模块;
动态研判模块,用于提取所述待测程序的动态特征,结合训练好的动态分类器进行恶意软件检测与分类,输出所述待测程序的类别,并将其加入所述黑白名单数据库,具体包括:
步骤S41:通过在SandBoxie和BSA构成的动态沙箱中执行所述待测程序,对在程序执行期间的API调用、网络访问、系统文件修改和注册表修改的动态特征属性进行格式化处理,同时生成记录API调用序列的日志文件;使用RNN基于所述动态特征属性提取所述待测程序的行为特征并生成特征图像;
步骤S42:使用CNN对所述特征图像进行分类,得到所述待测程序的类别,并将其加入所述黑白名单数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210371445.5A CN114679331B (zh) | 2022-04-11 | 2022-04-11 | 一种基于ai技术的恶意代码被动检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210371445.5A CN114679331B (zh) | 2022-04-11 | 2022-04-11 | 一种基于ai技术的恶意代码被动检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114679331A CN114679331A (zh) | 2022-06-28 |
CN114679331B true CN114679331B (zh) | 2024-02-02 |
Family
ID=82078633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210371445.5A Active CN114679331B (zh) | 2022-04-11 | 2022-04-11 | 一种基于ai技术的恶意代码被动检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114679331B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761481A (zh) * | 2014-01-23 | 2014-04-30 | 北京奇虎科技有限公司 | 一种恶意代码样本自动处理的方法及装置 |
CN105897807A (zh) * | 2015-01-14 | 2016-08-24 | 江苏博智软件科技有限公司 | 一种基于行为特征的移动智能终端异常代码云检测方法 |
CN106096415A (zh) * | 2016-06-24 | 2016-11-09 | 康佳集团股份有限公司 | 一种基于深度学习的恶意代码检测方法及系统 |
CN107590388A (zh) * | 2017-09-12 | 2018-01-16 | 南方电网科学研究院有限责任公司 | 恶意代码检测方法和装置 |
CN108304720A (zh) * | 2018-02-06 | 2018-07-20 | 恒安嘉新(北京)科技股份公司 | 一种基于机器学习的安卓恶意程序检测方法 |
KR101880686B1 (ko) * | 2018-02-28 | 2018-07-20 | 에스지에이솔루션즈 주식회사 | Ai 딥러닝 기반의 악성코드 탐지 시스템 |
CN109492395A (zh) * | 2018-10-31 | 2019-03-19 | 厦门安胜网络科技有限公司 | 一种检测恶意程序的方法、装置及存储介质 |
CN110224990A (zh) * | 2019-07-17 | 2019-09-10 | 浙江大学 | 一种基于软件定义安全架构的入侵检测系统 |
CN110263538A (zh) * | 2019-05-13 | 2019-09-20 | 重庆大学 | 一种基于系统行为序列的恶意代码检测方法 |
CN111639337A (zh) * | 2020-04-17 | 2020-09-08 | 中国科学院信息工程研究所 | 一种面向海量Windows软件的未知恶意代码检测方法及系统 |
CN112084497A (zh) * | 2020-09-11 | 2020-12-15 | 国网山西省电力公司营销服务中心 | 嵌入式Linux系统恶意程序检测方法及装置 |
CN112632531A (zh) * | 2020-12-15 | 2021-04-09 | 平安科技(深圳)有限公司 | 恶意代码的识别方法、装置、计算机设备及介质 |
KR20210056790A (ko) * | 2019-11-11 | 2021-05-20 | (주)하몬소프트 | 동적인 분석 플랜을 이용하는 edr 장치 및 방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8756693B2 (en) * | 2011-04-05 | 2014-06-17 | The United States Of America As Represented By The Secretary Of The Air Force | Malware target recognition |
US11615184B2 (en) * | 2020-01-31 | 2023-03-28 | Palo Alto Networks, Inc. | Building multi-representational learning models for static analysis of source code |
-
2022
- 2022-04-11 CN CN202210371445.5A patent/CN114679331B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761481A (zh) * | 2014-01-23 | 2014-04-30 | 北京奇虎科技有限公司 | 一种恶意代码样本自动处理的方法及装置 |
CN105897807A (zh) * | 2015-01-14 | 2016-08-24 | 江苏博智软件科技有限公司 | 一种基于行为特征的移动智能终端异常代码云检测方法 |
CN106096415A (zh) * | 2016-06-24 | 2016-11-09 | 康佳集团股份有限公司 | 一种基于深度学习的恶意代码检测方法及系统 |
CN107590388A (zh) * | 2017-09-12 | 2018-01-16 | 南方电网科学研究院有限责任公司 | 恶意代码检测方法和装置 |
CN108304720A (zh) * | 2018-02-06 | 2018-07-20 | 恒安嘉新(北京)科技股份公司 | 一种基于机器学习的安卓恶意程序检测方法 |
KR101880686B1 (ko) * | 2018-02-28 | 2018-07-20 | 에스지에이솔루션즈 주식회사 | Ai 딥러닝 기반의 악성코드 탐지 시스템 |
CN109492395A (zh) * | 2018-10-31 | 2019-03-19 | 厦门安胜网络科技有限公司 | 一种检测恶意程序的方法、装置及存储介质 |
CN110263538A (zh) * | 2019-05-13 | 2019-09-20 | 重庆大学 | 一种基于系统行为序列的恶意代码检测方法 |
CN110224990A (zh) * | 2019-07-17 | 2019-09-10 | 浙江大学 | 一种基于软件定义安全架构的入侵检测系统 |
KR20210056790A (ko) * | 2019-11-11 | 2021-05-20 | (주)하몬소프트 | 동적인 분석 플랜을 이용하는 edr 장치 및 방법 |
CN111639337A (zh) * | 2020-04-17 | 2020-09-08 | 中国科学院信息工程研究所 | 一种面向海量Windows软件的未知恶意代码检测方法及系统 |
CN112084497A (zh) * | 2020-09-11 | 2020-12-15 | 国网山西省电力公司营销服务中心 | 嵌入式Linux系统恶意程序检测方法及装置 |
CN112632531A (zh) * | 2020-12-15 | 2021-04-09 | 平安科技(深圳)有限公司 | 恶意代码的识别方法、装置、计算机设备及介质 |
Non-Patent Citations (3)
Title |
---|
Wenwu Li ; Chao Li ; Miyi Duan.Method for detecting the obfuscated malicious code based on behavior connection.《 2014 IEEE 3rd International Conference on Cloud Computing and Intelligence Systems》.2015,全文. * |
Zhongru Wang ; Peixin Cong ; Weiqiang Yu.Malicious Code Detection Technology Based on Metadata Machine Learning.《 2020 IEEE Fifth International Conference on Data Science in Cyberspace (DSC)》.2020,全文. * |
一种基于系统行为序列特征的Android恶意代码检测方法;杨吉云;陈钢;鄢然;吕建斌;;重庆大学学报(09);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114679331A (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dumford et al. | Backdooring convolutional neural networks via targeted weight perturbations | |
David et al. | Deepsign: Deep learning for automatic malware signature generation and classification | |
Mahdavifar et al. | Application of deep learning to cybersecurity: A survey | |
He et al. | Malware detection with malware images using deep learning techniques | |
Baptista et al. | A novel malware detection system based on machine learning and binary visualization | |
CN109829306B (zh) | 一种优化特征提取的恶意软件分类方法 | |
Almomani et al. | An automated vision-based deep learning model for efficient detection of android malware attacks | |
CN110704840A (zh) | 一种基于卷积神经网络cnn的恶意软件检测方法 | |
CN107908963A (zh) | 一种自动化检测恶意代码核心特征方法 | |
CN111460446B (zh) | 基于模型的恶意文件检测方法及装置 | |
Zhao et al. | A review of computer vision methods in network security | |
RU2708356C1 (ru) | Система и способ двухэтапной классификации файлов | |
CN113221109B (zh) | 一种基于生成对抗网络的恶意文件智能分析方法 | |
CN113935033A (zh) | 特征融合的恶意代码家族分类方法、装置和存储介质 | |
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 | |
TW202240453A (zh) | 學習惡意行為與惡意程式的執行序列之關聯性的方法與計算機與用於實作類神經網路的方法 | |
Bountakas et al. | Defense strategies for adversarial machine learning: A survey | |
CN112001424B (zh) | 基于对抗训练的恶意软件开放集家族分类方法和装置 | |
CN114679331B (zh) | 一种基于ai技术的恶意代码被动检测方法及系统 | |
CN115292701A (zh) | 一种基于主动与被动相结合的恶意代码检测方法及系统 | |
Naeem et al. | Android Device Malware Classification Framework Using Multistep Image Feature Extraction and Multihead Deep Neural Ensemble. | |
Demirezen | Image based malware classification with multimodal deep learning | |
CN114021136A (zh) | 针对人工智能模型的后门攻击防御系统 | |
JP2023513109A (ja) | 二値画像認識システムへのサイバー攻撃の検出及び軽減 |
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 |