CN112528284A - 恶意程序的检测方法及装置、存储介质、电子设备 - Google Patents
恶意程序的检测方法及装置、存储介质、电子设备 Download PDFInfo
- Publication number
- CN112528284A CN112528284A CN202011509623.3A CN202011509623A CN112528284A CN 112528284 A CN112528284 A CN 112528284A CN 202011509623 A CN202011509623 A CN 202011509623A CN 112528284 A CN112528284 A CN 112528284A
- Authority
- CN
- China
- Prior art keywords
- program
- model
- nblr
- training
- tfidf
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000001514 detection method Methods 0.000 claims abstract description 45
- 244000035744 Hura crepitans Species 0.000 claims abstract description 14
- 238000012549 training Methods 0.000 claims description 88
- 238000004891 communication Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 10
- 238000007477 logistic regression Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 7
- 230000001131 transforming effect Effects 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 14
- 241000700605 Viruses Species 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000004927 fusion Effects 0.000 description 5
- 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 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 208000015181 infectious disease Diseases 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000000546 chi-square test Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002458 infectious effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification 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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
- G06F18/24155—Bayesian classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种恶意程序的检测方法及装置、存储介质、电子设备,属于人工智能领域。其中,该方法包括:在沙箱中模拟运行待检测的程序文件;提取所述程序文件被模拟运行后的指令序列特征;根据所述指令序列特征在检测模型中检测所述程序文件的恶意度,其中,所述恶意度用于表征所述程序文件为恶意程序的概率值。通过本发明,解决了相关技术中恶意程序的识别效率低的技术问题,提高了恶意程序的识别率和准确率。
Description
技术领域
本发明涉及人工智能领域,具体而言,涉及一种恶意程序的检测方法及装置、存储介质、电子设备。
背景技术
相关技术中,恶意软件是一种被设计用来对目标计算机造成破坏或者占用目标计算机资源的软件,传统的恶意软件包括蠕虫、木马等,这些恶意软件严重侵犯用户合法权益,甚至将为用户及他人带来巨大的经济或其他形式的利益损失。近年来随着虚拟货币进入大众视野,挖矿类的恶意程序也开始大量涌现,黑客通过入侵恶意挖矿程序获取巨额收益。当前恶意软件的检测技术主要有特征码检测、行为检测和启发式检测等,配合使用机器学习可以在一定程度上提高泛化能力,提升恶意样本的识别率。
相关技术中,采用内容结合特征码进行恶意软件识别,内容结合特征码就是传统的病毒引擎的原理,基于内容的静态分析法,病毒样本不需要实际执行起来。安全人员直接打开文件查看二进制码或者反汇编后来分析源代码都属于这一类方法。需要依赖安全人员给出精准匹配的特征码,匹配迅速,但是就如常见的杀毒引擎一样,需要定期更新病毒库,需要较高的时间成本和人力成本。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种恶意程序的检测方法及装置、存储介质、电子设备。
根据本申请实施例的一个方面,提供了一种恶意程序的检测方法,包括:在沙箱中模拟运行待检测的程序文件;提取所述程序文件被模拟运行后的指令序列特征;根据所述指令序列特征在检测模型中检测所述程序文件的恶意度,其中,所述恶意度用于表征所述程序文件为恶意程序的概率值。
进一步,在根据所述指令序列特征在检测模型中检测所述程序文件的程序类型之前,所述方法包括:对样本数据进行频逆向文件频率TFIDF变换,得到所述样本数据的TFIDF特征,并获取所述样本数据的统计特征;采用朴素贝叶斯逻辑回归NBLR模型和轻度梯度提升机LightGBM模型构建初始模型,其中,所述初始模型包括NBLR初始模型和LightGBM初始模型;基于所述TFIDF特征和所述统计特征训练所述初始模型,得到所述检测模型。
进一步,基于所述TFIDF特征和所述统计特征训练所述初始模型包括:采用所述TFIDF特征训练所述NBLR初始模型,得到NBLR模型和NBLR概率特征,其中,所述NBLR概率特征用于表征所述NBLR模型在训练过程中国输出的预测值;采用所述TFIDF特征,所述统计特征以及所述NBLR概率特征训练所述LightGBM初始模型,得到LightGBM模型。
进一步,采用所述TFIDF特征训练所述NBLR初始模型,得到NBLR模型和NBLR概率特征包括:将所述样本数据分为N份,其中,N为大于1的整数;采用N个训练周期训练所述NBLR初始模型,得到所述NBLR模型和NBLR概率特征,其中,在每个训练周期中,在所述N份样本数据中选择第i份样本数据作为预测数据,剩下的样本数据为训练数据迭代训练上一训练周期的模型结果,i为1-N的整数。
进一步,在基于所述TFIDF特征和所述统计特征训练所述初始模型之前,所述方法还包括:根据卡方检验的校验结果对多个TFIDF特征进行排序;在所述多个TFIDF特征的序列中筛选前若干个TFIDF特征。
进一步,根据所述指令序列特征在检测模型中检测所述程序文件的恶意度包括:根据所述指令序列特征在检测模型中输出多个程序概率值,其中,每个程序概率值对应一种恶意程序类型;在所述多个程序概率值中选择最高的指定程序概率值作为所述程序文件的恶意度。
进一步,提取所述程序文件被模拟运行后的指令序列特征包括:提取所述程序文件被模拟运行后的应用程序接口API指令序列;对所述API指令序列词频逆向文件频率TFIDF模型变换,得到所述指令序列特征,其中,所述指令序列特征包括:所述程序文件调用的API的标识信息,机器调用API的线程编号,线程中API调用的顺序编号。
根据本申请实施例的另一个方面,还提供了一种恶意程序的检测装置,包括:运行模块,用于在沙箱中模拟运行待检测的程序文件;提取模块,用于提取所述程序文件被模拟运行后的指令序列特征;检测模块,用于根据所述指令序列特征在检测模型中检测所述程序文件的恶意度,其中,所述恶意度用于表征所述程序文件为恶意程序的概率值。
进一步,所述装置包括:变换模块,用于在所述检测模块根据所述指令序列特征在检测模型中检测所述程序文件的程序类型之前,对样本数据进行频逆向文件频率TFIDF变换,得到所述样本数据的TFIDF特征,并获取所述样本数据的统计特征;构建模块,用于采用朴素贝叶斯逻辑回归NBLR模型和轻度梯度提升机LightGBM模型构建初始模型,其中,所述初始模型包括NBLR初始模型和LightGBM初始模型;训练模块,用于基于所述TFIDF特征和所述统计特征训练所述初始模型,得到所述检测模型。
进一步,所述训练模块包括:第一训练单元,用于采用所述TFIDF特征训练所述NBLR初始模型,得到NBLR模型和NBLR概率特征,其中,所述NBLR概率特征用于表征所述NBLR模型在训练过程中国输出的预测值;第二训练单元,用于采用所述TFIDF特征,所述统计特征以及所述NBLR概率特征训练所述LightGBM初始模型,得到LightGBM模型。
进一步,所述第一训练单元包括:拆分子单元,用于将所述样本数据分为N份,其中,N为大于1的整数;训练子单元,用于采用N个训练周期训练所述NBLR初始模型,得到所述NBLR模型和NBLR概率特征,其中,在每个训练周期中,在所述N份样本数据中选择第i份样本数据作为预测数据,剩下的样本数据为训练数据迭代训练上一训练周期的模型结果,i为1-N的整数。
进一步,所述装置还包括:排序模块,用于在所述训练模块基于所述TFIDF特征和所述统计特征训练所述初始模型之前,根据卡方检验的校验结果对多个TFIDF特征进行排序;筛选模块,用于在所述多个TFIDF特征的序列中筛选前若干个TFIDF特征。
进一步,所述检测模块包括:输出单元,用于根据所述指令序列特征在检测模型中输出多个程序概率值,其中,每个程序概率值对应一种恶意程序类型;选择单元,用于在所述多个程序概率值中选择最高的指定程序概率值作为所述程序文件的恶意度。
进一步,所述提取模块包括:提取单元,用于提取所述程序文件被模拟运行后的应用程序接口API指令序列;变换单元,用于对所述API指令序列词频逆向文件频率TFIDF模型变换,得到所述指令序列特征,其中,所述指令序列特征包括:所述程序文件调用的API的标识信息,机器调用API的线程编号,线程中API调用的顺序编号。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
根据本申请实施例的另一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
通过本发明,在沙箱中模拟运行待检测的程序文件,提取所述程序文件被模拟运行后的指令序列特征,根据所述指令序列特征在检测模型中检测所述程序文件的恶意度,通过采用程序文件的指令序列特征检测程序文件的恶意度,提供了一种恶意程序的动态识别方式,不用提取程序文件的源代码或二进制码,解决了相关技术中恶意程序的识别效率低的技术问题,提高了恶意程序的识别率和准确率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种服务器的硬件结构框图;
图2是根据本发明实施例的一种恶意程序的检测方法的流程图;
图3是本发明实施例从样本数据中提取样本特征的示意图;
图4是本发明实施例中检测模型的原理图;
图5是本发明实施例训练NBLR模型的示意图;
图6是本发明实施例融合NBLR模型结果和LightGBM模型的示意图;
图7是根据本发明实施例的一种恶意程序的检测装置的结构框图;
图8是实施本发明实施例的一种电子设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
本申请实施例一所提供的方法实施例可以在服务器、计算机、或者类似的运算装置中执行。以运行在服务器上为例,图1是本发明实施例的一种服务器的硬件结构框图。如图1所示,服务器10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述服务器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,服务器10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储服务器程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种恶意程序的检测方法对应的服务器程序,处理器102通过运行存储在存储器104内的服务器程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种恶意程序的检测方法,图2是根据本发明实施例的一种恶意程序的检测方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,在沙箱中模拟运行待检测的程序文件;
在本实施例的程序文件可以是一个APK(Android application package,Android应用程序包)文件,文本文件,插件等任意格式的包括可执行脚本的文件。除了采用沙箱提取特征之外,也可以在程序文件正常执行时,通过监测程序文件的访问行为等动态操作行为来提取样本特征。
步骤S204,提取程序文件被模拟运行后的指令序列特征;
本实施例的指令序列特征用于表征该程序文件在运行时的API指令,包括程序文件调用的API接口标识、调用的线程,线程的索引信息等。
步骤S206,根据指令序列特征在检测模型中检测程序文件的恶意度,其中,恶意度用于表征程序文件为恶意程序的概率值;
可选的,检测模型可以是二分类模型或者多分类模型,在检测模型为二分类模型时,输出两个概率值,分别对应正常文件和恶意程序,恶意程序是非正常文件的统称,在检测模型为多分类模型时,输出多个概率值,分别对应多个类型的恶意程序,可以从中选择概率值最高的恶意程序类型,并将其概率值确定为恶意度。
通过上述步骤,在沙箱中模拟运行待检测的程序文件,提取所述程序文件被模拟运行后的指令序列特征,根据所述指令序列特征在检测模型中检测所述程序文件的恶意度,通过采用程序文件的指令序列特征检测程序文件的恶意度,提供了一种恶意程序的动态识别方式,不用提取程序文件的源代码或二进制码,解决了相关技术中恶意程序的识别效率低的技术问题,提高了恶意程序的识别率和准确率。
在本实施例中,在根据指令序列特征在检测模型中检测程序文件的程序类型之前,包括:
S11,对样本数据进行频逆向文件频率(term frequency–inverse documentfrequency,TFIDF)变换,得到样本数据的TFIDF特征,并获取样本数据的统计特征;
在本实施例的一个示例中,每一个样本数据的样本特征包括多个数据字段,其中,file_id:文件编号;label:文件标签,0-正常、1-勒索病毒、2-挖矿程序、3-DDoS木马、4-蠕虫病毒、5-感染型病毒、6-后门程序、7-木马程序;api:文件调用的API名称;tid:调用API的线程编号;index:线程中API调用的顺序编号。
根据文件经过沙箱程序模拟运行后的API指令序列,可以得到一串api的序列,可以把这串序列当作一句话,根据文本处理常用的思路,对其进行TFIDF变换(这里使用了ngram1到4)。特征工程如图3所示,图3是本发明实施例从样本数据中提取样本特征的示意图,获取到TFIDF特征和统计特征,其中,统计特征包括:文件执行了多少种不同的API,文件总共执行了多少API,文件调用了多少线程,文件中各tid中API的统计分布特征,文件调用的API最大index值,文件中各API第一次调用时的index,文件中各API第一次调用时的相对位置,文件中各API执行的次数和占比等。
S12,采用朴素贝叶斯逻辑回归NBLR模型和轻度梯度提升机LightGBM模型构建初始模型,其中,初始模型包括NBLR初始模型和LightGBM初始模型;
在本实施例的一个实施方式中,在基于TFIDF特征和统计特征训练初始模型之前,还包括:根据卡方检验的校验结果对多个TFIDF特征进行排序;在多个TFIDF特征的序列中筛选前若干个TFIDF特征。
在本实施例中,Naive Bayers Logistic Regression(NBLR,朴素贝叶斯逻辑回归)包括aive Bayers部分和Logistic Regression部分。整体上,NBLR通过训练一个权重系数r,将两种最常见的基础分类模型很好的结合起来,形成一种通用性强、效果更佳的基础模型。
在Naive Bayers部分中:y(i)∈{0,1,2,3..},为第i个样本的标签;
f(i)为i个眼本的样本特征,即TFIDF特征
其中,a为平滑参数,是一个可调的超参数。
在Logistic Regression部分中:
图4是本发明实施例中检测模型的原理图,将TFIDF特征作为输入训练NBLR,通过折外预测样本是否为恶意文件,将其概率作为新特征,进一步,在基于NBLR的二分类模型训练过程中,基于OneVsRest训练出n个二分类模型,作为新特征,提供给后续的LightGBM模型融合训练,最后将TFIDF特征+统计特征+NBLR概率三类特征作为输入训练LightGBM,为了增加模型的效果和鲁棒性,LightGBM使用的TFIDF是根据卡方检验筛选出的前N个TFIDF特征。
S13,基于TFIDF特征和统计特征训练初始模型,得到检测模型。
在本实施例的一个实施方式中,基于TFIDF特征和统计特征训练初始模型包括:采用TFIDF特征训练NBLR初始模型,得到NBLR模型和NBLR概率特征,其中,NBLR概率特征用于表征NBLR模型在训练过程中国输出的预测值;采用TFIDF特征,统计特征以及NBLR概率特征训练LightGBM初始模型,得到LightGBM模型。
在基于上述实施方式的一个示例中,采用TFIDF特征训练NBLR初始模型,得到NBLR模型和NBLR概率特征,包括:将样本数据分为N份,其中,N为大于1的整数;采用N个训练周期训练NBLR初始模型,得到NBLR模型和NBLR概率特征,其中,在每个训练周期中,在N份样本数据中选择第i份样本数据作为预测数据,剩下的样本数据为训练数据迭代训练上一训练周期的模型结果,i为1-N的整数。
模型训练以及模型融合,分为两步,第一步是NBLR模型的训练,第二步是NBLR模型结果和LightGBM模型的融合,具体操作如图5所示,图5是本发明实施例训练NBLR模型的示意图,图6是本发明实施例融合NBLR模型结果和LightGBM模型的示意图,在一个示例中,N=5,在NBLR模型的训练过程中,流程包括:
先把数据分成5份(类似5折交叉验证);
在第i折上做预测验证效果,在剩下的折上做模型训练,i从1-5依次取值;
当做完5次之后,就相当于在全部训练数据上都预测过,得到了完整训练数据的折外预测值;
用上面的5套模型分别对测试集做预测,然后取5次预测的均值,得到在测试集上的预测值。
在图6中,融合NBLR模型结果和LightGBM模型的流程与NBLR模型的训练过程类似,区别在于输入的特征部分增加了由与NBLR模型训练过程中得到的预测值。
可选的,根据指令序列特征在检测模型中检测程序文件的恶意度包括:根据指令序列特征在检测模型中输出多个程序概率值,其中,每个程序概率值对应一种恶意程序类型;在多个程序概率值中选择最高的指定程序概率值作为程序文件的恶意度。可选的,恶意程序类型包括:感染型病毒、木马程序、挖矿程序、DDOS木马、勒索病毒。
在本实施例的一个实施方式中,提取程序文件被模拟运行后的指令序列特征包括:提取程序文件被模拟运行后的应用程序接口API指令序列;对API指令序列词频逆向文件频率TFIDF模型变换,得到指令序列特征,其中,指令序列特征包括:程序文件调用的API的标识信息,机器调用API的线程编号,线程中API调用的顺序编号。
采用本实施例的方案,已有数据为文件(如windows可执行程序)经过沙箱程序模拟运行后的API指令序列,全为windows二进制可执行程序,其中包括正常文件、感染型病毒、木马程序、挖矿程序、DDOS木马、勒索病毒等,建立NBLR和LightGBM的融合机器学习模型来对恶意程序进行检测。
LR类模型适合处理稀疏特征,GBDT类模型适合处理稠密特征,采用NBLR处理TFIDF特征(非常稀疏),采用LightGBM处理稠密的统计特征,充分发挥了各自模型的优势,提高了模型效率和预测准确率;在融合NBLR和LightGBM时使用了折外预测(OOF)的方法,避免了过拟合,所采用的模型复杂度低,可解释性强。在落地能力方面,离线预训练好TF-IDF模型,NBLR模型和LightGBM模型,模型可任意替换,算法简易,模型更新的成本低;在生产环境中,新的样本到来时,可并行提取TF-IDF和统计特征,再依次经过NBLR和LightGBM模型,得到预测结果。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种恶意程序的检测装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本发明实施例的一种恶意程序的检测装置的结构框图,如图7所示,该装置包括:运行模块70,提取模块72,检测模块74,其中,
运行模块70,用于在沙箱中模拟运行待检测的程序文件;
提取模块72,用于提取所述程序文件被模拟运行后的指令序列特征;
检测模块74,用于根据所述指令序列特征在检测模型中检测所述程序文件的恶意度,其中,所述恶意度用于表征所述程序文件为恶意程序的概率值。
可选的,所述装置包括:变换模块,用于在所述检测模块根据所述指令序列特征在检测模型中检测所述程序文件的程序类型之前,对样本数据进行频逆向文件频率TFIDF变换,得到所述样本数据的TFIDF特征,并获取所述样本数据的统计特征;构建模块,用于采用朴素贝叶斯逻辑回归NBLR模型和轻度梯度提升机LightGBM模型构建初始模型,其中,所述初始模型包括NBLR初始模型和LightGBM初始模型;训练模块,用于基于所述TFIDF特征和所述统计特征训练所述初始模型,得到所述检测模型。
可选的,所述训练模块包括:第一训练单元,用于采用所述TFIDF特征训练所述NBLR初始模型,得到NBLR模型和NBLR概率特征,其中,所述NBLR概率特征用于表征所述NBLR模型在训练过程中国输出的预测值;第二训练单元,用于采用所述TFIDF特征,所述统计特征以及所述NBLR概率特征训练所述LightGBM初始模型,得到LightGBM模型。
可选的,所述第一训练单元包括:拆分子单元,用于将所述样本数据分为N份,其中,N为大于1的整数;训练子单元,用于采用N个训练周期训练所述NBLR初始模型,得到所述NBLR模型和NBLR概率特征,其中,在每个训练周期中,在所述N份样本数据中选择第i份样本数据作为预测数据,剩下的样本数据为训练数据迭代训练上一训练周期的模型结果,i为1-N的整数。
可选的,所述装置还包括:排序模块,用于在所述训练模块基于所述TFIDF特征和所述统计特征训练所述初始模型之前,根据卡方检验的校验结果对多个TFIDF特征进行排序;筛选模块,用于在所述多个TFIDF特征的序列中筛选前若干个TFIDF特征。
可选的,所述检测模块包括:输出单元,用于根据所述指令序列特征在检测模型中输出多个程序概率值,其中,每个程序概率值对应一种恶意程序类型;选择单元,用于在所述多个程序概率值中选择最高的指定程序概率值作为所述程序文件的恶意度。
可选的,所述提取模块包括:提取单元,用于提取所述程序文件被模拟运行后的应用程序接口API指令序列;变换单元,用于对所述API指令序列词频逆向文件频率TFIDF模型变换,得到所述指令序列特征,其中,所述指令序列特征包括:所述程序文件调用的API的标识信息,机器调用API的线程编号,线程中API调用的顺序编号。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在沙箱中模拟运行待检测的程序文件;
S2,提取所述程序文件被模拟运行后的指令序列特征;
S3,根据所述指令序列特征在检测模型中检测所述程序文件的恶意度,其中,所述恶意度用于表征所述程序文件为恶意程序的概率值。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在沙箱中模拟运行待检测的程序文件;
S2,提取所述程序文件被模拟运行后的指令序列特征;
S3,根据所述指令序列特征在检测模型中检测所述程序文件的恶意度,其中,所述恶意度用于表征所述程序文件为恶意程序的概率值。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
图8是本发明实施例的一种电子设备的结构图,如图8所示,包括处理器81、通信接口82、存储器83和通信总线84,其中,处理器81,通信接口82,存储器83通过通信总线84完成相互间的通信,存储器83,用于存放计算机程序;处理器81,用于执行存储器83上所存放的程序。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种恶意程序的检测方法,其特征在于,包括:
在沙箱中模拟运行待检测的程序文件;
提取所述程序文件被模拟运行后的指令序列特征;
根据所述指令序列特征在检测模型中检测所述程序文件的恶意度,其中,所述恶意度用于表征所述程序文件为恶意程序的概率值。
2.根据权利要求1所述的方法,其特征在于,在根据所述指令序列特征在检测模型中检测所述程序文件的程序类型之前,所述方法还包括:
对样本数据进行频逆向文件频率TFIDF变换,得到所述样本数据的TFIDF特征,并获取所述样本数据的统计特征;
采用朴素贝叶斯逻辑回归NBLR模型和轻度梯度提升机LightGBM模型构建初始模型,其中,所述初始模型包括NBLR初始模型和LightGBM初始模型;
基于所述TFIDF特征和所述统计特征训练所述初始模型,得到所述检测模型。
3.根据权利要求2所述的方法,其特征在于,基于所述TFIDF特征和所述统计特征训练所述初始模型包括:
采用所述TFIDF特征训练所述NBLR初始模型,得到NBLR模型和NBLR概率特征,其中,所述NBLR概率特征用于表征所述NBLR模型在训练过程中国输出的预测值;
采用所述TFIDF特征,所述统计特征以及所述NBLR概率特征训练所述LightGBM初始模型,得到LightGBM模型。
4.根据权利要求3所述的方法,其特征在于,采用所述TFIDF特征训练所述NBLR初始模型,得到NBLR模型和NBLR概率特征包括:
将所述样本数据分为N份,其中,N为大于1的整数;
采用N个训练周期训练所述NBLR初始模型,得到所述NBLR模型和NBLR概率特征,其中,在每个训练周期中,在所述N份样本数据中选择第i份样本数据作为预测数据,剩下的样本数据为训练数据迭代训练上一训练周期的模型结果,i为1-N的整数。
5.根据权利要求2所述的方法,其特征在于,在基于所述TFIDF特征和所述统计特征训练所述初始模型之前,所述方法还包括:
根据卡方检验的校验结果对多个TFIDF特征进行排序;
在所述多个TFIDF特征的序列中筛选前若干个TFIDF特征。
6.根据权利要求1所述的方法,其特征在于,根据所述指令序列特征在检测模型中检测所述程序文件的恶意度包括:
根据所述指令序列特征在检测模型中输出多个程序概率值,其中,每个程序概率值对应一种恶意程序类型;
在所述多个程序概率值中选择最高的指定程序概率值作为所述程序文件的恶意度。
7.根据权利要求1所述的方法,其特征在于,提取所述程序文件被模拟运行后的指令序列特征包括:
提取所述程序文件被模拟运行后的应用程序接口API指令序列;
对所述API指令序列词频逆向文件频率TFIDF模型变换,得到所述指令序列特征,其中,所述指令序列特征包括:所述程序文件调用的API的标识信息,机器调用API的线程编号,线程中API调用的顺序编号。
8.一种恶意程序的检测装置,其特征在于,包括:
运行模块,用于在沙箱中模拟运行待检测的程序文件;
提取模块,用于提取所述程序文件被模拟运行后的指令序列特征;
检测模块,用于根据所述指令序列特征在检测模型中检测所述程序文件的恶意度,其中,所述恶意度用于表征所述程序文件为恶意程序的概率值。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7中任一项所述的方法步骤。
10.一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:
存储器,用于存放计算机程序;
处理器,用于通过运行存储器上所存放的程序来执行权利要求1至7中任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011509623.3A CN112528284B (zh) | 2020-12-18 | 2020-12-18 | 恶意程序的检测方法及装置、存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011509623.3A CN112528284B (zh) | 2020-12-18 | 2020-12-18 | 恶意程序的检测方法及装置、存储介质、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112528284A true CN112528284A (zh) | 2021-03-19 |
CN112528284B CN112528284B (zh) | 2024-09-24 |
Family
ID=75001591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011509623.3A Active CN112528284B (zh) | 2020-12-18 | 2020-12-18 | 恶意程序的检测方法及装置、存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112528284B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113378156A (zh) * | 2021-07-01 | 2021-09-10 | 上海观安信息技术股份有限公司 | 一种基于api的恶意文件检测方法和系统 |
CN113569241A (zh) * | 2021-07-28 | 2021-10-29 | 新华三技术有限公司 | 一种病毒检测方法及装置 |
CN113672918A (zh) * | 2021-08-04 | 2021-11-19 | 安天科技集团股份有限公司 | 恶意代码检测方法、装置、存储介质及电子设备 |
CN114039774A (zh) * | 2021-11-08 | 2022-02-11 | 北京天融信网络安全技术有限公司 | 一种恶意pe程序的阻断方法、检测方法及装置 |
CN114640507A (zh) * | 2022-02-28 | 2022-06-17 | 天翼安全科技有限公司 | 一种WebShell的检测方法、装置及存储介质 |
CN114647849A (zh) * | 2022-03-22 | 2022-06-21 | 安天科技集团股份有限公司 | 潜在危险文件的检测方法、装置、电子设备及存储介质 |
WO2022227535A1 (zh) * | 2021-04-29 | 2022-11-03 | 广州大学 | 一种挖矿恶意软件的识别方法、系统和存储介质 |
CN116401659A (zh) * | 2023-02-17 | 2023-07-07 | 安芯网盾(北京)科技有限公司 | 一种基于深度学习的多模型融合计算机病毒检测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101604363A (zh) * | 2009-07-10 | 2009-12-16 | 珠海金山软件股份有限公司 | 基于文件指令频度的计算机恶意程序分类系统及分类方法 |
CN109815705A (zh) * | 2019-01-31 | 2019-05-28 | 福州大学 | 一种基于扫描链特征分析的硬件木马检测方法 |
US20190243972A1 (en) * | 2018-02-06 | 2019-08-08 | AO Kaspersky Lab | System and method of training a machine learning model for detection of malicious containers |
CN110135160A (zh) * | 2019-04-29 | 2019-08-16 | 北京邮电大学 | 软件检测的方法、装置及系统 |
-
2020
- 2020-12-18 CN CN202011509623.3A patent/CN112528284B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101604363A (zh) * | 2009-07-10 | 2009-12-16 | 珠海金山软件股份有限公司 | 基于文件指令频度的计算机恶意程序分类系统及分类方法 |
US20190243972A1 (en) * | 2018-02-06 | 2019-08-08 | AO Kaspersky Lab | System and method of training a machine learning model for detection of malicious containers |
CN109815705A (zh) * | 2019-01-31 | 2019-05-28 | 福州大学 | 一种基于扫描链特征分析的硬件木马检测方法 |
CN110135160A (zh) * | 2019-04-29 | 2019-08-16 | 北京邮电大学 | 软件检测的方法、装置及系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022227535A1 (zh) * | 2021-04-29 | 2022-11-03 | 广州大学 | 一种挖矿恶意软件的识别方法、系统和存储介质 |
CN113378156A (zh) * | 2021-07-01 | 2021-09-10 | 上海观安信息技术股份有限公司 | 一种基于api的恶意文件检测方法和系统 |
CN113569241A (zh) * | 2021-07-28 | 2021-10-29 | 新华三技术有限公司 | 一种病毒检测方法及装置 |
CN113672918A (zh) * | 2021-08-04 | 2021-11-19 | 安天科技集团股份有限公司 | 恶意代码检测方法、装置、存储介质及电子设备 |
CN114039774A (zh) * | 2021-11-08 | 2022-02-11 | 北京天融信网络安全技术有限公司 | 一种恶意pe程序的阻断方法、检测方法及装置 |
CN114039774B (zh) * | 2021-11-08 | 2024-02-09 | 天融信雄安网络安全技术有限公司 | 一种恶意pe程序的阻断方法、检测方法及装置 |
CN114640507A (zh) * | 2022-02-28 | 2022-06-17 | 天翼安全科技有限公司 | 一种WebShell的检测方法、装置及存储介质 |
CN114640507B (zh) * | 2022-02-28 | 2024-03-12 | 天翼安全科技有限公司 | 一种WebShell的检测方法、装置及存储介质 |
CN114647849A (zh) * | 2022-03-22 | 2022-06-21 | 安天科技集团股份有限公司 | 潜在危险文件的检测方法、装置、电子设备及存储介质 |
CN116401659A (zh) * | 2023-02-17 | 2023-07-07 | 安芯网盾(北京)科技有限公司 | 一种基于深度学习的多模型融合计算机病毒检测方法 |
CN116401659B (zh) * | 2023-02-17 | 2024-01-30 | 安芯网盾(北京)科技有限公司 | 一种基于深度学习的多模型融合计算机病毒检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112528284B (zh) | 2024-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112528284A (zh) | 恶意程序的检测方法及装置、存储介质、电子设备 | |
JP7086972B2 (ja) | 侵入検出のための継続的な学習 | |
CN109359439B (zh) | 软件检测方法、装置、设备及存储介质 | |
Crussell et al. | Andarwin: Scalable detection of android application clones based on semantics | |
CN108520180B (zh) | 一种基于多维度的固件Web漏洞检测方法及系统 | |
CN103473346A (zh) | 一种基于应用程序编程接口的安卓重打包应用检测方法 | |
CN109740347B (zh) | 一种针对智能设备固件的脆弱哈希函数的识别与破解方法 | |
KR101858620B1 (ko) | 기계 학습을 이용한 자바스크립트 분석 장치 및 방법 | |
US20220318387A1 (en) | Method and Computer for Learning Correspondence Between Malware and Execution Trace of the Malware | |
CN109063478A (zh) | 可移植的可执行文件的病毒检测方法、装置、设备及介质 | |
CN108563951B (zh) | 病毒检测方法及装置 | |
CN113486350B (zh) | 恶意软件的识别方法、装置、设备及存储介质 | |
CN110210218A (zh) | 一种病毒检测的方法以及相关装置 | |
CN103109295A (zh) | 创建在恶意软件检测中使用的定制化置信带的系统和方法 | |
CN110362995A (zh) | 一种基于逆向与机器学习的恶意软件检测及分析系统 | |
CN107437088B (zh) | 文件识别方法和装置 | |
Kakisim et al. | Sequential opcode embedding-based malware detection method | |
Ugarte-Pedrero et al. | On the adoption of anomaly detection for packed executable filtering | |
CN114386511A (zh) | 基于多维度特征融合和模型集成的恶意软件家族分类方法 | |
CN110210216B (zh) | 一种病毒检测的方法以及相关装置 | |
CN113722711A (zh) | 基于大数据安全漏洞挖掘的数据添加方法及人工智能系统 | |
Khan et al. | Op2Vec: An Opcode Embedding Technique and Dataset Design for End‐to‐End Detection of Android Malware | |
CN113971283A (zh) | 一种基于特征的恶意应用程序检测方法及设备 | |
CN113190847A (zh) | 一种脚本文件的混淆检测方法、装置、设备及存储介质 | |
US11868473B2 (en) | Method for constructing behavioural software signatures |
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 |