CN110427755A - 一种识别脚本文件的方法及装置 - Google Patents
一种识别脚本文件的方法及装置 Download PDFInfo
- Publication number
- CN110427755A CN110427755A CN201811202216.0A CN201811202216A CN110427755A CN 110427755 A CN110427755 A CN 110427755A CN 201811202216 A CN201811202216 A CN 201811202216A CN 110427755 A CN110427755 A CN 110427755A
- Authority
- CN
- China
- Prior art keywords
- script file
- feature
- sample
- word combination
- words
- 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
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
-
- 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
- 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)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种识别脚本文件的方法及装置,涉及网络安全技术领域,方法包括:获取多个标记有标签的样本脚本文件;将每一样本脚本文件转换为机器指令序列;从样本脚本文件的机器指令序列中提取特征词组合,得到样本脚本文件的第一特征集合;对于第一特征集合,根据预设的词频特征算法,分别计算第一特征集合中各特征词组合的词频特征,得到样本脚本文件的特征向量;根据每一样本脚本文件的特征向量和每一样本脚本文件的标签训练脚本识别模型;当获取到待识别脚本文件时,利用脚本识别模型识别待识别脚本文件,确定待识别脚本文件是否为恶意脚本文件。采用本申请可以提高识别webshell文件的准确度。
Description
技术领域
本申请涉及网络安全技术领域,特别是涉及一种识别脚本文件的方法及装置。
背景技术
webshell是以ASP(Active Server Pages,活动服务器页面)、PHP(HypertextPreprocessor,超文本预处理器)、JSP(Java Server Pages,java服务器页面)、python或者CGI(Common Gateway Interface,公共网关接口)等网页脚本文件形式存在的一种命令执行环境,也可以称作为一种网页后门。Webshell常常被入侵者利用获取网站服务器的操作权限,黑客在入侵某网站的服务器后,通常会将webshell文件与网站服务器web目录下正常的网页文件混在一起,然后使用浏览器来访问webshell文件,得到webshell命令执行环境,从而取得对服务器的某种程度上的操作权限,以达到控制服务器的目的。因此,为了维护网站服务器的安全性,需要对webshell文件进行检测,并及时清除webshell文件。
现有技术中,检测webshell文件处理过程如下:技术人员会预先设置特征库,该特征库包含多种用于识别恶意脚本文件(即webshell文件)的特征,比如危险函数、危险文件后缀、敏感文件名和内容关键字等信息。服务器可以将待识别的脚本文件包含的文件内容,与特征库中的特征项进行匹配,然后根据匹配结果确定该脚本文件是否为恶意脚本。例如,如果与文件内容相匹配的特征项的数目大于预设阈值,则判定该脚本文件为恶意脚本,或者,某一特征项被匹配的匹配次数超过预设阈值,则判定该脚本文件为恶意脚本。
然而,现有技术中的特征库是在先由技术人员统一设定,特征库包括的特征不够全面且有效性较差,这使得现有webshell文件检测方式的准确度较低。
发明内容
本申请实施例的目的在于提供一种识别脚本文件的方法及装置,可以提高webshell文件检测方式的准确度。具体技术方案如下:
第一方面,提供了一种识别脚本文件的方法,所述方法包括:
获取多个标记有标签的样本脚本文件,所述标签包括用于指示网页请求为恶意网页请求的标签或用于指示网页请求为非恶意网页请求的标签;
将每一样本脚本文件转换为机器指令序列;
对于每一样本脚本文件,利用预设的特征提取规则,从所述样本脚本文件的机器指令序列中提取特征词组合,得到所述样本脚本文件的第一特征集合;
对于第一特征集合,根据预设的词频特征算法,分别计算所述第一特征集合中各特征词组合的词频特征,并根据所述第一特征集合中各特征词组合的词频特征,确定所述样本脚本文件的特征向量;
基于机器学习算法,根据每一样本脚本文件的特征向量和每一样本脚本文件的标签训练脚本识别模型;
当获取到待识别脚本文件时,利用所述脚本识别模型识别所述待识别脚本文件,确定所述待识别脚本文件是否为恶意脚本文件。
可选的,所述根据预设的词频特征算法,分别计算所述第一特征集合中各特征词组合的词频特征,包括:
针对所述第一特征集合包含的每个特征词组合,确定该特征词组合在所述样本脚本文件中的出现次数,与所述样本脚本文件包含的特征词组合的总数目的第一比值;
在预设的语料库中,确定包含该特征词组合的脚本文件的第一数目,并确定所述语料库包含的脚本文件的总数目与所述第一数目的第二比值,其中,所述语料库包含多个非恶意脚本文件的机器指令序列和多个恶意脚本文件的机器指令序列;
根据所述第一比值和所述第二比值,计算该特征词组合的词频特征。
可选的,所述根据所述第一比值和所述第二比值,计算该特征词组合的词频特征,包括:
利用以下公式确定所述第一比值:
其中,nw为特征词组合w在样本脚本文件中的出现次数,N为样本脚本文件包含的特征词组合的总数目;
在预设的语料库中,确定包含该特征词组合w的脚本文件的第一数目,并确定语料库包含的脚本文件的总数目与第一数目的第二比值;
利用以下公式确定该特征词组合w的词频特征:
(TF-IDF)w=TFw*IDFw;
其中,(TF-IDF)w为特征词组合w的词频特征,TFw表示特征词组合w
可选的,所述方法还包括:
针对每一样本脚本文件,利用预设的基础特征提取算法,提取该样本脚本文件的基础特征,所述基础特征包括信息熵、最长单词长度、重合指数和压缩比中的一种或多种;
所述根据所述第一特征集合中各特征词组合的词频特征,确定所述样本脚本文件的特征向量,包括:
根据所述样本脚本文件的基础特征和所述第一特征集合中各特征词组合的词频特征,构成所述样本脚本文件的特征向量。
可选的,所述根据所述第一特征集合中各特征词组合的词频特征,确定所述样本脚本文件的特征向量,包括:
将所述第一特征集合中各特征词组合的词频特征,构成所述样本脚本文件的特征向量。
第二方面,提供了一种识别脚本文件的方法,所述方法包括:
获取第一脚本文件;
将所述第一脚本文件转换为机器指令序列;
利用预设的特征提取规则,从所述第一脚本文件的机器指令序列中提取特征词组合,得到所述第一脚本文件的第一特征集合;
根据预设的词频特征算法,分别计算所述第一脚本文件的第一特征集合中各特征词组合的词频特征,并根据所述第一脚本文件的第一特征集合中各特征词组合的词频特征,确定所述第一脚本文件的特征向量;
将所述第一脚本文件的特征向量输入至脚本识别模型中,得到所述第一脚本文件的识别结果,所述脚本识别模型根据样本脚本文件的特征向量和机器学习算法训练得到,所述样本脚本文件的特征向量根据所述样本脚本文件的词频特征确定。
可选的,所述根据预设的词频特征算法,分别计算所述第一脚本文件的第一特征集合包含的各特征词组合的词频特征,包括:
针对所述第一脚本文件的第一特征集合包含的每个特征词组合,确定该特征词组合在所述第一脚本文件中的出现次数,与所述第一脚本文件包含的特征词组合的总数目的第一比值;
在预设的语料库中,确定包含该特征词组合的脚本文件的第一数目,并确定所述语料库包含的脚本文件的总数目与所述第一数目的第二比值,其中,所述语料库包含多个非恶意脚本文件的机器指令序列和多个恶意脚本文件的机器指令序列;
根据所述第一比值和所述第二比值,计算该特征词组合的词频特征。
可选的,所述方法还包括:
利用预设的基础特征提取算法,提取所述第一脚本文件的基础特征,所述基础特征包括信息熵、最长单词长度、重合指数和压缩比中的一种或多种;
所述根据所述第一脚本文件的第一特征集合中各特征词组合的词频特征,确定所述第一脚本文件的特征向量,包括:
根据所述第一脚本文件的基础特征和所述第一脚本文件的第一特征集合中各特征词组合的词频特征,构成所述第一脚本文件的特征向量。
可选的,所述根据所述第一脚本文件的第一特征集合中各特征词组合的词频特征,确定所述第一脚本文件的特征向量,包括:
将所述第一脚本文件的第一特征集合中各特征词组合的词频特征,构成所述第一脚本文件的特征向量。
第三方面,提供了一种识别脚本文件的装置,所述装置包括:
获取模块,用于获取多个标记有标签的样本脚本文件,所述标签包括用于指示网页请求为恶意网页请求的标签或用于指示网页请求为非恶意网页请求的标签;
转换模块,用于将每一样本脚本文件转换为机器指令序列;
第一提取模块,用于对于每一样本脚本文件,利用预设的特征提取规则,从所述样本脚本文件的机器指令序列中提取特征词组合,得到所述样本脚本文件的第一特征集合;
第一确定模块,用于对于第一特征集合,根据预设的词频特征算法,分别计算所述第一特征集合中各特征词组合的词频特征,并根据所述第一特征集合中各特征词组合的词频特征,确定所述样本脚本文件的特征向量;
训练模块,用于基于机器学习算法,根据每一样本脚本文件的特征向量和每一样本脚本文件的标签训练脚本识别模型;
第二确定模块,用于当获取到待识别脚本文件时,利用所述脚本识别模型识别所述待识别脚本文件,确定所述待识别脚本文件是否为恶意脚本文件。
可选的,所述第一确定模块,具体用于:
针对所述第一特征集合包含的每个特征词组合,确定该特征词组合在所述样本脚本文件中的出现次数,与所述样本脚本文件包含的特征词组合的总数目的第一比值;
在预设的语料库中,确定包含该特征词组合的脚本文件的第一数目,并确定所述语料库包含的脚本文件的总数目与所述第一数目的第二比值,其中,所述语料库包含多个非恶意脚本文件的机器指令序列和多个恶意脚本文件的机器指令序列;
根据所述第一比值和所述第二比值,计算该特征词组合的词频特征。
可选的,所述第一确定模块,具体用于:
利用以下公式确定所述第一比值:
其中,nw为特征词组合w在样本脚本文件中的出现次数,N为样本脚本文件包含的特征词组合的总数目;
在预设的语料库中,确定包含该特征词组合w的脚本文件的第一数目,并确定语料库包含的脚本文件的总数目与第一数目的第二比值;
利用以下公式确定该特征词组合w的词频特征:
(TF-IDF)w=TFw*IDFw;
其中,(TF-IDF)w为特征词组合w的词频特征,TFw表示特征词组合w
可选的,所述装置还包括:
第二提取模块,用于针对每一样本脚本文件,利用预设的基础特征提取算法,提取该样本脚本文件的基础特征,所述基础特征包括信息熵、最长单词长度、重合指数和压缩比中的一种或多种;
所述第一确定模块,具体用于:
根据所述样本脚本文件的基础特征和所述第一特征集合中各特征词组合的词频特征,构成所述样本脚本文件的特征向量。
可选的,所述第一确定模块,具体用于:
将所述第一特征集合中各特征词组合的词频特征,构成所述样本脚本文件的特征向量。
第四方面,提供了一种识别脚本文件的装置,所述装置包括:
获取模块,用于获取第一脚本文件;
转换模块,用于将所述第一脚本文件转换为机器指令序列;
第一提取模块,用于利用预设的特征提取规则,从所述第一脚本文件的机器指令序列中提取特征词组合,得到所述第一脚本文件的第一特征集合;
确定模块,用于根据预设的词频特征算法,分别计算所述第一脚本文件的第一特征集合中各特征词组合的词频特征,并根据所述第一脚本文件的第一特征集合中各特征词组合的词频特征,确定所述第一脚本文件的特征向量;
输入模块,用于将所述第一脚本文件的特征向量输入至脚本识别模型中,得到所述第一脚本文件的识别结果,所述脚本识别模型根据样本脚本文件的特征向量和机器学习算法训练得到,所述样本脚本文件的特征向量根据所述样本脚本文件的词频特征确定。
可选的,所述确定模块,具体用于:
针对所述第一脚本文件的第一特征集合包含的每个特征词组合,确定该特征词组合在所述第一脚本文件中的出现次数,与所述第一脚本文件包含的特征词组合的总数目的第一比值;
在预设的语料库中,确定包含该特征词组合的脚本文件的第一数目,并确定所述语料库包含的脚本文件的总数目与所述第一数目的第二比值,其中,所述语料库包含多个非恶意脚本文件的机器指令序列和多个恶意脚本文件的机器指令序列;
根据所述第一比值和所述第二比值,计算该特征词组合的词频特征。
可选的,所述装置还包括:
第二提取模块,用于利用预设的基础特征提取算法,提取所述第一脚本文件的基础特征,所述基础特征包括信息熵、最长单词长度、重合指数和压缩比中的一种或多种;
所述确定模块,具体用于:
根据所述第一脚本文件的基础特征和所述第一脚本文件的第一特征集合中各特征词组合的词频特征,构成所述第一脚本文件的特征向量。
可选的,所述确定模块,具体用于:
将所述第一脚本文件的第一特征集合中各特征词组合的词频特征,构成所述第一脚本文件的特征向量。
第五方面,提供了一种网络设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面或第二方面所述的识别脚本文件的方法步骤。
第六方面,提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述第一方面或第二方面所述的识别脚本文件的方法步骤。
第七方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的识别脚本文件的方法。
基于本申请实施例,将样本脚本文件转换为机器可以理解的机器指令序列,通过分析该机器指令序列的词频特征,来生成该样本脚本文件的特征向量,然后通过机器学习算法和样本脚本文件的特征向量来训练脚本识别模型。由于脚本文件经过加密或隐藏调用后,虽然其文件代码会发生较大变化、不具有规律性,但是其转换的机器指令序列的词频特征却仍具有一定的规律性,基于此,可以依据词频特征对恶意脚本文件和非恶意脚本文件进行区分。本方案中,根据机器指令序列的词频特征生成特征向量,然后训练脚本识别模型,这样,训练出的脚本识别模型能够识别出加密和隐藏调用方法的webshell,弥补了特征库检测的不足,具有自适应性强,识别率高的优点,并且,通过脚本识别模型来识别脚本文件,摆脱了传统方法依赖于特征库的限制(即不需要技术人员设定特征库),计算复杂度低,识别准确度较高,满足了当前webshell检测领域的工程应用需要。当然,实施本申请的任一产品或方法并不一定需要同时达到以上的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种识别脚本文件的方法的流程图;
图2为本申请实施例提供的一种训练脚本识别模型的方法示例的流程图;
图3为本申请实施例提供的一种识别脚本文件的方法的流程图;
图4为本申请实施例提供的一种识别脚本文件的方法示例的流程图;
图5为本申请实施例提供的一种识别脚本文件的装置的结构示意图;
图6为本申请实施例提供的一种识别脚本文件的装置的结构示意图;
图7为本申请实施例提供的一种识别脚本文件的装置的结构示意图;
图8为本申请实施例提供的一种识别脚本文件的装置的结构示意图;
图9为本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种识别脚本文件的方法,该方法可以应用于网络设备,该网络设备可以某网站的后台服务器,或者也可以是某网站的安全设备。该网络设备可以用于识别webshell文件,也即,可以用于识别恶意脚本文件。
如图1所示,该方法的处理过程可以如下。
步骤101,获取多个标记有标签的样本脚本文件。
其中,标签包括用于指示网页请求为恶意网页请求的标签或用于指示网页请求为非恶意网页请求的标签。
在本申请实施例中,网络设备可以获取技术人员输入或采集设备采集的多个样本脚本文件。样本脚本文件可以包括非恶意脚本文件、恶意脚本文件。其中,恶意脚本文件样本可以包括大马的脚本文件、小马的脚本文件和一句话木马的脚本文件等。技术人员可以针对每个样本脚本文件,标记该样本脚本文件的标签,该标签可以包括用于指示网页请求为恶意网页请求的标签或用于指示网页请求为非恶意网页请求的标签,以便对非恶意脚本文件和恶意脚本文件进行区分。
步骤102,将每一样本脚本文件转换为机器指令序列。
在本申请实施例中,考虑到很多webshell文件会进行加密和隐藏函数调用,因此,网络设备会将样本脚本文件编译转化为机器可以理解的操作码(即机器指令序列)。网络设备中可以预先存储有文件编译算法,该文件编译算法可以采用现有技术中的文件编译算法。由于不同类型的脚本文件,需要采用不同的文件编译算法进行转换,因此,网络设备中还可以存储文件类型和文件编译算法的对应关系。
针对每一样本脚本文件,网络设备获取到样本脚本文件后,可以识别该样本脚本文件的文件类型,进而根据预先存储的文件类型和文件编译算法的对应关系,确定样本脚本文件的文件类型对应的文件编译算法,然后通过确定出的文件编译算法,将样本脚本文件转换为机器指令序列。例如,如果样本脚本文件为PHP类型的文件,则采用VLD(VulcanLogic Dumper,一种在Zend引擎中,以挂钩的方式实现的用于输出PHP脚本生成的中间代码(执行单元)的扩展),将PHP类型的文件转换为Opcode类型的机器指令序列。又如,如果样本脚本文件为ASP类型的文件,则采用JSPC(Java Server Pagescompiler,java服务器页面编译器),将ASP类型的文件转换为Bytecode类型的机器指令序列。这样,可以将技术人员编写的代码翻译为机器可以理解的指令(即机器指令序列)。
例如,某webshell的原始文件中的代码为:
<?php
$new_array=array_map("ass\x65rt",(array)$_REQUEST['op']);
?>
其转换后的Opcode序列为:SEND_VAL FETCH_R FETCH_DIM_R CAST SEND_VAL DO_FCALL ASSIGN RETURN。
步骤103,对于每一样本脚本文件,利用预设的特征提取规则,从该样本脚本文件的机器指令序列中提取特征词组合,得到样本脚本文件的第一特征集合。
在本申请实施例中,网络设备中可以预先存储特征提取规则。例如,可以采用Ngram词组提取算法得到Ngram集合(即特征集合)。基于该特征提取规则,能够从机器指令序列中,提取包含预设数目(即N)个连续词的词组合。
其中,N的取值可以是任意设置的,比如2、4、6或8等,本申请实施例不做限定。另外,本申请实施例中,可以采用一种或多种特征提取规则进行特征提取,相应的,第一特征集合的数目可以为一个或多个。
以机器指令序列SEND_VAL FETCH_R FETCH_DIM_R为例,其中,字符“_”和空格字符为两个单词之间的分隔字符,采用2gram提取得到特征词组合为SEND VAL、VAL FETCH、FETCHR、R FETCH、FETCHDIM和DIMR;采用3gram提取得到特征词组合为SENDVAL FETCH、VALFETCHR、FETCHR FETCH、R FETCHDIM和FETCHDIMR。
对于每一样本脚本文件,网络设备可以利用预设的特征提取规则,从该样本脚本文件的机器指令序列中提取特征词组合,然后,网络设备会对提取出的特征词组合进行去重处理,得到该样本脚本文件的第一特征集合。
对于特征提取规则为多个的情况,网络设备将样本脚本文件转换为机器指令序列后,可以分别根据多个特征提取规则,从机器指令序列中提取特征词组合,得到该样本脚本文件的多个第一特征集合。
步骤104,对于样本脚本文件的第一特征集合,根据预设的词频特征算法,分别计算样本脚本文件的第一特征集合中各特征词组合的词频特征,并根据样本脚本文件的第一特征集合中各特征词组合的词频特征,确定样本脚本文件的特征向量。
在本申请实施例中,网络设备中可以预先存储有词频特征算法,该词频特征算法可以用于计算某一单词或某一特征词组合的词频特征,本申请实施例采用TF-IDF(termfrequency–inverse document frequency,词频-逆文本频率指数)计算词频特征,具体的计算方式后续会进行详细说明。
针对每个样本脚本文件,网络设备获取到该样本脚本文件的第一特征集合后,针对样本脚本文件的第一特征集合中的每个特征词组合,网络设备可以根据预设的词频特征算法,计算该特征词组合对应的词频特征。这样,网络设备可以确定该样本脚本文件的第一特征集合包含的每个特征词组合对应的词频特征,得到该样本脚本文件的词频特征集合。然后,网络设备可以根据该样本脚本文件的词频特征集合,确定该样本脚本文件的特征向量。对于一个样本脚本文件有多个第一特征集合的情况,相应的,网络设备会根据多个第一特征集合,确定出多个词频特征集合,然后根据多个词频特征集合确定该样本脚本文件的特征向量,具体的处理过程后续会进行详细说明。
这样,采用多种特征提取规则提取多个特征集合,组成脚本文件的特征向量,可以增强识别脚本文件的健壮性,提高识别的准确度。
可选的,采用TF-IDF计算词频特征的具体处理过程如下。
步骤一、针对样本脚本文件的第一特征集合包含的每个特征词组合,确定该特征词组合在样本脚本文件中的出现次数,与样本脚本文件包含的特征词组合的总数目的第一比值。
在本申请实施例中,对于每个样本脚本文件,网络设备获取到该样本脚本文件的样本脚本文件的第一特征集合后,针对该样本脚本文件的第一特征集合中的每个特征词组合,网络设备可以统计该特征词组合在该样本脚本文件中的出现次数。另外,网络设备还可以统计该样本脚本文件包含的特征词组合的总数目,进而用该特征词组合的出现次数,除以该样本脚本文件包含的特征词组合的总数目,得到第一比值。具体的计算公式如下:
其中,nw为特征词组合w在该样本脚本文件中的出现次数,N为该样本脚本文件包含的特征词组合的总数目。
以机器指令序列SEND_VAL FETCH_R FETCH_DIM_R为例,采用2gram提取得到特征词组合为SENDVAL、VAL FETCH、FETCHR、R FETCH、FETCHDIM和DIMR,特征词组合SENDVAL的出现次数为1,该样本脚本文件包含的特征词组合的总数目为6,则第一比值为1/6。
步骤二,在预设的语料库中,确定包含该特征词组合的脚本文件的第一数目,并确定语料库包含的脚本文件的总数目与第一数目的第二比值。
其中,语料库包含多个非恶意脚本文件的机器指令序列和多个恶意脚本文件的机器指令序列。
在本申请实施例中,非恶意脚本文件的机器指令序列与恶意脚本文件的机器指令序列会存在一些明显的不同,因此,本申请实施例在得到海量正负例样本机器指令序列的基础上构建特征工程。网络设备中会预先设置有语料库,语料库可以包含多个非恶意脚本文件的机器指令序列和多个恶意脚本文件的机器指令序列。考虑恶意脚本文件一般不会通过一个机器指令序列就能辨别出,因此,在本申请中综合考虑了大马(通常指代码量较大,功能齐全,拥有交互页面的多功能木马)的脚本文件、小马(通常指代码量适中、功能单一并配有简单交互页面的小型木马,可执行例如上传文件、数据打包、拖库等单一操作,达到特定目的)的脚本文件、一句话木马(通常指一行或者几行代码构成的木马,配合其他工具可以实现对目标主机完成的控制)的脚本文件等。也即,语料库的恶意脚本文件的机器指令序列,包括大马的脚本文件的机器指令序列、小马的脚本文件的机器指令序列、一句话木马的脚本文件的机器指令序列等。
针对样本脚本文件的第一特征集合中的每个特征词组合,网络设备可以根据该特征词组合在语料库中进行匹配查找,从而确定对应的机器指令序列包含该特征词组合的脚本文件,进而统计包含该特征词组合的脚本文件的数目(即第一数目),另外,网络设备还可以实时统计当前语料库包含脚本文件的总数目,然后计算该总数目与第一数目的比值(即第二比值)。
步骤三,根据第一比值和第二比值,计算该特征词组合的词频特征。
在本申请实施例中,网络设备计算出第一比值和第二比值后,可以根据第一比值和第二比值,计算该特征词组合对应的词频特征。具体的计算公式可以如下:
(TF-IDF)w=TFw*IDFw
其中,(TF-IDF)w为特征词组合w的词频特征,TFw表示特征词组合w在样本脚本文件中的出现概率;N1为语料库包含的脚本文件的总数目,N2为包含该特征词组合w的脚本文件的第一数目。
IDFw表示特征词组合w的文件区分能力,如果包含特征词组合w的脚本文件越少,则IDFw的值越大。反之,如果包含特征词组合w的脚本文件越多,则IDF w的值越小。
某一脚本文件(比如样本脚本文件)内,如果该脚本文件中某一特征词组合在该脚本文件中的出现概率较高(比如出现概率超过预设阈值,或为出现概率最高的特征词组合),并且,该特征词组合在整个语料库中的出现概率较低(比如出现概率低于预设阈值),则针对该特征词组合,会计算出较大的TF-IDF。因此,TF-IDF通常用于过滤掉常见的词语,保留重要的词语。需要说明的是,上述IDFw算式中,分母加1为可选方式,目的是为了避免分母为0,当然还可以加其他正数,例如加2、1/3。
本申请实施例中,网络设备可以根据样本脚本文件的第一特征集合包含的各特征词组合对应的词频特征,确定样本脚本文件对应的特征向量。具体的实现方式可以是多种多样的,本申请实施例提供了两种可行的实现方式,具体如下。
方式一、网络设备将样本脚本文件的第一特征集合包含的各特征词组合的词频特征,构成样本脚本文件对应的特征向量。
在本申请实施例中,网络设备可以将样本脚本文件的第一特征集合包含的各特征词组合的词频特征,构成样本脚本文件对应的特征向量。例如,样本脚本文件的第一特征集合包括特征词组合1、特征词组合2、特征词组合3,对应的词频特征为(TF-IDF)1、(TF-IDF)2、(TF-IDF)3,则样本脚本文件对应的特征向量为((TF-IDF)1,(TF-IDF)2,(TF-IDF)3)。对于样本脚本文件的第一特征集合为多个的情况,相应的,网络设备能够得到多个词频特征集合,网络设备可以将每个词频特征集合,作为特征向量的一个维度,从而得到特征向量。例如,基于2gram提取出特征集合1,对应的词频特征为(TF-IDF)11、(TF-IDF)12、(TF-IDF)13,基于4gram提取出特征集合2,对应的词频特征为(TF-IDF)21、(TF-IDF)22、(TF-IDF)23,则特征向量A=(a1,a2),其中,a1=((TF-IDF)11、(TF-IDF)12、(TF-IDF)13),a2=((TF-IDF)21、(TF-IDF)22、(TF-IDF)23)。
方式二,网络设备还可以计算样本脚本文件的基础特征,根据词频特征和基础特征,确定样本脚本文件对应的特征向量。具体的处理方式为:针对每一样本脚本文件,利用预设的基础特征提取算法,提取该样本脚本文件的基础特征,根据样本脚本文件的基础特征和样本脚本文件的第一特征集合中各特征词组合的词频特征,构成样本脚本文件的特征向量。
其中,基础特征包括信息熵、最长单词长度、重合指数和压缩比中的一种或多种。
在本申请实施例中,网络设备中还可以预先存储基础特征提取算法,基础特征可以包括信息熵、最长单词长度、重合指数和压缩比中的一种或多种,另外,基础特征还可以包括现有技术中的其他特征,本申请实施例不做限定。网络设备可以根据样本脚本文件的代码(即原始代码),计算信息熵、最长单词长度、重合指数和压缩比等基础特征,然后,将样本脚本文件的基础特征和样本脚本文件的第一特征集合包含的各特征词组合对应的词频特征,构成样本脚本文件对应的特征向量,该特征向量为多维向量。例如,对于最长单词长度,可以遍历样本脚本文件中包含所有的单词,进而确定样本脚本文件包含字符数最多的单词,即最长单词,最长单词包含的字符总数目,即最长单词长度。又如,对于压缩比,可以对样本脚本文件进行压缩处理,确定样本脚本文件压缩后的文件大小,然后用样本脚本文件压缩后的文件大小除以样本脚本文件的原始大小,得到压缩比。上述信息熵、最长单词长度、重合指数和压缩比的计算过程属于现有技术,本申请实施例不再赘述。
步骤105,基于机器学习算法,根据每一样本脚本文件的特征向量和每一样本脚本文件的标签训练脚本识别模型。
在本申请实施例中,网络设备可以基于机器学习算法,根据每一样本脚本文件的特征向量和每一样本脚本文件的标签训练脚本识别模型。例如,可以采用梯度提升决策树(英文:GradientBoostingDecisionTree,简称:GBDT)算法、支持向量机算法、随机森林算法或逻辑回归算法等训练脚本识别模型,本申请实施例不做限定。
步骤106,当获取到待识别脚本文件时,利用脚本识别模型识别待识别脚本文件,确定待识别脚本文件是否为恶意脚本文件。
在本申请实施例中,当网络设备获取到待识别脚本文件时,网络设备可以提取该待识别脚本文件的特征向量,然后将待识别脚本文件的特征向量的输入至脚本识别模型中,以确定待识别脚本文件是否为恶意脚本文件。具体的识别过程后续会进行详细说明。
本申请实施例中,训练过程(例如步骤101-105)和识别过程(例如步骤106)可以在不同的电子设备上执行,也可以在同一电子设备上执行。
本申请实施例还提供了一种识别模型的训练方法示例的流程图,如图2所示。该示例中,特征提取规则采用2gram、3gram和4gram,这样,针对任一样本脚本文件,网络设备可以分别计算出2gram对应的词频特征集合、3gram对应的词频特征集合和4gram对应的词频特征集合。并且,网络设备可以计算该样本脚本文件的基础特征,从而得到该脚本文件样本对应的特征向量,该特征向量包含该脚本文件样本的基础特征、以及该脚本文件样本的词频特征集合,进而根据该特征向量训练脚本识别模型。具体的处理过程与上述步骤101~步骤105的过程类似,此处不再赘述。
本申请实施例还提供了另一种脚本识别模型的训练方法示例,该示例以基于C4.5决策树算法训练脚本识别模型为例进行说明。C4.5决策树算法是一种用在机器学习和数据挖掘中的分类问题的算法。即,给定一个数据集,其中的每一个样本都能用一组特征(即一个特征向量)描述,每一个样本属于一个互斥的类别中的某一类别。C4.5决策树算法的目标是通过训练学习,找到一个从特征向量到类别的映射关系,后续,基于这个映射关系,能够对类别未知的待识别对象进行分类。
C4.5决策树中每个内部节点(即非叶子节点)表示在一个特征上的测试,每个分枝代表一个测试输出,而每个叶子节点存放一个类标号(即标签)。一旦建立好决策树,对于一个未给定类标号的样本,能够跟踪一条由根节点到叶子节点的路径,该叶节点中存放的类标号即为该样本的预测类别的类标号(即标签)。
假设样本脚本文件的集合为D,根据样本脚本文件确定出的特征向量的集合为A,可以输出训练后的决策树T,具体的训练过程如下。
步骤一:获取样本特征向量文件。
其中,上述样本脚本文件的集合D包括多个标记有标签的样本脚本文件,该标签包括用于指示网页请求为恶意网页请求的标签或用于指示网页请求为非恶意网页请求的标签。针对每个样本脚本文件,在确定出该样本脚本文件的特征向量后,用该样本脚本文件的标签标记该样本脚本文件的特征向量,得到标记有标签的特征向量。这样,可以得到样本特征向量文件,该样本特征向量文件包含多个标记有标签的特征向量。
步骤二:对样本数据进行归一化。
步骤三:建立决策树
其中,建立决策树具体可以如下所示。
(1)如果集合A为空,则生成一个信息数目都为0的树节点返回。
(2)如果集合A中的特征向量均为同一类别Ck,则生成一个叶子节点返回,该叶子节点的类标号为Ck。
(3)对于除上述(1)和(2)以外的情况,则对于特征向量中的每种特征,分别计算每种特征的增益率。增益率的计算公式可以如下:
其中,IGR(英文:Information gain rate)为信息增益率,IG(英文:Informationgain)为该特征的信息增益,IV(英文:Information Value)为该特征的***信息。
(4)确定增益率最大的第一特征、以及该第一特征对应的判决策略,将该第一特征加入到决策树中。
其中,判决策略包括判决阈值,以及各判决结果对应的输出路径。
(5)针对除第一特征以外的其他特征,重复执行步骤(4),递归建造相关子树。
(6)输出决策树T。
基于上述流程构建出的决策树,特征的增益率越大,则说明该特征的区分性越高,该特征对应的子节点离决策树的根节点越近;反之,特征的增益率越低,则说明该特征的区分性越低,该特征对应的子节点离决策树的根节点越远。
可选的,在构造出决策树后,可以将预设数目个样本脚本文件输入至该决策树中测试判决情况,并可以采用悲观错误率估算算法,对构造出的决策树进行剪枝处理,以提高决策树的判决准确度。然后,输出剪枝处理后的决策树。
如图3所示,本申请实施例还提供了一种识别脚本文件的方法流程图,具体包括以下步骤。
步骤301,获取第一脚本文件。
在本申请实施例中,网络设备可以获取待识别的第一脚本文件。例如,当需要对某脚本文件(即第一脚本文件)进行合法性识别时,技术人员可以将该第一脚本文件输入到网络设备中,网络设备则会接收到技术人员输入的第一脚本文件,又如,网络设备也可以接收到其他网络设备发送的第一脚本文件。网络设备还可以周期性的自动进行脚本文件识别,网络设备可以获取当前本地存储的第一脚本文件,或者,可以从待检测的目标网络设备中,获取第一脚本文件
步骤302,将第一脚本文件转换为机器指令序列。
本步骤的具体处理过程可以参照步骤102的具体说明,此处不再赘述。
步骤303,利用预设的特征提取规则,从第一脚本文件的机器指令序列中提取特征词组合,得到第一脚本文件的第一特征集合。
本步骤的具体处理过程可以参照步骤103的具体说明,此处不再赘述。
步骤304,根据预设的词频特征算法,分别计算第一脚本文件的第一特征集合中各特征词组合的词频特征,并根据第一脚本文件的第一特征集合中各特征词组合的词频特征,确定第一脚本文件的特征向量。
本步骤的具体处理过程可以参照步骤104的具体说明,此处不再赘述。
这样,采用多种特征提取规则提取多个特征集合,组成脚本文件的特征向量,可以增强识别脚本文件的健壮性,提高识别的准确度。
可选的,采用TF-IDF计算词频特征的具体处理过程如下。
步骤一,针对第一脚本文件的第一特征集合包含的每个特征词组合,确定该特征词组合在第一脚本文件中的出现次数,与第一脚本文件包含的特征词组合的总数目的第一比值。
在本申请实施例中,针对第一脚本文件的第一特征集合中的每个特征词组合,网络设备在对第一脚本文件进行特征词组合后,可以统计该特征词组合的出现次数,从而得到该特征词组合在第一脚本文件中的出现次数。另外,网络设备还可以统计提取出的特征词组合的总数目(即第一脚本文件包含的特征词组合的总数目),进而用该特征词组合对应的出现次数,除以第一脚本文件包含的特征词组合的总数目,得到第一比值。具体的计算公式如下:
其中,nw为特征词组合w在第一脚本文件中的出现次数,N为第一脚本文件包含的特征词组合的总数目。
本步骤的具体处理过程可以参照步骤104的具体说明,此处不再赘述。
步骤二,在预设的语料库中,确定包含该特征词组合的脚本文件的第一数目,并确定语料库包含的脚本文件的总数目与第一数目的第二比值。
本步骤的具体处理过程可以参照步骤104的具体说明,此处不再赘述。
步骤三,根据第一比值和第二比值,计算该特征词组合的词频特征。
本申请实施例中,在本申请实施例中,网络设备计算出第一比值和第二比值后,可以根据第一比值和第二比值,计算该特征词组合对应的词频特征。具体的计算公式可以如下:
(TF-IDF)w=TFw*IDFw
其中,(TF-IDF)w为特征词组合w的词频特征,TFw表示特征词组合w在第一脚本文件中的出现概率;N1为语料库包含的脚本文件的总数目,N2为包含该特征词组合w的脚本文件的第一数目。
IDFw表示特征词组合w的文件区分能力,如果包含特征词组合w的脚本文件越少,则IDFw的值越大。反之,如果包含特征词组合w的脚本文件越多,则IDF w的值越小。
某一特定文件(比如第一脚本文件)内,如果该特定文件中某一特征词组合在该特定文件中的出现概率较高(比如出现概率超过预设阈值,或为出现概率最高的特征词组合),并且,该特征词组合在整个语料库中的出现概率较低(比如出现概率低于预设阈值),则针对该特征词组合,会计算出较大的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语。需要说明的是,上述IDFw算式中,分母加1为可选方式,目的是为了避免分母为0,当然还可以加其他正数,例如加2、1/3。
本申请实施例中,网络设备可以根据第一脚本文件的第一特征集合包含的各特征词组合对应的词频特征,确定第一脚本文件对应的特征向量,具体的实现方式可以是多种多样的,本申请实施例提供了两种可行的实现方式,具体如下。
方式一、网络设备将第一脚本文件的第一特征集合中各特征词组合的词频特征,构成第一脚本文件的特征向量。
本步骤的具体处理过程可以参照步骤104的具体说明,此处不再赘述。
方式二,网络设备还可以计算第一脚本文件的基础特征,根据词频特征和基础特征,确定第一脚本文件对应的特征向量,具体的处理方式为:利用预设的基础特征提取算法,提取第一脚本文件的基础特征;根据第一脚本文件的基础特征和第一脚本文件的第一特征集合中各特征词组合的词频特征,构成第一脚本文件的特征向量。
其中,基础特征包括信息熵、最长单词长度、重合指数和压缩比中的一种或多种。
本步骤的具体处理过程可以参照步骤104的具体说明,此处不再赘述。
步骤305,将第一脚本文件的特征向量输入至脚本识别模型中,得到第一脚本文件的识别结果。
其中,该脚本识别模型可以是通过上述步骤101~步骤105训练出的脚本识别模型。
在本申请实施例中,网络设备可以将第一脚本文件对应的特征向量输入至预设的脚本识别模型中,该脚本识别模型则会输出第一脚本文件对应的识别结果,该识别结果可以为非恶意脚本文件或恶意脚本文件。
针对于以往的webshell检测方法,无论是传统的静态匹配方法还是基于机器学习算法的判别模型实质还是依赖于特征库来判别,其特征都是依赖于人力的收集与丰富,当webshell文件采用加密或者隐藏手段时往往无法发觉,而本申请实施例中,将脚本文件编译转化为机器指令序列,然后,分析正负例样本的指令序列的规律(即词频特征),并分析脚本文件的指令序列的组成合原始脚本的信息熵、最长单词长度、重合指数、压缩比等特征组成每个脚本文件的特征,综合考虑两种特征,来组成待识别的脚本文件的特征向量,无需依赖于人工建立的特征库,并且,具有较高的识别准确度。而且,本申请通过机器学习训练的脚本识别模型来检测脚本文件是否为webshell,该方法具有计算复杂度低,自适应性好。并且,由于脚本文件经过加密或隐藏调用后,虽然其文件代码会发生较大变化、不具有规律性,但是其转换的机器指令序列的词频特征却仍具有一定的规律性,基于此,可以依据词频特征对恶意脚本文件和非恶意脚本文件进行区分。本方案中,根据机器指令序列的词频特征生成特征向量,然后训练脚本识别模型,这样,训练出的脚本识别模型能够识别出加密和隐藏方法调用的webshel脚本,实时性高等特点,满足了当前webshell检测领域的工程应用需要。
本申请实施例还提供了一种识别脚本文件的方法示例,如图4所示,具体处理过程可以如下。
步骤401,获取第一脚本文件。
本步骤的具体处理过程可以参照步骤101的具体说明,此处不再赘述。
步骤402,利用预设的基础特征提取算法,提取第一脚本文件的基础特征。
其中,基础特征包括信息熵、最长单词长度、重合指数和压缩比等。
本步骤的具体处理过程可以参照步骤104的具体说明,此处不再赘述。
步骤403,将第一脚本文件转换为机器指令序列。
本步骤的具体处理过程可以参照步骤102的具体说明,此处不再赘述。
步骤404,利用预设的N-gram词组提取算法,从第一脚本文件的机器指令序列中提取特征词组合,得到第一脚本文件的第一特征集合。
本步骤的具体处理过程可以参照步骤103的具体说明,此处不再赘述。
步骤405,计算第一脚本文件的第一特征集合中每个特征词组合的TF-IDF特征(即词频特征)。
本步骤的具体处理过程可以参照步骤104的具体说明,此处不再赘述。
步骤406,根据词频特征和基础特征,构成第一脚本文件的特征向量。
本步骤的具体处理过程可以参照步骤104的具体说明,此处不再赘述。
步骤407,将第一脚本文件的特征向量输入至脚本识别模型中,得到第一脚本文件的识别结果。
本步骤的具体处理过程可以参照步骤106、以及步骤301~304的具体说明,此处不再赘述。
本申请实施例中,网络设备获取第一脚本文件,然后将第一脚本文件转换为机器指令序列,利用预设的特征提取规则,从机器指令序列中提取特征词组合,得到该第一脚本文件的第一特征集合,进而根据预设的词频特征算法,分别计算第一脚本文件的第一特征集合包含的各特征词组合对应的词频特征,并根据第一脚本文件的第一特征集合包含的各特征词组合对应的词频特征,确定第一脚本文件的特征向量。网络设备将第一脚本文件对应的特征向量输入至脚本识别模型中,得到第一脚本文件对应的识别结果。
基于本申请实施例,针对于以往的webshell检测方法,无论是传统的静态匹配方法还是基于机器学习算法的判别模型实质还是依赖于特征库来判别,其特征都是依赖于人力的收集与丰富,当webshell文件采用加密或者隐藏手段时往往无法发觉,而本申请实施例中,将脚本文件编译转化为机器指令序列,然后,分析正负例样本的指令序列的规律(即词频特征),并分析脚本文件的指令序列的组成合原始脚本的信息熵、最长单词长度、重合指数、压缩比等特征组成每个脚本文件的特征,综合考虑两种特征,来组成待识别的脚本文件的特征向量,无需依赖于人工建立的特征库,并且,具有较高的识别准确度。而且,本申请通过机器学习训练的脚本识别模型来检测脚本文件是否为webshell,该方法具有计算复杂度低,自适应性好。并且,由于脚本文件经过加密或隐藏调用后,虽然其文件代码会发生较大变化、不具有规律性,但是其转换的机器指令序列的词频特征却仍具有一定的规律性,基于此,可以依据词频特征对恶意脚本文件和非恶意脚本文件进行区分。本方案中,根据机器指令序列的词频特征生成特征向量,然后训练脚本识别模型,这样,训练出的脚本识别模型能够识别出加密和隐藏方法调用的webshel脚本,实时性高等特点,满足了当前webshell检测领域的工程应用需要。
基于相同的技术构思,如图5所示,本申请实施例还提供了一种识别脚本文件的装置,该装置包括:
获取模块510,用于获取多个标记有标签的样本脚本文件,标签包括用于指示网页请求为恶意网页请求的标签或用于指示网页请求为非恶意网页请求的标签;
转换模块520,用于将每一样本脚本文件转换为机器指令序列;
第一提取模块530,用于对于每一样本脚本文件,利用预设的特征提取规则,从样本脚本文件的机器指令序列中提取特征词组合,得到样本脚本文件的第一特征集合;
第一确定模块540,用于对于第一特征集合,根据预设的词频特征算法,分别计算第一特征集合中各特征词组合的词频特征,并根据第一特征集合中各特征词组合的词频特征,确定样本脚本文件的特征向量;
训练模块550,用于基于机器学习算法,根据每一样本脚本文件的特征向量和每一样本脚本文件的标签训练脚本识别模型;
第二确定模块560,用于当获取到待识别脚本文件时,利用脚本识别模型识别待识别脚本文件,确定待识别脚本文件是否为恶意脚本文件。
可选的,第一确定模块540,具体用于:
针对第一特征集合包含的每个特征词组合,确定该特征词组合在样本脚本文件中的出现次数,与样本脚本文件包含的特征词组合的总数目的第一比值;
在预设的语料库中,确定包含该特征词组合的脚本文件的第一数目,并确定语料库包含的脚本文件的总数目与第一数目的第二比值,其中,语料库包含多个非恶意脚本文件的机器指令序列和多个恶意脚本文件的机器指令序列;
根据第一比值和第二比值,计算该特征词组合的词频特征。
可选的,第一确定模块540,具体用于:
利用以下公式确定第一比值:
其中,nw为特征词组合w在样本脚本文件中的出现次数,N为样本脚本文件包含的特征词组合的总数目;
在预设的语料库中,确定包含该特征词组合w的脚本文件的第一数目,并确定语料库包含的脚本文件的总数目与第一数目的第二比值;
利用以下公式确定该特征词组合w的词频特征:
(TF-IDF)w=TFw*IDFw;
其中,(TF-IDF)w为特征词组合w的词频特征,TFw表示特征词组合w
可选的,如图6所示,该装置还包括:
第二提取模块570,用于针对每一样本脚本文件,利用预设的基础特征提取算法,提取该样本脚本文件的基础特征,基础特征包括信息熵、最长单词长度、重合指数和压缩比中的一种或多种;
第一确定模块540,具体用于:
根据样本脚本文件的基础特征和第一特征集合中各特征词组合的词频特征,构成样本脚本文件的特征向量。
可选的,第一确定模块540,具体用于:
将第一特征集合中各特征词组合的词频特征,构成样本脚本文件的特征向量。
基于相同的技术构思,如图7所示,本申请实施例还提供了一种识别脚本文件的装置,该装置包括:
获取模块710,用于获取第一脚本文件;
转换模块720,用于将第一脚本文件转换为机器指令序列;
第一提取模块730,用于利用预设的特征提取规则,从所述第一脚本文件的机器指令序列中提取特征词组合,得到所述第一脚本文件的第一特征集合;
确定模块740,用于根据预设的词频特征算法,分别计算所述第一脚本文件的第一特征集合中各特征词组合的词频特征,并根据所述第一脚本文件的第一特征集合中各特征词组合的词频特征,确定所述第一脚本文件的特征向量;
输入模块750,用于将所述第一脚本文件的特征向量输入至脚本识别模型中,得到所述第一脚本文件的识别结果,所述脚本识别模型根据样本脚本文件的特征向量和机器学习算法训练得到,所述样本脚本文件的特征向量根据所述样本脚本文件的词频特征确定。
可选的,确定模块740,具体用于:
针对第一脚本文件的第一特征集合包含的每个特征词组合,确定该特征词组合在第一脚本文件中的出现次数,与第一脚本文件包含的特征词组合的总数目的第一比值;
在预设的语料库中,确定包含该特征词组合的脚本文件的第一数目,并确定所述语料库包含的脚本文件的总数目与所述第一数目的第二比值,其中,所述语料库包含多个非恶意脚本文件的机器指令序列和多个恶意脚本文件的机器指令序列;
根据所述第一比值和所述第二比值,计算该特征词组合的词频特征。
可选的,如图8所示,该装置还包括:
第二提取模块760,用于利用预设的基础特征提取算法,提取所述第一脚本文件的基础特征,所述基础特征包括信息熵、最长单词长度、重合指数和压缩比中的一种或多种;
确定模块740,具体用于:
根据所述第一脚本文件的基础特征和所述第一脚本文件的第一特征集合中各特征词组合的词频特征,构成所述第一脚本文件的特征向量。
可选的,确定模块740,具体用于:
将所述第一脚本文件的第一特征集合中各特征词组合的词频特征,构成所述第一脚本文件的特征向量。
基于本申请实施例,将样本脚本文件转换为机器可以理解的机器指令序列,通过分析该机器指令序列的词频特征,来生成该样本脚本文件的特征向量,然后通过机器学习算法和样本脚本文件的特征向量来训练脚本识别模型。由于脚本文件经过加密或隐藏调用后,虽然其文件代码会发生较大变化、不具有规律性,但是其转换的机器指令序列的词频特征却仍具有一定的规律性,基于此,可以依据词频特征对恶意脚本文件和非恶意脚本文件进行区分。本方案中,根据机器指令序列的词频特征生成特征向量,然后训练脚本识别模型,这样,训练出的脚本识别模型能够识别出加密和隐藏调用方法的webshell,弥补了特征库检测的不足,具有自适应性强,识别率高的优点,并且,通过脚本识别模型来识别脚本文件,摆脱了传统方法依赖于特征库的限制(即不需要技术人员设定特征库),计算复杂度低,识别准确度较高,满足了当前webshell检测领域的工程应用需要。当然,实施本申请的任一产品或方法并不一定需要同时达到以上的所有优点。
本申请实施例还提供了一种网络设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,以使该网络设备执行上述识别脚本文件的方法的步骤。
上述网络设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述网络设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的识别脚本文件的方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的识别脚本文件的方法的步骤。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (16)
1.一种识别脚本文件的方法,其特征在于,所述方法包括:
获取多个标记有标签的样本脚本文件,所述标签包括用于指示网页请求为恶意网页请求的标签或用于指示网页请求为非恶意网页请求的标签;
将每一样本脚本文件转换为机器指令序列;
对于每一样本脚本文件,利用预设的特征提取规则,从所述样本脚本文件的机器指令序列中提取特征词组合,得到所述样本脚本文件的第一特征集合;
对于第一特征集合,根据预设的词频特征算法,分别计算所述第一特征集合中各特征词组合的词频特征,并根据所述第一特征集合中各特征词组合的词频特征,确定所述样本脚本文件的特征向量;
基于机器学习算法,根据每一样本脚本文件的特征向量和每一样本脚本文件的标签训练脚本识别模型;
当获取到待识别脚本文件时,利用所述脚本识别模型识别所述待识别脚本文件,确定所述待识别脚本文件是否为恶意脚本文件。
2.根据权利要求1所述的方法,其特征在于,所述根据预设的词频特征算法,分别计算所述第一特征集合中各特征词组合的词频特征,包括:
针对所述第一特征集合包含的每个特征词组合,确定该特征词组合在所述样本脚本文件中的出现次数,与所述样本脚本文件包含的特征词组合的总数目的第一比值;
在预设的语料库中,确定包含该特征词组合的脚本文件的第一数目,并确定所述语料库包含的脚本文件的总数目与所述第一数目的第二比值,其中,所述语料库包含多个非恶意脚本文件的机器指令序列和多个恶意脚本文件的机器指令序列;
根据所述第一比值和所述第二比值,计算该特征词组合的词频特征。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一比值和所述第二比值,计算该特征词组合的词频特征,包括:
利用以下公式确定所述第一比值:
其中,nw为特征词组合w在样本脚本文件中的出现次数,N为样本脚本文件包含的特征词组合的总数目;
在预设的语料库中,确定包含该特征词组合w的脚本文件的第一数目,并确定语料库包含的脚本文件的总数目与第一数目的第二比值;
利用以下公式确定该特征词组合w的词频特征:
(TF-IDF)w=TFw*IDFw;
其中,(TF-IDF)w为特征词组合w的词频特征,TFw表示特征词组合w在样本脚本文件中的出现概率;N1为语料库包含的脚本文件的总数目,N2为包含该特征词组合w的脚本文件的第一数目。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对每一样本脚本文件,利用预设的基础特征提取算法,提取该样本脚本文件的基础特征,所述基础特征包括信息熵、最长单词长度、重合指数和压缩比中的一种或多种;
所述根据所述第一特征集合中各特征词组合的词频特征,确定所述样本脚本文件的特征向量,包括:
根据所述样本脚本文件的基础特征和所述第一特征集合中各特征词组合的词频特征,构成所述样本脚本文件的特征向量。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一特征集合中各特征词组合的词频特征,确定所述样本脚本文件的特征向量,包括:
将所述第一特征集合中各特征词组合的词频特征,构成所述样本脚本文件的特征向量。
6.一种识别脚本文件的方法,其特征在于,所述方法包括:
获取第一脚本文件;
将所述第一脚本文件转换为机器指令序列;
利用预设的特征提取规则,从所述第一脚本文件的机器指令序列中提取特征词组合,得到所述第一脚本文件的第一特征集合;
根据预设的词频特征算法,分别计算所述第一脚本文件的第一特征集合中各特征词组合的词频特征,并根据所述第一脚本文件的第一特征集合中各特征词组合的词频特征,确定所述第一脚本文件的特征向量;
将所述第一脚本文件的特征向量输入至脚本识别模型中,得到所述第一脚本文件的识别结果,所述脚本识别模型根据样本脚本文件的特征向量和机器学习算法训练得到,所述样本脚本文件的特征向量根据所述样本脚本文件的词频特征确定。
7.根据权利要求6所述的方法,其特征在于,所述根据预设的词频特征算法,分别计算所述第一脚本文件的第一特征集合包含的各特征词组合的词频特征,包括:
针对所述第一脚本文件的第一特征集合包含的每个特征词组合,确定该特征词组合在所述第一脚本文件中的出现次数,与所述第一脚本文件包含的特征词组合的总数目的第一比值;
在预设的语料库中,确定包含该特征词组合的脚本文件的第一数目,并确定所述语料库包含的脚本文件的总数目与所述第一数目的第二比值,其中,所述语料库包含多个非恶意脚本文件的机器指令序列和多个恶意脚本文件的机器指令序列;
根据所述第一比值和所述第二比值,计算该特征词组合的词频特征。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
利用预设的基础特征提取算法,提取所述第一脚本文件的基础特征,所述基础特征包括信息熵、最长单词长度、重合指数和压缩比中的一种或多种;
所述根据所述第一脚本文件的第一特征集合中各特征词组合的词频特征,确定所述第一脚本文件的特征向量,包括:
根据所述第一脚本文件的基础特征和所述第一脚本文件的第一特征集合中各特征词组合的词频特征,构成所述第一脚本文件的特征向量。
9.根据权利要求6所述的方法,其特征在于,所述根据所述第一脚本文件的第一特征集合中各特征词组合的词频特征,确定所述第一脚本文件的特征向量,包括:
将所述第一脚本文件的第一特征集合中各特征词组合的词频特征,构成所述第一脚本文件的特征向量。
10.一种识别脚本文件的装置,其特征在于,所述装置包括:
获取模块,用于获取多个标记有标签的样本脚本文件,所述标签包括用于指示网页请求为恶意网页请求的标签或用于指示网页请求为非恶意网页请求的标签;
转换模块,用于将每一样本脚本文件转换为机器指令序列;
第一提取模块,用于对于每一样本脚本文件,利用预设的特征提取规则,从所述样本脚本文件的机器指令序列中提取特征词组合,得到所述样本脚本文件的第一特征集合;
第一确定模块,用于对于第一特征集合,根据预设的词频特征算法,分别计算所述第一特征集合中各特征词组合的词频特征,并根据所述第一特征集合中各特征词组合的词频特征,确定所述样本脚本文件的特征向量;
训练模块,用于基于机器学习算法,根据每一样本脚本文件的特征向量和每一样本脚本文件的标签训练脚本识别模型;
第二确定模块,用于当获取到待识别脚本文件时,利用所述脚本识别模型识别所述待识别脚本文件,确定所述待识别脚本文件是否为恶意脚本文件。
11.根据权利要求10所述的装置,其特征在于,所述第一确定模块,具体用于:
针对所述第一特征集合包含的每个特征词组合,确定该特征词组合在所述样本脚本文件中的出现次数,与所述样本脚本文件包含的特征词组合的总数目的第一比值;
在预设的语料库中,确定包含该特征词组合的脚本文件的第一数目,并确定所述语料库包含的脚本文件的总数目与所述第一数目的第二比值,其中,所述语料库包含多个非恶意脚本文件的机器指令序列和多个恶意脚本文件的机器指令序列;
根据所述第一比值和所述第二比值,计算该特征词组合的词频特征。
12.根据权利要求11所述的装置,其特征在于,所述第一确定模块,具体用于:
利用以下公式确定所述第一比值:
其中,nw为特征词组合w在样本脚本文件中的出现次数,N为样本脚本文件包含的特征词组合的总数目;
在预设的语料库中,确定包含该特征词组合w的脚本文件的第一数目,并确定语料库包含的脚本文件的总数目与第一数目的第二比值;
利用以下公式确定该特征词组合w的词频特征:
(TF-IDF)w=TFw*IDFw;
其中,(TF-IDF)w为特征词组合w的词频特征,TFw表示特征词组合w在样本脚本文件中的出现概率;N1为语料库包含的脚本文件的总数目,N2为包含该特征词组合w的脚本文件的第一数目。
13.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第二提取模块,用于针对每一样本脚本文件,利用预设的基础特征提取算法,提取该样本脚本文件的基础特征,所述基础特征包括信息熵、最长单词长度、重合指数和压缩比中的一种或多种;
所述第一确定模块,具体用于:
根据所述样本脚本文件的基础特征和所述第一特征集合中各特征词组合的词频特征,构成所述样本脚本文件的特征向量;
或
所述第一确定模块,具体用于:
将所述第一特征集合中各特征词组合的词频特征,构成所述样本脚本文件的特征向量。
14.一种识别脚本文件的装置,其特征在于,所述装置包括:
获取模块,用于获取第一脚本文件;
转换模块,用于将所述第一脚本文件转换为机器指令序列;
第一提取模块,用于利用预设的特征提取规则,从所述第一脚本文件的机器指令序列中提取特征词组合,得到所述第一脚本文件的第一特征集合;
确定模块,用于根据预设的词频特征算法,分别计算所述第一脚本文件的第一特征集合中各特征词组合的词频特征,并根据所述第一脚本文件的第一特征集合中各特征词组合的词频特征,确定所述第一脚本文件的特征向量;
输入模块,用于将所述第一脚本文件的特征向量输入至脚本识别模型中,得到所述第一脚本文件的识别结果,所述脚本识别模型根据样本脚本文件的特征向量和机器学习算法训练得到,所述样本脚本文件的特征向量根据所述样本脚本文件的词频特征确定。
15.一种网络设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5或权利要求6-9任一所述的方法步骤。
16.一种机器可读存储介质,其特征在于,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现权利要求1-5或权利要求6-9任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811202216.0A CN110427755A (zh) | 2018-10-16 | 2018-10-16 | 一种识别脚本文件的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811202216.0A CN110427755A (zh) | 2018-10-16 | 2018-10-16 | 一种识别脚本文件的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110427755A true CN110427755A (zh) | 2019-11-08 |
Family
ID=68407286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811202216.0A Pending CN110427755A (zh) | 2018-10-16 | 2018-10-16 | 一种识别脚本文件的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110427755A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111163094A (zh) * | 2019-12-31 | 2020-05-15 | 奇安信科技集团股份有限公司 | 网络攻击检测方法、网络攻击检测装置、电子设备和介质 |
CN111695117A (zh) * | 2020-06-12 | 2020-09-22 | 国网浙江省电力有限公司信息通信分公司 | 一种webshell脚本检测方法及装置 |
CN112016088A (zh) * | 2020-08-13 | 2020-12-01 | 北京兰云科技有限公司 | 生成文件检测模型的方法、装置、检测文件的方法及装置 |
CN113282917A (zh) * | 2021-06-25 | 2021-08-20 | 深圳市联软科技股份有限公司 | 基于机器指令结构的安全进程识别方法及*** |
CN113761521A (zh) * | 2021-09-02 | 2021-12-07 | 恒安嘉新(北京)科技股份公司 | 一种基于机器学习的脚本文件检测方法、装置、设备和存储介质 |
CN113761534A (zh) * | 2021-09-08 | 2021-12-07 | 广东电网有限责任公司江门供电局 | Webshell文件检测方法及*** |
CN113761533A (zh) * | 2021-09-08 | 2021-12-07 | 广东电网有限责任公司江门供电局 | Webshell检测方法及*** |
CN114189714A (zh) * | 2021-12-08 | 2022-03-15 | 安天科技集团股份有限公司 | 视频网站内传播恶意软件的检测方法、装置、设备及介质 |
CN115221516A (zh) * | 2022-07-13 | 2022-10-21 | 中国电信股份有限公司 | 恶意应用程序识别方法及装置、存储介质、电子设备 |
CN115801466A (zh) * | 2023-02-08 | 2023-03-14 | 北京升鑫网络科技有限公司 | 基于流量的挖矿脚本检测方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663296A (zh) * | 2012-03-31 | 2012-09-12 | 杭州安恒信息技术有限公司 | 面向网页JavaScript恶意代码的智能检测方法 |
CN103309862A (zh) * | 2012-03-07 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 一种网页类型识别方法和*** |
CN103577756A (zh) * | 2013-11-05 | 2014-02-12 | 北京奇虎科技有限公司 | 基于脚本类型判断的病毒检测方法及装置 |
US20140215619A1 (en) * | 2013-01-28 | 2014-07-31 | Infosec Co., Ltd. | Webshell detection and response system |
CN105956472A (zh) * | 2016-05-12 | 2016-09-21 | 宝利九章(北京)数据技术有限公司 | 识别网页中是否包含恶意内容的方法和*** |
-
2018
- 2018-10-16 CN CN201811202216.0A patent/CN110427755A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309862A (zh) * | 2012-03-07 | 2013-09-18 | 腾讯科技(深圳)有限公司 | 一种网页类型识别方法和*** |
CN102663296A (zh) * | 2012-03-31 | 2012-09-12 | 杭州安恒信息技术有限公司 | 面向网页JavaScript恶意代码的智能检测方法 |
US20140215619A1 (en) * | 2013-01-28 | 2014-07-31 | Infosec Co., Ltd. | Webshell detection and response system |
CN103577756A (zh) * | 2013-11-05 | 2014-02-12 | 北京奇虎科技有限公司 | 基于脚本类型判断的病毒检测方法及装置 |
CN105956472A (zh) * | 2016-05-12 | 2016-09-21 | 宝利九章(北京)数据技术有限公司 | 识别网页中是否包含恶意内容的方法和*** |
Non-Patent Citations (3)
Title |
---|
李少波: "《制造大数据技术与应用》", 31 January 2018, 华中科技大学出版社 * |
胥小波: "基于多层感知器神经网络的WebShell检测方法", 《通信技术》 * |
马慧彬: "《基于机器学习的乳腺图像辅助诊断算法研究》", 31 August 2016, 湖南师范大学出版社 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111163094B (zh) * | 2019-12-31 | 2022-04-19 | 奇安信科技集团股份有限公司 | 网络攻击检测方法、网络攻击检测装置、电子设备和介质 |
CN111163094A (zh) * | 2019-12-31 | 2020-05-15 | 奇安信科技集团股份有限公司 | 网络攻击检测方法、网络攻击检测装置、电子设备和介质 |
CN111695117A (zh) * | 2020-06-12 | 2020-09-22 | 国网浙江省电力有限公司信息通信分公司 | 一种webshell脚本检测方法及装置 |
CN111695117B (zh) * | 2020-06-12 | 2023-10-03 | 国网浙江省电力有限公司信息通信分公司 | 一种webshell脚本检测方法及装置 |
CN112016088A (zh) * | 2020-08-13 | 2020-12-01 | 北京兰云科技有限公司 | 生成文件检测模型的方法、装置、检测文件的方法及装置 |
CN113282917A (zh) * | 2021-06-25 | 2021-08-20 | 深圳市联软科技股份有限公司 | 基于机器指令结构的安全进程识别方法及*** |
CN113761521A (zh) * | 2021-09-02 | 2021-12-07 | 恒安嘉新(北京)科技股份公司 | 一种基于机器学习的脚本文件检测方法、装置、设备和存储介质 |
CN113761533A (zh) * | 2021-09-08 | 2021-12-07 | 广东电网有限责任公司江门供电局 | Webshell检测方法及*** |
CN113761534A (zh) * | 2021-09-08 | 2021-12-07 | 广东电网有限责任公司江门供电局 | Webshell文件检测方法及*** |
CN114189714A (zh) * | 2021-12-08 | 2022-03-15 | 安天科技集团股份有限公司 | 视频网站内传播恶意软件的检测方法、装置、设备及介质 |
CN114189714B (zh) * | 2021-12-08 | 2023-11-10 | 安天科技集团股份有限公司 | 视频网站内传播恶意软件的检测方法、装置、设备及介质 |
CN115221516A (zh) * | 2022-07-13 | 2022-10-21 | 中国电信股份有限公司 | 恶意应用程序识别方法及装置、存储介质、电子设备 |
CN115221516B (zh) * | 2022-07-13 | 2024-04-26 | 中国电信股份有限公司 | 恶意应用程序识别方法及装置、存储介质、电子设备 |
CN115801466A (zh) * | 2023-02-08 | 2023-03-14 | 北京升鑫网络科技有限公司 | 基于流量的挖矿脚本检测方法和装置 |
CN115801466B (zh) * | 2023-02-08 | 2023-05-02 | 北京升鑫网络科技有限公司 | 基于流量的挖矿脚本检测方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427755A (zh) | 一种识别脚本文件的方法及装置 | |
CN107659570A (zh) | 基于机器学习与动静态分析的Webshell检测方法及*** | |
Zhang et al. | Boosting the phishing detection performance by semantic analysis | |
CN107451476A (zh) | 基于云平台的网页后门检测方法、***、设备及存储介质 | |
KR20110081177A (ko) | 비밀 정보의 검출 | |
CN111931935B (zh) | 基于One-shot 学习的网络安全知识抽取方法和装置 | |
CN107341399A (zh) | 评估代码文件安全性的方法及装置 | |
CN112989348B (zh) | 攻击检测方法、模型训练方法、装置、服务器及存储介质 | |
Yang et al. | Wtagraph: Web tracking and advertising detection using graph neural networks | |
US11836331B2 (en) | Mathematical models of graphical user interfaces | |
Qiu et al. | Predicting the impact of android malicious samples via machine learning | |
CN112115326B (zh) | 一种以太坊智能合约的多标签分类和漏洞检测方法 | |
Pan et al. | Webshell detection based on executable data characteristics of php code | |
CN112132238A (zh) | 一种识别隐私数据的方法、装置、设备和可读介质 | |
Jisha et al. | Mobile applications recommendation based on user ratings and permissions | |
Sánchez-Paniagua et al. | Impact of current phishing strategies in machine learning models for phishing detection | |
Fang et al. | JStrong: Malicious JavaScript detection based on code semantic representation and graph neural network | |
Zhang et al. | A php and jsp web shell detection system with text processing based on machine learning | |
US11301522B1 (en) | Method and apparatus for collecting information regarding dark web | |
Hu et al. | Cross-site scripting detection with two-channel feature fusion embedded in self-attention mechanism | |
Kasim | Automatic detection of phishing pages with event-based request processing, deep-hybrid feature extraction and light gradient boosted machine model | |
Blanc et al. | Characterizing obfuscated JavaScript using abstract syntax trees: Experimenting with malicious scripts | |
CN117235532A (zh) | 一种基于M-Bert的恶意网站检测模型的训练及检测方法 | |
KR102483004B1 (ko) | 유해 url 탐지 방법 | |
Zhu et al. | PDHF: Effective phishing detection model combining optimal artificial and automatic deep features |
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: 20191108 |
|
RJ01 | Rejection of invention patent application after publication |