CN113190847A - 一种脚本文件的混淆检测方法、装置、设备及存储介质 - Google Patents
一种脚本文件的混淆检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113190847A CN113190847A CN202110401461.XA CN202110401461A CN113190847A CN 113190847 A CN113190847 A CN 113190847A CN 202110401461 A CN202110401461 A CN 202110401461A CN 113190847 A CN113190847 A CN 113190847A
- Authority
- CN
- China
- Prior art keywords
- script file
- confusion
- detection
- different
- script
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 234
- 238000000034 method Methods 0.000 claims abstract description 56
- 238000004422 calculation algorithm Methods 0.000 claims description 21
- 238000010801 machine learning Methods 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 238000000605 extraction Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 6
- 238000004891 communication Methods 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
- 230000002155 anti-virotic effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine 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/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Image Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开一种脚本文件的混淆检测方法、装置、设备及存储介质,该方法包括:获取M个不同混淆检测模型和待检测脚本文件;利用M个不同混淆检测模型中每个混淆检测模型分别对脚本文件进行检测,得到M个检测结果;M个检测结果一致时,基于检测结果确定所述脚本文件是否为混淆脚本文件。如此,利用M个混淆检测模型对脚本文件检测得到M个检测结果,M个检测结果一致时,根据检测结果确定脚本文件为混淆脚本文件或者非混淆脚本文件。后续可利用具备检测结果一致的脚本文件对混淆检测模型反复训练,使得对待检测的脚本文件可准确检测为混淆脚本文件或者非混淆脚本文件,解决现有只能确定特定脚本文件类别问题,即解决混淆检测模型过拟合的问题。
Description
技术领域
本申请涉及计算机安全技术,尤其涉及一种脚本文件的混淆检测方法、装置、设备及存储介质。
背景技术
现有中为了躲避防火墙和反病毒系统的查杀,黑客常常通过混淆技术,对恶意脚本文件实施变形。从安全攻防对抗的角度出发,反病毒系统需要有能力判断给定的脚本文件是否经过混淆技术处理。
目标业界针对JaveScript脚本文件提出一种混淆脚本文件识别方法,即使用混淆工具(例如JaveScript Obfuscator)或通过人工打标签的方式,获取带有混淆标签及非混淆标签的JaveScript脚本文件样本,并训练脚本文件混淆检测模型,之后利用训练好的脚本文件混淆检测模型检测待检测的JaveScript脚本文件是否经过混淆处理。然而,上述方案中使用混淆工具生成的带标签的样本容易导致脚本文件混淆检测模型的过拟合,即只能识别特定的JaveScript脚本文件。
发明内容
为解决上述技术问题,本申请实施例提供一种脚本文件的混淆检测方法、装置、设备及存储介质。
本申请的技术方案是这样实现的:
第一方面,提供了一种脚本文件的混淆检测方法,所述方法包括:
获取M个不同的混淆检测模型,并获取待检测的第一脚本文件;其中,M为大于等于2的正整数;
利用所述M个不同的混淆检测模型中每个混淆检测模型分别对所述脚本文件进行检测,得到M个检测结果;
所述M个检测结果一致时,基于所述检测结果确定所述脚本文件是否为混淆脚本文件。
上述方案中,所述基于所述检测结果确定所述脚本文件是否为混淆脚本文件之后,所述方法还包括:将所述检测结果作为所述脚本文件的标签信息;其中,所述标签信息用于指示所述脚本文件是否为混淆脚本文件。
上述方案中,所述将所述检测结果作为所述脚本文件的标签信息之后,所述方法还包括:将所述脚本文件及对应的标签信息存储于带有标签信息的脚本文件集中;并利用所述脚本文件和标签信息,重新训练所述M个不同的混淆检测模型,得到训练后的M个不同的混淆检测模型。
上述方案中,所述方法还包括:所述M个检测结果不一致时,将所述脚本文件重新作为待检测的脚本文件,等待下一次重新被检测。
上述方案中,所述M个不同的混淆检测模型是分别基于不同的特征工程训练生成。
上述方案中,所述M个不同的混淆检测模型是分别基于不同的机器学习算法训练生成。
上述方案中,所述M个不同的混淆检测模型是分别基于不同的特征工程和不同的机器学习算法训练生成。
上述方案中,所述脚本文件包括JavaScript文件。
第二方面,提供了一种脚本文件的混淆检测装置,所述装置包括:
获取单元,用于获取M个不同的混淆检测模型,并获取待检测的第一脚本文件;其中,M为大于等于2的正整数;
检测单元,用于利用所述M个不同的混淆检测模型中每个混淆检测模型分别对所述第一脚本文件进行检测,得到M个检测结果;
确定单元,用于所述M个检测结果一致时,基于所述检测结果确定所述脚本文件是否为混淆脚本文件。
第三方面,提供了一种脚本文件的混淆检测设备,包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器配置为运行所述计算机程序时,执行前述方法的步骤。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现前述方法的步骤。
本申请公开一种脚本文件的混淆检测方法,该方法包括:获取M个不同的混淆检测模型,并获取待检测的脚本文件;其中,M为大于等于2的正整数;利用M个不同的混淆检测模型中每个混淆检测模型分别对脚本文件进行检测,得到M个检测结果;通过比对M个检测结果,确定脚本文件的标签信息。如此,利用M个混淆检测模型对脚本文件检测得到M个检测结果,M个检测结果一致时,根据检测结果确定脚本文件为混淆脚本文件或者非混淆脚本文件。后续可利用具备检测结果一致的脚本文件对混淆检测模型反复训练,使得对待检测的脚本文件可准确检测为混淆脚本文件或者非混淆脚本文件,解决现有只能确定特定脚本文件类别问题,即解决混淆检测模型过拟合的问题。
附图说明
图1为本申请实施例中脚本文件的混淆检测方法的第一流程示意图;
图2为本申请实施例中2个不同的混淆检测模型训练的第一流程示意图;
图3为本申请实施例中脚本文件的混淆检测方法的第二流程示意图;
图4为本申请实施例中2个不同的混淆检测模型训练的第二流程示意图;
图5为本申请实施例中脚本文件的混淆检测装置组成的结构示意图;
图6为本申请实施例中脚本文件的混淆检测设备组成的结构示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
本申请为了解决现有中只能确定特定脚本文件类别(包括混淆脚本文件和非混淆脚本文件)的问题,提供一种混淆检测方法,该混淆检测方法是以半监督学习的方式进行脚本文件的混淆检测,具体是利用带标签信息的脚本文件对M个预设检测模型进行训练得到M个混淆检测模型,后续再利用M个混淆检测模型对大量无标签信息的脚本文件进行检测,并根据脚本文件及标签信息反复训练混淆检测模型,通过这种方式,对大量无标签的脚本文件可准确确定为混淆脚本文件还是非混淆脚本文件,即解决现有中只能确定特定脚本文件类别的问题。
图1为本申请实施例中脚本文件的混淆检测方法的第一流程示意图,如图1所示,该脚本文件的混淆检测方法具体步骤可以包括:
步骤101:获取M个不同的混淆检测模型,并获取待检测的脚本文件;其中,M为大于等于2的正整数;
需要说明的是,待检测的脚本文件指的是无标签信息的脚本文件,即脚本文件未标明是混淆脚本文件还是非混淆脚本文件。这里,脚本文件可以是JavaScript脚本文件。
需要说明的是,M个混淆检测模型均是训练完成的检测模型,用于检测脚本文件是否为混淆脚本文件。
在一些实施例中,所述方法还包括:训练混淆检测模型。也就是说,所述获取M个不同的混淆检测模型之前,所述方法还包括:获取带有标签信息的脚本文件集;其中,脚本文件集包括至少一个待训练脚本文件,以及每个待训练脚本文件的标签信息;利用M个特征提取模型对所述脚本文件集中每个待训练脚本文件进行特征提取,得到每个待训练脚本文件对应的M个特征提取结果;基于所述M个特征提取结果及标签信息,对M个预设检测模型进行训练,得到所述M个不同的混淆检测模型。
需要说明的是,M个不同的混淆检测模型可以分别基于M个不同特征工程构建的特征提取模型和M个相同机器学习算法构建的预设检测模型训练生成;或者,可以分别基于M个相同特征工程构建的特征提取模型和M个不同机器学习算法构建的预设检测模型训练生成;或者,还可以分别基于M个不同特征工程构建的特征提取模型和M个不同机器学习算法构建的预设检测模型训练生成。
所谓不同的特征工程例如可以是词法特征、语法特征和黑白词特征等等中的两种或多种,所谓不同的机器学习算法例如可以是支持向量机算法、提升树算法、随机森林算法、深度学习算法和神经网络算法等等中的两种或多种。
具体的,利用M个特征提取模型对脚本文件集中每个待训练脚本文件进行特征提取,得到每个待训练脚本文件对应的M个特征提取结果,再将M个特征提取结果输入至对应的M个预设检测模型,得到对应的待训练脚本文件的预测标签信息,根据预测标签信息与标签信息(即真实标签信息),分别对M个预设检测模型中的参数进行调整,若预测标签信息的准确率高于或者等于预设准确率,得到M个不同的混淆检测模型。若预测标签信息的准确率低于预设准确率,继续调整M个预设检测模型中的参数,直至预测标签信息的准确率高于或者等于预设准确率。
上述提及的每个待训练脚本文件的标签信息(即真实标签信息),可通过人工打标签方式对脚本文件集中每个待训练脚本文件打上对应的标签信息,标签信息用于指示所述脚本文件是否为混淆脚本文件。比如,标签信息包括混淆标识和非混淆标识,或者标签信息包括混淆标识时指示脚本文件是否为混淆脚本文件,不包括混淆标识时指示脚本文件是否为非混淆脚本文件。
这里,若M取值为2时,特征提取模型包括词法特征构建的特征提取模型和黑白词构建的特征提取模型。针对M个特征提取模型对脚本文件集中每个待训练脚本文件进行特征提取,得到每个待训练脚本文件对应的M个特征提取结果,具体的,针对词法特征构建的特征提取模型,对每个待训练脚本文件进行词法分析,生成每个待训练脚本文件对应的单词流,每个单词流中包括多种类型的单词,例如:标识符、赋值运算符、字面量、关键字等,统计每个单词流中不同类型单词对应的数量,并按照预先设定的第一特征提取结果规则中单词类型顺序将对应的单词数量进行对应填写,组成固定维数的行矩阵,该行矩阵即为对应的特征提取结果。针对黑白词构建的特征提取模型,对每个待训练脚本文件进行黑白词分析,提取出每个待训练脚本文件中所有的黑词和白词,并分别统计每个待训练脚本文件中黑词数量和白词数量,再按照预先设定的第二特征提取结果规则中词类型顺序将对应的数量进行对应填写,组成1*2的行矩阵,该行矩阵即为对应的特征提取结果。
基于上述2个不同的混淆检测模型的训练,本申请给出一种训练方法,图2为本申请实施例中2个不同的混淆检测模型训练的第一流程示意图,如图2所示,具体步骤如下:
步骤201:获取带有标签信息的脚本文件集;
这里,脚本文件集包括至少一个待训练脚本文件,以及每个待训练脚本文件的标签信息。其中,标签信息用于指示所述脚本文件是否为混淆脚本文件。
步骤202:对脚本文件集中每个待训练脚本文件进行词法特征提取,得到每个待训练脚本文件对应的第一特征向量;
这里,利用词法特征构建的特征提取模型对每个待训练脚本文件进行词法分析,生成每个待训练脚本文件对应的单词流。其中,每个单词流中包括多种类型的单词。
再统计每个单词流中不同类型单词对应的数量,并按照预先设定的第一特征提取结果规则中单词类型顺序将对应的单词数量进行对应填写,组成固定维数的行矩阵(即第一特征向量/特征提取结果)。
步骤203:基于每个待训练脚本文件对应的第一特征向量及标签信息,训练模型1;
这里,模型1为上述提及的M个预设检测模型中任意一个模型。
步骤204:得到训练好的模型1;
该步骤的模型1为上一步骤中对预设检测模型进行训练后的混淆检测模型。
步骤205:对脚本文件集中每个待训练脚本文件进行黑白词提取,得到每个待训练脚本文件对应的第二特征向量;
这里,利用黑白词提取模型对每个待训练脚本文件进行黑白词分析,提取出每个待训练脚本文件中所有的黑词和白词。
再分别统计每个待训练脚本分析文件中黑词数量和白词数量,再按照预先设定的第二特征提取结果规则中词类型顺序将对应的数量进行对应填写,组成1*2的行矩阵(即第二特征向量)。
步骤206:基于每个待训练脚本文件对应的第二特征向量及标签信息,训练模型2;
这里,模型2为上述提及的M个预设检测模型中任意一个模型。
需要说明的是,模型1和模型2可以是由不同特征工程构建的特征提取模型和相同机器学习算法构建的预设检测模型组成的模型;或者,也可以是由相同特征工程构建的特征提取模型和不同机器学习算法构建的预设检测模型组成的模型;或者,还可以是由不同特征工程构建的特征提取模型和不同机器学习算法构建的预设检测模型组成的模型。
步骤207:得到训练好的模型2。
该步骤的模型2为上一步骤中对预设检测模型进行训练后的混淆检测模型。
步骤102:利用所述M个不同的混淆检测模型中每个混淆检测模型分别对所述脚本文件进行检测,得到M个检测结果;
需要说明的是,检测结果用于指示脚本文件是否为混淆脚本文件。
这里,不同的混淆检测模型对脚本文件的检测结果可能相同,也可能不同。
步骤103:所述M个检测结果一致时,基于所述检测结果确定所述脚本文件是否为混淆脚本文件。
也就是说,每个混淆检测模型对脚本文件进行检测的检测结果一致时,可确定脚本文件的类型。若检测结果为混淆,确定脚本文件为混淆脚本文件;若检测结果为非混淆,确定脚本文件为非混淆脚本文件。
在一些实施例中,所述基于所述检测结果确定所述脚本文件是否为混淆脚本文件之后,所述方法还包括:将所述检测结果作为所述脚本文件的标签信息;其中,所述标签信息用于指示所述脚本文件是否为混淆脚本文件。
在一些实施例中,所述将所述检测结果作为所述脚本文件的标签信息之后,所述方法还包括:将所述脚本文件及对应的标签信息存储于带有标签信息的脚本文件集中;并利用所述脚本文件和标签信息,重新训练所述M个不同的混淆检测模型,得到训练后的M个不同的混淆检测模型。
在一些实施例中,所述方法还包括:所述M个检测结果不一致时,将所述脚本文件重新作为待检测的脚本文件,等待下一次重新被检测。
这里,步骤101至步骤103的执行主体可以为脚本文件的混淆检测装置的处理器。
如此,利用M个混淆检测模型对脚本文件检测得到M个检测结果,M个检测结果一致时,根据检测结果确定脚本文件为混淆脚本文件或者非混淆脚本文件。后续可利用具备检测结果一致的脚本文件对混淆检测模型反复训练,使得对待检测的脚本文件可准确检测为混淆脚本文件或者非混淆脚本文件,解决现有只能确定特定脚本文件类别问题,即解决混淆检测模型过拟合的问题。
本申请还提出一种脚本文件的混淆检测方法,图3为本申请实施例中脚本文件的混淆检测方法的第二流程示意图,如图3所示,该脚本文件的混淆检测方法具体可以包括:
步骤301:获取M个不同的混淆检测模型,并获取待检测的脚本文件;其中,M为大于等于2的正整数;
需要说明的是,待检测的脚本文件指的是无标签信息的脚本文件,即脚本文件未标明是混淆脚本文件还是非混淆脚本文件。这里,脚本文件可以是JavaScript脚本文件。
需要说明的是,M个混淆检测模型均是训练完成的检测模型,用于检测脚本文件是否为混淆脚本文件。
在一些实施例中,所述方法还包括:训练混淆检测模型。也就是说,所述获取M个不同的混淆检测模型之前,所述方法还包括:获取带有标签信息的脚本文件集;其中,脚本文件集包括至少一个待训练脚本文件,以及每个待训练脚本文件的标签信息;利用M个特征提取模型对所述脚本文件集中每个待训练脚本文件进行特征提取,得到每个待训练脚本文件对应的M个特征提取结果;基于所述M个特征提取结果及标签信息,对M个预设检测模型进行训练,得到所述M个不同的混淆检测模型。
在一些实施例中,所述M个不同的混淆检测模型是分别基于不同的机器学习算法训练生成。
在一些实施例中,所述M个不同的混淆检测模型是分别基于不同的机器学习算法训练生成。
在一些实施例中,所述M个不同的混淆检测模型是分别基于不同的特征工程和不同的机器学习算法训练生成。
步骤302:利用所述M个不同的混淆检测模型中每个混淆检测模型分别对所述脚本文件进行检测,得到M个检测结果;
需要说明的是,检测结果用于指示脚本文件是否为混淆脚本文件。
这里,不同的混淆检测模型对脚本文件的检测结果可能相同,也可能不同。
步骤303:所述M个检测结果一致时,基于所述检测结果确定所述脚本文件是否为混淆脚本文件;
也就是说,每个混淆检测模型对脚本文件进行检测的检测结果一致时,可确定脚本文件的类型。若检测结果为混淆,确定脚本文件为混淆脚本文件;若检测结果为非混淆,确定脚本文件为非混淆脚本文件。
在一些实施例中,所述基于所述检测结果确定所述脚本文件是否为混淆脚本文件之后,所述方法还包括:将所述检测结果作为所述脚本文件的标签信息;其中,所述标签信息用于指示所述脚本文件是否为混淆脚本文件。
也就是说,若检测结果为混淆,确定脚本文件为混淆脚本文件,即脚本文件的标签信息为混淆(即检测结果);若检测结果为非混淆,确定脚本文件为非混淆脚本文件,即脚本文件的标签信息为非混淆(即检测结果)。
在一些实施例中,所述将所述检测结果作为所述脚本文件的标签信息之后,所述方法还包括:将所述脚本文件及对应的标签信息存储于带有标签信息的脚本文件集中;并利用所述脚本文件和标签信息,重新训练所述M个不同的混淆检测模型,得到训练后的M个不同的混淆检测模型。
也就是说,检测出脚本文件的标签信息后,将脚本文件及标签信息存储于带有标签信息的脚本文件集中,便于后续通过脚本文件及标签信息对M个不同的混淆检测模型进行训练。
实际应用中,通常检测出多个脚本文件的标签信息后,基于多个脚本文件及对应的标签信息对M个不同的混淆检测模型进行训练,得到训练后的M个不同的混淆检测模型。待检测出下一批多个脚本文件的标签信息后,再对上一步训练后的M个不同的混淆检测模型进行训练,得到新的M个不同的混淆检测模型,以此类推。
步骤304:所述M个检测结果不一致时,将所述脚本文件重新作为待检测的脚本文件,等待下一次重新被检测。
即M个检测结果中包括混淆脚本文件和非混淆脚本文件时,无法确定脚本文件是否为混淆脚本文件,需要将脚本文件重新作为待检测的脚本文件,等待下一次重新被检测。
示例性地,若M取值为4,4个不同的混淆检测模型对脚本文件进行检测,得到4个检测结果,分别是混淆脚本文件、混淆脚本文件、混淆脚本文件和非混淆脚本文件,由于4个检测结果不一致,故无法确定脚本文件是否为混淆脚本文件。只有当4个检测结果均为混淆脚本文件或者均为非混淆脚本文件时,确定脚本文件为混淆脚本文件或者非混淆脚本文件。
如此,利用M个混淆检测模型对脚本文件检测得到M个检测结果,M个检测结果一致时,根据检测结果确定脚本文件为混淆脚本文件或者非混淆脚本文件。后续可利用具备检测结果一致的脚本文件对混淆检测模型反复训练,使得对待检测的脚本文件可准确检测为混淆脚本文件或者非混淆脚本文件,解决现有只能确定特定脚本文件类别问题,即解决混淆检测模型过拟合的问题。
基于上述实施例,图4为本申请实施例中2个不同的混淆检测模型训练的第二流程示意图,如图4所示,具体步骤如下:
步骤401:获取无标签信息的多个脚本文件,组成待检测脚本文件集;
步骤402:获取模型1;
步骤403:对待检测脚本文件集中每个脚本文件进行词法特征提取,得到每个脚本文件对应的第三特征向量;
步骤404:将每个脚本文件对应的第三特征向量作为模型1的输入,输出第一检测结果;
步骤405:获取模型2;
步骤406:对待检测脚本文件集中每个脚本文件进行黑白词提取,得到每个脚本文件对应的第四特征向量;
步骤407:将每个脚本文件对应的第四特征向量作为模型2的输入,输出第二检测结果;
步骤408:判断第一检测结果与第二检测结果是否一致;若一致,执行步骤409;若不一致,执行步骤401;
这里,两个检测结果不一致,说明不能确定对应的脚本文件的标签信息,需要将对应的脚本文件重新作为待检测脚本文件。
两个检测结果一致时,说明能确定对应的脚本文件的标签信息,继续执行步骤409。
步骤409:确定对应的脚本文件的标签信息,并存储至带有标签信息的脚本文件集;
步骤410:迭代训练模型1;
这里,具体是利用模型1对每个脚本文件进行检测得到对应的预测标签信息,并与真实标签信息进行比对,并计算出预测正确的标签信息占全部预测标签信息的比值,即第一预测标签信息准确率,若第一预测标签信息准确率小于设定的概率阈值,修改模型1中参数,并再次计算第一预测标签信息准确率,直至第一预测标签信息准确率大于或者等于设定的概率阈值,不再修改模型1中参数,表示迭代终止。之后再继续执行步骤402。
步骤411:迭代训练模型2。
这里,具体是利用模型2对每个脚本文件进行检测得到对应的预测标签信息,并与真实标签信息进行比对,并计算出预测正确的标签信息占全部预测标签信息的比值,即第二预测标签信息准确率,若第二预测标签信息准确率小于设定的概率阈值,修改模型2中参数,并再次计算第二预测标签信息准确率,直至第二预测标签信息准确率大于或者等于设定的概率阈值,不再修改模型2中参数,表示迭代终止。之后再继续执行步骤405。
如此,利用M个混淆检测模型对脚本文件检测得到M个检测结果,M个检测结果一致时,根据检测结果确定脚本文件为混淆脚本文件或者非混淆脚本文件。后续可利用具备检测结果一致的脚本文件对混淆检测模型反复训练,使得对待检测的脚本文件可准确检测为混淆脚本文件或者非混淆脚本文件,解决现有只能确定特定脚本文件类别问题,即解决混淆检测模型过拟合的问题。
本申请实施例中提供了一种脚本文件的混淆检测装置,图5为本申请实施例中脚本文件的混淆检测装置组成的结构示意图,如图5所示,该装置包括:
获取单元501,用于获取M个不同的混淆检测模型,并获取待检测的第一脚本文件;其中,M为大于等于2的正整数;
检测单元502,用于利用所述M个不同的混淆检测模型中每个混淆检测模型分别对所述脚本文件进行检测,得到M个检测结果;
确定单元503,用于所述M个检测结果一致时,基于所述检测结果确定所述脚本文件是否为混淆脚本文件。
在一些实施例中,所述基于所述检测结果确定所述脚本文件是否为混淆脚本文件之后,将所述检测结果作为所述脚本文件的标签信息;其中,所述标签信息用于指示所述脚本文件是否为混淆脚本文件。
在一些实施例中,所述将所述检测结果作为所述脚本文件的标签信息之后,将所述脚本文件及对应的标签信息存储于带有标签信息的脚本文件集中;并利用所述脚本文件和标签信息,重新训练所述M个不同的混淆检测模型,得到训练后的M个不同的混淆检测模型。
在一些实施例中,所述方法还包括:所述M个检测结果不一致时,将所述脚本文件重新作为待检测的脚本文件,等待下一次重新被检测。
在一些实施例中,所述M个不同的混淆检测模型是分别基于不同的特征工程训练生成。
在一些实施例中,所述M个不同的混淆检测模型是分别基于不同的机器学习算法训练生成。
在一些实施例中,所述M个不同的混淆检测模型是分别基于不同的特征工程和不同的机器学习算法训练生成。
在一些实施例中,所述脚本文件包括JavaScript文件。
如此,利用M个不同混淆检测模型对脚本文件检测得到M个检测结果,M个检测结果一致时,根据检测结果可确定脚本文件类别,即混淆脚本文件还或者非混淆脚本文件,M个检测结果不一致时,等待再次被检测,直至确定脚本文件类别。本申请混淆检测方法可确定任意一个脚本文件类别,解决现有中只能确定特定脚本文件类别问题,即解决现有混淆检测模型过拟合的问题。
本申请实施例提供了一种脚本文件的混淆检测设备,图6为本申请实施例中脚本文件的混淆检测设备组成的结构示意图,如图6所示,该设备包括:处理器601和配置为存储能够在处理器上运行的计算机程序的存储器602;
其中,处理器601配置为运行计算机程序时,执行前述实施例中脚本文件的混淆检测方法的步骤。
当然,实际应用时,如图6所示,该脚本文件的混淆检测设备中的各个组件通过总线系统603耦合在一起。可理解,总线系统603用于实现这些组件之间的连接通信。总线系统603除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统603。
在实际应用中,上述处理器可以为特定用途集成电路(ASIC,ApplicationSpecific Integrated Circuit)、数字信号处理装置(DSPD,Digital Signal ProcessingDevice)、可编程逻辑装置(PLD,Programmable Logic Device)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本申请实施例不作具体限定。
上述存储器可以是易失性存储器(volatile memory),例如随机存取存储器(RAM,Random-Access Memory);或者非易失性存储器(non-volatile memory),例如只读存储器(ROM,Read-Only Memory),快闪存储器(flash memory),硬盘(HDD,Hard Disk Drive)或固态硬盘(SSD,Solid-State Drive);或者上述种类的存储器的组合,并向处理器提供指令和数据。
本申请实施例还提供了一种计算机可读存储介质,用于存储计算机程序。
可选的,该计算机可读存储介质可应用于本申请实施例中的任意一种方法,并且该计算机程序使得计算机执行本申请实施例的各个方法中由处理器实现的相应流程,为了简洁,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种脚本文件的混淆检测方法,其特征在于,所述方法包括:
获取M个不同的混淆检测模型,并获取待检测的脚本文件;其中,M为大于等于2的正整数;
利用所述M个不同的混淆检测模型中每个混淆检测模型分别对所述脚本文件进行检测,得到M个检测结果;
所述M个检测结果一致时,基于所述检测结果确定所述脚本文件是否为混淆脚本文件。
2.根据权利要求1所述的方法,其特征在于,所述基于所述检测结果确定所述脚本文件是否为混淆脚本文件之后,所述方法还包括:
将所述检测结果作为所述脚本文件的标签信息;其中,所述标签信息用于指示所述脚本文件是否为混淆脚本文件。
3.根据权利要求2所述的方法,其特征在于,所述将所述检测结果作为所述脚本文件的标签信息之后,所述方法还包括:
将所述脚本文件及对应的标签信息存储于带有标签信息的脚本文件集中;
利用所述脚本文件和标签信息,重新训练所述M个不同的混淆检测模型,得到训练后的M个不同的混淆检测模型。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述M个检测结果不一致时,将所述脚本文件重新作为待检测的脚本文件,等待下一次重新被检测。
5.根据权利要求1至4中任一项所述的方法,其特征在于,
所述M个不同的混淆检测模型是分别基于不同的特征工程训练生成。
6.根据权利要求1至4中任一项所述的方法,其特征在于,
所述M个不同的混淆检测模型是分别基于不同的机器学习算法训练生成。
7.根据权利要求1至4中任一项所述的方法,其特征在于,
所述M个不同的混淆检测模型是分别基于不同的特征工程和不同的机器学习算法训练生成。
8.根据权利要求1所述的方法,其特征在于,
所述脚本文件包括JavaScript文件。
9.一种脚本文件的混淆检测装置,其特征在于,所述装置包括:
获取单元,用于获取M个不同的混淆检测模型,并获取待检测的第一脚本文件;其中,M为大于等于2的正整数;
检测单元,用于利用所述M个不同的混淆检测模型中每个混淆检测模型分别对所述第一脚本文件进行检测,得到M个检测结果;
确定单元,用于所述M个检测结果一致时,基于所述检测结果确定所述脚本文件是否为混淆脚本文件。
10.一种脚本文件的混淆检测设备,其特征在于,所述设备包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器配置为运行所述计算机程序时,执行权利要求1至8任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110401461.XA CN113190847B (zh) | 2021-04-14 | 2021-04-14 | 一种脚本文件的混淆检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110401461.XA CN113190847B (zh) | 2021-04-14 | 2021-04-14 | 一种脚本文件的混淆检测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113190847A true CN113190847A (zh) | 2021-07-30 |
CN113190847B CN113190847B (zh) | 2024-10-18 |
Family
ID=76975756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110401461.XA Active CN113190847B (zh) | 2021-04-14 | 2021-04-14 | 一种脚本文件的混淆检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113190847B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761521A (zh) * | 2021-09-02 | 2021-12-07 | 恒安嘉新(北京)科技股份公司 | 一种基于机器学习的脚本文件检测方法、装置、设备和存储介质 |
CN114422248A (zh) * | 2022-01-20 | 2022-04-29 | 深信服科技股份有限公司 | 一种攻击处理方法、系统、网络安全设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120159629A1 (en) * | 2010-12-16 | 2012-06-21 | National Taiwan University Of Science And Technology | Method and system for detecting malicious script |
CN106872867A (zh) * | 2017-03-10 | 2017-06-20 | 华北电力大学 | 电力设备局部放电故障的识别方法、装置及系统 |
CN106961419A (zh) * | 2017-02-13 | 2017-07-18 | 深信服科技股份有限公司 | WebShell检测方法、装置及系统 |
US20180096148A1 (en) * | 2016-09-30 | 2018-04-05 | AVAST Software s.r.o. | Detecting malicious scripts |
CN107978373A (zh) * | 2017-11-23 | 2018-05-01 | 吉林大学 | 一种基于共训练的半监督生物医学事件抽取方法 |
CN108985064A (zh) * | 2018-07-16 | 2018-12-11 | 中国人民解放军战略支援部队信息工程大学 | 一种识别恶意文档的方法及装置 |
CN110765459A (zh) * | 2019-10-18 | 2020-02-07 | 北京天融信网络安全技术有限公司 | 一种恶意脚本检测方法、装置和存储介质 |
CN111475809A (zh) * | 2020-04-09 | 2020-07-31 | 杭州奇盾信息技术有限公司 | 脚本混淆检测方法、装置、计算机设备和存储介质 |
US20200412740A1 (en) * | 2019-06-27 | 2020-12-31 | Vade Secure, Inc. | Methods, devices and systems for the detection of obfuscated code in application software files |
-
2021
- 2021-04-14 CN CN202110401461.XA patent/CN113190847B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120159629A1 (en) * | 2010-12-16 | 2012-06-21 | National Taiwan University Of Science And Technology | Method and system for detecting malicious script |
US20180096148A1 (en) * | 2016-09-30 | 2018-04-05 | AVAST Software s.r.o. | Detecting malicious scripts |
CN106961419A (zh) * | 2017-02-13 | 2017-07-18 | 深信服科技股份有限公司 | WebShell检测方法、装置及系统 |
CN106872867A (zh) * | 2017-03-10 | 2017-06-20 | 华北电力大学 | 电力设备局部放电故障的识别方法、装置及系统 |
CN107978373A (zh) * | 2017-11-23 | 2018-05-01 | 吉林大学 | 一种基于共训练的半监督生物医学事件抽取方法 |
CN108985064A (zh) * | 2018-07-16 | 2018-12-11 | 中国人民解放军战略支援部队信息工程大学 | 一种识别恶意文档的方法及装置 |
US20200412740A1 (en) * | 2019-06-27 | 2020-12-31 | Vade Secure, Inc. | Methods, devices and systems for the detection of obfuscated code in application software files |
CN110765459A (zh) * | 2019-10-18 | 2020-02-07 | 北京天融信网络安全技术有限公司 | 一种恶意脚本检测方法、装置和存储介质 |
CN111475809A (zh) * | 2020-04-09 | 2020-07-31 | 杭州奇盾信息技术有限公司 | 脚本混淆检测方法、装置、计算机设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761521A (zh) * | 2021-09-02 | 2021-12-07 | 恒安嘉新(北京)科技股份公司 | 一种基于机器学习的脚本文件检测方法、装置、设备和存储介质 |
CN114422248A (zh) * | 2022-01-20 | 2022-04-29 | 深信服科技股份有限公司 | 一种攻击处理方法、系统、网络安全设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113190847B (zh) | 2024-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109359439B (zh) | 软件检测方法、装置、设备及存储介质 | |
EP3651043A1 (en) | Url attack detection method and apparatus, and electronic device | |
US11048798B2 (en) | Method for detecting libraries in program binaries | |
WO2019083737A1 (en) | SYSTEM AND METHOD FOR ANALYZING CLASSIFICATION OF BINARY CODE MALWARE SOFTWARE USING ARTIFICIAL NEURAL NETWORK TECHNIQUES | |
CN111753290B (zh) | 软件类型的检测方法及相关设备 | |
US20190180032A1 (en) | Classification apparatus, classification method, and classification program | |
US11019096B2 (en) | Combining apparatus, combining method, and combining program | |
CN111368289B (zh) | 一种恶意软件检测方法和装置 | |
CN112492059A (zh) | Dga域名检测模型训练方法、dga域名检测方法、装置及存储介质 | |
CN112528284A (zh) | 恶意程序的检测方法及装置、存储介质、电子设备 | |
CN113190847B (zh) | 一种脚本文件的混淆检测方法、装置、设备及存储介质 | |
CN110674479B (zh) | 异常行为数据实时处理方法、装置、设备及存储介质 | |
CN111783812B (zh) | 违禁图像识别方法、装置和计算机可读存储介质 | |
CN114553523A (zh) | 基于攻击检测模型的攻击检测方法及装置、介质、设备 | |
CN112651024A (zh) | 用于恶意代码检测的方法及装置、设备 | |
US11222115B2 (en) | Data scan system | |
CN112784269A (zh) | 恶意软件检测方法、装置和计算机存储介质 | |
CN112966264A (zh) | Xss攻击检测方法、装置、设备及机器可读存储介质 | |
CN114024761B (zh) | 网络威胁数据的检测方法、装置、存储介质及电子设备 | |
CN111488574A (zh) | 恶意软件分类方法、系统、计算机设备和存储介质 | |
CN113987486B (zh) | 一种恶意程序检测方法、装置及电子设备 | |
WO2022237365A1 (en) | Multivariate malware detection methods and systems | |
CN110263540A (zh) | 一种代码标识方法及装置 | |
CN115643044A (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN115766090A (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 |