CN109800797A - 基于ai的文件黑白判断方法、装置及设备 - Google Patents
基于ai的文件黑白判断方法、装置及设备 Download PDFInfo
- Publication number
- CN109800797A CN109800797A CN201811641229.8A CN201811641229A CN109800797A CN 109800797 A CN109800797 A CN 109800797A CN 201811641229 A CN201811641229 A CN 201811641229A CN 109800797 A CN109800797 A CN 109800797A
- Authority
- CN
- China
- Prior art keywords
- model
- sample characteristics
- program
- characteristics information
- feature
- 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
Landscapes
- Image Analysis (AREA)
Abstract
本申请公开了一种基于AI的文件黑白判断方法、装置及设备,涉及信息安全技术领域,采用机器学习方法,分别建立计算高效的GBDT集成模型或高准确率的CNN深度学习模型这两个AI模型,它们都具有极高的检测精度,可以很好地对待识别程序作出黑白判别。其中方法包括:基于GBDT算法或CNN算法构建分类模型;再获取样本程序对应二进制文件的样本特征信息;对所述样本特征信息进行预处理,使得预处理后的所述样本特征信息满足模型训练要求;然后将所述预处理后的所述样本特征信息配置在所述分类模型中进行训练学习,得到预测模型;最后当接收到待识别程序的安全检测指令时,利用所述预测模型对所述待识别程序进行安全检测。本申请适用于程序安全的检测。
Description
技术领域
本申请涉及信息安全技术领域,尤其是涉及到一种基于AI的文件黑白判断方法、装置及设备。
背景技术
对于程序安全检测,多从静态分析和动态分析(沙箱)两个方面进行研究。然而,沙箱技术易受到效率、特定规则匹配等方面的限制,这使得某些恶意程序可以利用这些缺陷改变和隐藏自己的行为,从而绕过沙箱的动态检测。而静态检测技术则在一定程度上弥补了这些缺陷,它利用大数据的优势,通过手动提取或自动学习样本特征的方式,使用数学模型和机器学习算法来训练得到能够快速检测程序安全性的检测引擎。
目前,已有相关研究利用支持向量机(Support Vector Machine,SVM)等传统机器学习算法来对程序安全进行检测,首先对样本的header、sections等相关特征进行人工提取,随后建立数学模型及其目标函数,最后利用传统的SVM算法来训练机器模型,从而利用该模型实现对程序安全进行检测。
然而,对于传统的SVM算法来说,一方面,它是通过逐步更新模型参数来求解目标函数极值的,而且每次更新的都是同一个模型,计算效率也有待提升;另一方面,它需要手工提取样本特征来进行模型学习。所以,由于判别模型的单一性和特征提取的困难性,直接导致了其检测准确率受到限制。
发明内容
有鉴于此,本申请提供了一种基于AI的文件黑白判断方法、装置及设备,主要目的在于解决目前传统的SVM算法对程序安全进行检测时会影响检测准确率和计算效率的问题。
根据本申请的一个方面,提供了一种基于人工智能(Artificial Intelligence,AI)的文件黑白判断方法,该方法包括:
基于梯度提升决策树(Gradient Boosting Decision Tree,GBDT)算法或卷积神经网络(Convolutional Neural Network,CNN)算法构建分类模型;
获取样本程序对应二进制文件的样本特征信息;
对所述样本特征信息进行预处理,使得预处理后的所述样本特征信息满足模型训练要求;
将所述预处理后的所述样本特征信息配置在所述分类模型中进行训练学习,得到预测模型;
当接收到待识别程序的安全检测指令时,利用所述预测模型对所述待识别程序进行安全检测。
可选的,若基于GBDT算法构建分类模型,则获取到的所述样本特征信息包括所述二进制文件的字节统计特征、字符串特征、节信息特征、导入导出函数特征和文件信息特征;
所述对所述样本特征信息进行预处理,使得预处理后的所述样本特征信息满足模型训练要求,具体包括:
将所述字节统计特征、所述字符串特征、所述节信息特征、所述导入导出函数特征和所述文件信息特征中缺失值用0值进行填补,使得所述样本特征信息为固定长度;
将固定长度的所述样本特征信息进行数据归一化处理。
可选的,基于GBDT算法构建所述分类模型,具体包括:
基于GBDT算法设计模型结构和初始参数,得到GBDT分类模型;
所述将所述预处理后的所述样本特征信息配置在所述分类模型中进行训练学习,得到预测模型,具体包括:
将归一化处理后的所述样本特征信息配置在所述GBDT分类模型中进行交叉验证训练,并将数据交叉验证中表现最好的模型确定为所述预测模型。
可选的,若基于CNN算法构建分类模型,则获取到的所述样本特征信息包括所述二进制文件的字节数据;
对所述样本特征信息进行预处理,使得预处理后的所述样本特征信息满足模型训练要求,具体包括:
将所述字节数据进行缺失值填补,得到可计算的固定长度的字节码特征向量。
可选的,基于CNN算法构建所述分类模型,具体包括:
设计一维CNN模型,使得所述一维CNN模型拥有预设卷积核个数和预设步长的特定个数卷积层的CNN网络结构;
所述将所述预处理后的所述样本特征信息配置在所述分类模型中进行训练学习,得到预测模型,具体包括:
选择Adam优化器并初始化所述一维CNN模型的参数,对所述字节码特征向量进行划分交叉训练和验证,并在经过预设训练次数后使得模型的验证准确率不再提升时,停止模型训练;
将验证准确率最好的模型作为所述预测模型。
可选的,所述利用所述预测模型对所述待识别程序进行安全检测,具体包括:
获取所述待识别程序对应目标二进制文件的目标特征信息;
对所述目标特征信息进行与所述样本特征信息相同的预处理;
将预处理后的所述目标特征信息配置在所述预测模型中进行计算,得到所述待识别程序对应的安全检测结果。
根据本申请的另一方面,提供了一种基于AI的文件黑白判断装置,该装置包括:
构建模块,用于基于GBDT算法或CNN算法构建分类模型;
获取模块,用于获取样本程序对应二进制文件的样本特征信息;
处理模块,用于对所述样本特征信息进行预处理,使得预处理后的所述样本特征信息满足模型训练要求;
配置模块,用于将所述预处理后的所述样本特征信息配置在所述分类模型中进行训练学习,得到预测模型;
检测模块,用于当接收到待识别程序的安全检测指令时,利用所述预测模型对所述待识别程序进行安全检测。
可选的,若基于GBDT算法构建分类模型,则所述获取模块获取到的所述样本特征信息包括所述二进制文件的字节统计特征、字符串特征、节信息特征、导入导出函数特征和文件信息特征;
所述处理模块,具体用于将所述字节统计特征、所述字符串特征、所述节信息特征、所述导入导出函数特征和所述文件信息特征中缺失值用0值进行填补,使得所述样本特征信息为固定长度;
将固定长度的所述样本特征信息进行数据归一化处理。
可选的,所述构建模块,具体用于基于GBDT算法设计模型结构和初始参数,得到GBDT分类模型;
所述配置模块,具体用于将归一化处理后的所述样本特征信息配置在所述GBDT分类模型中进行交叉验证训练,并将数据交叉验证中表现最好的模型确定为所述预测模型。
可选的,若基于CNN算法构建分类模型,则所述获取模块获取到的所述样本特征信息包括所述二进制文件的字节数据;
所述处理模块,具体用于将所述字节数据进行缺失值填补,得到可计算的固定长度的字节码特征向量。
可选的,所述构建模块,具体用于设计一维CNN模型,使得所述一维CNN模型拥有预设卷积核个数和预设步长的特定个数卷积层的CNN网络结构;
所述配置模块,具体用于选择Adam优化器并初始化所述一维CNN模型的参数,对所述字节码特征向量进行划分交叉训练和验证,并在经过预设训练次数后使得模型的验证准确率不再提升时,停止模型训练;
将验证准确率最好的模型作为所述预测模型。
可选的,所述检测模块,具体用于获取所述待识别程序对应目标二进制文件的目标特征信息;
对所述目标特征信息进行与所述样本特征信息相同的预处理;
将预处理后的所述目标特征信息配置在所述预测模型中进行计算,得到所述待识别程序对应的安全检测结果。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述基于AI的文件黑白判断方法。
依据本申请再一个方面,提供了一种程序安全检测的实体设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于AI的文件黑白判断方法。
借由上述技术方案,本申请提供的一种基于AI的文件黑白判断方法、装置及设备,可基于GBDT或CNN算法构建分类模型,然后利用海量样本程序的二进制文件的样本特征经预处理后对该分类模型进行训练学习,进而得到预测精度较高的预测模型,其中利用GBDT算法设计得到的预测模型对待识别程序进行安全检测时,可对待识别程序进行多模型投票判别,与传统SVM算法中判别模型的单一性相比,可提高计算效率和检测准确率;而利用CNN算法设计得到的预测模型对待识别程序进行安全检测时,针对传统SVM算法中手工提取特征困难的问题,可以原文件的字节码为训练内容,通过CNN深度网络模型来自动学习样本的重要特征,进而获得样本二进制内容的上下文关联,并依据其在大数据中挖掘的潜在关联规律对待识别程序进行安全检测,简化了特征提取的过程,可提高程序安全的检测准确率和计算效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种基于AI的文件黑白判断方法的流程示意图;
图2示出了本申请实施例提供的另一种基于AI的文件黑白判断方法的流程示意图;
图3示出了本申请实施例提供的GBDT预测模型实现流程的实例示意图;
图4示出了本申请实施例提供的又一种基于AI的文件黑白判断方法的流程示意图;
图5示出了本申请实施例提供的CNN预测模型实现流程的实例示意图;
图6示出了本申请实施例提供的一种基于AI的文件黑白判断装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
针对目前传统的SVM算法对程序安全进行检测时会影响检测准确率和计算效率的问题,本实施例提供了一种基于AI的文件黑白判断方法,如图1所示,该方法包括:
101、基于GBDT算法或CNN算法构建分类模型。
其中,GBDT算法,即梯度提升决策树算法,是通过采用加法模型(即基函数的线性组合),以及不断减小训练过程产生的残差来达到将数据分类或者回归的算法,简单说是一种高效的集成学习算法。在本实施例中,基于GBDT算法得到的分类模型并最终通过样本数据训练得到的预测模型,可对待识别程序进行多模型投票判别。
CNN算法,即卷积神经网络算法,是一种深度学习算法。可用于序列类的数据处理。在本实施例中,基于CNN算法得到的分类模型并最终通过样本数据训练得到的预测模型,可简化特征提取过程,提高计算效率和检测准确率。
对于本实施例的执行主体可以为程序安全检测的装置或设备,用于及时识别程序的安全性(如包括未知程序、伪装程序、已知程序等程序的安全识别),可以配置在服务器侧或者客户端侧。在需要进行程序安全检测时,可根据实际业务需求,由用户选择或者系统设定是通过训练好的计算更高效的GBDT集成模型还是通过训练好的更高准确率的CNN深度学习模型去检测程序的安全。例如,如果用户选择计算更高效的GBDT集成模型,则基于GBDT算法构建分类模型;如果用户选择更高准确率的CNN深度学习模型,则基于CNN算法构建分类模型。
102、获取样本程序对应二进制文件的样本特征信息。
其中,样本程序可从各大网络平台收集获取得到,这些样本程序可分为正常样本程序和恶意样本程序,进而通过这些样本程序训练得到能够识别恶意程序的预测模型。需要说明的是,样本程序个数越多,种类越丰富,会帮助本实施例中的预测精度提高。二进制文件可为样本程序对应的PE(Portable Executable)文件。
对于本实施例,可根据不同的算法分别提取各自对应的样本特征信息。例如,针对SVM等传统学习算法模型单一性判别的缺陷以及计算效率缺陷,先对二进制文件的统计特征和sections等特征进行提取,然后设计和训练GBDT模型来对待识别程序进行多模型投票判别,得到未知程序的安全检测结果;再或者针对SVM等传统学习算法模型手工提取特征的困难问题,以二进制文件的字节码为样本特征信息进行训练,通过CNN深度网络模型来自动学习样本的重要特征,进而获得样本二进制内容的上下文关联,并依据其在大数据中挖掘的潜在关联规律对待识别程序进行安全检测。
103、对获取到的样本特征信息进行预处理,使得预处理后的样本特征信息满足模型训练要求。
在本实施例中,可根据不同算法分别获取得到的样本特征信息进行各自有针对性的预处理。例如,对于基于GBDT算法构建得到的分类模型,相应获取得到的样本特征信息中存在缺失值,可利用0值进行填补得到固定长度的样本特征向量,并进行数据归一化处理,使得预处理后的样本特征向量满足GBDT模型的训练要求;对于基于CNN算法构建得到的分类模型,可对相应获取得到的样本特征信息进行缺失值填补,进而形成固定长度的样本特征向量,从而使得预处理后的样本特征向量满足CNN模型的训练要求。
104、将预处理后的样本特征信息配置在构建的分类模型中进行训练学习,得到预测模型。
例如,基于GBDT算法可最终训练学习得到GBDT预测模型;而基于CNN算法可最终训练学习得到CNN预测模型。
105、当接收到待识别程序的安全检测指令时,利用训练学习得到的预测模型对待识别程序进行安全检测。
其中,待识别程序可为系统当前运行的未知程序,或者由用户设置的需要检测是否安全的程序,再或者由安全软件上报的其监测到的伪装程序等,具体可根据实际需求而定。利用训练学习得到的预测模型可检测出待识别程序为正常程序还是疑似恶意程序,如果检测出该待识别程序为疑似恶意程序后,可进一步进行人工审核,并最终确定其实际是否为恶意程序。
通过应用上述这种基于AI的文件黑白判断方法,与目前传统的SVM算法对程序安全进行检测的方式相比,可基于GBDT算法或CNN算法,得到计算更高效的GBDT集成模型或更高准确率的CNN深度学习模型,进而通过这两个人工智能(Artificial Intelligence,AI)模型可对程序进行效率更高且准确率也更高的安全检测。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明基于GBDT算法并最终进行程序安全检测的实施过程,提供了另一种基于AI的文件黑白判断方法,如图2所示,该方法包括:
201、基于GBDT算法设计模型结构和初始参数,得到GBDT分类模型。
例如,选择GBDT作为核心分类算法设计模型结构和初始参数,进而构建得到GBDT分类模型。
202、获取样本程序对应二进制文件的字节统计特征、字符串特征、节信息特征、导入导出函数特征和文件信息特征。
例如,如图3所示,对于GBDT模型,直接对样本程序对应PE文件的静态特征进行提取,包括PE文件的字节统计特征、字符串特征、节信息特征、导入导出函数特征和一般文件信息特征,将这些特征作为待训练的样本特征,但由于这些样本特征可能存在缺失值的情况,因此需要进行预处理,即执行步骤203至204所示过程。
需要说明的是,除了获取这些样本特征以外,还可提取更多重要的样本特征,以及设计有效算法来防止GBDT模型过度拟合。
203、将获取得到的字节统计特征、字符串特征、节信息特征、导入导出函数特征和文件信息特征中的缺失值用0值进行填补,使得这些样本特征信息为固定长度。
204、将缺失值填补后的这些固定长度的样本特征信息进行数据归一化处理。
例如,为了形成固定长度的特征输入,如图3所示,对样本特征中的缺失值用0值进行填补;然后,对固定长度的样本特征向量进行数据归一化处理,使得满足训练GBDT模型的标准。
205、将归一化处理后的样本特征信息配置在GBDT分类模型中进行交叉验证训练,并将数据交叉验证中表现最好的模型确定为GBDT预测模型。
例如,如图3所示,将归一化处理后的这些样本特征信息配置在GBDT分类模型中进行交叉验证训练,输出数据交叉验证中表现最好的模型,即得到一个预测精度较高的集成分类器。
206、当接收到待识别程序的安全检测指令时,获取待识别程序对应目标二进制文件的目标特征信息。
其中,在此场景下,需要获取的目标特征信息包括待识别程序对应目标二进制文件的字节统计特征、字符串特征、节信息特征、导入导出函数特征和文件信息特征。
207、对获取到的目标特征信息进行与样本特征信息相同的预处理。
例如,将待识别程序对应目标二进制文件的字节统计特征、字符串特征、节信息特征、导入导出函数特征和文件信息特征中的缺失值用0值进行填补,使得得到的特征向量为固定长度,然后对固定长度的特征向量进行数据归一化处理。
208、将预处理后的目标特征信息配置在GBDT预测模型中进行计算,得到待识别程序对应的安全检测结果。
本方案分别从计算效率和检测准确率两方面提升传统的SVM检测算法,通过学习海量样本,得到计算高效的GBDT集成模型,再利用该GBDT集成模型对待识别程序进行多模型投票判别,进而可得到高计算效率和高准确性的安全检测结果。
为了完整说明基于CNN算法并最终进行程序安全检测的实施过程,提供了又一种基于AI的文件黑白判断方法,如图4所示,该方法包括:
301、设计一维CNN模型,使得一维CNN模型拥有预设卷积核个数和预设步长的特定个数卷积层的CNN网络结构。
其中,预设卷积核个数和预设步长可根据实际需求预先设置。例如,选择一维CNN模型作为核心学习算法构建深度学习模型,通过设计一个拥有较小卷积核(32)和较小步长(4)的四个卷积层网络结构,来提升分类算法的检测准确率和计算效率。
302、获取样本程序对应二进制文件的字节数据。
303、将获取到的字节数据进行缺失值填补,得到可计算的固定长度的字节码特征向量。
例如,直接针对样本程序对应二进制文件进行字节数据提取(不需人工提取特征),之后对字节数据进行缺失值填补,从而形成可计算的固定长度的字节码特征向量。
需要说明的是,对获取的字节数据进行其他更优的数据预处理,使得该字节数据更加符合模型训练标准,进而可提高后续CNN模型的计算效率。
304、选择Adam优化器并初始化一维CNN模型的参数,对固定长度的字节码特征向量进行划分交叉训练和验证,并在经过预设训练次数后使得模型的验证准确率不再提升时,停止模型训练。
其中,预设训练次数可根据一维CNN模型的验证准确率不再提升的标准进行设定。
305、将验证准确率最好的模型作为预测模型。
例如,如图5所示,对于CNN模型,直接对二进制文件进行字节数据提取(不需人工提取特征),然后对字节数据进行缺失值填补,从而形成可计算的固定长度的字节码特征向量;之后设计一个拥有较小卷积核(32)和较小步长(4)的拥有四个卷积层的CNN网络结构,并选择Adam优化器并初始化参数进行训练;对数据进行划分交叉训练和验证,当满足条件:近5轮训练的验证准确率不再提升时,停止模型训练,并保存验证准确率最好的模型作为输出模型,即CNN预测模型。
306、当接收到待识别程序的安全检测指令时,获取待识别程序对应目标二进制文件的目标特征信息。
其中,在此场景下,需要获取的目标特征信息为待识别程序对应目标二进制文件的字节数据。
307、对目标特征信息进行与样本特征信息相同的预处理。
例如,直接针对待识别程序对应目标二进制文件进行字节数据提取(不需人工提取特征),之后对提取到的字节数据进行缺失值填补,从而形成可计算的固定长度的字节码特征向量。
308、将预处理后的目标特征信息配置在CNN预测模型中进行计算,得到待识别程序对应的安全检测结果。
本方案针对传统的SVM检测算法手工提取特征困难的问题,以样本程序二进制文件的字节码为训练内容,通过设计一种一维的CNN深度网络模型来自动学习样本的重要特征,从而获得样本二进制内容的上下文关联,并依据其在大数据中挖掘的潜在关联规律对待识别程序进行安全检测,可得到高计算效率和高准确性的安全检测结果。
需要说明的是,除了上述如图2中基于GBDT算法并最终进行程序安全检测的实例,或如图4中基于CNN算法并最终进行程序安全检测的实例以外,考虑到两种算法各自的优势,为了进一步提高程序安全检测的准确性,作为一种优选方式,可将这两种算法进行结合然后综合判定程序的安全性。例如,预先按照图2和图4所示的方法,训练得到GBDT预测模型和一维CNN预测模型,然后利用这两个模型对待识别程序进行安全检测,如果其中有至少1个预测模型分析得到该待识别程序为疑似恶意程序,那么即可确定该待识别程序为疑似恶意程序,并且可标定相应的可能性,如只有1个预测模型得到的结果为疑似恶意程序,那么该待识别程序为疑似恶意程序的可能性为70%,如果这2个预测模型都确定该待识别程序为疑似恶意程序,那么该待识别程序为疑似恶意程序的可能性为95%。后续进行人工进一步审核时可附带该可能值,以便帮助提高人工审核的效率,并且可按照可能值从大到小的顺序优先处理可能值较大的程序审核任务,帮助迅速进行全网防御。
进一步的,作为图1、图2和图4所示方法的具体实现,本实施例提供了一种基于AI的文件黑白判断装置,如图6所示,该装置包括:构建模块41、获取模块42、处理模块43、配置模块44、检测模块45。
构建模块41,可用于基于梯度提升决策树GBDT算法或卷积神经网络CNN算法构建分类模型;
获取模块42,可用于获取样本程序对应二进制文件的样本特征信息;
处理模块43,可用于对样本特征信息进行预处理,使得预处理后的样本特征信息满足模型训练要求;
配置模块44,可用于将预处理后的样本特征信息配置在分类模型中进行训练学习,得到预测模型;
检测模块45,可用于当接收到待识别程序的安全检测指令时,利用预测模型对待识别程序进行安全检测。
在具体的应用场景中,若基于GBDT算法构建分类模型,则获取模块42获取到的样本特征信息包括二进制文件的字节统计特征、字符串特征、节信息特征、导入导出函数特征和文件信息特征;
相应的,处理模块43,具体可用于将字节统计特征、字符串特征、节信息特征、导入导出函数特征和文件信息特征中缺失值用0值进行填补,使得样本特征信息为固定长度;将固定长度的样本特征信息进行数据归一化处理。
在具体的应用场景中,构建模块41,具体可用于基于GBDT算法设计模型结构和初始参数,得到GBDT分类模型;
配置模块44,具体可用于将归一化处理后的样本特征信息配置在GBDT分类模型中进行交叉验证训练,并将数据交叉验证中表现最好的模型确定为预测模型。
在具体的应用场景中,若基于CNN算法构建分类模型,则获取模块42获取到的样本特征信息包括二进制文件的字节数据;
相应的,处理模块43,具体可用于将字节数据进行缺失值填补,得到可计算的固定长度的字节码特征向量。
在具体的应用场景中,构建模块41,具体可用于设计一维CNN模型,使得一维CNN模型拥有预设卷积核个数和预设步长的特定个数卷积层的CNN网络结构;
配置模块44,具体可用于选择Adam优化器并初始化一维CNN模型的参数,对字节码特征向量进行划分交叉训练和验证,并在经过预设训练次数后使得模型的验证准确率不再提升时,停止模型训练;将验证准确率最好的模型作为预测模型。
在具体的应用场景中,检测模块45,具体可用于获取待识别程序对应目标二进制文件的目标特征信息;对目标特征信息进行与样本特征信息相同的预处理;将预处理后的目标特征信息配置在预测模型中进行计算,得到待识别程序对应的安全检测结果。
需要说明的是,本实施例提供的一种基于AI的文件黑白判断装置所涉及各功能单元的其它相应描述,可以参考图1、图2、图4中的对应描述,在此不再赘述。
基于上述如图1、图2、图4所示方法,相应的,本实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1、图2、图4所示的基于AI的文件黑白判断方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该待识别软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1、图2、图4所示的方法,以及图6所示的虚拟装置实施例,为了实现上述目的,本实施例还提供了一种程序安全检测的实体设备,具体可以为个人计算机,智能手机、平板电脑、智能手表,服务器,或者其它网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1、图2、图4所示的基于AI的文件黑白判断方法。
可选的,该实体设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种程序安全检测的实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述程序安全检测的实体设备硬件和待识别软件资源的程序,支持信息处理程序以及其它待识别软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,分别从计算效率和检测准确率两方面提升传统的SVM检测算法,通过学习海量样本,得到计算高效的GBDT集成模型和高准确率的CNN深度学习模型,再用训练好的模型去检测待识别程序。即采用机器学习方法,分别建立计算高效的GBDT集成模型和高准确率的CNN深度学习模型这两个AI模型,它们都具有极高的检测精度,可以很好地对待识别程序作出黑白判别。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种基于AI的文件黑白判断方法,其特征在于,包括:
基于梯度提升决策树GBDT算法或卷积神经网络CNN算法构建分类模型;
获取样本程序对应二进制文件的样本特征信息;
对所述样本特征信息进行预处理,使得预处理后的所述样本特征信息满足模型训练要求;
将所述预处理后的所述样本特征信息配置在所述分类模型中进行训练学习,得到预测模型;
当接收到待识别程序的安全检测指令时,利用所述预测模型对所述待识别程序进行安全检测。
2.根据权利要求1所述的方法,其特征在于,若基于GBDT算法构建分类模型,则获取到的所述样本特征信息包括所述二进制文件的字节统计特征、字符串特征、节信息特征、导入导出函数特征和文件信息特征;
所述对所述样本特征信息进行预处理,使得预处理后的所述样本特征信息满足模型训练要求,具体包括:
将所述字节统计特征、所述字符串特征、所述节信息特征、所述导入导出函数特征和所述文件信息特征中缺失值用0值进行填补,使得所述样本特征信息为固定长度;
将固定长度的所述样本特征信息进行数据归一化处理。
3.根据权利要求2所述的方法,其特征在于,基于GBDT算法构建所述分类模型,具体包括:
基于GBDT算法设计模型结构和初始参数,得到GBDT分类模型;
所述将所述预处理后的所述样本特征信息配置在所述分类模型中进行训练学习,得到预测模型,具体包括:
将归一化处理后的所述样本特征信息配置在所述GBDT分类模型中进行交叉验证训练,并将数据交叉验证中表现最好的模型确定为所述预测模型。
4.根据权利要求1所述的方法,其特征在于,若基于CNN算法构建分类模型,则获取到的所述样本特征信息包括所述二进制文件的字节数据;
对所述样本特征信息进行预处理,使得预处理后的所述样本特征信息满足模型训练要求,具体包括:
将所述字节数据进行缺失值填补,得到可计算的固定长度的字节码特征向量。
5.根据权利要求4所述的方法,其特征在于,基于CNN算法构建所述分类模型,具体包括:
设计一维CNN模型,使得所述一维CNN模型拥有预设卷积核个数和预设步长的特定个数卷积层的CNN网络结构;
所述将所述预处理后的所述样本特征信息配置在所述分类模型中进行训练学习,得到预测模型,具体包括:
选择Adam优化器并初始化所述一维CNN模型的参数,对所述字节码特征向量进行划分交叉训练和验证,并在经过预设训练次数后使得模型的验证准确率不再提升时,停止模型训练;
将验证准确率最好的模型作为所述预测模型。
6.根据权利要求1所述的方法,其特征在于,所述利用所述预测模型对所述待识别程序进行安全检测,具体包括:
获取所述待识别程序对应目标二进制文件的目标特征信息;
对所述目标特征信息进行与所述样本特征信息相同的预处理;
将预处理后的所述目标特征信息配置在所述预测模型中进行计算,得到所述待识别程序对应的安全检测结果。
7.一种基于AI的文件黑白判断装置,其特征在于,包括:
构建模块,用于基于梯度提升决策树GBDT算法或卷积神经网络CNN算法构建分类模型;
获取模块,用于获取样本程序对应二进制文件的样本特征信息;
处理模块,用于对所述样本特征信息进行预处理,使得预处理后的所述样本特征信息满足模型训练要求;
配置模块,用于将所述预处理后的所述样本特征信息配置在所述分类模型中进行训练学习,得到预测模型;
检测模块,用于当接收到待识别程序的安全检测指令时,利用所述预测模型对所述待识别程序进行安全检测。
8.根据权利要求7所述的装置,其特征在于,若基于GBDT算法构建分类模型,则所述获取模块获取到的所述样本特征信息包括所述二进制文件的字节统计特征、字符串特征、节信息特征、导入导出函数特征和文件信息特征;
所述处理模块,具体用于将所述字节统计特征、所述字符串特征、所述节信息特征、所述导入导出函数特征和所述文件信息特征中缺失值用0值进行填补,使得所述样本特征信息为固定长度;
将固定长度的所述样本特征信息进行数据归一化处理。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至6中任一项所述的基于AI的文件黑白判断方法。
10.一种基于AI的文件黑白判断设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6中任一项所述的基于AI的文件黑白判断方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811641229.8A CN109800797A (zh) | 2018-12-29 | 2018-12-29 | 基于ai的文件黑白判断方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811641229.8A CN109800797A (zh) | 2018-12-29 | 2018-12-29 | 基于ai的文件黑白判断方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109800797A true CN109800797A (zh) | 2019-05-24 |
Family
ID=66558220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811641229.8A Pending CN109800797A (zh) | 2018-12-29 | 2018-12-29 | 基于ai的文件黑白判断方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109800797A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336835A (zh) * | 2019-08-05 | 2019-10-15 | 深信服科技股份有限公司 | 恶意行为的检测方法、用户设备、存储介质及装置 |
CN111180011A (zh) * | 2019-12-31 | 2020-05-19 | 上海依智医疗技术有限公司 | 一种病灶基因突变的检测方法及装置 |
CN112948829A (zh) * | 2021-03-03 | 2021-06-11 | 深信服科技股份有限公司 | 文件查杀方法、系统、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107103235A (zh) * | 2017-02-27 | 2017-08-29 | 广东工业大学 | 一种基于卷积神经网络的Android恶意软件检测方法 |
CN107180192A (zh) * | 2017-05-09 | 2017-09-19 | 北京理工大学 | 基于多特征融合的安卓恶意应用程序检测方法和系统 |
CN107798243A (zh) * | 2017-11-25 | 2018-03-13 | 国网河南省电力公司电力科学研究院 | 终端应用的检测方法和装置 |
-
2018
- 2018-12-29 CN CN201811641229.8A patent/CN109800797A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107103235A (zh) * | 2017-02-27 | 2017-08-29 | 广东工业大学 | 一种基于卷积神经网络的Android恶意软件检测方法 |
CN107180192A (zh) * | 2017-05-09 | 2017-09-19 | 北京理工大学 | 基于多特征融合的安卓恶意应用程序检测方法和系统 |
CN107798243A (zh) * | 2017-11-25 | 2018-03-13 | 国网河南省电力公司电力科学研究院 | 终端应用的检测方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336835A (zh) * | 2019-08-05 | 2019-10-15 | 深信服科技股份有限公司 | 恶意行为的检测方法、用户设备、存储介质及装置 |
CN110336835B (zh) * | 2019-08-05 | 2021-10-19 | 深信服科技股份有限公司 | 恶意行为的检测方法、用户设备、存储介质及装置 |
CN111180011A (zh) * | 2019-12-31 | 2020-05-19 | 上海依智医疗技术有限公司 | 一种病灶基因突变的检测方法及装置 |
CN112948829A (zh) * | 2021-03-03 | 2021-06-11 | 深信服科技股份有限公司 | 文件查杀方法、系统、设备及存储介质 |
CN112948829B (zh) * | 2021-03-03 | 2023-11-03 | 深信服科技股份有限公司 | 文件查杀方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109922032B (zh) | 用于确定登录账户的风险的方法、装置、设备及存储介质 | |
CN110177108A (zh) | 一种异常行为检测方法、装置及验证系统 | |
CN111460446B (zh) | 基于模型的恶意文件检测方法及装置 | |
CN108090516A (zh) | 自动生成机器学习样本的特征的方法及系统 | |
CN108229419A (zh) | 用于聚类图像的方法和装置 | |
CN109598124A (zh) | 一种webshell检测方法以及装置 | |
CN108038052A (zh) | 自动化测试管理方法、装置、终端设备及存储介质 | |
CN111915437A (zh) | 基于rnn的反洗钱模型的训练方法、装置、设备及介质 | |
CN109800797A (zh) | 基于ai的文件黑白判断方法、装置及设备 | |
CN116361801B (zh) | 基于应用程序接口语义信息的恶意软件检测方法及系统 | |
CN107944274A (zh) | 一种基于宽度学习的Android平台恶意应用离线检测方法 | |
US20200125836A1 (en) | Training Method for Descreening System, Descreening Method, Device, Apparatus and Medium | |
CN111522987A (zh) | 一种图像审核方法、设备及计算机可读存储介质 | |
CN111932269A (zh) | 设备信息处理方法及装置 | |
CN110298240A (zh) | 一种汽车用户识别方法、装置、系统及存储介质 | |
CN111067522A (zh) | 大脑成瘾结构图谱评估方法及装置 | |
CN110188862A (zh) | 用于数据处理的模型超参数的搜索方法、装置、系统 | |
CN110348471A (zh) | 异常对象识别方法、装置、介质及电子设备 | |
CN111783812B (zh) | 违禁图像识别方法、装置和计算机可读存储介质 | |
CN114448664B (zh) | 钓鱼网页的识别方法、装置、计算机设备及存储介质 | |
Contreras-Hernandez et al. | Motor fault detection using quaternion signal analysis on FPGA | |
CN114462040A (zh) | 一种恶意软件检测模型训练、恶意软件检测方法及装置 | |
CN111383217B (zh) | 大脑成瘾性状评估的可视化方法、装置及介质 | |
CN115713669B (zh) | 一种基于类间关系的图像分类方法、装置、存储介质及终端 | |
CN110457896A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190524 |
|
RJ01 | Rejection of invention patent application after publication |