CN116933256A - 一种恶意脚本的识别方法、装置、设备及存储介质 - Google Patents
一种恶意脚本的识别方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116933256A CN116933256A CN202310650745.1A CN202310650745A CN116933256A CN 116933256 A CN116933256 A CN 116933256A CN 202310650745 A CN202310650745 A CN 202310650745A CN 116933256 A CN116933256 A CN 116933256A
- Authority
- CN
- China
- Prior art keywords
- malicious
- target
- script
- binary file
- code block
- 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
- 238000013515 script Methods 0.000 title claims abstract description 155
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000002159 abnormal effect Effects 0.000 claims abstract description 61
- 238000012549 training Methods 0.000 claims abstract description 36
- 238000013528 artificial neural network Methods 0.000 claims abstract description 11
- 238000010801 machine learning Methods 0.000 claims abstract description 8
- 230000006399 behavior Effects 0.000 claims description 57
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000002372 labelling Methods 0.000 description 5
- 241000700605 Viruses Species 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 244000035744 Hura crepitans Species 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 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/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- 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
- G06F18/2155—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- 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
-
- 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
- G06N3/0455—Auto-encoder networks; Encoder-decoder 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
- G06N3/088—Non-supervised learning, e.g. competitive learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Virology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开一种恶意脚本的识别方法、装置、设备及存储介质,涉及信息安全技术领域,能够提高恶意脚本识别效率。具体方案包括:获取待检测的目标脚本,并将目标脚本转换为二进制文件,得到目标二进制文件;将目标二进制文件输入至预设的目标智能自动编码器中对目标二进制文件进行文件重构,目标智能自动编码器是基于样本二进制文件集训练得到的,样本二进制文件集中包括多个由无恶意脚本转换的二进制文件,目标智能自动编码器是基于深度神经网络的无监督机器学习模型;若智能自动编码器模型的输出结果指示目标二进制文件重构失败,则根据目标智能自动编码器输出的目标二进制文件中的异常代码块和异常代码块的上下文,确定目标脚本是否为恶意脚本。
Description
技术领域
本申请涉及信息安全技术领域,尤其涉及一种恶意脚本的识别方法、装置、设备及存储介质。
背景技术
在当前的网络安全领域内,恶意软件和脚本异常繁多,这些恶意软件和脚本可以通过欺骗用户或者利用安全漏洞,实现对用户设备或网络系统的攻击和控制,可能会导致个人隐私泄露、数据丢失、网络瘫痪等比较严重的问题,所以已经成为网络安全领域一个极其重要的研究课题。
目前,对恶意软件和脚本的识别通常通过专业的恶意软件、脚本分析人员针对目标软件、脚本进行逆向、分析、沙箱运行、结果验证等,最终识得到恶意、非恶意软件和脚本的结论,但这种方法识别效率较低,且识别过程主观性强、误差大、识别结果的准确性难以量化。
发明内容
本申请提供一种恶意脚本的识别方法、装置、设备及存储介质,能够提高恶意脚本识别效率。
为达到上述目的,本申请采用如下技术方案:
本申请实施例第一方面,提供了一种恶意脚本的识别方法,该方法包括:
获取待检测的目标脚本,并将目标脚本转换为二进制文件,得到目标二进制文件;
将目标二进制文件输入至预设的目标智能自动编码器中对目标二进制文件进行文件重构,目标智能自动编码器是基于样本二进制文件集训练得到的,样本二进制文件集中包括多个由无恶意脚本转换的二进制文件,目标智能自动编码器是基于深度神经网络的无监督机器学习模型;
若智能自动编码器模型的输出结果指示目标二进制文件重构失败,则根据目标智能自动编码器输出的目标二进制文件中的异常代码块和异常代码块的上下文,确定目标脚本是否为恶意脚本,上下文用于指示目标二进制文件中与异常代码块相关联的代码块。
在一种可能的实现方式中,将目标二进制文件输入至预设的目标智能自动编码器中对目标二进制文件进行文件重构之后,方法还包括:
若智能自动编码器模型显示目标二进制文件重构成功,则确定目标脚本为无恶意脚本。
在一种可能的实现方式中,根据目标智能自动编码器输出的目标二进制文件中的异常代码块和异常代码块的上下文,确定目标脚本是否为恶意脚本,包括:
将异常代码块和异常代码块的上下文输入至预设的目标恶意行为识别模型中进行恶意类型匹配;
若目标恶意行为识别模型输出异常代码块对应的恶意类型,则确定目标脚本为恶意脚本,其中,目标恶意行为识别模型是基于恶意代码块样本集训练得到的,恶意代码块样本集中包括多个恶意代码块以及各恶意代码块对应的恶意类型。
在一种可能的实现方式中,将异常代码块和异常代码块的上下文输入至预设的目标恶意行为识别模型中进行恶意类型匹配之后,方法还包括:
若目标恶意行为识别模型输出异常代码块无对应的恶意类型,则根据预设的恶意行为识别规则识别异常代码块是否为恶意组件,若是,则确定目标脚本为恶意脚本。
在一种可能的实现方式中,获取待检测的目标脚本之前,方法还包括:
获取样本二进制文件集,利用样本二进制文件集训练预设的智能自动编码器,得到目标智能自动编码器。
在一种可能的实现方式中,获取待检测的目标脚本之前,方法还包括:
获取恶意代码块样本集,将恶意代码块样本集输入至预设的恶意行为识别模型中对恶意代码块样本集进行训练;
恶意行为识别模型对输入的恶意代码块样本集中的多个恶意代码块进行聚类处理后进行恶意类型识别,得到目标恶意行为识别模型。
在一种可能的实现方式中,确定目标脚本为恶意脚本之后,方法还包括:
将恶意代码块标记对应的恶意类型后添加至恶意代码块样本集中,得到更新后的恶意代码块样本集,并利用更新后的恶意代码块样本集训练预设的恶意行为识别模型。
本申请实施例提供了一种恶意脚本的识别装置,该装置包括:
获取模块,用于获取待检测的目标脚本,并将目标脚本转换为二进制文件,得到目标二进制文件;
处理模块,用于将目标二进制文件输入至预设的目标智能自动编码器中对目标二进制文件进行文件重构,目标智能自动编码器是基于样本二进制文件集训练得到的,样本二进制文件集中包括多个由无恶意脚本转换的二进制文件,目标智能自动编码器是基于深度神经网络的无监督机器学习模型;
确定模块,用于若智能自动编码器模型的输出结果指示目标二进制文件重构失败,则根据目标智能自动编码器输出的目标二进制文件中的异常代码块和异常代码块的上下文,确定目标脚本是否为恶意脚本,上下文用于指示目标二进制文件中与异常代码块相关联的代码块。
本申请实施例第三方面,提供了一种电子设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时实现本申请实施例第一方面提供的恶意脚本的识别方法。
本申请实施例第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请实施例第一方面提供的恶意脚本的识别方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例提供的恶意脚本的识别方法,通过获取待检测的目标脚本,并将目标脚本转换为二进制文件,得到目标二进制文件,然后将目标二进制文件输入至预设的目标智能自动编码器中对目标二进制文件进行文件重构,若智能自动编码器模型的输出结果指示目标二进制文件重构失败,则根据目标智能自动编码器输出目标二进制文件中的异常代码块和异常代码块的上下文确定目标脚本是否为恶意脚本。由于智能自动编码器是基于神经网络的无监督训练模型,该智能自动编码器通过非恶意的二进制文件样本集训练得到,因此,智能自动编码器在重建有恶意二进制文件时会触发异常机制,从而可以得到该恶意二进制文件中的恶意代码块和其上下文摘要,最后再根据恶意代码块和其上下文确定对应的目标脚本是否为恶意脚本,这样可以提高恶意脚本的识别效率和识别的准确性。
附图说明
图1为本申请实施例提供的一种恶意脚本的识别方法的流程图;
图2为本申请实施例提供的一种恶意脚本的识别装置的结构图;
图3为本申请实施例提供的一种电子设备的内部结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
另外,“基于”或“根据”的使用意味着开放和包容性,因为“基于”或“根据”一个或多个条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出的值。
在当前的网络安全领域内,恶意软件和脚本异常繁多,这些恶意软件和脚本可以通过欺骗用户或者利用安全漏洞,实现对用户设备或网络系统的攻击和控制,可能会导致个人隐私泄露、数据丢失、网络瘫痪等比较严重的问题,所以已经成为网络安全领域一个极其重要的研究课题。
目前,对恶意软件和脚本的识别通常通过专业的恶意软件、脚本分析人员针对目标软件、脚本进行逆向、分析、沙箱运行、结果验证等,最终识得到恶意、非恶意软件和脚本的结论,但这种方法识别效率较低,且识别过程主观性强、误差大、识别结果的准确性难以量化。此外,还可以以样本创建签名分类方案,即采用大量人工标注恶意软件、脚本为样本,根据其恶意的类型对其打标,然后采用聚类方式划归家族等方式,以此形成模型,最终识别待检测软件或脚本恶意、非恶意。
人工识别机制存在的主要问题包括:需专业人工参与。对恶意软件和脚本的识别均需要人工参与,且对分析人员的能力有着较高的要求。识别低效。对于一个恶意软件的逆向往往需要数小时,分析、识别恶意行为又需要数小时甚至更多时间,效率较低。识别过程主观性强、误差大、结果难量化。识别过程很大程度上取决于分析人员的能力和历史经验,这其中存在较大的主观性,且结果非此即彼,无法量化。同族、变种病毒需重复分析。针对每个待分析软件和脚本,均需要逆向、分析,即使是同族或变种病毒也需重复识别。历史经验未有效沉淀。人工识别仅依赖于识别人员的能力和经验,历史分析的软件和脚本数据不能赋能给组织和其他人员。
而以样本创建签名分类机制存在的主要问题包括:需要大量人工标注的样本。该机制需要大量人工标注的历史样本集,工作量、成本巨大。需要最小、非侵入性标记训练分类器。对样本分类时,往往采用分类器实现,但训练分类器时需要非侵入性标记来训练分类器,周期长且工作量大。只能预测样本类别,无法解释软件样本本身行为。这样的方案只能预测样本的类别(如恶意与非恶意,特定家族等),无法解释、理解、识别出恶意行为的语义,更无法对后续检测能提供有效参考。
本申请实施例提供的恶意脚本的识别方法,通过获取待检测的目标脚本,并将目标脚本转换为二进制文件,得到目标二进制文件,然后将目标二进制文件输入至预设的目标智能自动编码器中对目标二进制文件进行文件重构,若智能自动编码器模型的输出结果指示目标二进制文件重构失败,则根据目标智能自动编码器输出目标二进制文件中的异常代码块和异常代码块的上下文确定目标脚本是否为恶意脚本。由于智能自动编码器是基于神经网络的无监督训练模型,该智能自动编码器通过非恶意的二进制文件样本集训练得到,因此,智能自动编码器在重建有恶意二进制文件时会触发异常机制,从而可以得到该恶意二进制文件中的恶意代码块和其上下文摘要,最后再根据恶意代码块和其上下文确定对应的目标脚本是否为恶意脚本,这样可以提高恶意脚本的识别效率和识别的准确性。
图1为本申请实施例提供的一种恶意脚本的识别方法,具体包括以下步骤:
步骤101、获取待检测的目标脚本,并将目标脚本转换为二进制文件,得到目标二进制文件。
步骤102、将目标二进制文件输入至预设的目标智能自动编码器中对目标二进制文件进行文件重构。
其中,目标智能自动编码器(Intelligent Auto Encoder,IAE)是基于样本二进制文件集训练得到的,样本二进制文件集中包括多个由无恶意脚本转换的二进制文件,目标智能自动编码器是基于深度神经网络的无监督机器学习模型。
需要说明的是,在执行步骤101之前,需要先对预设的智能自动编码器进行训练,得到目标智能自动编码器。智能自动编码器的训练过程可以为:获取样本二进制文件集,利用样本二进制文件集训练预设的智能自动编码器,得到目标智能自动编码器。
其中,二进制文件集来源于非恶意软件、组件、脚本集,使用二进制工具将其转换为统一的二进制文件。二进制文件集是一个充分大的文件集,能够代表所有非恶意二进制功能代码片段。
在实际执行过程中,智能自动编码器(Intelligent Auto Encoder,IAE)可成功重构任意非恶意的二进制文件。首先,构建深度学习网络模型;然后,使用二进制文件集训练模型;最后,形成智能自动编码模型。IAE输入任意二进制文件,输出重构是否成功,若重构成功则IAE输出为空、若重构失败,则IAE输出异常代码块和其上下文。
步骤103、若智能自动编码器模型的输出结果指示目标二进制文件重构失败,则根据目标智能自动编码器输出的目标二进制文件中的异常代码块和异常代码块的上下文,确定目标脚本是否为恶意脚本。
其中,上下文用于指示目标二进制文件中与异常代码块相关联的代码块。恶意代码块是能够运行恶意功能的最小逻辑单元,其上下文包括了恶意代码块能够执行恶意功能的最小相关上下文环境。
在一种可能的实现方式中,在将目标二进制文件输入至预设的目标智能自动编码器中对目标二进制文件进行文件重构之后,若目标智能自动编码器的输出结果指示目标二进制文件重构成功,则确定目标脚本为无恶意脚本。
在另一种可能的实现方式中,在将目标二进制文件输入至预设的目标智能自动编码器中对目标二进制文件进行文件重构后,若目标智能自动编码器的输出结果指示目标二进制文件重构失败,且同时输出该重构失败的目标二进制文件中的异常代码块及其上下文,则进一步根据该异常代码块及其上下文确定该目标脚本是否为恶意脚本。
IAE是基于神经网络的无监督训练模型,其任务是将二进制输入重建为二进制输出。在非恶意的二进制文件上训练IAE,它将难以重建恶意二进制文件,因为根本就没有恶意二进制训练的样本训练,所以IAE就没有这方面的能力。因此,IAE重建二进制组件时会触发异常机制,而异常机制可得到恶意代码块和其上下文摘要。
本申请实施例提供的恶意脚本的识别方法,通过获取待检测的目标脚本,并将目标脚本转换为二进制文件,得到目标二进制文件,然后将目标二进制文件输入至预设的目标智能自动编码器中对目标二进制文件进行文件重构,若智能自动编码器模型的输出结果指示目标二进制文件重构失败,则根据目标智能自动编码器输出目标二进制文件中的异常代码块和异常代码块的上下文确定目标脚本是否为恶意脚本。由于智能自动编码器是基于神经网络的无监督训练模型,该智能自动编码器通过非恶意的二进制文件样本集训练得到,因此,智能自动编码器在重建有恶意二进制文件时会触发异常机制,从而可以得到该恶意二进制文件中的恶意代码块和其上下文摘要,最后再根据恶意代码块和其上下文确定对应的目标脚本是否为恶意脚本,这样可以提高恶意脚本的识别效率和识别的准确性。
可选的,根据目标智能自动编码器输出的目标二进制文件中的异常代码块和异常代码块的上下文,确定目标脚本是否为恶意脚本的过程可以为:
将异常代码块和异常代码块的上下文输入至预设的目标恶意行为识别模型中进行恶意类型匹配,若目标恶意行为识别模型输出异常代码块对应的恶意类型,则确定目标脚本为恶意脚本。其中,目标恶意行为识别模型是基于恶意代码块样本集训练得到的,恶意代码块样本集中包括多个恶意代码块以及各恶意代码块对应的恶意类型。
而若目标恶意行为识别模型的输出结果指示异常代码块无对应的恶意类型,则根据预设的恶意行为识别规则进一步识别异常代码块是否为恶意组件,若是,则确定目标脚本为恶意脚本,若不是,则确定目标脚本为无恶意脚本。其中,预设的恶意行为识别规则可以是人工根据恶意脚本的识别规则创建的。需要说明的是,在将异常代码块和异常代码块的上下文输入至预设的目标恶意行为识别模型中之前,还需要先得到训练好的目标恶意行为识别模型,具体过程可以为:获取恶意代码块样本集,将恶意代码块样本集输入至预设的恶意行为识别模型中对恶意代码块样本集进行训练;恶意行为识别模型对输入的恶意代码块样本集中的多个恶意代码块进行聚类处理后进行恶意类型识别,得到目标恶意行为识别模型。
其中,恶意代码块样本集来源于用户打标和恶意行为识别模型运行中产生的数据。以恶意代码块集为元数据,使用恶意行为识别模型先对恶意代码块进行聚类,聚类后形成恶意行为判别算法,后期主要使用恶意行为识别算法进行恶意类型识别,得到恶意代码块对应的至少一个恶意类型以及每个恶意类型对应的相似度。根据恶意类型的相似度可以确定出该恶意代码块的恶意类型。根据已经聚类后的恶意软件样本集采用相似度算法,计算与恶意行为或特征的匹配度,输出与特定恶意类型的相似度。恶意行为识别模型采用人工标注和聚类相结合形式完成训练。恶意行为识别模型采用少量人工在判别过程中的标注,和其往期识别出来的类型进行学习,属于半监督学习模型,既具有较高的准确度又无需花费较大的标注成本。使用半监督方式实现,使用恶意类型判别模型得到的恶意类型相似度和分析人员在完善恶意类型人工识别过程中给出的标记,将恶意行为实时聚类,形成恶意类型与特征集。
可选的,若确定目标脚本为恶意脚本之后,方法还包括:将恶意代码块标记对应的恶意类型后添加至恶意代码块样本集中,得到更新后的恶意代码块样本集,并利用更新后的恶意代码块样本集训练预设的恶意行为识别模型。这样可以不断更新和丰富恶意代码块样本集,并利用实时更新后的恶意代码块样本集来训练预设的恶意行为识别模型可以提高恶意行为识别模型的模型精度。
使用半监督方式实现,使用恶意类型判别模型得到的恶意类型相似度和分析人员在完善恶意类型人工识别过程中给出的标记,将恶意行为实时聚类,形成恶意类型与特征集。
本方案发明了一种可以基于少量标记,即分析人员日常工作就可以标记完成,而无需专门针对大量样本集打标,且符合长尾理论前期需要打标的多后期需要的少的半监督模型和无监督的深度神经网络模型,可智能分析、识别恶意软件、脚本。通过机器与人工识别相结合,既提升了恶意文件识别de准确度又为后续的恶意类型判别模型提供了有效的数据支撑。人工识别/标记符合长尾分布,前期相对重要需要完成一定工作任务,后期工作量急剧减少。采用半监督模型,可将积累的恶意软件样本集中的所有恶意样本进行聚类,如此可进行后续的恶意类型识别模型识别当前的恶意软件或简版的类型(如拒绝服务功能、垃圾邮件功能、键盘记录功能、命令和控制(C&C)功能、利用远程服务等)。
本申请实施例提供的恶意脚本的识别方法,恶意识别过程更高效。一般的恶意软件和脚本可使用模型自动化完成,一般不需要人工参与(前期需专业人工少量参与。打标服从长尾分布理论,后期极少需要人工参与),节省大量人力成本。恶意识别更高准确。整个过程采用自动化实现,高效率的同时,识别过程不会受人为偶然因素影响,随着识别数量的增加,准确率稳步提升。恶意识别结果可量化。恶意识别的结果采用相似度分析,可得到有效数值体现恶意类型的相似度,使用相似度值可以辅助后续决策。同族、变种病毒可高效检测。针对同族或变种病毒、攻击可计算出相似度,无需人工再介入。充分利用历史经验的价值。将恶意软件、脚本的标记内容融入恶意识别自动化流程中,充分利用了历史经验和历史数据。无需大量人工标注,实现成本逐降。本方案中的智能自动编码器采用无监督学习、恶意行为聚类模型采用半监督机器学习(仅需极少量人工参与),成本边际递减。跨平台。本方法基于二进制代码块实现,不依赖于特定平台。
如图2所示,本申请实施例提供了一种恶意脚本的识别装置,装置包括:
获取模块11,用于获取待检测的目标脚本,并将目标脚本转换为二进制文件,得到目标二进制文件;
处理模块12,用于将目标二进制文件输入至预设的目标智能自动编码器中对目标二进制文件进行文件重构,目标智能自动编码器是基于样本二进制文件集训练得到的,样本二进制文件集中包括多个由无恶意脚本转换的二进制文件,目标智能自动编码器是基于深度神经网络的无监督机器学习模型;
确定模块13,用于若智能自动编码器模型的输出结果指示目标二进制文件重构失败,则根据目标智能自动编码器输出的目标二进制文件中的异常代码块和异常代码块的上下文,确定目标脚本是否为恶意脚本,上下文用于指示目标二进制文件中与异常代码块相关联的代码块。
在一个实施例中,确定模块13还用于:若智能自动编码器模型的输出结果指示目标二进制文件重构成功,则确定目标脚本为无恶意脚本。
在一个实施例中,确定模块13具体用于:将异常代码块和异常代码块的上下文输入至预设的目标恶意行为识别模型中进行恶意类型匹配;
若目标恶意行为识别模型的输出结果指示异常代码块对应的恶意类型,则确定目标脚本为恶意脚本,其中,目标恶意行为识别模型是基于恶意代码块样本集训练得到的,恶意代码块样本集中包括多个恶意代码块以及各恶意代码块对应的恶意类型。
在一个实施例中,确定模块13还用于:若目标恶意行为识别模型的输出结果指示异常代码块无对应的恶意类型,则根据预设的恶意行为识别规则识别异常代码块是否为恶意组件,若是,则确定目标脚本为恶意脚本。
在一个实施例中,装置还包括:训练模块14,训练模块14用于:获取样本二进制文件集,利用样本二进制文件集训练预设的智能自动编码器,得到目标智能自动编码器。
在一个实施例中,训练模块14还用于:获取待检测的目标脚本之前,方法还包括:
获取恶意代码块样本集,将恶意代码块样本集输入至预设的恶意行为识别模型中对恶意代码块样本集进行训练;恶意行为识别模型对输入的恶意代码块样本集中的多个恶意代码块进行聚类处理后进行恶意类型识别,得到目标恶意行为识别模型。
在一个实施例中,训练模块14还用于:将恶意代码块标记对应的恶意类型后添加至恶意代码块样本集中,得到更新后的恶意代码块样本集,并利用更新后的恶意代码块样本集训练预设的恶意行为识别模型。
本实施例提供的恶意脚本的识别装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再多加赘述。关于恶意脚本的识别装置的具体限定可以参见上文中对于恶意脚本的识别方法的限定,在此不再赘述。
本申请实施例提供的恶意脚本的识别方法的执行主体可以为电子设备,该电子设备可以为计算机设备、终端设备、服务器或服务器集群,本申请实施例对此不作具体限定。
图3为本申请实施例提供的一种电子设备的内部结构示意图。如图3所示,该电子设备包括通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以上各个实施例提供的恶意脚本的识别方法的步骤。内存储器为非易失性存储介质中的操作系统和计算机程序提供高速缓存的运行环境。
本领域技术人员可以理解,图3中示出电子设备的内部结构图,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请另一实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如本申请实施例的恶意脚本的识别方法的步骤。
本申请另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述方法实施例所示的方法流程中恶意脚本的识别方法执行的各个步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种恶意脚本的识别方法,其特征在于,所述方法包括:
获取待检测的目标脚本,并将所述目标脚本转换为二进制文件,得到目标二进制文件;
将所述目标二进制文件输入至预设的目标智能自动编码器中对所述目标二进制文件进行文件重构,所述目标智能自动编码器是基于样本二进制文件集训练得到的,所述样本二进制文件集中包括多个由无恶意脚本转换的二进制文件,所述目标智能自动编码器是基于深度神经网络的无监督机器学习模型;
若所述智能自动编码器的输出结果指示所述目标二进制文件重构失败,则根据所述目标智能自动编码器输出的所述目标二进制文件中的异常代码块和所述异常代码块的上下文,确定所述目标脚本是否为恶意脚本,所述上下文用于指示所述目标二进制文件中与所述异常代码块相关联的代码块。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标二进制文件输入至预设的目标智能自动编码器中对所述目标二进制文件进行文件重构之后,所述方法还包括:
若所述智能自动编码器模型的输出结果指示所述目标二进制文件重构成功,则确定所述目标脚本为无恶意脚本。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标智能自动编码器输出的所述目标二进制文件中的异常代码块和所述异常代码块的上下文,确定所述目标脚本是否为恶意脚本,包括:
将所述异常代码块和所述异常代码块的上下文输入至预设的目标恶意行为识别模型中进行恶意类型匹配;
若所述目标恶意行为识别模型的输出结果指示所述异常代码块对应的恶意类型,则确定所述目标脚本为恶意脚本,其中,所述目标恶意行为识别模型是基于恶意代码块样本集训练得到的,所述恶意代码块样本集中包括多个恶意代码块以及各所述恶意代码块对应的恶意类型。
4.根据权利要求3所述的方法,其特征在于,所述将所述异常代码块和所述异常代码块的上下文输入至预设的目标恶意行为识别模型中进行恶意类型匹配之后,所述方法还包括:
若所述目标恶意行为识别模型的输出结果指示所述异常代码块无对应的恶意类型,则根据预设的恶意行为识别规则识别所述异常代码块是否为恶意组件,若是,则确定所述目标脚本为恶意脚本。
5.根据权利要求1所述的方法,其特征在于,所述获取待检测的目标脚本之前,所述方法还包括:
获取所述样本二进制文件集,利用所述样本二进制文件集训练预设的智能自动编码器,得到所述目标智能自动编码器。
6.根据权利要求3所述的方法,其特征在于,所述获取待检测的目标脚本之前,所述方法还包括:
获取所述恶意代码块样本集,将所述恶意代码块样本集输入至预设的恶意行为识别模型中对所述恶意代码块样本集进行训练;
所述恶意行为识别模型对输入的恶意代码块样本集中的多个恶意代码块进行聚类处理后进行恶意类型识别,得到所述目标恶意行为识别模型。
7.根据权利要求6所述的方法,其特征在于,所述确定所述目标脚本为恶意脚本之后,所述方法还包括:
将所述恶意代码块标记对应的恶意类型后添加至所述恶意代码块样本集中,得到更新后的恶意代码块样本集,并利用更新后的恶意代码块样本集训练所述预设的恶意行为识别模型。
8.一种恶意脚本的识别装置,其特征在于,所述装置包括:
获取模块,用于获取待检测的目标脚本,并将所述目标脚本转换为二进制文件,得到目标二进制文件;
处理模块,用于将所述目标二进制文件输入至预设的目标智能自动编码器中对所述目标二进制文件进行文件重构,所述目标智能自动编码器是基于样本二进制文件集训练得到的,所述样本二进制文件集中包括多个由无恶意脚本转换的二进制文件,所述目标智能自动编码器是基于深度神经网络的无监督机器学习模型;
确定模块,用于若所述智能自动编码器模型的输出结果指示所述目标二进制文件重构失败,则根据所述目标智能自动编码器输出的所述目标二进制文件中的异常代码块和所述异常代码块的上下文,确定所述目标脚本是否为恶意脚本,所述上下文用于指示所述目标二进制文件中与所述异常代码块相关联的代码块。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现权利要求1-7任一项所述的恶意脚本的识别方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的恶意脚本的识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310650745.1A CN116933256A (zh) | 2023-06-02 | 2023-06-02 | 一种恶意脚本的识别方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310650745.1A CN116933256A (zh) | 2023-06-02 | 2023-06-02 | 一种恶意脚本的识别方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116933256A true CN116933256A (zh) | 2023-10-24 |
Family
ID=88385335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310650745.1A Pending CN116933256A (zh) | 2023-06-02 | 2023-06-02 | 一种恶意脚本的识别方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116933256A (zh) |
-
2023
- 2023-06-02 CN CN202310650745.1A patent/CN116933256A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321371B (zh) | 日志数据异常检测方法、装置、终端及介质 | |
Bodik et al. | Fingerprinting the datacenter: automated classification of performance crises | |
CN112866023B (zh) | 网络检测、模型训练方法、装置、设备及存储介质 | |
Cabau et al. | Malware classification based on dynamic behavior | |
CN113935033A (zh) | 特征融合的恶意代码家族分类方法、装置和存储介质 | |
CN111222137A (zh) | 一种程序分类模型训练方法、程序分类方法及装置 | |
CN111898129B (zh) | 基于Two-Head异常检测模型的恶意代码样本筛选器及方法 | |
CN117094184B (zh) | 基于内网平台的风险预测模型的建模方法、系统及介质 | |
CN112131249A (zh) | 一种攻击意图识别方法及装置 | |
CN112839014A (zh) | 建立识别异常访问者模型的方法、系统、设备及介质 | |
CN115100739B (zh) | 人机行为检测方法、系统、终端设备及存储介质 | |
CN113723555A (zh) | 异常数据的检测方法及装置、存储介质、终端 | |
CN114491282B (zh) | 一种基于云计算的异常用户行为分析方法及系统 | |
CN108959922B (zh) | 一种基于贝叶斯网的恶意文档检测方法及装置 | |
CN117370548A (zh) | 用户行为风险识别方法、装置、电子设备及介质 | |
CN115204322B (zh) | 行为链路异常识别方法和装置 | |
CN115017015B (zh) | 一种边缘计算环境下程序异常行为检测方法及系统 | |
CN116933256A (zh) | 一种恶意脚本的识别方法、装置、设备及存储介质 | |
CN112163217B (zh) | 恶意软件变种识别方法、装置、设备及计算机存储介质 | |
CN109508541B (zh) | 一种基于语义分析的可信行为库生成方法 | |
CN113988226A (zh) | 数据脱敏有效性验证方法、装置、计算机设备及存储介质 | |
CN113312619A (zh) | 基于小样本学习的恶意进程检测方法、装置、电子设备及存储介质 | |
CN112597498A (zh) | 一种webshell的检测方法、系统、装置及可读存储介质 | |
CN111695117A (zh) | 一种webshell脚本检测方法及装置 | |
WO2020157591A1 (en) | Exploit kit detection |
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 |