CN113364784B - 检测参数生成方法、装置、电子设备及存储介质 - Google Patents
检测参数生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113364784B CN113364784B CN202110644909.0A CN202110644909A CN113364784B CN 113364784 B CN113364784 B CN 113364784B CN 202110644909 A CN202110644909 A CN 202110644909A CN 113364784 B CN113364784 B CN 113364784B
- Authority
- CN
- China
- Prior art keywords
- data
- uploading
- request
- static
- processed
- 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.)
- Active
Links
Images
Classifications
-
- 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
-
- 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
- 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/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种检测参数生成方法、装置、电子设备及计算机可读存储介质,该方法包括:获取多个静态上传请求分别对应的静态响应数据;对各个静态响应数据按照数据类型分类,得到若干组待处理数据;分别利用各组待处理数据,基于数据类型进行参数提取,得到若干个上传成功检测参数;该方法可以按照数据类型对静态响应数据进行分类,得到若干组数据类型不同的待处理数据;在各组待处理数据中,按照其数据类型的信息表征方式进行参数提取,得到该类待处理数据对应的上传成功检测参数,即得到准确的上传成功检测参数,进而对动态脚本是否成功上传进行准确地检测,使得用户能够准确判断是否遭受到网络攻击。
Description
技术领域
本申请涉及网络安全技术领域,特别涉及一种检测参数生成方法、检测参数生成装置、电子设备及计算机可读存储介质。
背景技术
webshell是指利用网站端口对网络服务器进行入侵的网络攻击形式。攻击者在入侵了一个网站后,通过文件上传接口将一些动态脚本放置在网站服务器中,与正常的网页文件混在一起。利用这些脚本,攻击者就可以控制网站服务器。为了对webshell上传进行检测,相关技术通常对想要通过文件上传接口上传的文件进行检测,在确定其是动态文件时报警。然而,由于文件上传接口被设计为上传静态文件,因此想要通过文件上传接口上传的动态文件可能无法被成功上传,进而无法进行网络攻击。因此相关技术在检测到想要上传动态文件时就进行报警的方式不利于用户准确判断已经是否遭受到网络攻击。
发明内容
有鉴于此,本申请的目的在于提供一种检测参数生成方法、装置、电子设备及计算机可读存储介质,通过得到准确的上传成功检测参数,可以对动态脚本是否成功上传进行准确地检测,使得用户能够准确判断是否遭受到网络攻击。
为解决上述技术问题,本申请提供了一种检测参数生成方法,具体包括:
获取多个静态上传请求分别对应的静态响应数据;
对各个所述静态响应数据按照数据类型分类,得到若干组待处理数据;
分别利用各组所述待处理数据,基于所述数据类型进行参数提取,得到若干个上传成功检测参数。
可选地,所述对各个所述静态响应数据按照数据类型分类,得到若干组待处理数据,包括:
若所述静态响应数据为目标编码格式,则将其确定为第一类数据;
若所述静态响应数据中包括第一状态码,则将其确定为第二类数据;
若所述静态响应数据中包括第二状态码,则将其确定为第三类数据;
将所述第一类数据、所述第二类数据和所述第三类数据分别划分为不同组的所述待处理数据。
可选地,所述基于所述数据类型进行参数提取,得到若干个上传成功检测参数,包括:
若所述待处理数据为所述第一类数据,则提取各个所述待处理数据之间的公共字段,并将所述公共字段确定为所述上传成功检测参数;
若所述待处理数据为所述第二类数据,则提取各个所述待处理数据对应的跳转位置数据,并将数量最多的目标跳转位置数据确定为所述上传成功检测参数;
若所述待处理数据为所述第三类数据,则计算各个所述待处理数据中字符串的特征值,并将数量最多的目标特征值确定为所述上传成功检测参数。
可选地,还包括:
获取待测数据,并对所述待测数据进行上传请求识别,得到待测请求;
对所述待测请求进行文件类型识别,得到动态上传请求;
获取所述动态上传请求对应的动态响应数据,并利用所述上传成功检测参数与所述动态上传请求进行匹配检测;
若通过所述匹配检测,则进行异常报警。
可选地,所述对所述待测数据进行上传请求识别,得到待测请求,包括:
利用预设文件上传特征,对所述待测数据中各个请求数据的请求头进行匹配;
将通过匹配的所述请求数据确定为所述待测请求。
可选地,所述对所述待测请求进行文件类型识别,得到动态上传请求,包括:
利用预设静态文件特征,对所述待测请求中待上传文件的文件后缀和/或文件头字符进行匹配;
将未通过匹配的待测请求确定为所述动态上传请求。
可选地,所述获取多个静态上传请求分别对应的静态响应数据,包括:
获取初始数据,并判断当前是否已存在与所述初始数据的身份标识匹配的所述上传成功检测参数;
若存在所述上传成功检测参数,则将所述初始数据确定为待测数据;
若未存在所述上传成功检测参数,则将所述初始数据确定为所述训练数据,并对所述训练数据进行上传请求识别,得到若干个上传请求;
对各个所述上传请求进行文件类型识别,得到静态上传请求,并在所述静态上传请求对应的响应数据满足参数提取条件时,将所述响应数据确定为所述静态响应数据。
本申请还提供了一种检测参数生成装置,包括:
获取模块,用于获取多个静态上传请求分别对应的静态响应数据;
分类模块,用于对各个所述静态响应数据按照数据类型分类,得到若干组待处理数据;
提取模块,用于分别利用各组所述待处理数据,基于所述数据类型进行参数提取,得到若干个上传成功检测参数。
本申请还提供了一种电子设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现上述的检测参数生成方法。
本申请还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的检测参数生成方法。
本申请提供的检测参数生成方法,获取多个静态上传请求分别对应的静态响应数据;对各个静态响应数据按照数据类型分类,得到若干组待处理数据;分别利用各组待处理数据,基于数据类型进行参数提取,得到若干个上传成功检测参数。
可见,该方法中,静态上传请求用于上传静态文件,且通过文件上传接口能够成功上传静态文件,因此其对应的静态响应数据均为表明文件被成功上传的响应。由于网站服务器发送的静态响应数据的数据类型可能有多种,而不用数据类型的响应数据以不同的方式表征文件被成功上传的信息,因此为了得到能够准确表明文件被成功上传的上传成功检测参数,可以按照数据类型对静态响应数据进行分类,得到若干组数据类型不同的待处理数据。在各组待处理数据中,按照其数据类型的信息表征方式进行参数提取,可以得到该类待处理数据对应的上传成功检测参数。通过对静态上传请求对应的静态响应数据按照其数据类型进行参数提取,可以得到各种数据类型下服务器表示文件被成功上传的参数,即上传成功检测参数。利用准确的上传成功检测参数,可以在检测到有动态脚本被上传后,对对应的响应内容进行检测,判断是否被正常上传,以便在检测到成功上传后进行报警。该方法可以得到准确的上传成功检测参数,可以对动态脚本是否成功上传进行准确地检测,使得用户能够准确判断是否遭受到网络攻击,解决了相关技术不利于用户准确判断是否遭受到网络攻击的问题。
此外,本申请还提供了一种检测参数生成装置、电子设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种检测参数生成方法流程图;
图2为本申请实施例提供的一种具体的检测参数生成方法以及动态文件上传检测方法流程图;
图3为本申请实施例提供的一种检测参数生成装置的结构示意图;
图4为本申请实施例提供的一种检测参数生成方法所适用的一种硬件组成框架示意图;
图5为本申请实施例提供的另一种检测参数生成方法所适用的一种硬件组成框架示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
当前,针对webshell上传进行检测是网攻攻击检测的核心部分,攻击者进行webshell通信的前提就是要上传webshell脚本。webshell脚本上传通常通过文件上传接口进行,而文件上传接口一般被设计用于进行静态文件的上传,而webshell脚本属于动态文件,因此其上传可能存在失败的情况。为了进行网络安全防护,一般会在检测到有动态文件想要进行上传时就进行报警,或者可以获取动态文件的上传响应内容,并在其中存在200状态码时进行报警。然而,上述两种方式均无法准确地说明动态文件已经被成功上传,在检测到有动态文件想要上传时只能确定攻击者试图进行网络攻击,并不能确定其一定能够成功,即并不能确定已经被攻击成功;200状态码的响应内容为固定响应方式,无论动态文件是否被成功上传均可能得到具有200状态码的服务器响应内容,因此用户无法准确判断动态文件是否被成功上传,进而无法判断攻击者是否成功进行了网络攻击,即无法准确判断是否遭受到了网络攻击。
为了解决上述问题,本申请提供了一种检测参数生成方法。请参考图1,图1为本申请实施例提供的一种检测参数生成方法流程图。该方法包括:
S101:获取多个静态上传请求分别对应的静态响应数据。
其中,静态上传请求是指服务器接受到的用于通过文件上传接口上传静态文件的请求,相应的,静态响应数据是指服务器在接收到静态上传请求后向客户端反馈的响应数据。静态上传请求用于上传静态文件,其具有两个特征,第一,请求中指明了调用文件上传接口;第二,请求中上传的文件为静态文件。每个静态上传请求分别对应于一个静态响应数据。可以理解的是,由于静态上传请求想要上传静态文件,因此其通常都能够成功上传,所以对应的静态响应数据均用于表示文件被成功上传,利用其可以在后续提取到能够表示文件被成功上传的检测参数,即上传成功检测参数。
对于静态响应数据的获取方式,在一种实施方式中,可以直接获取预先设置的数据作为静态响应数据,即直接从服务器本地或外部获取已有的静态响应数据。在另一种实施方式中,可以获取初始数据,并对初始数据进行分析和处理,从中提取得到静态响应数据。例如,由于HTTP(HyperText Transfer Protocol,超文本传输协议)日志中记录了服务器的工作情况,其中也记录了服务器获取到的请求以及做出的响应。因此可以对HTTP日志进行静态上传请求的检测,并在检测到静态上传请求后提取其对应的响应数据作为静态响应数据。本实施例并不限定静态上传请求的具体检测方式,可以根据需要选择对应的检测方式。例如在一种实施方式中,可以判断请求中的URL(Uniform Resource Locator,统一资源定位符)中是否存在upload(即上传)负载,若存在则确定其为上传请求,进而对请求中的文件数据进行检测,判断是否为静态文件,若是则确定该请求为静态上传请求。
需要说明的是,本实施例并不限定执行本申请中部分或全部步骤的电子设备具体为哪一个设备,在一种实施方式中,该电子设备可以为一个或多个指定的网络安全设备。
S102:对各个所述静态响应数据按照数据类型分类,得到若干组待处理数据。
需要说明的是,根据服务器类型、配置等不同,以及静态上传请求上传的文件类型等因素的不同,服务器对不同的静态上传请求的响应方式可以不同,具体表现即为不同的静态响应数据的数据类型可以不同。在本实施例中,获取到的多个静态响应数据对应的数据类型可以为一个或多个,根据其数据类型,可以将多个静态响应数据划分为若干类,异类静态响应数据组成一组,每一组静态响应数据均为等待被处理的数据,即待处理数据,因此待处理数据的组数和数据类型的数量相同。
数据类型是指静态响应数据中数据特征的类别,其用于说明静态响应数据采用什么样的方式对上传结果进行表示。对于数据类型的具体形式,在一种实施方式中,服务器可以用特殊编码格式的数据作为响应内容;在第二种实施方式中,服务器可以用具有302状态码的数据作为相应内容;在第三种实施例中,服务器可以利用具有固定状态码,即200状态码,的数据作为响应内容。由于不同数据类型的静态响应数据采用不同的方式对静态文件是否成功上传进行表征,因此在进行分类得到若干组待处理数据之后需要分别采用不同的方式进行参数提取。
S103:分别利用各组所述待处理数据,基于所述数据类型进行参数提取,得到若干个上传成功检测参数。
由于不同类型的静态响应数据采用的信息表达方式不同,因此其中能够表征文件上传结果(即是否成功上传)的数据部分不同。为了能够得到准确表征文件上传成功的上传成功检测参数,需要基于每个组对应的数据类型,分别对各组待处理数据进行参数提取,得到对应的上传成功检测参数。可以理解的是,一种数据类型只有一种形式来表征文件被成功上传,因此得到的上传成功检测参数的数量与待处理数据的组数相同。
对于具体的参数提取方式,由于数据类型不同,静态响应数据传递信息的方式也可能不同,因此不同的数据类型对应的参数提取方式也可以不同。在一种实施方式中,可以提取各个静态响应数据之间的公共部分,并将公共部分确定为上传成功检测参数;在另一种实施方式中,可以计算静态响应数据中某部分数据的特征值,并将特征值确定为上传成功检测参数。
应用本申请实施例提供的检测参数生成方法,静态上传请求用于上传静态文件,且通过文件上传接口能够成功上传静态文件,因此其对应的静态响应数据均为表明文件被成功上传的响应。由于网站服务器发送的静态响应数据的数据类型可能有多种,而不用数据类型的响应数据以不同的方式表征文件被成功上传的信息,因此为了得到能够准确表明文件被成功上传的上传成功检测参数,可以按照数据类型对静态响应数据进行分类,得到若干组数据类型不同的待处理数据。在各组待处理数据中,按照其数据类型的信息表征方式进行参数提取,可以得到该类待处理数据对应的上传成功检测参数。通过对静态上传请求对应的静态响应数据按照其数据类型进行参数提取,可以得到各种数据类型下服务器表示文件被成功上传的参数,即上传成功检测参数。利用准确的上传成功检测参数,可以在检测到有动态脚本被上传后,对对应的响应内容进行检测,判断是否被正常上传,以便在检测到成功上传后进行报警。该方法可以得到准确的上传成功检测参数,可以对动态脚本是否成功上传进行准确地检测,使得用户能够准确判断是否遭受到网络攻击,解决了相关技术不利于用户准确判断是否遭受到网络攻击的问题。
基于上述实施例,本实施例将对上述实施例中的若干步骤进行具体阐述。在实际应用中,由于不同对象(例如公司、用户等)的网络访问情况不同,因此针对不同对象应当分别提取对应的上传成功检测参数,才能准确地进行上传检测,且得到的上传成功检测参数仅能用于对该对象的数据进行检测。因此获取多个静态上传请求分别对应的静态响应数据的过程具体可以包括如下步骤:
步骤11:获取初始数据,并判断当前是否已存在与初始数据的身份标识匹配的上传成功检测参数。
初始数据是指直接获取到的数据(例如直接获取到的HTTP日志),其具有身份标识,身份标识用于标识初始数据对应的对象,同时也用于标识上传成功检测参数,以便将参数与对象身份进行对应。由于一个对象对应的数据仅能用于生成其自身的上传成功检测参数,或者仅能用于利用自身已有的盛传成功检测参数进行检测。因此在获取到初始数据后,通过判断当前是否已有与其身份标识相匹配的上传成功检测参数,可以确定初始数据的具体作用,即是否需要利用其生成参数。
步骤12:若存在上传成功检测参数,则将初始数据确定为待测数据。
如果已经存在对应的上传成功检测参数,则说明获取到的初始数据已经能够被检测,在这种情况下,可以将其初始数据确定为待测数据,以便利用已经得到的上传成功检测参数对初始数据进行检测。具体的,从待测数据中提取动态上传请求对应的动态响应数据,并利用上传成功检测参数与动态响应数据进行匹配,若匹配成功则确定有动态文件上传成功,进而确定遭受到了网络攻击。
步骤13:若未存在上传成功检测参数,则将初始数据确定为训练数据,并对训练数据进行上传请求识别,得到若干个上传请求。
若不存在与身份标识匹配的上传成功检测参数,则说明初始数据无法被检测,在这种情况下,则将其确定为用于生成上传成功检测参数的训练数据,并对其进行上传请求识别,将其中具有的上传请求提取出来,得到若干个上传请求。
步骤14:对各个上传请求进行文件类型识别,得到静态上传请求,并在静态上传请求对应的响应数据满足参数提取条件时,将响应数据确定为静态响应数据。
在得到上传请求后,识别上传请求中文件的文件类型,并将具有静态文件的上传请求确定为静态上传请求。为了保证上传成功检测参数的可靠性,需要利用足够的静态响应数据进行参数生成,因此需要在静态上传请求对应的响应数据满足参数提取条件时,将其去确定为静态响应数据。参数提取条件是指用于对响应数据的数据量进行限制的条件,其具体形式不做限定。在一种实施方式中,其可以为数量条件,例如可以为所有数据类型的响应数据的数量下限;或者可以为每个数据类型的响应数据分别对应的数量下限,即所有数据类型的响应数据的数量均达到该数量下限时,确定满足参数提取条件。在另一种实施方式中,响应数据可以在内存中缓存,参数提取条件可以为所有数据类型的响应数据对应的内存占用量下限;或者可以为每个数据类型的响应数据分别对应的内存占用量的下限,即当所有数据类型的响应数据的内存占用量均达到该内存占用量下限时,确定满足参数提取条件。
进一步的,在得到静态响应数据后,对各个所述静态响应数据按照数据类型分类,得到若干组待处理数据的过程具体可以包括如下步骤:
步骤21:若静态响应数据为目标编码格式,则将其确定为第一类数据;
步骤22:若静态响应数据中包括第一状态码,则将其确定为第二类数据;
步骤23:若静态响应数据中包括第二状态码,则将其确定为第三类数据;
步骤24:将第一类数据、第二类数据和第三类数据分别划分为不同组的待处理数据。
在本实施例中,数据类型共分为三类。第一类数据为具有目标编码格式的数据,目标编码格式为指定的特殊编码格式,例如可以为json格式,或者以为其他可行格式。第二类数据为具有跳转位置数据的数据,而跳转位置数据通常与第一状态码(通常为302状态码)同时出现,因此可以将具有第一状态码的静态响应数据确定为第二类数据。第三类数据为具有字符串的数据,其利用字符串表明上传结果,而字符串通常与第二状态码(通常为200状态码)同时出现,因此当静态响应数据中存在第二状态码时,可以将其确定为第三类数据。在得到静态响应数据后,可以根据其具体情况进行分类,得到若干组待处理数据。
在一种实施方式中,静态响应数据利用步骤11至步骤14的方式得到,若使用各个数据类型分别对应的参数提取条件(例如参数提取条件包括多个类型的静态响应数据分别对应的数量下限或内存占用量下限)来判断是否开始进行参数生成,则在获取静态响应数据的过程中同样可以利用步骤21至步骤24的方式对数据类型进行识别。在进行分类时,可以直接利用已经识别到的识别结果对各个静态响应数据进行分类,得到待处理数据。
进一步,在得到各组待处理数据后,对于不同类型的待处理数据,可以采用不同的方式提取对应的上传成功检测参数。具体的,基于所述数据类型进行参数提取,得到若干个上传成功检测参数的过程可以包括如下步骤:
步骤31:若待处理数据为第一类数据,则提取各个待处理数据之间的公共字段,并将公共字段确定为上传成功检测参数。
其中,对于具有目标编码格式的数据,例如json格式的数据,可以提取各个待处理数据之间的公共字段,并将公共字段确定为上传成功检测参数。
步骤32:若待处理数据为第二类数据,则提取各个待处理数据对应的跳转位置数据,并将数量最多的目标跳转位置数据确定为上传成功检测参数。
对于第二类数据,其利用跳转位置数据(即跳转location)表示文件上传结果。由于静态上传请求用于上传静态文件,因此多个静态响应数据中表示文件上传成功的响应数据占比较多,但是也可能存在少数情况上传错误。为了得到准确的上传成功检测参数,可以提取各个待处理数据对应的跳转位置数据,并统计各个跳转位置数据的数量,而数量最多的跳转位置数据,即目标跳转位置数据,就是表示上传成功的数据。因此可以将数量最多的目标跳转位置数据确定为上传成功检测参数。
步骤33:若待处理数据为第三类数据,则计算各个待处理数据中字符串的特征值,并将数量最多的目标特征值确定为上传成功检测参数。
对于第三类数据,其利用字符串表示文件上传结果。与第二类数据类似,为了得到准确的上传成功检测参数,可以计算各个待处理数据中字符串的特征值,例如MD5值(利用MD5信息摘要算法计算得到的值),并统计各个特征值的数量,而数量最多的特征值,即目标特征值,就是表示上传成功的数据。因此可以将数量最多的目标特征值确定为上传成功检测参数。
通过上述过程的分类和参数提取处理,可以对各种数据类型的静态响应数据进行参数提取,得到准确的上传成功检测参数,以便后续对各种形式的待测数据进行检测。
基于上述实施例,在得到上传成功检测参数后,可以利用其对待测数据进行检测,判断其中是否记录了动态文件被成功上传的信息。具体的,还可以包括以下步骤:
步骤41:获取待测数据,并对待测数据进行上传请求识别,得到待测请求。
待测数据是指参与检测是否记录了动态文件成功上传情况的数据,其具体形式不做限定,例如同样可以为HTTP日志。由于攻击者仅能通过文件上传的方式上传动态脚本,因此仅需对其中的上传请求对应的响应数据进行检测即可。在这种情况下,可以先识别其中的上传请求,进而根据上传请求再从待测数据中提取对应的响应数据。在本实施例中,上传请求识别后得到的结果被称为待测请求。
需要说明的是,本实施例并不限定上传请求识别的具体方式,在一种实施方式中,可以判断请求中的URL中是否存在upload负载,若存在则确定其为上传请求,但是该方式的识别准确率相对较低。为了准确地识别上传请求,对待测数据进行上传请求识别,得到待测请求的过程可以包括如下步骤:
步骤51:利用预设文件上传特征,对待测数据中各个请求数据的请求头进行匹配。
步骤52:将通过匹配的请求数据确定为待测请求。
为了表明自身用于进行文件上传,文件上传请求的请求头中会声明自身的身份,具体表现为其请求头中包括文件上传特征。因此,可以预先设置多个能够进行文件上传的请求头特征,即预设文件上传特征,并利用其对待测数据中各个请求数据中的请求头进行匹配,判断其中是否包括预设文件上传特征。若某一请求数据通过匹配,则说明该请求数据用于进行文件上传,因此将其确定为待测请求。
步骤42:对待测请求进行文件类型识别,得到动态上传请求。
由于攻击者无法利用静态文件进行攻击,因此对于上传静态文件的静态上传请求可以不作处理,将其滤除,仅保留用于上传动态文件的动态上传请求。具体的,可以对各个待测请求进行文件类型识别,对其上传的文件是否为动态文件进行判断,当检测到待测请求中存在动态文件时,则确定检测到动动态上传请求。
本实施例并不限定具体的文件类型识别的具体方式,在一种实施方式中,文件类型识别的过程可以包括:
步骤61:利用预设静态文件特征,对待测请求中待上传文件的文件后缀和/或文件头字符进行匹配。
步骤62:将未通过匹配的待测请求确定为动态上传请求。
其中,预设静态文件特征为静态文件数据独有的文件特征,根据特征在文件中所处位置的不同,其具体内容可以不做限定。由于文件后缀和文件头字符(即文件头中的字符,通常位于文件的最前端,可以用于声明文件类型)均可以对文件类型进行生命,因此可以利用预设静态文件特征对待上传文件的文件后缀和/或文件头字符进行匹配。若未通过匹配,则说明该待测请求并不具备合法的上传静态文件的特征,因此可以将其确定为动态上传请求。
步骤43:获取动态上传请求对应的动态响应数据,并利用上传成功检测参数与动态上传请求进行匹配检测。
步骤44:若通过匹配检测,则进行异常报警。
在检测到动态上传请求之后,可以确定存在想要上传动态文件的情况,在这种情况下,可以获取动态响应数据,并利用上传成功检测参数与动态上传请求进行匹配,通过判断动态上传请求中是否存在上传成功检测参数,可以判断动态文件是否成功上传。若通过匹配检测,则可以进行异常报警,具体报警方式不做限定。
基于上述实施例,在一种实施方式中,请参考图2,图2为本申请实施例提供的一种具体的检测参数生成方法以及动态文件上传检测方法流程图。在从HTTP日志中提取到HTTP请求后,对其调用的接口进行识别,判断是否为文件上传接口。若否,则可以不对其进行处理,重新处理下一HTTP请求。若是,则对文件类型进行识别,判断其是否用于上传静态文件,若是,则可以获取静态文件对应的静态响应数据,并将其缓存起来。在缓存得到足够多的数据时可以生成对应的规则,即上传成功检测参数。若不是静态文件,则可以判断是否存在对应的规则,并判断是否满足规则。若存在且满足对应的规则,即与上传成功检测参数相匹配,则生成安全事件进行报警。否则表明无法进行识别,或者确定动态文件没有成功上传。在这种情况下,可以继续处理下一HTTP请求。
在另一种实施方式中,可以在识别文件类型后判断是否存在接口规则,若存在,则将具有静态文件的HTTP请求舍弃,对具有动态文件的HTTP请求进行检测;若不存在,则获取具有静态文件的HTTP请求对应的静态响应数据,并将其进行缓存,并将具有动态文件的HTTP请求舍弃。
下面对本申请实施例提供的检测参数生成装置进行介绍,下文描述的检测参数生成装置与上文描述的检测参数生成方法可相互对应参照。
请参考图3,图3为本申请实施例提供的一种检测参数生成装置的结构示意图,包括:
获取模块110,用于获取多个静态上传请求分别对应的静态响应数据;
分类模块120,用于对各个静态响应数据按照数据类型分类,得到若干组待处理数据;
提取模块130,用于分别利用各组待处理数据,基于数据类型进行参数提取,得到若干个上传成功检测参数。
可选地,分类模块120,包括:
第一确定单元,用于若静态响应数据为目标编码格式,则将其确定为第一类数据;
第二确定单元,用于若静态响应数据中包括第一状态码,则将其确定为第二类数据;
第三确定单元,用于若静态响应数据中包括第二状态码,则将其确定为第三类数据;
分组单元,用于将第一类数据、第二类数据和第三类数据分别划分为不同组的待处理数据。
可选地,提取模块130,包括:
第一提取单元,用于若待处理数据为第一类数据,则提取各个待处理数据之间的公共字段,并将公共字段确定为上传成功检测参数;
第二提取单元,用于若待处理数据为第二类数据,则提取各个待处理数据对应的跳转位置数据,并将数量最多的目标跳转位置数据确定为上传成功检测参数;
第三提取单元,用于若待处理数据为第三类数据,则计算各个待处理数据中字符串的特征值,并将数量最多的目标特征值确定为上传成功检测参数。
可选地,还包括:
上传请求识别模块,用于获取待测数据,并对待测数据进行上传请求识别,得到待测请求;
文件类型识别模块,用于对待测请求进行文件类型识别,得到动态上传请求;
匹配检测模块,用于获取动态上传请求对应的动态响应数据,并利用上传成功检测参数与动态上传请求进行匹配检测;
告警模块,用于若通过匹配检测,则进行异常报警。
可选地,上传请求识别模块,包括:
请求头匹配单元,用于利用预设文件上传特征,对待测数据中各个请求数据的请求头进行匹配;
待测请求确定单元,用于将通过匹配的请求数据确定为待测请求。
可选地,文件类型识别模块,包括:
静态特征匹配单元,用于利用预设静态文件特征,对待测请求中待上传文件的文件后缀和/或文件头字符进行匹配;
动态上传确定单元,用于将未通过匹配的待测请求确定为动态上传请求。
可选地,获取模块110,包括:
参数判断单元,用于获取初始数据,并判断当前是否已存在与初始数据的身份标识匹配的上传成功检测参数;
待测数据确定单元,用于若存在上传成功检测参数,则将初始数据确定为待测数据;
请求识别单元,用于若未存在上传成功检测参数,则将初始数据确定为训练数据,并对训练数据进行上传请求识别,得到若干个上传请求;
静态响应数据获取单元,用于对各个上传请求进行文件类型识别,得到静态上传请求,并在静态上传请求对应的响应数据满足参数提取条件时,将响应数据确定为静态响应数据。
下面对本申请实施例提供的电子设备进行介绍,下文描述的电子设备与上文描述的检测参数生成方法可相互对应参照。
请参考图4,图4为本申请实施例提供的一种检测参数生成方法所适用的一种硬件组成框架示意图。其中电子设备100可以包括处理器101和存储器102,还可以进一步包括多媒体组件103、信息输入/信息输出(I/O)接口104以及通信组件105中的一种或多种。
其中,处理器101用于控制电子设备100的整体操作,以完成上述的检测参数生成方法中的全部或部分步骤;存储器102用于存储各种类型的数据以支持在电子设备100的操作,这些数据例如可以包括用于在该电子设备100上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,SRAM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、只读存储器(Read-OnlyMemory,ROM)、磁存储器、快闪存储器、磁盘或光盘中的一种或多种。在本实施例中,存储器102中至少存储有用于实现以下功能的程序和/或数据:
获取多个静态上传请求分别对应的静态响应数据;
对各个所述静态响应数据按照数据类型分类,得到若干组待处理数据;
分别利用各组所述待处理数据,基于所述数据类型进行参数提取,得到若干个上传成功检测参数。
多媒体组件103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器102或通过通信组件105发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口104为处理器101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件105用于电子设备100与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件105可以包括:Wi-Fi部件,蓝牙部件,NFC部件。
电子设备100可以被一个或多个应用专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field ProgrammableGate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例给出的检测参数生成方法。
当然,图4所示的电子设备100的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备100可以包括比图4所示的更多或更少的部件,或者组合某些部件。
可以理解的是,本申请实施例中并不对电子设备的数量进行限定,其可以是多个电子设备共同协作完成检测参数生成方法。在一种可能的实施方式中,请参考图5,图5为本申请实施例提供的另一种检测参数生成方法所适用的硬件组成框架示意图。由图5可知,该硬件组成框架可以包括:第一电子设备11和第二电子设备12,二者之间通过网络13连接。
在本申请实施例中,第一电子设备11与第二电子设备12的硬件结构可以参考图4中电子设备100。即可以理解为本实施例中具有两个电子设备100,两者进行数据交互。进一步,本申请实施例中并不对网络13的形式进行限定,即,网络13可以是无线网络(如WIFI、蓝牙等),也可以是有线网络。
其中,第一电子设备11和第二电子设备12可以是同一种电子设备,如第一电子设备11和第二电子设备12均为服务器;也可以是不同类型的电子设备,例如,第一电子设备11可以是服务器,第二电子设备12可以是计算机。第一电子设备11和第二电子设备12之间的交互行为可以为:第一电子设备11获取静态响应数据并对其进行分类,将分类结果及数据类型发送给第二电子设备12,第二电子设备12根据数据类型分别对各组待处理数据进行参数提取,得到上传成功检测参数。
下面对本申请实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的检测参数生成方法可相互对应参照。
本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的检测参数生成方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种检测参数生成方法,其特征在于,包括:
获取多个静态上传请求分别对应的静态响应数据;
对各个所述静态响应数据按照数据类型分类,得到若干组待处理数据;
分别利用各组所述待处理数据,基于所述数据类型进行参数提取,得到若干个上传成功检测参数;
获取待测数据,并对所述待测数据进行上传请求识别,得到待测请求;
对所述待测请求进行文件类型识别,得到动态上传请求;
获取所述动态上传请求对应的动态响应数据,并利用所述上传成功检测参数与所述动态上传请求进行匹配检测;
若通过所述匹配检测,则进行异常报警。
2.根据权利要求1所述的检测参数生成方法,其特征在于,所述对各个所述静态响应数据按照数据类型分类,得到若干组待处理数据,包括:
若所述静态响应数据为目标编码格式,则将其确定为第一类数据;
若所述静态响应数据中包括第一状态码,则将其确定为第二类数据;
若所述静态响应数据中包括第二状态码,则将其确定为第三类数据;
将所述第一类数据、所述第二类数据和所述第三类数据分别划分为不同组的所述待处理数据。
3.根据权利要求2所述的检测参数生成方法,其特征在于,所述基于所述数据类型进行参数提取,得到若干个上传成功检测参数,包括:
若所述待处理数据为所述第一类数据,则提取各个所述待处理数据之间的公共字段,并将所述公共字段确定为所述上传成功检测参数;
若所述待处理数据为所述第二类数据,则提取各个所述待处理数据对应的跳转位置数据,并将数量最多的目标跳转位置数据确定为所述上传成功检测参数;
若所述待处理数据为所述第三类数据,则计算各个所述待处理数据中字符串的特征值,并将数量最多的目标特征值确定为所述上传成功检测参数。
4.根据权利要求1所述的检测参数生成方法,其特征在于,所述对所述待测数据进行上传请求识别,得到待测请求,包括:
利用预设文件上传特征,对所述待测数据中各个请求数据的请求头进行匹配;
将通过匹配的所述请求数据确定为所述待测请求。
5.根据权利要求1所述的检测参数生成方法,其特征在于,所述对所述待测请求进行文件类型识别,得到动态上传请求,包括:
利用预设静态文件特征,对所述待测请求中待上传文件的文件后缀和/或文件头字符进行匹配;
将未通过匹配的待测请求确定为所述动态上传请求。
6.根据权利要求1所述的检测参数生成方法,其特征在于,所述获取多个静态上传请求分别对应的静态响应数据,包括:
获取初始数据,并判断当前是否已存在与所述初始数据的身份标识匹配的所述上传成功检测参数;
若存在所述上传成功检测参数,则将所述初始数据确定为待测数据;
若未存在所述上传成功检测参数,则将所述初始数据确定为训练数据,并对所述训练数据进行上传请求识别,得到若干个上传请求;
对各个所述上传请求进行文件类型识别,得到静态上传请求,并在所述静态上传请求对应的响应数据满足参数提取条件时,将所述响应数据确定为所述静态响应数据。
7.一种检测参数生成装置,其特征在于,包括:
获取模块,用于获取多个静态上传请求分别对应的静态响应数据;
分类模块,用于对各个所述静态响应数据按照数据类型分类,得到若干组待处理数据;
提取模块,用于分别利用各组所述待处理数据,基于所述数据类型进行参数提取,得到若干个上传成功检测参数;
上传请求识别模块,用于获取待测数据,并对待测数据进行上传请求识别,得到待测请求;
文件类型识别模块,用于对待测请求进行文件类型识别,得到动态上传请求;
匹配检测模块,用于获取动态上传请求对应的动态响应数据,并利用上传成功检测参数与动态上传请求进行匹配检测;
告警模块,用于若通过匹配检测,则进行异常报警。
8.一种电子设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至6任一项所述的检测参数生成方法。
9.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的检测参数生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110644909.0A CN113364784B (zh) | 2021-06-09 | 2021-06-09 | 检测参数生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110644909.0A CN113364784B (zh) | 2021-06-09 | 2021-06-09 | 检测参数生成方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113364784A CN113364784A (zh) | 2021-09-07 |
CN113364784B true CN113364784B (zh) | 2023-02-03 |
Family
ID=77533502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110644909.0A Active CN113364784B (zh) | 2021-06-09 | 2021-06-09 | 检测参数生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113364784B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115134164B (zh) * | 2022-07-18 | 2024-02-23 | 深信服科技股份有限公司 | 一种上传行为检测方法、***、设备及计算机存储介质 |
CN116842394A (zh) * | 2023-09-01 | 2023-10-03 | 苏州高视半导体技术有限公司 | 算法参数文件生成方法、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765022A (zh) * | 2021-01-18 | 2021-05-07 | 北京长亭未来科技有限公司 | 一种基于数据流的Webshell静态检测方法及电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2987110B1 (en) * | 2013-04-19 | 2018-06-13 | EntIT Software LLC | Unused parameters of application under test |
CN106301974A (zh) * | 2015-05-14 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种网站后门检测方法和装置 |
CN111680297A (zh) * | 2020-07-09 | 2020-09-18 | 腾讯科技(深圳)有限公司 | 基于人工智能的脚本文件的检测方法、装置及电子设备 |
-
2021
- 2021-06-09 CN CN202110644909.0A patent/CN113364784B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765022A (zh) * | 2021-01-18 | 2021-05-07 | 北京长亭未来科技有限公司 | 一种基于数据流的Webshell静态检测方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113364784A (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112417439B (zh) | 账号检测方法、装置、服务器及存储介质 | |
CN110324311B (zh) | 漏洞检测的方法、装置、计算机设备和存储介质 | |
CN110275958B (zh) | 网站信息识别方法、装置和电子设备 | |
CN106961419B (zh) | WebShell检测方法、装置及*** | |
CN109376078B (zh) | 移动应用的测试方法、终端设备及介质 | |
CN108718298B (zh) | 一种恶意外连流量检测方法及装置 | |
CN113364784B (zh) | 检测参数生成方法、装置、电子设备及存储介质 | |
CN110798488B (zh) | Web应用攻击检测方法 | |
CN113489713B (zh) | 网络攻击的检测方法、装置、设备及存储介质 | |
CN103685307A (zh) | 基于特征库检测钓鱼欺诈网页的方法及***、客户端、服务器 | |
CN107085549B (zh) | 故障信息生成的方法和装置 | |
CN111404937B (zh) | 一种服务器漏洞的检测方法和装置 | |
CN109547426B (zh) | 业务响应方法及服务器 | |
CN107395650B (zh) | 基于沙箱检测文件识别木马回连方法及装置 | |
WO2013147226A1 (ja) | 利用者体感品質推定装置、端末ボトルネック判定装置、類似操作抽出装置、及び方法、並びにプログラム | |
CN112437062B (zh) | 一种icmp隧道的检测方法、装置、存储介质和电子设备 | |
WO2020082763A1 (zh) | 基于决策树的钓鱼网站检测方法、装置及计算机设备 | |
CN112100536A (zh) | 一种网页访问方法、装置、设备及可读存储介质 | |
CN113779571B (zh) | WebShell检测装置、WebShell检测方法及计算机可读存储介质 | |
CN112532624A (zh) | 一种黑链检测方法、装置、电子设备及可读存储介质 | |
CN114650176A (zh) | 钓鱼网站的检测方法、装置、计算机设备及存储介质 | |
CN110162973B (zh) | 一种Webshell文件检测方法及装置 | |
CN115563600A (zh) | 数据审核方法和装置、电子设备及存储介质 | |
CN109995751B (zh) | 上网设备标记方法、装置及存储介质、计算机设备 | |
CN113079157A (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 |