CN111740946A - Webshell报文的检测方法及装置 - Google Patents
Webshell报文的检测方法及装置 Download PDFInfo
- Publication number
- CN111740946A CN111740946A CN202010387880.8A CN202010387880A CN111740946A CN 111740946 A CN111740946 A CN 111740946A CN 202010387880 A CN202010387880 A CN 202010387880A CN 111740946 A CN111740946 A CN 111740946A
- Authority
- CN
- China
- Prior art keywords
- message
- webshell
- decision tree
- type
- http
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Biology (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开了一种Webshell报文的检测方法及装置,其中该方法包括:根据待测HTTP报文的类型从所述待测HTTP报文中提取所述类型对应的预设报文头字段;对提取的所述类型对应的报文头字段进行特征构造,生成所述类型对应的报文头特征;根据生成的所述类型对应的报文头特征,以及所述类型对应的预先训练好的决策树模型,确定所述待测HTTP报文的Webshell检测结果。如此,基于HTTP报文的报文头特征来检测Webshell,使得Webshell检测不受代码混淆与报文加密等的影响。
Description
技术领域
本发明实施例涉及信息安全技术,尤指一种Webshell报文的检测方法及装置。
背景技术
Webshell是攻击者用于对目标服务器进行持久性访问控制的恶意脚本,也称作网页后门。攻击者利用SQL(结构化查询语言,Structured Query Language)注入漏洞、远程文件包含漏洞等漏洞来上传Webshell。利用Webshell,攻击者在目标服务器上进行命令执行、进程管理、文件及数据库读写以及内网主机探测等恶意操作,为后续的内网渗透、商业机密窃取、组建僵尸网络以及进行APT(高级持续性威胁,Advanced Persistent Threat)攻击等恶意目的做好前期准备。因此,保护网站安全,尤其是内网安全的关键是Webshell检测。
现有的Webshell的检测技术主要包括Webshell文件检测和Webshell通信流量检测,其检测对象都是对Webshell内容进行检测,例如对Webshell文件内容和Webshell的HTTP POST(HyperText Transfer Protocol,超文本传输协议)报文的Body内容检测是否存在敏感函数。但是随着Webshell代码的变形、混淆和加密技术的不断演进,网络加密流量所占比例持续增长,基于Webshell内容来检测Webshell的方案不再凑效。
发明内容
有鉴于此,本发明实施例提供了一种Webshell报文的检测方法,包括:
根据待测HTTP报文的类型从所述待测HTTP报文中提取所述类型对应的预设报文头字段;
对提取的所述类型对应的报文头字段进行特征构造生成所述类型对应的报文头特征;
根据生成的所述类型对应的报文头特征,以及所述类型对应的预先训练好的决策树模型,确定所述待测HTTP报文的Webshell检测结果;
其中,一个类型对应一个决策树模型,一个类型对应的决策树模型是基于决策树算法对该类型的报文训练集进行训练得到的决策树二分类模型或者多分类模型;当决策树模型为二分类模型时,一个类型的报文训练集包括已标记为Webshell报文或正常报文的该类型的多个报文头特征,当决策树模型为多分类模型时,一个类型的报文训练集包括已标记为Webshell类别或正常报文的该类型的多个报文头特征。
本发明实施例还提供了一种电子装置,包括:
提取单元,设置为根据待测HTTP报文的类型从所述待测HTTP报文中提取所述类型对应的预设报文头字段,
生成单元,设置为对提取的报文头字段进行特征构造生成所述类型对应的报文头特征;
确定单元,设置为根据生成的所述类型对应的报文头特征,以及所述类型对应的预先训练好的决策树模型,确定所述待测HTTP报文的Webshell检测结果;
其中,一个类型对应一个决策树模型,一个类型对应的决策树模型是基于决策树算法对该类型的报文训练集进行训练得到的决策树二分类模型或者多分类模型;当决策树模型为二分类模型时,一个类型的报文训练集包括已标记为Webshell报文或正常报文的该类型的多个报文头特征,当决策树模型为多分类模型时,一个类型的报文训练集包括已标记为Webshell类别或正常报文的该类型的多个报文头特征。
本发明实施例还提供了一种电子装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述Webshell报文的检测方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有信息处理程序,所述信息处理程序被处理器执行时实现上述Webshell报文的检测方法。
本发明实施里提供的技术方案,基于HTTP报文的报文头特征来检测Webshell,使得Webshell检测不受代码混淆与报文加密的影响。
本申请的其它特征和优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本发明一实施例提供的一种Webshell报文的检测方法的流程示意图;
图2为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图;
图3为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图;
图4为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图;
图5为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图;
图6为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图;
图7为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图;
图8为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图;
图9为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图;
图10为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图;
图11为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图;
图12为本发明一实施例中一CART多分类决策树的示意图;
图13为本发明一实施例提供的一种电子装置的结构示意图;
图14为本发明另一实施例提供的一种电子装置的结构示意图;
图15为本发明另一实施例提供的一种电子装置的结构示意图;
图16为本发明一实施例中数据准备模块的结构示意图;
图17为本发明一实施例中特征工程模块的结构示意图;
图18为本发明一实施例中规则生成模块的结构示意图;
图19为本发明一实施例中Webshell检测模块的结构示意图。
具体实施方式
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
图1为本发明一实施例提供的一种Webshell报文的检测方法的流程示意图,如图1所示,该方法包括:
步骤101,根据待测HTTP报文的类型从所述待测HTTP报文中提取所述类型对应的预设报文头字段;
步骤102,对提取的所述类型对应的报文头字段进行特征构造生成所述类型对应的报文头特征;
步骤103,根据生成的所述类型对应的报文头特征,以及所述类型对应的预先训练好的决策树模型,确定所述待测HTTP报文的Webshell检测结果;
其中,一个类型对应一个决策树模型,一个类型对应的决策树模型是基于决策树算法对该类型的报文训练集进行训练得到的决策树二分类模型或者多分类模型;当决策树模型为二分类模型时,一个类型的报文训练集包括已标记为Webshell报文或正常报文的该类型的多个报文头特征,当决策树模型为多分类模型时,一个类型的报文训练集包括已标记为Webshell类别或正常报文的该类型的多个报文头特征。
在一示例中,所述根据待测HTTP报文的类型从所述待测HTTP报文中提取所述类型对应的预设报文头字段,包括:
当所述待测HTTP报文是请求报文时,从所述待测HTTP报文中提取请求报文对应的预设报文头字段;
当所述待测HTTP报文是响应报文时,从所述待测HTTP报文中提取响应报文对应的预设报文头字段。
在一示例中,所述对提取的所述类型对应的报文头字段进行特征构造生成所述类型对应的报文头特征,包括:
当所述待测HTTP报文是请求报文时,对提取的报文头字段进行特征构造,生成请求报文对应的报文头特征;
当所述待测HTTP报文是响应报文时,对提取的报文头字段进行特征构造,生成响应报文对应的报文头特征。
在一示例中,所述根据生成的所述类型对应的报文头特征,以及所述类型对应的预先训练好的决策树模型,确定所述待测HTTP报文的Webshell检测结果,包括:
当所述待测HTTP报文是请求报文时,将生成的请求报文对应的报文头特征输入预先训练好的第一请求报文决策树模型,输出所述待测HTTP报文为Webshell报文或者正常报文;
或者,判断生成的请求报文对应的报文头特征是否命中预先生成的一个或者多个请求报文检测规则;当生成的请求报文对应的报文头特征命中所述一个或者多个请求报文检测规则中的任意一个请求报文检测规则时,判断所述待测HTTP报文为Webshell报文;
其中,所述第一请求报文决策树模型是基于决策树算法对第一请求报文训练集进行训练得到的决策树二分类模型,所述第一请求报文训练集为已分别标记为Webshell报文或者正常报文的多个请求报文的报文头特征;所述一个或者多个请求报文检测规则是从基于决策树算法对第一请求报文训练集进行训练得到的决策树二分类模型中导出的Webshell类别的决策路径。
在一示例中,所述根据生成的所述类型对应的报文头特征,以及所述类型对应的预先训练好的决策树模型,确定所述待测HTTP报文的Webshell检测结果,包括:
当所述待测HTTP报文是请求报文时,将生成的请求报文对应的报文头特征输入预先训练好的第二请求报文决策树模型,输出所述待测HTTP报文的报文类型,该报文类型为Webshell类别或者正常报文;
或者,判断生成的请求报文对应的报文头特征是否命中预先生成的一个或者多个请求报文检测规则;当生成的请求报文对应的报文头特征命中所述一个或者多个请求报文检测规则中的任意一个请求报文检测规则时,确定命中的请求报文检测规则对应的Webshell类别,并根据命中的请求报文检测规则对应的Webshell类别确定所述待测HTTP报文的Webshell类别;
其中,所述第二请求报文决策树模型是基于决策树算法对第二请求报文训练集进行训练得到的决策树多分类模型,所述第二请求报文训练集为已分别标记为Webshell类别或者正常报文的多个请求报文的报文头特征;所述一个或者多个请求报文检测规则是从基于决策树算法对第二请求报文训练集进行训练得到的决策树多分类模型中导出的Webshell类别的决策路径,每一个请求报文检测规则标记有对应的Webshell类别。
在一示例中,所述根据生成的所述类型对应的报文头特征,以及所述类型对应的预先训练好的决策树模型,确定所述待测HTTP报文的Webshell检测结果,包括:
当所述待测HTTP报文是响应报文时,将生成的响应报文对应的报文头特征输入预先训练好的第一响应报文决策树模型,输出所述待测HTTP报文为Webshell报文或者正常报文;
或者,判断生成的响应报文对应的报文头特征是否命中预先生成的一个或者多个响应报文检测规则;当生成的响应报文对应的报文头特征命中所述一个或者多个响应报文检测规则中的任意一个响应报文检测规则时,判断所述待测HTTP报文为Webshell报文;
其中,所述第一响应报文决策树模型是基于决策树算法对第一响应报文训练集进行训练得到的决策树二分类模型,所述第一响应报文训练集为已分别标记为Webshell报文或者正常报文的多个响应报文的报文头特征;所述一个或者多个响应报文检测规则是从基于决策树算法对第一响应报文训练集进行训练得到的决策树二分类模型中导出的Webshell类别的决策路径。
在一示例中,所述根据生成的所述类型对应的报文头特征,以及所述类型对应的预先训练好的决策树模型,确定所述待测HTTP报文的Webshell检测结果,包括:
当所述待测HTTP报文是响应报文时,将生成的响应报文对应的报文头特征输入预先训练好的第二响应报文决策树模型,输出所述待测HTTP报文为Webshell报文或者正常报文;
或者,判断生成的响应报文对应的报文头特征是否命中预先生成的一个或者多个响应报文检测规则;当生成的响应报文对应的报文头特征命中所述一个或者多个响应报文检测规则中的任意一个响应报文检测规则时,确定命中的响应报文检测规则对应的Webshell类别,并根据命中的响应报文检测规则对应的Webshell类别确定所述待测HTTP报文的Webshell类别;
其中,所述第二响应报文决策树模型是基于决策树算法对第二响应报文训练集进行训练得到的决策树多分类模型,所述第二响应报文训练集为已分别标记为Webshell类别或者正常报文的多个响应报文的报文头特征;所述一个或者多个响应报文检测规则是从基于决策树算法对第二响应报文训练集进行训练得到的决策树多分类模型中导出的Webshell类别的决策路径,每一个响应报文检测规则标记有对应的Webshell类别。
本发明实施例提供的技术方案,基于HTTP报文的报文头特征来检测Webshell,使得Webshell检测不受代码混淆与报文加密的影响。
图2为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图,如图2所示,该方法包括:
步骤201,判断待测HTTP报文是请求报文还是响应报文;
其中,HTTP(HyperText Transfer Protocol,超文本传输协议)一个简单的请求-响应协议。HTTP请求报文和HTTP响应报文分别具有各自对应的格式。识别HTTP报文为请求报文还是响应报文的方法可以为现有的任一种识别方法,在此不再赘述。
步骤202,当所述待测HTTP报文是请求报文时,从所述待测HTTP报文中提取请求报文对应的预设报文头字段;
其中,请求报文对应的预设报文头字段可以预先设定,例如从请求报文的报文头字段中选取一定的字段作为预设报文头字段。
步骤203,对提取的请求报文对应的报文头字段进行特征构造生成请求报文的报文头特征;
其中,特征构造可以采用现有特征工程中任一项特征构造方法,例如以请求报文为例,选取的头部字段包括以下一个或者多个:Accept、Referer、Cookie以及User-Agent等。特征构造方案可以是泛化处理,例如,对于Referer字段,判断Referer是否是当前请求的主机上的资源,特征构造之后的取值为是、否或者空值;对于Cookie字段,将其转化为Cookie属性名称的序列,并使用“|”进行拼接,如果Cookie属性名称中包含16进制,则用“<hex,length>”替代16进制子串,例如,将“1ea9b319770c952b6feb7e9702c7ce16key=sSd5;act=cwd”转换为“<hex,32>key|act”。
步骤204,将生成的请求报文的报文头特征输入预先训练好的第一请求报文决策树模型,输出所述待测HTTP报文为Webshell报文或者正常报文。
其中,所述第一请求报文决策树模型是基于决策树算法对第一请求报文训练集进行训练得到的决策树二分类模型;所述第一请求报文训练集为已分别标记为Webshell报文或者正常报文的多个请求报文头特征。
在一示例中,可以在步骤201之前预先训练好第一请求报文决策树模型,包括:
分别从Webshell流量和正常流量中提取Webshell请求报文和正常请求报文的头部字段的值作为请求报文训练集;
对请求报文训练集中的报文头部字段的值进行特征构造以及特征编码,来将特征数字化;
使用决策树算法在请求报文训练集上进行训练,得到请求报文决策树模型。
本发明实施例提供的技术方案,基于HTTP报文的报文头特征来检测Webshell请求报文,无需对Webshell的文件内容以及报文体进行分析,不受代码混淆与报文加密的影响,能够从网络加密流量中检测Webshell请求报文。
图3为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图,如图3所示,该方法包括:
步骤301,判断待测HTTP报文是请求报文还是响应报文;
其中,HTTP(HyperText Transfer Protocol,超文本传输协议)一个简单的请求-响应协议。HTTP请求报文和HTTP响应报文分别具有各自对应的格式。识别HTTP报文为请求报文还是响应报文的方法可以为现有的任一种识别方法,在此不再赘述。
步骤302当所述待测HTTP报文是响应报文时,从所述待测HTTP报文中提取响应报文对应的预设报文头字段;
其中,响应报文对应的预设报文头字段可以预先设定,例如从响应报文的报文头字段中选取一定的字段作为预设报文头字段。
步骤303,对提取的响应报文对应的报文头字段进行特征构造生成响应报文的报文头特征;
其中,特征构造可以采用现有特征工程中任一项特征构造方法,例如以响应报文为例,选取的头部字段包括以下一个或者多个:Location、Server、Vary以及Connection等。特征构造方案可以是泛化处理。
步骤304,将生成的响应报文的报文头特征输入预先训练好的第一响应报文决策树模型,输出所述待测HTTP报文为Webshell报文或者正常报文。
其中,所述第一响应报文决策树模型是基于决策树算法对第一响应报文训练集进行训练得到的决策树二分类模型;所述第一响应报文训练集为分别已标记为Webshell报文或者正常报文的多个响应报文头特征。
在一示例中,可以在步骤301之前预先训练好第一响应报文决策树模型,包括:
分别从Webshell流量和正常流量中提取Webshell响应报文和正常响应报文的头部字段的值作为响应报文训练集;
对响应报文训练集中的报文头部字段的值进行特征构造以及特征编码,来将特征数字化;
使用决策树算法在响应报文训练集上进行训练,得到响应报文决策树模型。
本发明实施例提供的技术方案,基于HTTP报文的报文头特征来检测Webshell响应报文,无需对Webshell的文件内容以及报文体进行分析,不受代码混淆与报文加密的影响,能够从网络加密流量中检测Webshell响应报文。
图4为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图,如图4所示,该方法包括:
步骤401,判断待测HTTP报文是请求报文还是响应报文;
其中,HTTP(HyperText Transfer Protocol,超文本传输协议)一个简单的请求-响应协议。HTTP请求报文和HTTP响应报文分别具有各自对应的格式。识别HTTP报文为请求报文还是响应报文的方法可以为现有的任一种识别方法,在此不再赘述。
步骤402,当所述待测HTTP报文是请求报文时,从所述待测HTTP报文中提取请求报文对应的预设报文头字段;
其中,请求报文对应的预设报文头字段可以预先设定,例如从请求报文的报文头字段中选取一定的字段作为预设报文头字段。
步骤403,对提取的请求报文对应的报文头字段进行特征构造生成请求报文的报文头特征;
其中,特征构造可以采用现有特征工程中任一项特征构造方法,例如以请求报文为例,选取的头部字段包括以下一个或者多个:Accept、Referer、Cookie以及User-Agent等。特征构造方案可以是泛化处理,例如,对于Referer字段,判断Referer是否是当前请求的主机上的资源,特征构造之后的取值为是、否或者空值;对于Cookie字段,将其转化为Cookie属性名称的序列,并使用“|”进行拼接,如果Cookie属性名称中包含16进制,则用“<hex,length>”替代16进制子串,例如,将“1ea9b319770c952b6feb7e9702c7ce16key=sSd5;act=cwd”转换为“<hex,32>key|act”。
步骤404,将生成的请求报文的报文头特征输入预先训练好的第二请求报文决策树模型,输出所述待测HTTP报文的报文类型,该报文类型为Webshell类别或者正常报文。
其中,所述第二请求报文决策树模型是基于决策树算法对第二请求报文训练集进行训练得到的决策树多分类模型;所述第二请求报文训练集为分别已标记为Webshell类别或者正常报文的多个请求报文头特征。
在一示例中,可以在步骤401之前预先训练好第二请求报文决策树模型,包括:
分别从Webshell流量和正常流量中提取Webshell类别请求报文和正常请求报文的头部字段的值作为请求报文训练集;
其中,Webshell类别请求报文是指已标记Webshell类别的Webshell请求报文。Webshell类别是指Webshell的具体类型,例如ironshell、b374k、蚁剑等Webshell报文。
对请求报文训练集中的报文头部字段的值进行特征构造以及特征编码,来将特征数字化;
使用决策树算法在请求报文训练集上进行训练,得到请求报文决策树模型。
本发明实施例提供的技术方案,基于HTTP报文的报文头特征来检测Webshell请求报文,不受代码混淆与报文加密的影响,能够从网络加密流量中检测Webshell请求报文,而且还可以确定对应的Webshell类别。
图5为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图,如图5所示,该方法包括:
步骤501,判断待测HTTP报文是请求报文还是响应报文;
其中,HTTP(HyperText Transfer Protocol,超文本传输协议)一个简单的请求-响应协议。HTTP请求报文和HTTP响应报文分别具有各自对应的格式。识别HTTP报文为请求报文还是响应报文的方法可以为现有的任一种识别方法,在此不再赘述。
步骤502,当所述待测HTTP报文是响应报文时,从所述待测HTTP报文中提取响应报文对应的预设报文头字段;
其中,响应报文对应的预设报文头字段可以预先设定,例如从响应报文的报文头字段中选取一定的字段作为预设报文头字段。
步骤503,对提取的响应报文对应的报文头字段进行特征构造生成响应报文的报文头特征;
其中,特征构造可以采用现有特征工程中任一项特征构造方法,例如以响应报文为例,选取的头部字段包括以下一个或者多个:Location、Server、Vary以及Connection等。特征构造方案可以是泛化处理。
步骤504,将生成的响应报文的报文头特征输入预先训练好的第二响应报文决策树模型,输出所述待测HTTP报文的的报文类型,该报文类型为Webshell类别或者正常报文。
其中,所述第二响应报文决策树模型是基于决策树算法对第二响应报文训练集进行训练得到的决策树多分类模型;所述第二响应报文训练集为分别已标记为Webshell类别或者正常报文的多个响应报文头特征。
在一示例中,可以在步骤501之前预先训练好第二响应报文决策树模型,包括:
分别从Webshell流量和正常流量中提取Webshell类别响应报文和正常响应报文的头部字段的值作为响应报文训练集;
其中,Webshell类别响应报文是指已标记Webshell类别的Webshell响应报文。
对响应报文训练集中的报文头部字段的值进行特征构造以及特征编码,来将特征数字化;
使用决策树算法在响应报文训练集上进行训练,得到响应报文决策树模型。
本发明实施例提供的技术方案,基于HTTP报文的报文头特征来检测Webshell响应报文,无需对Webshell的文件内容以及报文体进行分析,不受代码混淆与报文加密的影响,能够从网络加密流量中检测Webshell响应报文;而且还可以确定对应的Webshell类别。
图6为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图,如图6所示,该方法包括:
步骤601,判断待测HTTP报文是请求报文还是响应报文;
其中,HTTP(HyperText Transfer Protocol,超文本传输协议)一个简单的请求-响应协议。HTTP请求报文和HTTP响应报文分别具有各自对应的格式。识别HTTP报文为请求报文还是响应报文的方法可以为现有的任一种识别方法,在此不再赘述。
步骤602,当所述待测HTTP报文是请求报文时,从所述待测HTTP报文中提取请求报文对应的预设报文头字段;
其中,请求报文对应的预设报文头字段可以预先设定,例如从请求报文的报文头字段中选取一定的字段作为预设报文头字段。
步骤603,对提取的请求报文对应的报文头字段进行特征构造生成请求报文的报文头特征;
其中,特征构造可以采用现有特征工程中任一项特征构造方法,例如以请求报文为例,选取的头部字段包括以下一个或者多个:Accept、Referer、Cookie以及User-Agent等。特征构造方案可以是泛化处理,例如,对于Referer字段,判断Referer是否是当前请求的主机上的资源,特征构造之后的取值为是、否或者空值;对于Cookie字段,将其转化为Cookie属性名称的序列,并使用“|”进行拼接,如果Cookie属性名称中包含16进制,则用“<hex,length>”替代16进制子串,例如,将“1ea9b319770c952b6feb7e9702c7ce16key=sSd5;act=cwd”转换为“<hex,32>key|act”。
步骤604,判断生成的请求报文的报文头特征是否命中预先生成的一个或者多个请求报文检测规则;
步骤605,当生成的请求报文的报文头特征命中所述一个或者多个请求报文检测规则中的任意一个请求报文检测规则时,判断所述待测HTTP报文为Webshell报文。
其中,所述一个或者多个请求报文检测规则是从基于决策树算法对第一请求报文训练集进行训练得到的决策树二分类模型中导出的Webshell类别的决策路径;所述第一请求报文训练集为已分别标记为Webshell报文或者正常报文的多个请求报文头特征。在一示例中,可以在步骤601之前预先生成一个或者多个请求报文检测规则,包括:
分别从Webshell流量和正常流量中提取Webshell请求报文和正常请求报文的头部字段的值作为请求报文训练集;
对请求报文训练集中的报文头部字段的值进行特征构造以及特征编码,来将特征数字化;
使用决策树算法在请求报文训练集上进行训练,得到请求报文决策树模型;
从该请求报文决策树模型导出Webshell类别的决策路径作为请求报文检测规则。
其中,还可以对导出的Webshell类别的决策路径先进行简化处理,然后将简化处理后的决策路径作为请求报文检测规则。
本发明实施例提供的技术方案,基于HTTP报文的报文头特征来检测Webshell请求报文,无需对Webshell的文件内容以及报文体进行分析,不受代码混淆与报文加密的影响,能够从网络加密流量中检测Webshell请求报文。
进一步地,现有的Webshell检测方案一般基于流量或日志进行Webshell检测,因此只能进行线下检测,而本实施例的方案,通过自动化提取基于HTTP报文头部的Webshell检测规则,只要将提取的检测规则导入WAF(WebApplication Firewall,Web应用程序防火墙),就可以用于实时的线上Webshell检测。
图7为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图,如图7所示,该方法包括:
步骤701,判断待测HTTP报文是请求报文还是响应报文;
其中,HTTP(HyperText Transfer Protocol,超文本传输协议)一个简单的请求-响应协议。HTTP请求报文和HTTP响应报文分别具有各自对应的格式。识别HTTP报文为请求报文还是响应报文的方法可以为现有的任一种识别方法,在此不再赘述。
步骤702,当所述待测HTTP报文是响应报文时,从所述待测HTTP报文中提取响应报文对应的预设报文头字段;
其中,响应报文对应的预设报文头字段可以预先设定,例如从响应报文的报文头字段中选取一定的字段作为预设报文头字段。
步骤703,对提取的响应报文对应的报文头字段进行特征构造生成响应报文的报文头特征;
其中,特征构造可以采用现有特征工程中任一项特征构造方法,例如以响应报文为例,选取的头部字段包括以下一个或者多个:Location、Server、Vary以及Connection等。特征构造方案可以是泛化处理。
步骤704,判断生成的响应报文的报文头特征是否命中预先生成的一个或者多个响应报文检测规则;
步骤705,当生成的响应报文的报文头特征命中所述一个或者多个响应报文检测规则中的任意一个响应报文检测规则时,判断所述待测HTTP报文为Webshell报文。
其中,所述一个或者多个响应报文检测规则是从基于决策树算法对第一响应报文训练集进行训练得到的决策树二分类模型中导出的Webshell类别的决策路径,所述第一响应报文训练集为已分别标记为Webshell报文或者正常报文的多个响应报文头特征。
在一示例中,可以在步骤701之前预先生成一个或者多个响应报文检测规则,包括:
分别从Webshell流量和正常流量中提取Webshell响应报文和正常响应报文的头部字段的值作为响应报文训练集;
对响应报文训练集中的报文头部字段的值进行特征构造以及特征编码,来将特征数字化;
使用决策树算法在响应报文训练集上进行训练,得到响应报文决策树模型;
从该响应报文决策树模型导出Webshell类别的决策路径作为响应报文检测规则。
其中,还可以对导出的Webshell类别的决策路径先进行简化处理,然后将简化处理后的决策路径作为响应报文检测规则。
本发明实施例提供的技术方案,基于HTTP报文的报文头特征来检测Webshell响应报文,无需对Webshell的文件内容以及报文体进行分析,不受代码混淆与报文加密的影响,能够从网络加密流量中检测Webshell响应报文。
进一步地,现有的Webshell检测方案一般基于流量或日志进行Webshell检测,因此只能进行线下检测,而本实施例的方案,通过自动化提取基于HTTP报文头部的Webshell检测规则,只要将提取的检测规则导入WAF(WebApplication Firewall,Web应用程序防火墙),就可以用于实时的线上Webshell检测。
图8为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图,如图8所示,该方法包括:
步骤801,判断待测HTTP报文是请求报文还是响应报文;
其中,HTTP(HyperText Transfer Protocol,超文本传输协议)一个简单的请求-响应协议。HTTP请求报文和HTTP响应报文分别具有各自对应的格式。识别HTTP报文为请求报文还是响应报文的方法可以为现有的任一种识别方法,在此不再赘述。
步骤802,当所述待测HTTP报文是请求报文时,从所述待测HTTP报文中提取请求报文对应的预设报文头字段;
其中,请求报文对应的预设报文头字段可以预先设定,例如从请求报文的报文头字段中选取一定的字段作为预设报文头字段。
步骤803,对提取的请求报文对应的报文头字段进行特征构造生成请求报文的报文头特征;
其中,特征构造可以采用现有特征工程中任一项特征构造方法,例如以请求报文为例,选取的头部字段包括以下一个或者多个:Accept、Referer、Cookie以及User-Agent等。特征构造方案可以是泛化处理,例如,对于Referer字段,判断Referer是否是当前请求的主机上的资源,特征构造之后的取值为是、否或者空值;对于Cookie字段,将其转化为Cookie属性名称的序列,并使用“|”进行拼接,如果Cookie属性名称中包含16进制,则用“<hex,length>”替代16进制子串,例如,将“1ea9b319770c952b6feb7e9702c7ce16key=sSd5;act=cwd”转换为“<hex,32>key|act”。
步骤804,判断生成的请求报文对应的报文头特征是否命中预先生成的一个或者多个请求报文检测规则;
步骤805,当生成的请求报文对应的报文头特征命中所述一个或者多个请求报文检测规则中的任意一个请求报文检测规则时,确定命中的请求报文检测规则对应的Webshell类别;
步骤806,根据命中的请求报文检测规则对应的Webshell类别确定所述待测HTTP报文的Webshell类别;
其中,所述一个或者多个请求报文检测规则是从基于决策树算法对第二请求报文训练集进行训练得到的决策树多分类模型中导出的Webshell类别的决策路径;所述第二请求报文训练集为已分别标记为Webshell类别或者正常报文的多个请求报文头特征;每一个请求报文检测规则标记有对应的Webshell类别。
其中,一般情况下,当报文命中任意一条检测规则时,检测停止,并将命中的规则所对应的Webshell类别作为该报文对应的类别。或者,也可以当报文遍历了所有检测规则时,检测才停止,这种情况下,可能命中多条规则。(不是必须要遍历所有检测规则)。例如,在判断是否命中的过程中,可以在命中第一个请求报文检测规则后就将该命中的请求报文检测规则对应的Webshell类别作为所述待测HTTP报文的Webshell类别。或者遍历所有请求报文检测规则,如果命中多个请求报文检测规则,如果该多个请求报文检测规则对应的Webshell类别一致,则将该Webshell类别作为待测HTTP报文的Webshell类别,如果该多个请求报文检测规则对应的Webshell类别不一致,则可以将该多个Webshell类别作为待测HTTP报文的Webshell类别,或者进入人工判断。
在一示例中,可以在步骤801之前预先生成一个或者多个请求报文检测规则,包括:
分别从Webshell流量和正常流量中提取Webshell类别请求报文和正常请求报文的头部字段的值作为请求报文训练集;
其中,Webshell类别请求报文是指已标记Webshell类别的Webshell请求报文。
对请求报文训练集中的报文头部字段的值进行特征构造以及特征编码,来将特征数字化;
使用决策树算法在请求报文训练集上进行训练,得到请求报文决策树模型;
从该请求报文决策树模型导出Webshell类别的决策路径作为请求报文检测规则。
其中,还可以对导出的Webshell类别的决策路径先进行简化处理,然后将简化处理后的决策路径作为请求报文检测规则。
本发明实施例提供的技术方案,基于HTTP报文的报文头特征来检测Webshell请求报文,无需对Webshell的文件内容以及报文体进行分析,不受代码混淆与报文加密的影响,能够从网络加密流量中检测Webshell请求报文。
进一步地,现有的Webshell检测方案一般基于流量或日志进行Webshell检测,因此只能进行线下检测,而本实施例的方案,通过自动化提取基于HTTP报文头部的Webshell检测规则,只要将提取的检测规则导入WAF(WebApplication Firewall,Web应用程序防火墙),就可以用于实时的线上Webshell检测。
图9为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图,如图9所示,该方法包括:
步骤901,判断待测HTTP报文是请求报文还是响应报文;
其中,HTTP(HyperText Transfer Protocol,超文本传输协议)一个简单的请求-响应协议。HTTP请求报文和HTTP响应报文分别具有各自对应的格式。识别HTTP报文为请求报文还是响应报文的方法可以为现有的任一种识别方法,在此不再赘述。
步骤902,当所述待测HTTP报文是响应报文时,从所述待测HTTP报文中提取响应报文对应的预设报文头字段;
其中,响应报文对应的预设报文头字段可以预先设定,例如从响应报文的报文头字段中选取一定的字段作为预设报文头字段。
步骤903,对提取的响应报文对应的报文头字段进行特征构造生成响应报文的报文头特征;
步骤904,判断生成的响应报文的报文头特征是否命中预先生成的一个或者多个响应报文检测规则;
步骤905,当生成的响应报文的报文头特征命中所述一个或者多个响应报文检测规则中的任意一个响应报文检测规则时,确定命中的响应报文检测规则对应的Webshell类别;
步骤906,根据命中的响应报文检测规则对应的Webshell类别确定所述待测HTTP报文的Webshell类别;
其中,所述一个或者多个响应报文检测规则是从基于决策树算法对第二响应报文训练集进行训练得到的决策树多分类模型中导出的Webshell类别的决策路径;所述第二响应报文训练集为已分别标记为Webshell类别或者正常报文的多个响应报文头特征;每一个响应报文检测规则标记有对应的Webshell类别。
其中,根据命中的响应报文检测规则对应的Webshell类别确定所述待测HTTP报文的Webshell类别,是指可以直接将命中的响应报文检测规则对应的Webshell类别作为所述待测HTTP报文的Webshell类别。在判断是否命中的过程中,可以在命中第一个响应报文检测规则后就将该命中的响应报文检测规则对应的Webshell类别作为所述待测HTTP报文的Webshell类别。或者遍历所有响应报文检测规则,如果命中多个响应报文检测规则,如果该多个响应报文检测规则对应的Webshell类别一致,则将该Webshell类别作为待测HTTP报文的Webshell类别,如果该多个响应报文检测规则对应的Webshell类别不一致,则可以将该多个Webshell类别作为待测HTTP报文的Webshell类别,或者进入人工判断。
在一示例中,可以在步骤901之前预先生成一个或者多个响应报文检测规则,包括:
分别从Webshell流量和正常流量中提取Webshell类别响应报文和正常响应报文的头部字段的值作为响应报文训练集;
其中,Webshell类别响应报文是指已标记Webshell类别的Webshell响应报文。
对响应报文训练集中的报文头部字段的值进行特征构造以及特征编码,来将特征数字化;
使用决策树算法在响应报文训练集上进行训练,得到响应报文决策树模型;
从该响应报文决策树模型导出Webshell类别的决策路径作为响应报文检测规则。
其中,还可以对导出的Webshell类别的决策路径先进行简化处理,然后将简化处理后的决策路径作为响应报文检测规则。
本发明实施例提供的技术方案,基于HTTP报文的报文头特征来检测Webshell响应报文,无需对Webshell的文件内容以及报文体进行分析,不受代码混淆与报文加密的影响,能够从网络加密流量中检测Webshell响应报文。
进一步地,现有的Webshell检测方案一般基于流量或日志进行Webshell检测,因此只能进行线下检测,而本实施例的方案,通过自动化提取基于HTTP报文头部的Webshell检测规则,只要将提取的检测规则导入WAF(WebApplication Firewall,Web应用程序防火墙),就可以用于实时的线上Webshell检测。
图10为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图,如图10所示,该方法包括:
步骤1001,分别从Webshell流量和正常流量中提取报文头部字段的值作为训练集;
在一示例中,该步骤可以包括:
从Webshell流量和正常流量中提取原始的HTTP报文;
区分原始HTTP报文中的请求报文与响应报文;
分别提取请求报文和响应报文的预设的头部字段的值。
步骤1002:对训练集中的报文头部字段的值进行特征构造以及特征编码;
在一示例中,该步骤可以包括:
对请求报文和响应报文中的头部字段的值,进行特征构造;
对特征进行编码,将特征数字化。
步骤1003:使用训练集构建决策树模型,并从中导出Webshell报文的检测规则;
在一示例中,该步骤可以包括:
分别在请求报文训练集和响应报文训练集上训练决策树模型;
分别从请求报文决策树和响应报文决策树中导出Webshell类别的决策路径,并分别作为Webshell请求报文和响应报文的检测规则。
步骤1004:使用Webshell检测规则判断待测报文是否是Webshell报文。
在一示例中,该步骤可以包括:
区分待测报文是请求报文还是响应报文,并进行报头字段提取和特征构造;
判断请求报文是否命中任意一条请求报文检测规则,类似地,判断响应报文是否命中任意一条响应报文检测规则,若是,则判定该报文为Webshell报文。
本发明实施里提供的技术方案,基于HTTP报文的头部字段进行Webshell特征提取与检测,相比于报文体,报文头部字段不受代码混淆与报文加密的影响,从而解决了从网络加密流量中检测Webshell报文的问题。进一步地,实现了自动化提取基于HTTP报文头部的Webshell检测规则,将提取的检测规则导入WAF(Web Application Firewall,Web应用程序防火墙),可用于实时的Webshell检测。
图11为本发明另一实施例提供的一种Webshell报文的检测方法的流程示意图,如图11所示,该方法包括:
步骤1101、分别从Webshell流量和正常流量中提取Webshell报文和正常报文的头部字段的值作为训练集;
在一示例中,该步骤包括:
分别从Webshell流量和正常流量中提取原始的HTTP报文,并区分请求报文与响应报文,分别提取请求报文和响应报文的预设的头部字段的值,构成请求报文训练集和响应报文训练集,每个训练集同时包含Webshell报文和正常报文。
步骤1102、对训练集中的报文头部字段的值进行特征构造以及特征编码;
在一示例中,该步骤包括:
分别对请求报文训练集和响应报文训练集中的报文头部字段的值,进行特征构造以及特征编码,来将特征数字化。
步骤1103、基于训练集构建决策树模型,并从中导出Webshell报文的检测规则;
在一示例中,该步骤包括:
使用决策树算法分别在请求报文训练集和响应报文训练集上进行训练,得到分别用于请求报文和响应报文的决策树模型。从决策树模型中导出Webshell类别的决策路径,分别作为Webshell请求报文和响应报文的检测规则。
步骤1104、使用Webshell检测规则判断待测报文是否是Webshell。
在一示例中,该步骤包括:
首先判断待测报文是请求报文还是响应报文,然后进行报头字段提取和特征构造。对请求报文遍历请求报文检测规则,若待测请求报文命中任意一条请求报文检测规则,则判定该报文为Webshell报文,该报文所请求的目标文件为Webshell。类似地,对响应报文遍历响应报文检测规则,若响应报文命中任意一条响应报文检测规则,则判定该报文为Webshell的响应报文。
在本发明的另一实施例中,在上述两个实施例的基础上,还可以先对导出的Webshell类别的决策路径进行简化处理,将简化处理后的Webshell类别的决策路径作为Webshell检测规则。
其中,简化处理的过程包括:
判断导出的Webshell类别的决策路径中是否存在疑似冗余条件项;
如果存在,删除所述疑似冗余的条件项。
例如,图12所示,给出了用于检测Webshell请求报文类别的CART(Classificationand Regression Tree,分类回归树)多分类决策树示例,有3个叶节点的决策结果为Webshell类别(类型),分别为ironshell、b374k以及蚁剑。导出的决策路径是逻辑表达式,以图12中的决策树为例,从中导出的Webshell类别的决策路径列举如下:
(1)If(Cookie==wieeeee)Then(ironshell)
(2)If(Cookie!=wieeeee and Accept-Language==zh-CN,zh;q=0.9andCookie==b374k|s_self)Then(b374k)
(3)If(Cookie!=wieeeee and Accept-Language!=zh-CN,zh;q=0.9andUser_Agent==antSword/v2.1)Then(antSword)
需要说明的是,由于CART是二叉树,其决策路径中必然会存在类似于feature!=value的条件项,例如(2)中的Cookie!=wieeeee,这种条件项可能是冗余的。为了删除这种疑似冗余的条件项,需测试该条件项对于其所在决策路径的决策结果而言,是否是充分条件,若是,则保留,否则删除。
在一示例中用以下方法来测试疑似冗余条件项是否是充分条件:
a、从决策路径中删除一个疑似冗余条件项;
b、使用决策路径,对训练集中所有正常报文样本进行预测,若有误报,则说明该条件项非冗余,并将该条件项补充到决策条件中;
c、对决策路径中剩余的所有疑似冗余项重复a-b过程。
使用上述方法对决策路径(2)、(3)进行简化,分别得到:
(2)If(Accept-Language==zh-CN,zh;q=0.9and Cookie==b374k|s_self)Then(b374k)
(3)If(User_Agent==antSword/v2.1)Then(antSword)
将简化后的(2)、(3)作为Webshell检测规则。
图13为本发明一实施例提供的一种电子装置的结构示意图,如图13所示,该装置包括:
提取单元,设置为根据待测HTTP报文的类型从所述待测HTTP报文中提取所述类型对应的预设报文头字段,
生成单元,设置为对提取的报文头字段进行特征构造生成所述类型对应的报文头特征;
确定单元,设置为根据生成的所述类型对应的报文头特征,以及所述类型对应的预先训练好的决策树模型,确定所述待测HTTP报文的Webshell检测结果;
其中,一个类型对应一个决策树模型,一个类型对应的决策树模型是基于决策树算法对该类型的报文训练集进行训练得到的决策树二分类模型或者多分类模型;当决策树模型为二分类模型时,一个类型的报文训练集包括已标记为Webshell报文或正常报文的该类型的多个报文头特征,当决策树模型为多分类模型时,一个类型的报文训练集包括已标记为Webshell类别或正常报文的该类型的多个报文头特征。
在一示例中,所述提取单元,设置为:
当所述待测HTTP报文是请求报文时,从所述待测HTTP报文中提取请求报文对应的预设报文头字段;
当所述待测HTTP报文是响应报文时,从所述待测HTTP报文中提取响应报文对应的预设报文头字段。
在一示例中,所述生成单元,设置为:
当所述待测HTTP报文是请求报文时,对提取的报文头字段进行特征构造生成请求报文对应的报文头特征;
当所述待测HTTP报文是响应报文时,对提取的报文头字段进行特征构造生成响应报文对应的报文头特征。
在一示例中,确定单元,设置为:
当所述待测HTTP报文是请求报文时,将生成的请求报文对应的报文头特征输入预先训练好的第一请求报文决策树模型,输出所述待测HTTP报文为Webshell报文或者正常报文;
或者,判断生成的请求报文对应的报文头特征是否命中预先生成的一个或者多个请求报文检测规则;当生成的请求报文对应的报文头特征命中所述一个或者多个请求报文检测规则中的任意一个请求报文检测规则时,判断所述待测HTTP报文为Webshell报文;
其中,所述第一请求报文决策树模型是基于决策树算法对第一请求报文训练集进行训练得到的决策树二分类模型,所述第一请求报文训练集为已分别标记为Webshell报文或者正常报文的多个请求报文的报文头特征;所述一个或者多个请求报文检测规则是从基于决策树算法对第一请求报文训练集进行训练得到的决策树二分类模型中导出的Webshell类别的决策路径。
在一示例中,确定单元,设置为:
当所述待测HTTP报文是请求报文时,将生成的请求报文对应的报文头特征输入预先训练好的第二请求报文决策树模型,输出所述待测HTTP报文的报文类型,该报文类型为Webshell类别或者正常报文;
或者,判断生成的请求报文对应的报文头特征是否命中预先生成的一个或者多个请求报文检测规则;当生成的请求报文对应的报文头特征命中所述一个或者多个请求报文检测规则中的任意一个请求报文检测规则时,确定命中的请求报文检测规则对应的Webshell类别,并根据命中的请求报文检测规则对应的Webshell类别确定所述待测HTTP报文的Webshell类别;
其中,所述第二请求报文决策树模型是基于决策树算法对第二请求报文训练集进行训练得到的决策树多分类模型,所述第二请求报文训练集为已分别标记为Webshell类别或者正常报文的多个请求报文的报文头特征;所述一个或者多个请求报文检测规则是从基于决策树算法对第二请求报文训练集进行训练得到的决策树多分类模型中导出的Webshell类别的决策路径,每一个请求报文检测规则标记有对应的Webshell类别。
在一示例中,确定单元,设置为:
当所述待测HTTP报文是响应报文时,将生成的响应报文对应的报文头特征输入预先训练好的第一响应报文决策树模型,输出所述待测HTTP报文为Webshell报文或者正常报文;
或者,判断生成的响应报文对应的报文头特征是否命中预先生成的一个或者多个响应报文检测规则;当生成的响应报文对应的报文头特征命中所述一个或者多个响应报文检测规则中的任意一个响应报文检测规则时,判断所述待测HTTP报文为Webshell报文;
其中,所述第一响应报文决策树模型是基于决策树算法对第一响应报文训练集进行训练得到的决策树二分类模型,所述第一响应报文训练集为已分别标记为Webshell报文或者正常报文的多个响应报文的报文头特征;所述一个或者多个响应报文检测规则是从基于决策树算法对第一响应报文训练集进行训练得到的决策树二分类模型中导出的Webshell类别的决策路径。
在一示例中,确定单元,设置为:
当所述待测HTTP报文是响应报文时,将生成的响应报文对应的报文头特征输入预先训练好的第二响应报文决策树模型,输出所述待测HTTP报文为Webshell报文或者正常报文;
或者,判断生成的响应报文对应的报文头特征是否命中预先生成的一个或者多个响应报文检测规则;当生成的响应报文对应的报文头特征命中所述一个或者多个响应报文检测规则中的任意一个响应报文检测规则时,确定命中的响应报文检测规则对应的Webshell类别,并根据命中的响应报文检测规则对应的Webshell类别确定所述待测HTTP报文的Webshell类别;
其中,所述第二响应报文决策树模型是基于决策树算法对第二响应报文训练集进行训练得到的决策树多分类模型,所述第二响应报文训练集为已分别标记为Webshell类别或者正常报文的多个响应报文的报文头特征;所述一个或者多个响应报文检测规则是从基于决策树算法对第二响应报文训练集进行训练得到的决策树多分类模型中导出的Webshell类别的决策路径,每一个响应报文检测规则标记有对应的Webshell类别。
本发明实施例提供的技术方案,基于HTTP报文的报文头特征来检测Webshell,无需对Webshell的文件内容以及报文体进行分析,不受代码混淆与报文加密的影响,能够从网络加密流量中检测Webshell报文。
图14为本发明另一实施例提供的一种电子装置的结构示意图,如图14所示,该装置包括:
数据准备模块,用于分别从Webshell流量和正常流量中提取Webshell报文和正常报文的头部字段的值,并将其作为训练集;
特征工程模块,用于对训练集中的报文头部字段的值进行特征构造以及特征编码;
规则生成模块,用于使用训练集构建决策树模型,并从中导出Webshell报文的检测规则;
Webshell检测模块,用于使用Webshell检测规则判断待测报文是否是Webshell。
在一示例中,所述数据准备模块包括:
报文提取单元,用于从Webshell流量和正常流量中提取原始的HTTP报文;
报文区分单元,用于区分原始HTTP报文中的请求报文与响应报文;
字段提取单元,用于分别提取请求报文和响应报文的预设的头部字段的值。
在一示例中,所述特征工程模块包括:
特征构造单元,用于对请求报文和响应报文中的头部字段的值,进行特征构造;
特征编码单元,用于对特征进行编码,来将特征数字化。
在一示例中,所述规则生成模块包括:
决策树训练单元,用于分别在请求报文训练集和响应报文训练集上训练决策树模型;
检测规则导出单元,分别从请求报文决策树和响应报文决策树中导出Webshell类别的决策路径,并分别作为Webshell请求报文和响应报文的检测规则。
在一示例中,所述Webshell检测模块包括:
报文区分单元,用于区分待测HTTP报文为请求报文还是响应报文;
字段提取单元,用于当待测HTTP报文为请求报文时,从待测HTTP报文中提取请求报文的预设头部字段的值;当待测HTTP报文为响应报文时,从待测HTTP报文中提取响应报文的预设头部字段的值
特征构造单元,用于提取的头部字段的值,进行特征构造生成请求报文的报文头特征或者响应报文的报文头特征;
规则匹配单元,用于判断构造的请求报文的报文头特征是否命中任意一条请求报文检测规则,类似地,判断构造的请求报文的报文头特征是否命中任意一条响应报文检测规则,若是,则判定该报文为Webshell通信报文。
本发明实施里提供的技术方案,基于HTTP报文的头部字段进行Webshell特征提取与检测,相比于报文体,报文头部字段不受代码混淆与报文加密的影响,从而解决了从网络加密流量中检测Webshell报文的问题。进一步地,实现了自动化提取基于HTTP报文头部的Webshell检测规则,将提取的检测规则导入WAF(Web Application Firewall,Web应用程序防火墙),可用于实时的Webshell检测。
图15为本发明另一实施例提供的一种电子装置的结构示意图,如图15所示,该装置包括:
数据准备模块,用于从Webshell流量和正常流量中提取报文头部字段的值作为训练集;
特征工程模块,用于对训练集中的报文头部字段的值进行特征构造以及特征编码;
规则生成模块,基于训练集构建决策树模型,并从中导出Webshell报文的检测规则;
Webshell检测模块,用于使用Webshell检测规则判断待测报文是否是Webshell通信报文。
在一示例中,所述数据准备模块如图16所示,包括:
报文提取单元,用于从Webshell流量和正常流量中提取原始的HTTP报文,作为训练集;
报文区分单元,用于区分原始HTTP报文中的请求报文与响应报文,并删除返回码大于等于400的响应报文及相应的请求报文;
字段提取单元,用于分别提取训练集中请求报文和响应报文的预设的头部字段的值,并分别构成请求报文训练集和响应报文训练集。
在一示例中,所述特征工程模块如图17所示,包括:
特征构造单元,用于分别对请求报文训练集和响应报文训练集中报文头部字段的值,进行特征构造;
其中,使用报文头部字段进行特征工程与建模的基本思想是:同一种Webshell报文头部的每个字段都有固定的取值模式。头部字段众多,将一种Webshell的多个头部字段的值进行特征构造之后进行组合,可以形成这种Webshell的头部字段取值模式。通过头部字段取值模式来识别一种Webshell。基于此,对报文头部进行建模,得到的分类模型可以用来识别Webshell类别,该模型为多分类模型,类别个数为N+1,其中N代表训练数据集中Webshell类别的个数,1代表正常报文。以此类推,也可以构建用来区分Webshell报文和正常报文的二分类模型。
以请求报文为例,选取的头部字段可以但不限于包括Accept、Referer、Cookie以及User-Agent等。特征构造的主要方案是泛化处理,例如,对于Referer字段,判断Referer是否是当前请求的主机上的资源,特征构造之后的取值为是、否或者空值;对于Cookie字段,将其转化为Cookie属性名称的序列,并使用“|”进行拼接,如果Cookie属性名称中包含16进制,则用“<hex,length>”替代16进制子串,例如,将“1ea9b319770c952b6feb7e9702c7ce16key=sSd5;act=cwd”转换为“<hex,32>key|act”。
特征编码单元,用于对特征进行编码,来将特征数字化。本实施例使用独热编码(One-hot Encoding),将特征编码为布尔向量。
在一示例中,所述规则生成模块如图18所示,包括:
决策树训练单元,用于分别在请求报文训练集和响应报文训练集上训练决策树模型。训练得到两个分类器,分别是区分Webshell请求报文和正常请求报文的分类器,以及区分Webshell响应报文和正常响应报文的分类器;
其中,决策树是一种可解释的机器学习方法,基于树结构进行决策。决策树中,叶节点对应决策结果,其它节点对应一个划分选择。本实施例使用的决策树算法是CART(Classification and Regression Tree,分类回归树),CART的划分选择依据是基尼指数(Gini Index)。基尼指数是从数据集中随机抽取两个样本,其类别不一致的概率。基尼指数越小,数据集的纯度越高。分别在请求和响应报文训练集上使用决策树算法进行建模,并结合网格搜索(Grid Search)和交叉验证来调参。建模完成之后,本实施例采用后剪枝算法CCP(Cost-Complexity Pruning,代价复杂度剪枝)对决策树进行剪枝。CCP算法的关键是剪枝阈值alpha的选取,alpha的一个区间对应一个最优子树,使用交叉验证来选取检测效果最优的子树作为最优子树。剪枝使得决策树的复杂度降低,深度减小、节点数减少,泛化性能得以提升。
检测规则导出单元,用于分别从请求报文决策树和响应报文决策树中导出Webshell类别的决策路径,作为Webshell请求报文和响应报文的检测规则。
其中,针对决策树中的每个叶节点,如果该叶节点的预测类别为Webshell类别,且分类置信度大于预设阈值,则导出该叶节点对应的决策路径。
在一示例中,所述Webshell检测模块如图19所示,包括:
报文区分单元、字段提取单元和特征构造单元,依次用于区分待测报文是请求报文还是响应报文、提取待测报文头部字段的值并进行特征构造;
规则匹配单元,用于将待测报文与检测规则进行匹配,用以检测Webshell。如果待测报文是请求报文,则遍历请求报文检测规则,若待测请求报文命中任意一条请求报文检测规则,则判定该报文为Webshell报文,该报文所请求的目标文件为Webshell。类似地,对响应报文遍历响应报文检测规则,若响应报文命中任意一条响应报文检测规则,则判定该报文为Webshell的响应报文。
在一示例中,上述提到的规则(2)为例,当待测请求报文进行特征构造之后的Accept-Language字段特征值为zh-CN,zh;q=0.9以及Cookie字段特征值为b374k|s_self时,则判定该待测请求报文为网页版Webshell b374k的通信报文。
本实施例提供的技术方案,使用可解释的机器学习算法即决策树,对HTTP报文头部进行建模,得到用于检测Webshell报文的决策树模型,从决策树模型中导出Webshell报文的决策路径(即头部字段取值模式)作为Webshell检测规则。本申请主要的应用场景是WAF,将检测规则加入WAF攻击规则库中,可应用于实时的Webshell报文检测,来区分Webshell通信报文和正常业务通信报文,或者更进一步地对Webshell类别进行识别。
本发明实施例还提供了一种电子装置,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一项所述Webshell报文的检测方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有信息处理程序,所述信息处理程序被处理器执行时实现上述任一项中所述Webshell报文的检测方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种Webshell报文的检测方法,包括:
根据待测HTTP报文的类型从所述待测HTTP报文中提取所述类型对应的预设报文头字段;
对提取的所述类型对应的报文头字段进行特征构造生成所述类型对应的报文头特征;
根据生成的所述类型对应的报文头特征,以及所述类型对应的预先训练好的决策树模型,确定所述待测HTTP报文的Webshell检测结果;
其中,一个类型对应一个决策树模型,一个类型对应的决策树模型是基于决策树算法对该类型的报文训练集进行训练得到的决策树二分类模型或者多分类模型;当决策树模型为二分类模型时,一个类型的报文训练集包括已标记为Webshell报文或正常报文的该类型的多个报文头特征,当决策树模型为多分类模型时,一个类型的报文训练集包括已标记为Webshell类别或正常报文的该类型的多个报文头特征。
2.根据权利要求1所述的检测方法,其特征在于,所述根据待测HTTP报文的类型从所述待测HTTP报文中提取所述类型对应的预设报文头字段,包括:
当所述待测HTTP报文是请求报文时,从所述待测HTTP报文中提取请求报文对应的预设报文头字段;
当所述待测HTTP报文是响应报文时,从所述待测HTTP报文中提取响应报文对应的预设报文头字段。
3.根据权利要求1所述的检测方法,其特征在于,所述对提取的所述类型对应的报文头字段进行特征构造生成所述类型对应的报文头特征,包括:
当所述待测HTTP报文是请求报文时,对提取的报文头字段进行特征构造生成请求报文对应的报文头特征;
当所述待测HTTP报文是响应报文时,对提取的报文头字段进行特征构造生成响应报文对应的报文头特征。
4.根据权利要求1所述的检测方法,其特征在于,所述根据生成的所述类型对应的报文头特征,以及所述类型对应的预先训练好的决策树模型,确定所述待测HTTP报文的Webshell检测结果,包括:
当所述待测HTTP报文是请求报文时,将生成的请求报文对应的报文头特征输入预先训练好的第一请求报文决策树模型,输出所述待测HTTP报文为Webshell报文或者正常报文;
或者,判断生成的请求报文对应的报文头特征是否命中预先生成的一个或者多个请求报文检测规则;当生成的请求报文对应的报文头特征命中所述一个或者多个请求报文检测规则中的任意一个请求报文检测规则时,判断所述待测HTTP报文为Webshell报文;
其中,所述第一请求报文决策树模型是基于决策树算法对第一请求报文训练集进行训练得到的决策树二分类模型,所述第一请求报文训练集为已分别标记为Webshell报文或者正常报文的多个请求报文的报文头特征;所述一个或者多个请求报文检测规则是从基于决策树算法对第一请求报文训练集进行训练得到的决策树二分类模型中导出的Webshell类别的决策路径。
5.根据权利要求1所述的检测方法,其特征在于,所述根据生成的所述类型对应的报文头特征,以及所述类型对应的预先训练好的决策树模型,确定所述待测HTTP报文的Webshell检测结果,包括:
当所述待测HTTP报文是请求报文时,将生成的请求报文对应的报文头特征输入预先训练好的第二请求报文决策树模型,输出所述待测HTTP报文的报文类型,该报文类型为Webshell类别或者正常报文;
或者,判断生成的请求报文对应的报文头特征是否命中预先生成的一个或者多个请求报文检测规则;当生成的请求报文对应的报文头特征命中所述一个或者多个请求报文检测规则中的任意一个请求报文检测规则时,确定命中的响应报文检测规则对应的Webshell类别,并根据命中的请求报文检测规则对应的Webshell类别确定所述待测HTTP报文的Webshell类别;
其中,所述第二请求报文决策树模型是基于决策树算法对第二请求报文训练集进行训练得到的决策树多分类模型,所述第二请求报文训练集为已分别标记为Webshell类别或者正常报文的多个请求报文的报文头特征;所述一个或者多个请求报文检测规则是从基于决策树算法对第二请求报文训练集进行训练得到的决策树多分类模型中导出的Webshell类别的决策路径,每一个请求报文检测规则标记有对应的Webshell类别。
6.根据权利要求1所述的检测方法,其特征在于,所述根据生成的所述类型对应的报文头特征,以及所述类型对应的预先训练好的决策树模型,确定所述待测HTTP报文的Webshell检测结果,包括:
当所述待测HTTP报文是响应报文时,将生成的响应报文对应的报文头特征输入预先训练好的第一响应报文决策树模型,输出所述待测HTTP报文为Webshell报文或者正常报文;
或者,判断生成的响应报文对应的报文头特征是否命中预先生成的一个或者多个响应报文检测规则;当生成的响应报文对应的报文头特征命中所述一个或者多个响应报文检测规则中的任意一个响应报文检测规则时,判断所述待测HTTP报文为Webshell报文;
其中,所述第一响应报文决策树模型是基于决策树算法对第一响应报文训练集进行训练得到的决策树二分类模型,所述第一响应报文训练集为已分别标记为Webshell报文或者正常报文的多个响应报文的报文头特征;所述一个或者多个响应报文检测规则是从基于决策树算法对第一响应报文训练集进行训练得到的决策树二分类模型中导出的Webshell类别的决策路径。
7.根据权利要求1所述的检测方法,其特征在于,所述根据生成的所述类型对应的报文头特征,以及所述类型对应的预先训练好的决策树模型,确定所述待测HTTP报文的Webshell检测结果,包括:
当所述待测HTTP报文是响应报文时,将生成的响应报文对应的报文头特征输入预先训练好的第二响应报文决策树模型,输出所述待测HTTP报文为Webshell报文或者正常报文;
或者,判断生成的响应报文对应的报文头特征是否命中预先生成的一个或者多个响应报文检测规则;当生成的响应报文对应的报文头特征命中所述一个或者多个响应报文检测规则中的任意一个响应报文检测规则时,确定命中的响应报文检测规则对应的Webshell类别,并根据命中的响应报文检测规则对应的Webshell类别确定所述待测HTTP报文的Webshell类别;
其中,所述第二响应报文决策树模型是基于决策树算法对第二响应报文训练集进行训练得到的决策树多分类模型,所述第二响应报文训练集为已分别标记为Webshell类别或者正常报文的多个响应报文的报文头特征;所述一个或者多个响应报文检测规则是从基于决策树算法对第二响应报文训练集进行训练得到的决策树多分类模型中导出的Webshell类别的决策路径,每一个响应报文检测规则标记有对应的Webshell类别。
8.一种电子装置,其特征在于,包括:
提取单元,设置为根据待测HTTP报文的类型从所述待测HTTP报文中提取所述类型对应的预设报文头字段,
生成单元,设置为对提取的报文头字段进行特征构造生成所述类型对应的报文头特征;
确定单元,设置为根据生成的所述类型对应的报文头特征,以及所述类型对应的预先训练好的决策树模型,确定所述待测HTTP报文的Webshell检测结果;
其中,一个类型对应一个决策树模型,一个类型对应的决策树模型是基于决策树算法对该类型的报文训练集进行训练得到的决策树二分类模型或者多分类模型;当决策树模型为二分类模型时,一个类型的报文训练集包括已标记为Webshell报文或正常报文的该类型的多个报文头特征,当决策树模型为多分类模型时,一个类型的报文训练集包括已标记为Webshell类别或正常报文的该类型的多个报文头特征。
9.一种电子装置,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述Webshell报文的检测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有信息处理程序,所述信息处理程序被处理器执行时实现如权利要求1-7任一项中所述Webshell报文的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010387880.8A CN111740946B (zh) | 2020-05-09 | 2020-05-09 | Webshell报文的检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010387880.8A CN111740946B (zh) | 2020-05-09 | 2020-05-09 | Webshell报文的检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111740946A true CN111740946A (zh) | 2020-10-02 |
CN111740946B CN111740946B (zh) | 2023-04-25 |
Family
ID=72648174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010387880.8A Active CN111740946B (zh) | 2020-05-09 | 2020-05-09 | Webshell报文的检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111740946B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761522A (zh) * | 2021-09-02 | 2021-12-07 | 恒安嘉新(北京)科技股份公司 | 一种webshell流量的检测方法、装置、设备和存储介质 |
CN113761523A (zh) * | 2021-09-02 | 2021-12-07 | 恒安嘉新(北京)科技股份公司 | 一种基于机器学习的文本数据检测方法、装置和设备 |
CN114598524A (zh) * | 2022-03-07 | 2022-06-07 | 北京百度网讯科技有限公司 | 检测代理工具的方法、装置、设备以及存储介质 |
CN114710354A (zh) * | 2022-04-11 | 2022-07-05 | 中国电信股份有限公司 | 异常事件检测方法及装置、存储介质及电子设备 |
CN115379026A (zh) * | 2022-04-19 | 2022-11-22 | 国家计算机网络与信息安全管理中心 | 一种报文头域的识别方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106131071A (zh) * | 2016-08-26 | 2016-11-16 | 北京奇虎科技有限公司 | 一种Web异常检测方法和装置 |
CN106357618A (zh) * | 2016-08-26 | 2017-01-25 | 北京奇虎科技有限公司 | 一种Web异常检测方法和装置 |
CN108965336A (zh) * | 2018-09-10 | 2018-12-07 | 杭州迪普科技股份有限公司 | 一种攻击检测方法及装置 |
CN109657467A (zh) * | 2018-11-26 | 2019-04-19 | 北京兰云科技有限公司 | 一种网页后门检测方法和装置、计算机可读存储介质 |
CN109948669A (zh) * | 2019-03-04 | 2019-06-28 | 腾讯科技(深圳)有限公司 | 一种异常数据检测方法及装置 |
CN110855661A (zh) * | 2019-11-11 | 2020-02-28 | 杭州安恒信息技术股份有限公司 | 一种WebShell检测方法、装置、设备及介质 |
US20200117718A1 (en) * | 2018-10-12 | 2020-04-16 | Black Hills Ip Holdings, Llc | Machine learning techniques for detecting docketing data anomalies |
CN111049783A (zh) * | 2018-10-12 | 2020-04-21 | 北京奇虎科技有限公司 | 一种网络攻击的检测方法、装置、设备及存储介质 |
-
2020
- 2020-05-09 CN CN202010387880.8A patent/CN111740946B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106131071A (zh) * | 2016-08-26 | 2016-11-16 | 北京奇虎科技有限公司 | 一种Web异常检测方法和装置 |
CN106357618A (zh) * | 2016-08-26 | 2017-01-25 | 北京奇虎科技有限公司 | 一种Web异常检测方法和装置 |
CN108965336A (zh) * | 2018-09-10 | 2018-12-07 | 杭州迪普科技股份有限公司 | 一种攻击检测方法及装置 |
US20200117718A1 (en) * | 2018-10-12 | 2020-04-16 | Black Hills Ip Holdings, Llc | Machine learning techniques for detecting docketing data anomalies |
CN111049783A (zh) * | 2018-10-12 | 2020-04-21 | 北京奇虎科技有限公司 | 一种网络攻击的检测方法、装置、设备及存储介质 |
CN109657467A (zh) * | 2018-11-26 | 2019-04-19 | 北京兰云科技有限公司 | 一种网页后门检测方法和装置、计算机可读存储介质 |
CN109948669A (zh) * | 2019-03-04 | 2019-06-28 | 腾讯科技(深圳)有限公司 | 一种异常数据检测方法及装置 |
CN110855661A (zh) * | 2019-11-11 | 2020-02-28 | 杭州安恒信息技术股份有限公司 | 一种WebShell检测方法、装置、设备及介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761522A (zh) * | 2021-09-02 | 2021-12-07 | 恒安嘉新(北京)科技股份公司 | 一种webshell流量的检测方法、装置、设备和存储介质 |
CN113761523A (zh) * | 2021-09-02 | 2021-12-07 | 恒安嘉新(北京)科技股份公司 | 一种基于机器学习的文本数据检测方法、装置和设备 |
CN114598524A (zh) * | 2022-03-07 | 2022-06-07 | 北京百度网讯科技有限公司 | 检测代理工具的方法、装置、设备以及存储介质 |
CN114598524B (zh) * | 2022-03-07 | 2023-11-17 | 北京百度网讯科技有限公司 | 检测代理工具的方法、装置、设备以及存储介质 |
CN114710354A (zh) * | 2022-04-11 | 2022-07-05 | 中国电信股份有限公司 | 异常事件检测方法及装置、存储介质及电子设备 |
CN114710354B (zh) * | 2022-04-11 | 2023-09-08 | 中国电信股份有限公司 | 异常事件检测方法及装置、存储介质及电子设备 |
CN115379026A (zh) * | 2022-04-19 | 2022-11-22 | 国家计算机网络与信息安全管理中心 | 一种报文头域的识别方法、装置、设备及存储介质 |
CN115379026B (zh) * | 2022-04-19 | 2024-01-19 | 国家计算机网络与信息安全管理中心 | 一种报文头域的识别方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111740946B (zh) | 2023-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111740946B (zh) | Webshell报文的检测方法及装置 | |
CN112398779B (zh) | 一种网络流量数据分析方法及系统 | |
CN110233849B (zh) | 网络安全态势分析的方法及系统 | |
Alam et al. | Phishing attacks detection using machine learning approach | |
CN108156131B (zh) | Webshell检测方法、电子设备和计算机存储介质 | |
CN111600919B (zh) | 智能网络应用防护系统模型的构建方法和装置 | |
US20180063168A1 (en) | Automatic detection of network threats based on modeling sequential behavior in network traffic | |
CN107888554B (zh) | 服务器攻击的检测方法和装置 | |
CN112866023B (zh) | 网络检测、模型训练方法、装置、设备及存储介质 | |
CN108768883B (zh) | 一种网络流量识别方法及装置 | |
Lee et al. | Feature selection algorithm for intrusions detection system using sequential forward search and random forest classifier | |
CN114915479B (zh) | 一种基于Web日志的Web攻击阶段分析方法及系统 | |
CN112492059A (zh) | Dga域名检测模型训练方法、dga域名检测方法、装置及存储介质 | |
CN111368289B (zh) | 一种恶意软件检测方法和装置 | |
CN114003903B (zh) | 一种网络攻击追踪溯源方法及装置 | |
CN112199677A (zh) | 一种数据处理方法和装置 | |
JP2010097342A (ja) | 異常動作検出装置及びプログラム | |
CN111586071A (zh) | 一种基于循环神经网络模型的加密攻击检测方法及装置 | |
CN112839014A (zh) | 建立识别异常访问者模型的方法、系统、设备及介质 | |
CN116915450A (zh) | 基于多步网络攻击识别和场景重构的拓扑剪枝优化方法 | |
CN117220920A (zh) | 基于人工智能的防火墙策略管理方法 | |
CN114650176A (zh) | 钓鱼网站的检测方法、装置、计算机设备及存储介质 | |
Gong et al. | Estimating web attack detection via model uncertainty from inaccurate annotation | |
CN113067792A (zh) | 一种xss攻击识别方法、装置、设备及介质 | |
CN117473571B (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 | ||
GR01 | Patent grant |