CN117527354A - 一种攻击检测方法、装置、电子设备及存储介质 - Google Patents
一种攻击检测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117527354A CN117527354A CN202311482653.3A CN202311482653A CN117527354A CN 117527354 A CN117527354 A CN 117527354A CN 202311482653 A CN202311482653 A CN 202311482653A CN 117527354 A CN117527354 A CN 117527354A
- Authority
- CN
- China
- Prior art keywords
- attack
- injection
- request information
- determining
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 45
- 238000002347 injection Methods 0.000 claims abstract description 271
- 239000007924 injection Substances 0.000 claims abstract description 271
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims description 85
- 230000014509 gene expression Effects 0.000 claims description 54
- 230000006870 function Effects 0.000 claims description 53
- 230000002159 abnormal effect Effects 0.000 claims description 32
- 238000004891 communication Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 239000000243 solution Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 4
- 230000009133 cooperative interaction Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002035 prolonged effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
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
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种攻击检测的方法、装置、电子设备和存储介质,其中,该方法包括:获取待检测的请求信息,并检测所述请求信息中是否包含攻击特征信息,在检测到所述请求信息中包含攻击特征信息情况下,确定发生注入攻击并确定所述注入攻击的攻击类型;确定所述攻击类型对应的攻击成功判断方式,其中,所述攻击成功判断方式用于检测攻击成功特征信息;根据所述攻击成功判断方式,判断所述注入攻击是否攻击成功。这样,能够基于不同攻击类型对应的攻击成功判断方式,判断是否攻击成功,提高了攻击检测的灵活性和准确性,降低漏检率。
Description
技术领域
本公开涉及网络安全技术领域,具体而言,涉及一种攻击检测方法、装置、电子设备及存储介质。
背景技术
随着信息技术的快速发展,计算机和网络已成为日常办公、通讯交流和协作互动的必备工具和途径,数据安全作为信息安全领域中的重要课题,越来越受到关注,相关技术中,针对注入攻击的检测,主要基于正则表达式或关键字进行检测以判断是否攻击成功,但是该检测方式较单一,只能针对有明显攻击成功特征的注入攻击进行检测,灵活性较差,准确性低,有些注入攻击可能无法准确判断攻击成功,容易出现漏报情况。
发明内容
本公开实施例至少提供了一种攻击检测的方法、装置、电子设备及存储介质。
第一方面,本公开实施例提供了一种攻击检测方法,该方法包括:
获取待检测的请求信息,并检测所述请求信息中是否包含攻击特征信息,在检测到所述请求信息中包含攻击特征信息情况下,确定发生注入攻击并确定所述注入攻击的攻击类型;
确定所述攻击类型对应的攻击成功判断方式,其中,所述攻击成功判断方式用于检测攻击成功特征信息;
根据所述攻击成功判断方式,判断所述注入攻击是否攻击成功。
一种可选的实施方式中,所述检测所述请求信息中是否包含攻击特征信息,在检测到所述请求信息中包含攻击特征信息情况下,确定发生注入攻击并确定所述注入攻击的攻击类型,包括:
根据预设的多种攻击类型对应的正则表达式或异常字符串,将所述请求信息与各所述正则表达式或异常字符串进行匹配,其中,所述正则表达式或所述异常字符串表征所述攻击特征信息;
在确定匹配成功时,确定检测到所述请求信息中包含攻击特征信息,并确定发生注入攻击,根据检测到的所述攻击特征信息对应的攻击类型,确定所述注入攻击的攻击类型。
一种可选的实施方式中,确定所述注入攻击的攻击类型,包括:
在所述请求信息与第一正则表达式匹配情况下,确定所述注入攻击为联合注入攻击,其中,所述第一正则表达式表征联合注入攻击的攻击特征信息,且所述第一正则表达式中至少包含联合注入攻击标识;
所述根据所述攻击成功判断方式,判断所述注入攻击是否攻击成功,包括:
在所述攻击类型为联合注入攻击情况下,根据所述第一正则表达式,从所述请求信息中提取出攻击字符串,其中,所述攻击字符串表示用于获取攻击响应数据的标识;
从所述攻击字符串中,筛选出不符合结构化查询语言的目标攻击字符串;
获取针对所述请求信息的响应信息,并判断所述响应信息中是否包含筛选出的所述目标攻击字符串;
在所述响应信息包含所述目标攻击字符串情况下,确定所述注入攻击为攻击成功。
一种可选的实施方式中,所述根据所述攻击成功判断方式,判断所述注入攻击是否攻击成功,包括:
在所述攻击类型为报错注入攻击情况下,根据预设的所述报错注入攻击对应的异常报错字符串,判断所述请求信息对应的响应信息中是否包含所述异常报错字符串;
在所述响应信息包含所述异常报错字符串情况下,确定所述注入攻击为攻击成功。
一种可选的实施方式中,确定所述注入攻击的攻击类型,包括:
在所述请求信息与第二正则表达式匹配情况下,获取与所述待检测的请求信息的发起时间关联的预设时间段内发生的多个其它请求信息,并在确定所述多个其它请求信息中存在预设数目个,与所述待检测的请求信息的请求内容符合第一相似条件的其它请求信息时,确定所述注入攻击为布尔盲注攻击,其中,所述第二正则表达式表征布尔盲注攻击的攻击特征信息,且所述第二正则表达式中至少包含判断语句和预设函数标识;
所述根据所述攻击成功判断方式,判断所述注入攻击是否攻击成功,包括:
在所述攻击类型为布尔盲注攻击情况下,获取所述预设时间段内确定出的符合第一相似条件的其它请求信息对应的其它响应信息,以及所述待检测的请求信息对应的响应信息;
将各所述其它响应信息以及所述待检测的请求信息对应的响应信息进行相似度比较,并在判断符合第二相似条件情况下,确定所述注入攻击为攻击成功。
一种可选的实施方式中,所述确定所述注入攻击的攻击类型,包括:
在所述请求信息中包含时间盲注函数情况下,确定所述注入攻击为时间盲注攻击,其中,时间盲注函数表征时间盲注攻击的攻击特征信息;
所述根据所述攻击成功判断方式,判断所述注入攻击是否攻击成功,包括:
在所述攻击类型为时间盲注攻击情况下,从所述请求信息中包含的所述时间盲注函数中提取攻击延迟时间;
确定针对所述请求信息的响应时间,并将所述响应时间与所述攻击延迟时间进行比较;
在判断出所述响应时间大于所述攻击延迟时间情况下,确定所述注入攻击为攻击成功。
一种可选的实施方式中,所述确定所述注入攻击的攻击类型,包括:
在所述请求信息中包含预设访问攻击函数情况下,确定所述注入攻击为带外注入攻击,其中,预设访问攻击函数表征所述带外注入攻击的攻击特征信息;
所述根据所述攻击成功判断方式,判断所述注入攻击是否攻击成功,包括:
在所述攻击类型为带外注入攻击情况下,从所述请求信息中包含的所述预设访问攻击函数中提取出域名或网络地址;
根据所述域名或网络地址,判断是否发生访问所述域名或网络地址的访问请求;
在确定发生访问请求的情况下,确定所述注入攻击为攻击成功。
第二方面,本公开实施例还提供一种攻击检测装置,包括:
获取模块,用于获取待检测的请求信息,并检测所述请求信息中是否包含攻击特征信息,在检测到所述请求信息中包含攻击特征信息情况下,确定发生注入攻击并确定所述注入攻击的攻击类型;
确定模块,用于确定所述攻击类型对应的攻击成功判断方式,其中,所述攻击成功判断方式用于检测攻击成功特征信息;
判断模块,用于根据所述攻击成功判断方式,判断所述注入攻击是否攻击成功。
第三方面,本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
上述任一方面或任一方面下的任一实施方式,通过检测请求信息中是否包括攻击特征信息,确定是否发生注入攻击,并且在确定发生注入攻击的前提下,确定对应注入攻击的攻击类型;然后根据确定的攻击类型,进而确定与该攻击类型对应的攻击成功判断方式;最后根据攻击成功判断方式,判断与之对应的注入攻击是否成功。这样,不仅能够判断是否发生注入攻击以及发生注入攻击的攻击类型,不同的攻击类型还能够对应不同的攻击成功判断方式,再基于对应的攻击成功判断方式对注入攻击是否成功进行判断,进而能够针对不同攻击类型的注入攻击是否成功进行准确灵活的检测。
关于上述攻击检测的装置、电子设备及计算机可读存储介质的效果描述参见上述攻击检测方法的说明,这里不再赘述。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种攻击检测方法的流程图;
图2示出了本公开实施例所提供的攻击检测方法中,一种具体应用场景的界面示意图;
图3示出了本公开实施例所提供的一种攻击检测装置的示意图;
图4示出了本公开实施例所提供的一种电子设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,随着信息技术的快速发展,计算机和网络已成为日常办公、通讯交流和协作互动的必备工具和途径,数据安全作为信息安全领域中的重要课题,越来越受到关注。目前,我们日益依赖计算机和网络来进行日常业务活动、信息传递和合作互动,网络作为信息的重要载体,需确保这些信息受到妥善保护,以防止恶意攻击和数据泄露。
然而,在现有相关技术中,针对注入攻击的检测主要依赖于正则表达式或关键字的匹配来判断是否攻击成功,这种检测方式较为单一,只能应对那些具有明显攻击成功特征的注入攻击,因此存在灵活性较差的问题。此外,这种方法的准确性也存在问题,因为有些注入攻击可能无法准确判断是否攻击成功,容易导致漏报情况,给网络安全带来潜在风险。
基于上述研究,本公开实施例提供了一种攻击检测方法,能够判断不同注入攻击的攻击类型,然后根据不同的攻击类型确定对应的攻击成功判断方式,进而判断对应的注入攻击是否成功。这样能够更灵活地适应不同类型的注入攻击,并且能够针对不同类型的注入攻击确定不同的攻击成功判断方式,进而判断攻击是否成功,也提高了攻击检测的准确性,进而提高了信息安全领域中的数据安全程度。
针对以上方案所存在的缺陷以及所提出的解决方案,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种攻击检测方法进行详细介绍,本公开实施例所提供的攻击检测方法的执行主体一般为具有一定计算能力的电子设备,该电子设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该攻击检测方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
为实现本实施例所公开的一种攻击检测方法,需要使用NIDS(Network IntrusionDetection System,网络入侵检测系统)或NDR(Network Detection and Response,网络检测与响应系统)类设备,该类设备可以是硬件设备也可以是软件化部署,需要通过网络交换机接收流量。其中,NIDS是一种网络入侵检测系统,通过使用特定的签名、规则和模式匹配来检测已知的威胁,例如病毒、蠕虫、DoS(拒绝服务)攻击等;NDR是一种网络检测和响应系统,可以更深入地分析网络流量、端点设备和云环境,以提供全面的安全监控,具有自动响应能力,可以采取措施来隔离受感染的系统、封锁恶意流量或者进行其他防御操作。
下面以执行主体为服务器为例对本公开实施例提供的攻击检测方法加以说明。
参见图1所示,为本公开实施例中提供的攻击检测方法的流程图,所述方法包括步骤S101~S103,其中:
S101:获取待检测的请求信息,并检测请求信息中是否包含攻击特征信息,在检测到请求信息中包含攻击特征信息情况下,确定发生注入攻击并确定注入攻击的攻击类型。
在此步骤中,首先可以获取待检测的请求信息,并检测该请求信息中是否包含攻击特征信息,当在请求信息中检测到攻击特征信息的情况下,则确定发生了注入攻击,然后可以基于攻击特征信息判断注入攻击的攻击类型。
需要说明的是,在本公开实施例中,注入攻击分为有回显的注入攻击和无回显的注入攻击两种;其中,有回显的注入攻击为攻击方能够从目标系统获取明确的响应或回显,这种响应或回显通常包含攻击者注入的恶意代码或命令的执行结果;无回显的注入攻击是指攻击方在攻击过程中无法直接从目标系统获取响应或回显。
在本公开实施例中,有回显的注入攻击可以分为联合注入攻击和报错注入攻击等,可以根据正则表达式以及关键字符串进行匹配响应包来检测对应的注入攻击是否成功。无回显的注入攻击可以分为布尔盲注攻击、时间盲注攻击、带外注入攻击等,可以根据其数据信息的响应时间、页面相似度、是否进行向外查询来检测是否攻击成功。
在本公开实施例中,获取待检测的请求信息前,需要预先获取与待检测的请求信息关联的数据包,并对该数据包进行解析,以提取待检测的请求信息。
在具体实施中,可以在网络中的关键位置设置用于进行网络监控的设备,以拦截入站网络流量和出站网络流量,进而获取与待检测的请求信息关联的原始数据信息;其中,原始数据信息的形式可以是原始数据包;然后可以使用专门的解析器和协议库对原始数据包进行解析,以提取有关请求的信息,例如,从数据包提取的信息可以包括URL(UniformResource Locator,统一资源定位符)、请求头和主体内容等,进而本公开实施例中,可以通过解析,检测请求信息中的攻击负载(payload),该攻击payload可以理解为所检测到的攻击内容,例如针对某登录请求信息,该登录信息请求中包括所输入的用户名id的取值,通常会预先设置该用户名id的取值类型要求等,而若通过检测,确定出输入的取值中还包括其它类型取值,如包含特殊字符,该部分其它类型取值,即可以理解为攻击payload,从而可以基于该攻击payload检测攻击特征信息以确定是哪种攻击类型。
在本公开实施例中,获取到待检测的请求信息后,可以对获取到的请求信息进行攻击特征信息的检测,本公开实施例中,不同类型的注入攻击对应的攻击特征信息不同,可以预先设定针对不同攻击类型的攻击特征信息,并根据对应的攻击特征信息确定发生注入攻击的攻击类型。
在具体实施中,本公开提供了一种可能的实施方式,包括:根据预设的多种注入攻击的攻击类型对应的正则表达式或异常字符串,将请求信息与预设的多种正则表达式或异常字符串进行匹配,在确定匹配成功时,确定检测到的请求信息中包含攻击特征信息,并确定发生注入攻击,根据检测到的攻击特征信息对应的攻击类型,确定注入攻击的攻击类型。
本公开实施例中,若请求信息与预设的正则表达式或异常字符串匹配成功,则确定在该请求信息下发生了注入攻击,由于每种攻击类型设定有不同的关联的正则表达式或异常字符串,因此可以根据对应的正则表达式或异常字符串确定发生注入攻击的攻击类型。
需要说明的是,上述的正则表达式或异常字符串可以理解为攻击特征信息,实现确定不同注入攻击的攻击类型的方法仅作为本公开的一个实施例,在实际应用中还可以采用模式匹配规则或其他特定标识作为攻击特征信息,本公开实施例对此不做限定,以能实现其目的为准。
S102:确定攻击类型对应的攻击成功判断方式,其中,攻击成功判断方式用于检测攻击成功特征信息。
在此步骤中,不同攻击类型对应不同的攻击成功判断方式,不同的攻击成功判断方式用于检测攻击成功特征信息。由于不同注入攻击对应的攻击方式不同,判断对应注入攻击是否成功的判断方式也不同,因此可以预先设定每种注入攻击类型对应的攻击成功判断方式,以检测不同的攻击成功特征信息;在确定当前攻击类型后,可以确定与攻击类型对应的攻击成功判断方式。
在本公开实施例中,针对不同攻击类型的攻击成功判断方式在后续S103中共同说明,此处不再赘述。
S103:根据攻击成功判断方式,判断注入攻击是否攻击成功。
在此步骤中,可以根据上述步骤S102中确定的攻击成功判断方式,判断对应的注入攻击是否成功。
下面针对不同类型的注入攻击,举例详细说明与之对应的攻击特征信息,也即基于不同的正则表达式或异常字符串,如何确定与之相关的攻击类型。此处需要说明的是,下述列举的不同攻击类型仅作为本公开实施例提供的几种举例说明,不代表本公开实施例能够支持检测的全部攻击类型。
a.联合注入攻击。
联合注入攻击是一种SQL(Structured Query Language,结构化查询语言)注入攻击的变体,通常用于绕过应用程序的安全机制并从数据库中提取敏感信息。联合注入攻击之所以称为“联合”,是因为攻击者通常试图将多个SQL查询合并为一个查询,从而获得更多的数据,攻击者在恶意的SQL注入语句中使用联合(UNION)操作符和选择(SELECT)操作符,将其注入到原始查询中,以将结果合并到应用程序返回的数据中,也即响应包中。
基于此,在本公开实施例中,可以预先设定与联合注入攻击对应的第一正则表达式,以确定请求信息中发生的注入攻击的攻击类型是否为联合注入攻击;其中,第一正则表达式表征联合注入攻击的攻击特征信息,并且第一正则表达式中至少包括联合注入攻击标识,具体提供了一种可能的实施方式,确定注入攻击的攻击类型,包括:在请求信息与第一正则表达式匹配的情况下,确定注入攻击为联合注入攻击。
在具体实施中,由于攻击者在进行联合注入攻击时,通常会使用UNION操作符和SELECT操作符,因此设定的第一正则表达式可以至少包括UNION操作符和SELECT操作符,比如设定的第一正则表达式可以为“union.+?select.+?concat\(([^)]+)\)”。这样能够基于该第一正则表达式与请求信息进行匹配,当第一正则表达式与请求信息匹配成功时,则可以视为发生了联合注入攻击,也即此时针对请求信息的攻击类型为联合注入攻击。
b.报错注入攻击。
本公开实施例中,报错注入攻击表示攻击者主要通过应用程序的错误消息来获取数据库中的信息,这种类型的注入攻击利用了应用程序在处理恶意输入时生成的错误信息,以获取有关数据库结构和其中存储敏感数据的信息。
基于此,在具体实施中,可以预先设定与报错注入攻击对应的异常报错字符串,比如updatexml、extractvalue、floor、exp等。示例性地,updatexml函数为数据库中的一个XML函数,通常用于更新XML数据,攻击者可能会滥用此函数来进行注入攻击;extractvalue函数为数据库中的另一个XML函数,用于从XML数据中提取特定值,攻击者可能滥用此函数来执行攻击,尤其是在应用程序不充分验证和处理用户输入的情况下。
因此,可以在请求信息中搜索预设的异常报错字符串,当在请求信息中搜索到预设字符串时,则可以视为发生了报错注入攻击。
c.布尔盲注攻击。
布尔盲注攻击表示基于在应用程序的响应中使用布尔逻辑来确定数据库中的信息,在布尔盲注攻击中,攻击者试图向应用程序的输入字段中注入恶意代码,然后通过观察应用程序的响应来确定是否成功注入了有效的恶意代码。这种攻击之所以称为布尔盲注,是因为攻击者无法直接获取数据库返回的数据,而是通过构建布尔逻辑(即逻辑真和逻辑假)来间接确定数据库的信息,攻击者通常使用不同的布尔条件来提出问题并观察应用程序的响应。
基于此,可以预先设定与布尔盲注攻击对应的第二正则表达式,以确定是否发生布尔盲注攻击。则具体针对确定注入攻击的攻击类型,本公开还提供了一种可能的实施方式,在请求信息与第二正则表达式匹配情况下,获取与请求信息的发起时间关联的预设时间段内发生的多个其它请求信息,且在确定多个其它请求信息中存在预设数目个,与请求信息的请求内容符合第一相似条件的其它请求信息时,确定注入攻击为布尔盲注攻击,其中,第二正则表达式表征布尔盲注攻击的攻击特征信息,并第二正则表达式中至少包含判断语句和预设函数标识。
在具体实施中,第二正则表达式可以设定为((or)|(and))((mid)|(ord)|(substr))(.+?)(=|>|<);其中,((or)|(and))为判断语句,((mid)|(ord)|(substr))为预设函数标识。若当前请求信息与第二正则表达式匹配,则获取与当前请求信息发起时间关联的预设时间段内发生的多个其他请求信息,并在确定其他请求信息中存在预设数目个,与当前请求信息的请求内容符合第一相似条件的其他请求信息时,则视为注入攻击类型为布尔盲注攻击。
d.时间盲注攻击。
时间盲注攻击表示基于在应用程序的响应中使用延时或时间差异来确定数据库中的信息,在时间盲注中,攻击者注入带有时间延迟的恶意代码,如sleep函数等,并检测应用程序的响应时间是否因此延长,如果响应时间发生延长,则可以推断注入的恶意代码是有效的。通过不断的尝试和观察,攻击者可以逐渐提取数据库中的信息,如表名、列名和数据内容等。
基于此,针对确定注入攻击的攻击类型,本公开提供了一种可能的实施方式,在请求信息中包含时间盲注函数情况下,确定注入攻击为时间盲注攻击,其中,时间盲注函数表征时间盲注攻击的攻击特征信息。
在具体实施中,可以在当前请求信息中搜索是否包含sleep函数,其中,sleep函数用于查询引入的时间延迟;若当前请求信息中包含sleep函数,则可以视为发生了时间盲注攻击。
e.带外注入攻击。
带外注入攻击是一种SQL注入攻击的变种,攻击者试图从目标应用程序中窃取数据,但与传统的SQL注入攻击不同,它使用了一种不同于HTTP响应的通信通道,通常是DNS(Domain Name System)或HTTP请求以外的通道,以传输窃取的数据。
基于此,针对确定注入攻击的攻击类型,本公开提供了一种可能的实施方式,在请求信息中包含预设访问攻击函数情况下,确定注入攻击为带外注入攻击,其中,预设访问攻击函数表征带外注入攻击的攻击特征信息。
在具体实施中,预设访问攻击函数可以为load_file函数,可以在当前请求信息中搜索是否包含load_file函数,以判断是否发生带外注入攻击。“load_file”通常用于从文件系统中加载文件内容到数据库中,从而使攻击者能够窃取文件系统中的敏感数据;若当前请求信息中包含load_file函数,则可以视为发生了带外注入攻击。
通过上述方法,可以判断是否发生了注入攻击,以及在确定发生注入攻击的前提下,能够确定发生的注入攻击的攻击类型。延续上述实施例,下面说明不同攻击类型对应的不同攻击成功判断方式,以及根据对应的攻击成功判断方式如何判断注入攻击是否成功。需要说明的是,本公开实施例提出的对应攻击类型下的攻击成功判断方式仅作为一种可能的实施方式,在实际应用中以能够实现其目的为准,本公开实施例对此不作限定。
a.联合注入攻击。
本公开实施例中,针对联合注入攻击,判断注入攻击是否攻击成功,还提供了可能的实施方式,根据攻击成功判断方式,判断注入攻击是否攻击成功,包括:1)在攻击类型为联合注入攻击的情况下,根据第一正则表达式,从请求信息中提取出攻击字符串,其中,攻击字符串表示用于获取攻击响应数据的标识;2)从攻击字符串中,筛选出不符合结构化查询语言的目标攻击字符串;3)获取针对请求信息的响应信息,并判断响应信息中是否包含筛选出目标攻击字符串;4)在响应信息中包含目标攻击字符串情况下,确定注入攻击为攻击成功。
在具体实施中,可以根据前述步骤中预先设定的第一正则表达式union.+?select.+?concat\(([^)]+)\),从请求信息中提取出concat函数中的内容,然后可以利用分割字符串将concat中的字符串转为数组。再基于得到的数组,判断数组中的元素是否为SQL函数或SQL语句,并从中筛选出非SQL函数或SQL语句的元素,将这些非SQL函数或SQL语句的元素拼接成目标攻击字符串。示例性地,若所有元素都不为SQL函数或SQL语句,可以将所有元素拼接成目标攻击字符串;若第一个元素为SQL函数或SQL语句,则将其他元素拼接成目标攻击字符串;若第二个元素为SQL函数或SQL语句,则分别记录第一个元素以及第二个元素后的元素,将其拼接为目标攻击字符串。
由于攻击者在进行联合注入攻击时,攻击结果会合并到应用程序返回的数据中,因此在得到目标攻击字符串后,可以判断与请求信息关联的响应信息中是否包含与目标攻击字符串匹配的内容,若响应信息中包含目标攻击字符串,则视为联合注入攻击成功。
b.报错注入攻击。
针对报错注入攻击,判断注入攻击是否攻击成功,本公开还提供了可能的实施方式,根据攻击成功判断方式,判断注入攻击是否攻击成功,包括:在攻击类型为报错注入攻击情况下,根据预设的报错注入攻击对应的异常报错字符串,判断请求信息对应的响应信息中是否包含异常报错字符串;在响应信息中包含异常报错字符串情况下,确定注入攻击为攻击成功。
在具体实施中,当确定当前注入攻击类型为报错注入攻击后,可以判断与请求信息关联的响应信息中是否包含对应的异常报错字符串,如is out of range in'exp、XPATHsyntax error、Dumplicate entry等;当与请求信息关联的响应信息包括上述异常报错字符串,则视为报错注入攻击成功。
c.布尔盲注攻击。
针对布尔盲注攻击,判断注入攻击是否攻击成功,本公开还提供了可能的实施方式,根据攻击成功判断方式,判断注入攻击是否攻击成功,包括:在攻击类型为布尔盲注攻击情况下,获取预设时间段内确定出的符合第一相似条件的其它请求信息对应的其它响应信息,以及请求信息对应的响应信息;将各其它响应信息以及响应信息进行相似度比较,并在判断符合第二相似条件情况下,确定注入攻击为攻击成功。
本公开实施例中,攻击者在进行布尔盲注攻击时,会预先构建一系列布尔逻辑条件,这些条件被用于提出问题并检测对应的响应信息,攻击者将构建的条件嵌入到请求信息中,然后将请求信息发送给目标应用程序,应用程序会对接收到的请求信息进行处理,并返回对应的响应信息,因此,可能够通过对比与当前请求信息对应的响应信息与预设时间段内的其他响应信息之间的相似度,判断布尔盲注攻击是否成功;若与当前请求信息对应的响应信息中的响应内容、响应时间等方面发生变化,则可以视为布尔盲注攻击成功。
d.时间盲注攻击。
针对时间盲注攻击,判断注入攻击是否攻击成功,本公开还提供了可能的实施方式,根据攻击成功判断方式,判断注入攻击是否攻击成功,包括:在攻击类型为时间盲注攻击情况下,从请求信息中包含的时间盲注函数中提取攻击延迟时间;确定针对请求信息的响应时间,并将响应时间与攻击延迟时间进行比较;在判断出响应时间大于攻击延迟时间情况下,确定注入攻击为攻击成功。
如前文所述,在进行时间盲注攻击时,攻击者会构建包含恶意代码的输入,通常以条件成立时引入延迟为特征,因此具体实施中在判断时间盲注攻击是否成功时,可以利用正则表达式sleep\(if.+?,\d+?,\d+?\)提取sleep函数中的攻击延迟时间,也可以利用其他任意能够实现此目的的函数或表达式提取sleep函数中的时间;并确定针对当前请求信息的响应时间,将针对当前请求信息的响应时间与从sleep函数中提取到的攻击延迟时间进行比较,若响应时间大于攻击延迟时间,则视为时间盲注攻击成功。
e.带外注入攻击。
针对带外注入攻击,判断注入攻击是否攻击成功,本公开还提供了可能的实施方式,根据攻击成功判断方式,判断注入攻击是否攻击成功,包括:在攻击类型为带外注入攻击情况下,从请求信息中包含的预设访问攻击函数中提取出域名或网络地址;根据域名或网络地址,判断是否发生访问域名或网络地址的访问请求;在确定发生访问请求的情况下,确定注入攻击为攻击成功。
在带外注入攻击中,攻击者可以在目标系统中注入恶意代码,试图从目标系统中将敏感信息、文件、数据库记录等传输到攻击者控制的远程服务器。因此,在具体实施中,可以利用select load_file("////xxx.q5i9by.dnslog.cn//x.txt")提取出对应的域名或网络地址,进而可以在DNS(Domain Name System,域名系统)日志中查询是否发生访问该域名或网络地址的访问请求;其中,DNS日志为记录服务器活动的日志文件,包括查询请求类型、服务器响应、查询结果等;若存在对应的访问请求,则视为带外注入攻击成功。
本公开实施例中,通过检测请求信息中是否包括攻击特征信息,确定是否发生注入攻击,并且在确定发生注入攻击的前提下,确定对应注入攻击的攻击类型;然后根据确定的攻击类型,进而确定与该攻击类型对应的攻击成功判断方式;最后根据攻击成功判断方式,判断与之对应的注入攻击是否成功。这样,不仅能够判断是否发生注入攻击以及发生注入攻击的攻击类型,不同的攻击类型还能够对应不同的攻击成功判断方式,再基于对应的攻击成功判断方式对注入攻击是否成功进行判断,进而能够针对不同攻击类型的注入攻击是否成功进行准确灵活的检测。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
下面采用具体应用场景进行说明。
如图2所示,为本公开实施例提供的一种具体应用场景的界面示意图。在如图2所示的界面中,可以显示受到的攻击列表,攻击列表中包括检测到的、受到的多条攻击事件,即受到攻击的请求信息,并显示攻击成功与否的判断结果,在判断结果后显示对应攻击的相关信息,比如请求信息对应接收方的网络地址、攻击类型等;若用户存在查看详细攻击信息的需求,可以通过触发攻击列表中对应的至少一条攻击,以查看相关信息。
触发至少一条攻击后,在该条攻击下方位置会显示包括该攻击的攻击类型、危险程度等信息的告警信息;一种可选的实施方式中,若该条攻击为新检测到的注入攻击,还可以在告警信息中显示例如“新”等字样,以指示该条攻击为系统新检测到的注入攻击。此外,还可以在告警信息的显示区域对对应的攻击进行处理,比如误报处理、加入白名单等。
进一步地,在如图2所示的界面中还设置有信息显示区域,用户可以选择查询对应攻击的详细信息、PACP(Packet Capture,数据包捕获)信息或原始记录信息。如图2所示,下面显示该攻击对应的详细信息为例,在如图2所示的界面中,可以显示攻击对象、被攻击对象以及请求接收方的网络地址信息,并同时显示攻击对象和被攻击对象的详细信息,如源网络地址端口、HTTP返回码、HTTP方法等。此外,还可以展示该攻击事件对应的原始报文信息,包括对应的请求信息和响应信息等。
需要说明的是,本公开实施例中的界面图仅是一种可能的示例,不应对本公开进行限制。
基于同一发明构思,本公开实施例中还提供了与攻击检测方法对应的攻击检测装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述攻击检测方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图3所示,为本公开实施例提供的一种攻击检测装置300的结构示意图,所述装置包括:获取模块301、确定模块303、判断模块303;其中,
获取模块301,用于获取待检测的请求信息,并检测所述请求信息中是否包含攻击特征信息,在检测到所述请求信息中包含攻击特征信息情况下,确定发生注入攻击并确定所述注入攻击的攻击类型;
确定模块303,用于确定所述攻击类型对应的攻击成功判断方式,其中,所述攻击成功判断方式用于检测攻击成功特征信息;
判断模块303,用于根据所述攻击成功判断方式,判断所述注入攻击是否攻击成功。
在一种可能的实施方式中,所述获取模块301具体用于:
根据预设的多种攻击类型对应的正则表达式或异常字符串,将所述请求信息与各所述正则表达式或异常字符串进行匹配,其中,所述正则表达式或所述异常字符串表征所述攻击特征信息;
在确定匹配成功时,确定检测到所述请求信息中包含攻击特征信息,并确定发生注入攻击,根据检测到的所述攻击特征信息对应的攻击类型,确定所述注入攻击的攻击类型。
在一种可能的实施方式中,所述确定模块303具体用于:
在所述请求信息与第一正则表达式匹配情况下,确定所述注入攻击为联合注入攻击,其中,所述第一正则表达式表征联合注入攻击的攻击特征信息,且所述第一正则表达式中至少包含联合注入攻击标识;
所述判断模块303具体用于:
在所述攻击类型为联合注入攻击情况下,根据所述第一正则表达式,从所述请求信息中提取出攻击字符串,其中,所述攻击字符串表示用于获取攻击响应数据的标识;
从所述攻击字符串中,筛选出不符合结构化查询语言的目标攻击字符串;
获取针对所述请求信息的响应信息,并判断所述响应信息中是否包含筛选出的所述目标攻击字符串;
在所述响应信息包含所述目标攻击字符串情况下,确定所述注入攻击为攻击成功。
在一种可能的实施方式中,所述判断模块模块303具体用于:
在所述攻击类型为报错注入攻击情况下,根据预设的所述报错注入攻击对应的异常报错字符串,判断所述请求信息对应的响应信息中是否包含所述异常报错字符串;
在所述响应信息包含所述异常报错字符串情况下,确定所述注入攻击为攻击成功。
在一种可能的实施方式中,所述确定模块303具体用于:
在所述请求信息与第二正则表达式匹配情况下,获取与所述待检测的请求信息的发起时间关联的预设时间段内发生的多个其它请求信息,并在确定所述多个其它请求信息中存在预设数目个,与所述待检测的请求信息的请求内容符合第一相似条件的其它请求信息时,确定所述注入攻击为布尔盲注攻击,其中,所述第二正则表达式表征布尔盲注攻击的攻击特征信息,且所述第二正则表达式中至少包含判断语句和预设函数标识;
所述判断模块303具体用于:
在所述攻击类型为布尔盲注攻击情况下,获取所述预设时间段内确定出的符合第一相似条件的其它请求信息对应的其它响应信息,以及所述待检测的请求信息对应的响应信息;
将各所述其它响应信息以及所述待检测的请求信息对应的响应信息进行相似度比较,并在判断符合第二相似条件情况下,确定所述注入攻击为攻击成功。
在一种可能的实施方式中,所述确定模块303具体用于:
在所述请求信息中包含时间盲注函数情况下,确定所述注入攻击为时间盲注攻击,其中,时间盲注函数表征时间盲注攻击的攻击特征信息;
所述判断模块303具体用于:
在所述攻击类型为时间盲注攻击情况下,从所述请求信息中包含的所述时间盲注函数中提取攻击延迟时间;
确定针对所述请求信息的响应时间,并将所述响应时间与所述攻击延迟时间进行比较;
在判断出所述响应时间大于所述攻击延迟时间情况下,确定所述注入攻击为攻击成功。
在一种可能的实施方式中,所述确定模块303具体用于:
在所述请求信息中包含预设访问攻击函数情况下,确定所述注入攻击为带外注入攻击,其中,预设访问攻击函数表征所述带外注入攻击的攻击特征信息;
所述判断模块303具体用于:
在所述攻击类型为带外注入攻击情况下,从所述请求信息中包含的所述预设访问攻击函数中提取出域名或网络地址;
根据所述域名或网络地址,判断是否发生访问所述域名或网络地址的访问请求;
在确定发生访问请求的情况下,确定所述注入攻击为攻击成功。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种电子设备400,如图4所示,为本公开实施例提供的就是电子设备400结构示意图,包括:
处理器401、存储器402、和总线404;存储器402用于存储执行指令,包括内存421和外部存储器422;这里的内存421也称内存储器,用于暂时存放处理器401中的运算数据,以及与硬盘等外部存储器422交换的数据,处理器401通过内存421与外部存储器422进行数据交换,当所述电子设备400运行时,所述处理器401与所述存储器402之间通过总线404通信,使得所述处理器401执行以下指令:
获取待检测的请求信息,并检测所述请求信息中是否包含攻击特征信息,在检测到所述请求信息中包含攻击特征信息情况下,确定发生注入攻击并确定所述注入攻击的攻击类型;
确定所述攻击类型对应的攻击成功判断方式,其中,所述攻击成功判断方式用于检测攻击成功特征信息;
根据所述攻击成功判断方式,判断所述注入攻击是否攻击成功。
本公开实施例还一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的攻击检测方法的步骤,或者,执行上述方法实施例中所述的攻击检测方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的攻击检测方法的步骤,或者,执行上述方法实施例中所述的攻击检测方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种攻击检测方法,其特征在于,包括:
获取待检测的请求信息,并检测所述请求信息中是否包含攻击特征信息,在检测到所述请求信息中包含攻击特征信息情况下,确定发生注入攻击并确定所述注入攻击的攻击类型;
确定所述攻击类型对应的攻击成功判断方式,其中,所述攻击成功判断方式用于检测攻击成功特征信息;
根据所述攻击成功判断方式,判断所述注入攻击是否攻击成功。
2.根据权利要求1所述的方法,其特征在于,所述检测所述请求信息中是否包含攻击特征信息,在检测到所述请求信息中包含攻击特征信息情况下,确定发生注入攻击并确定所述注入攻击的攻击类型,包括:
根据预设的多种攻击类型对应的正则表达式或异常字符串,将所述请求信息与各所述正则表达式或异常字符串进行匹配,其中,所述正则表达式或所述异常字符串表征所述攻击特征信息;
在确定匹配成功时,确定检测到所述请求信息中包含攻击特征信息,并确定发生注入攻击,根据检测到的所述攻击特征信息对应的攻击类型,确定所述注入攻击的攻击类型。
3.根据权利要求1或2所述的方法,其特征在于,确定所述注入攻击的攻击类型,包括:
在所述请求信息与第一正则表达式匹配情况下,确定所述注入攻击为联合注入攻击,其中,所述第一正则表达式表征联合注入攻击的攻击特征信息,且所述第一正则表达式中至少包含联合注入攻击标识;
所述根据所述攻击成功判断方式,判断所述注入攻击是否攻击成功,包括:
在所述攻击类型为联合注入攻击情况下,根据所述第一正则表达式,从所述请求信息中提取出攻击字符串,其中,所述攻击字符串表示用于获取攻击响应数据的标识;
从所述攻击字符串中,筛选出不符合结构化查询语言的目标攻击字符串;
获取针对所述请求信息的响应信息,并判断所述响应信息中是否包含筛选出的所述目标攻击字符串;
在所述响应信息包含所述目标攻击字符串情况下,确定所述注入攻击为攻击成功。
4.根据权利要求1或2所述的方法,其特征在于,所述根据所述攻击成功判断方式,判断所述注入攻击是否攻击成功,包括:
在所述攻击类型为报错注入攻击情况下,根据预设的所述报错注入攻击对应的异常报错字符串,判断所述请求信息对应的响应信息中是否包含所述异常报错字符串;
在所述响应信息包含所述异常报错字符串情况下,确定所述注入攻击为攻击成功。
5.根据权利要求1或2所述的方法,其特征在于,确定所述注入攻击的攻击类型,包括:
在所述请求信息与第二正则表达式匹配情况下,获取与所述待检测的请求信息的发起时间关联的预设时间段内发生的多个其它请求信息,并在确定所述多个其它请求信息中存在预设数目个,与所述待检测的请求信息的请求内容符合第一相似条件的其它请求信息时,确定所述注入攻击为布尔盲注攻击,其中,所述第二正则表达式表征布尔盲注攻击的攻击特征信息,且所述第二正则表达式中至少包含判断语句和预设函数标识;
所述根据所述攻击成功判断方式,判断所述注入攻击是否攻击成功,包括:
在所述攻击类型为布尔盲注攻击情况下,获取所述预设时间段内确定出的符合第一相似条件的其它请求信息对应的其它响应信息,以及所述待检测的请求信息对应的响应信息;
将各所述其它响应信息以及所述待检测的请求信息对应的响应信息进行相似度比较,并在判断符合第二相似条件情况下,确定所述注入攻击为攻击成功。
6.根据权利要求1或2所述的方法,其特征在于,所述确定所述注入攻击的攻击类型,包括:
在所述请求信息中包含时间盲注函数情况下,确定所述注入攻击为时间盲注攻击,其中,时间盲注函数表征时间盲注攻击的攻击特征信息;
所述根据所述攻击成功判断方式,判断所述注入攻击是否攻击成功,包括:
在所述攻击类型为时间盲注攻击情况下,从所述请求信息中包含的所述时间盲注函数中提取攻击延迟时间;
确定针对所述请求信息的响应时间,并将所述响应时间与所述攻击延迟时间进行比较;
在判断出所述响应时间大于所述攻击延迟时间情况下,确定所述注入攻击为攻击成功。
7.根据权利要求1或2所述的方法,其特征在于,所述确定所述注入攻击的攻击类型,包括:
在所述请求信息中包含预设访问攻击函数情况下,确定所述注入攻击为带外注入攻击,其中,预设访问攻击函数表征所述带外注入攻击的攻击特征信息;
所述根据所述攻击成功判断方式,判断所述注入攻击是否攻击成功,包括:
在所述攻击类型为带外注入攻击情况下,从所述请求信息中包含的所述预设访问攻击函数中提取出域名或网络地址;
根据所述域名或网络地址,判断是否发生访问所述域名或网络地址的访问请求;
在确定发生访问请求的情况下,确定所述注入攻击为攻击成功。
8.一种攻击检测装置,其特征在于,包括:
获取模块,用于获取待检测的请求信息,并检测所述请求信息中是否包含攻击特征信息,在检测到所述请求信息中包含攻击特征信息情况下,确定发生注入攻击并确定所述注入攻击的攻击类型;
确定模块,用于确定所述攻击类型对应的攻击成功判断方式,其中,所述攻击成功判断方式用于检测攻击成功特征信息;
判断模块,用于根据所述攻击成功判断方式,判断所述注入攻击是否攻击成功。
9.一种电子设备,其特征在于,包括处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的攻击检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被电子设备运行时,所述电子设备执行如权利要求1至7任意一项所述的攻击检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311482653.3A CN117527354B (zh) | 2023-11-08 | 2023-11-08 | 一种攻击检测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311482653.3A CN117527354B (zh) | 2023-11-08 | 2023-11-08 | 一种攻击检测方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117527354A true CN117527354A (zh) | 2024-02-06 |
CN117527354B CN117527354B (zh) | 2024-06-21 |
Family
ID=89746999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311482653.3A Active CN117527354B (zh) | 2023-11-08 | 2023-11-08 | 一种攻击检测方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117527354B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130081135A1 (en) * | 2010-06-10 | 2013-03-28 | International Business Machines Corporation | Injection attack mitigation using context sensitive encoding of injected input |
CN105959324A (zh) * | 2016-07-15 | 2016-09-21 | 江苏博智软件科技有限公司 | 基于正则匹配的网络攻击检测方法及装置 |
CN106357696A (zh) * | 2016-11-14 | 2017-01-25 | 北京神州绿盟信息安全科技股份有限公司 | 一种sql注入攻击检测方法及系统 |
US20180212986A1 (en) * | 2015-08-17 | 2018-07-26 | NSFOCUS Information Technology Co., Ltd. | Network attack detection method and device |
CN108521392A (zh) * | 2018-01-25 | 2018-09-11 | 华东师范大学 | 一种双向流量的sql注入攻击检测方法 |
CN113055399A (zh) * | 2021-03-31 | 2021-06-29 | 深信服科技股份有限公司 | 注入攻击的攻击成功检测方法、系统及相关装置 |
WO2021212739A1 (zh) * | 2020-04-22 | 2021-10-28 | 百度在线网络技术(北京)有限公司 | 网络攻击的防御方法、装置、设备、系统和存储介质 |
KR20220036063A (ko) * | 2020-09-15 | 2022-03-22 | 주식회사 안랩 | 주입 공격형 악성코드 탐지시스템 및 주입 공격형 악성코드 탐지방법 |
CN115314255A (zh) * | 2022-07-11 | 2022-11-08 | 深信服科技股份有限公司 | 攻击结果的检测方法、装置、计算机设备和存储介质 |
WO2023116045A1 (zh) * | 2021-12-24 | 2023-06-29 | 华为技术有限公司 | 攻击成功识别方法及防护系统 |
-
2023
- 2023-11-08 CN CN202311482653.3A patent/CN117527354B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130081135A1 (en) * | 2010-06-10 | 2013-03-28 | International Business Machines Corporation | Injection attack mitigation using context sensitive encoding of injected input |
US20180212986A1 (en) * | 2015-08-17 | 2018-07-26 | NSFOCUS Information Technology Co., Ltd. | Network attack detection method and device |
CN105959324A (zh) * | 2016-07-15 | 2016-09-21 | 江苏博智软件科技有限公司 | 基于正则匹配的网络攻击检测方法及装置 |
CN106357696A (zh) * | 2016-11-14 | 2017-01-25 | 北京神州绿盟信息安全科技股份有限公司 | 一种sql注入攻击检测方法及系统 |
CN108521392A (zh) * | 2018-01-25 | 2018-09-11 | 华东师范大学 | 一种双向流量的sql注入攻击检测方法 |
WO2021212739A1 (zh) * | 2020-04-22 | 2021-10-28 | 百度在线网络技术(北京)有限公司 | 网络攻击的防御方法、装置、设备、系统和存储介质 |
KR20220036063A (ko) * | 2020-09-15 | 2022-03-22 | 주식회사 안랩 | 주입 공격형 악성코드 탐지시스템 및 주입 공격형 악성코드 탐지방법 |
CN113055399A (zh) * | 2021-03-31 | 2021-06-29 | 深信服科技股份有限公司 | 注入攻击的攻击成功检测方法、系统及相关装置 |
WO2023116045A1 (zh) * | 2021-12-24 | 2023-06-29 | 华为技术有限公司 | 攻击成功识别方法及防护系统 |
CN115314255A (zh) * | 2022-07-11 | 2022-11-08 | 深信服科技股份有限公司 | 攻击结果的检测方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117527354B (zh) | 2024-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109992989B (zh) | 使用抽象语法树的用于查询注入检测的系统 | |
CN112383546B (zh) | 一种处理网络攻击行为的方法、相关设备及存储介质 | |
EP1618725B1 (en) | Attack database structure | |
US9569471B2 (en) | Asset model import connector | |
US9507944B2 (en) | Method for simulation aided security event management | |
US20030084323A1 (en) | Network intrusion detection system and method | |
CN113301012B (zh) | 一种网络威胁的检测方法、装置、电子设备及存储介质 | |
CN105491053A (zh) | 一种Web恶意代码检测方法及系统 | |
CN110881043A (zh) | 一种web服务器漏洞的检测方法及装置 | |
WO2014103115A1 (ja) | 不正侵入検知装置、不正侵入検知方法、不正侵入検知プログラム及び記録媒体 | |
CN111953638B (zh) | 网络攻击行为检测方法、装置及可读存储介质 | |
US20130198168A1 (en) | Data storage combining row-oriented and column-oriented tables | |
CN113055399A (zh) | 注入攻击的攻击成功检测方法、系统及相关装置 | |
US11372971B2 (en) | Threat control | |
CN111885061A (zh) | 一种网络攻击检测方法、装置、设备及介质 | |
Giacinto et al. | Alarm clustering for intrusion detection systems in computer networks | |
CN117527354B (zh) | 一种攻击检测方法、装置、电子设备及存储介质 | |
JP5743822B2 (ja) | 情報漏洩防止装置及び制限情報生成装置 | |
KR101612893B1 (ko) | 개인정보 스캔 시스템 및 스캔 방법 | |
CN113037724B (zh) | 一种检测非法访问的方法及装置 | |
CN117040833A (zh) | 服务攻击检测方法、装置、设备和计算机可读存储介质 | |
CN114491558A (zh) | 一种基于Web日志的入侵研判方法及系统 | |
CN114329591A (zh) | 应用接口的访问用户确定方法、装置、计算机设备及存储介质 | |
CN116614260A (zh) | 复杂网络攻击检测方法、系统、电子设备及存储介质 | |
CN118611949A (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 |