CN114745206B - 一种嵌套编码攻击载荷检测方法、系统、设备及存储介质 - Google Patents
一种嵌套编码攻击载荷检测方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN114745206B CN114745206B CN202210649438.7A CN202210649438A CN114745206B CN 114745206 B CN114745206 B CN 114745206B CN 202210649438 A CN202210649438 A CN 202210649438A CN 114745206 B CN114745206 B CN 114745206B
- Authority
- CN
- China
- Prior art keywords
- load
- decoder
- current
- decoding
- attack
- 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
- H04L63/1416—Event detection, e.g. attack signature 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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明实施例提供了一种嵌套编码攻击载荷检测方法、系统、设备及存储介质,通过遍历待检测载荷的编码,扫描出解码器特征集合;利用解码器特征集合,可以调取相应的解码器对多层编码的攻击载荷进行自动、智能解码。通过智能推测嵌套编码,还原攻击载荷,减少攻击检测规则数量,提高攻击检测准确率。采用本发明实施例,规则数目与原始攻击载荷数量相当,约千级别的,可以有效的应用到攻击检测领域,并且对潜在可能存在的攻击变种进行有效的检测。
Description
技术领域
本发明实施例涉及网络安全检测技术领域,具体涉及一种嵌套编码攻击载荷检测方法、系统、设备及存储介质。
背景技术
当前业界网络攻击检测类产品,如WAF、IPS、IDS等,主要工作原理是将网络传输数据与安全检测规则集进行匹配,命中安全检测规则即被认为是攻击/安全事件。
安全研究人员在编写安全检测规则时,分析攻击检测用例,提取攻击特征载荷,使用特定规则语言描述攻击特征(业界多数使用正则表达式进行攻击规则描述)。
随着攻击检测的不断博弈,原始的攻击载荷在大部分安全检测设备中被拦截,因此,黑客们在不断探索各种绕过方法,其中有一个大方向是编码绕过,利用各种编程语言、中间件、框架的特性,将攻击载荷通过多次、多层的编码,产生一个与原始攻击载荷完全不同的变种载荷,其攻击特征被隐藏,针对原始攻击载荷的检测规则失效;为检测出不同的变种载荷,需要增加大量检测规则。
发明内容
为此,本发明实施例提供一种嵌套编码攻击载荷检测方法、系统、设备及存储介质,以解决传统安全检测在多次、多层嵌套编码攻击载荷时,存在的规则数量急剧增加、枚举不全导致的攻击绕过情况的技术问题。
为了实现上述目的,本发明实施例提供如下技术方案:
根据本发明实施例的第一方面,本申请实施例提供了一种嵌套编码攻击载荷检测方法,所述方法包括:
将解码深度M和解码路径PM进行初始化;
接收载荷L;
调用检测规则R对当前载荷L进行检测,判断当前载荷L是否与所述检测规则R匹配;
如果当前载荷L与所述检测规则R匹配,则判定所述载荷L为攻击载荷,并终止解码检测逻辑;
如果当前载荷L未与所述检测规则R匹配,则扫描所述载荷L,得到解码器特征集合;
根据所述解码器特征集合逐个调用对应解码器对当前载荷L解码;
直到当前载荷L解码成功,得到解码后的载荷Ld;
利用解码后的载荷Ld更新所述载荷L,进入下一层解码检测逻辑。
进一步地,根据所述解码器特征集合逐个调用对应解码器对当前载荷L解码,包括:
判断所述解码器特征集合是否为空;
如果所述解码器特征集合不为空,则根据所述解码器特征集合获得对应的解码器集合;
逐个调用当前解码器集合中的解码器对当前载荷L进行解码;
判断利用当前解码器是否对所述载荷L解码成功;
如果当前解码器对所述载荷L解码成功,则得到解码后的载荷Ld。
进一步地,所述方法还包括:
在当前载荷L解码成功之后,则将所述解码深度M加1,将解码成功的解码器加入至所述解码路径PM,进行更新;
将更新后的解码深度M和解码路径PM用于下一层解码检测逻辑。
进一步地,根据所述解码器特征集合逐个调用对应解码器对当前载荷L解码,还包括:
如果所述解码器特征集合为空,则判断当前解码深度M是否为0;
如果当前解码深度M为0,则判定所述载荷L为非攻击载荷,并终止解码检测逻辑;
如果当前解码深度M大于0,则将所述解码深度M减1,从当前解码路径PM中去除排在最后一个的解码器,进行更新;并利用更新后的解码深度M和解码路径PM,返回上层解码检测逻辑。
进一步地,根据所述解码器特征集合逐个调用对应解码器对当前载荷L解码,还包括:
如果当前解码器未对所述载荷L解码成功,则判断所述解码器集合中是否存在未执行的解码器;
如果所述解码器集合中存在未执行的解码器,则调用下一个解码器对所述载荷L解码;
如果所述解码器集合中不存在未执行的解码器,则判断当前解码深度M是否为0;
如果当前解码深度M为0,则判定所述载荷L为非攻击载荷,并终止解码检测逻辑;
如果当前解码深度M大于0,则将所述解码深度M减1,从当前解码路径PM中去除排在最后一个的解码器,进行更新;并利用更新后的解码深度M和解码路径PM,返回上层解码检测逻辑。
进一步地,利用更新后的解码深度M和解码路径PM,返回上层解码检测逻辑,包括:
利用上层对应载荷更新为当前载荷L;
判断上层对应载荷的解码器集合中是否存在未执行的解码器;
如果上层对应载荷的解码器集合中存在未执行的解码器,则利用当前未执行的解码器更新为当前解码器集合,利用更新后的载荷L和解码器集合,循环至逐个调用当前解码器集合中的解码器对当前载荷L进行解码;
如果上层对应载荷的解码器集合中不存在未执行的解码器,则循环至判断当前解码深度M是否为0。
进一步地,所述方法还包括:
当判定所述载荷L为攻击载荷时,输出所述载荷L、当前解码深度M和解码路径PM。
根据本发明实施例的第二方面,本申请实施例提供了一种嵌套编码攻击载荷检测系统,所述系统包括:
初始化模块,用于将解码深度M和解码路径PM进行初始化;
接收模块,用于接收载荷L;
检测模块,用于调用检测规则R对当前载荷L进行检测,判断当前载荷L是否与所述检测规则R匹配;如果当前载荷L与所述检测规则R匹配,则判定所述载荷L为攻击载荷,并终止解码检测逻辑;
扫描模块,用于如果当前载荷L未与所述检测规则R匹配,则扫描所述载荷L,得到解码器特征集合;
解码模块,用于根据所述解码器特征集合逐个调用对应解码器对当前载荷L解码;直到当前载荷L解码成功,得到解码后的载荷Ld;利用解码后的载荷Ld更新所述载荷L,进入下一层解码检测逻辑。
进一步地,根据所述解码器特征集合逐个调用对应解码器对当前载荷L解码,包括:
判断所述解码器特征集合是否为空;
如果所述解码器特征集合不为空,则根据所述解码器特征集合获得对应的解码器集合;
逐个调用当前解码器集合中的解码器对当前载荷L进行解码;
判断利用当前解码器是否对所述载荷L解码成功;
如果当前解码器对所述载荷L解码成功,则得到解码后的载荷Ld。
进一步地,所述解码模块还用于执行以下步骤:
在当前载荷L解码成功之后,则将所述解码深度M加1,将解码成功的解码器加入至所述解码路径PM,进行更新;
将更新后的解码深度M和解码路径PM用于下一层解码检测逻辑。
进一步地,根据所述解码器特征集合逐个调用对应解码器对当前载荷L解码,还包括:
如果所述解码器特征集合为空,则判断当前解码深度M是否为0;
如果当前解码深度M为0,则判定所述载荷L为非攻击载荷,并终止解码检测逻辑;
如果当前解码深度M大于0,则将所述解码深度M减1,从当前解码路径PM中去除排在最后一个的解码器,进行更新;并利用更新后的解码深度M和解码路径PM,返回上层解码检测逻辑。
进一步地,根据所述解码器特征集合逐个调用对应解码器对当前载荷L解码,还包括:
如果当前解码器未对所述载荷L解码成功,则判断所述解码器集合中是否存在未执行的解码器;
如果所述解码器集合中存在未执行的解码器,则调用下一个解码器对所述载荷L解码;
如果所述解码器集合中不存在未执行的解码器,则判断当前解码深度M是否为0;
如果当前解码深度M为0,则判定所述载荷L为非攻击载荷,并终止解码检测逻辑;
如果当前解码深度M大于0,则将所述解码深度M减1,从当前解码路径PM中去除排在最后一个的解码器,进行更新;并利用更新后的解码深度M和解码路径PM,返回上层解码检测逻辑。
进一步地,利用更新后的解码深度M和解码路径PM,返回上层解码检测逻辑,包括:
利用上层对应载荷更新为当前载荷L;
判断上层对应载荷的解码器集合中是否存在未执行的解码器;
如果上层对应载荷的解码器集合中存在未执行的解码器,则利用当前未执行的解码器更新为当前解码器集合,利用更新后的载荷L和解码器集合,循环至逐个调用当前解码器集合中的解码器对当前载荷L进行解码;
如果上层对应载荷的解码器集合中不存在未执行的解码器,则循环至判断当前解码深度M是否为0。
进一步地,所述检测模块还用于执行以下步骤:
当判定所述载荷L为攻击载荷时,输出所述载荷L、当前解码深度M和解码路径PM。
根据本发明实施例的第三方面,提供了一种嵌套编码攻击载荷检测设备,所述设备包括:处理器和存储器;
所述存储器用于存储一个或多个程序指令;
所述处理器,用于运行一个或多个程序指令,用以执行如上任一项所述的一种嵌套编码攻击载荷检测方法的步骤。
根据本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的一种嵌套编码攻击载荷检测方法的步骤。
与现有技术相比,本申请实施例提供的一种嵌套编码攻击载荷检测方法、系统、设备及存储介质,通过遍历待检测载荷的编码,扫描出解码器特征集合;利用解码器特征集合,可以调取相应的解码器对多层编码的攻击载荷进行自动、智能解码。通过智能推测嵌套编码,还原攻击载荷,减少攻击检测规则数量,提高攻击检测准确率。采用本发明实施例,规则数目与原始攻击载荷数量相当,约千级别的,可以有效的应用到攻击检测领域,并且对潜在可能存在的攻击变种进行有效的检测。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
图1为本发明实施例提供的一种嵌套编码攻击载荷检测系统的逻辑结构示意图;
图2为本发明实施例提供的一种嵌套编码攻击载荷检测方法的流程示意图;
图3为本发明实施例提供的根据所述解码器特征集合逐个调用对应解码器对当前载荷L解码的流程示意图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对多次、多层嵌套编码后的攻击载荷,传统安全检测方法存在如下不足:
(1)检测规则数量指数级增加,降低安全检测效率;
(2)难以枚举出所有的编码路径,即使增加大量规则的情况下,也存在绕过的情况。
以常见的编码绕过方式为例,假设原始攻击载荷是:“admin'and 1=1”(常见探测是否有sql注入漏洞的攻击载荷)。假设支持的编码方式如下:URL编码、Base64编码、hex编码、Unicode编码;实际有更多编码方式。
假设只有一层编码,那么经过编码后的攻击载荷如下:
URL编码后:“admin'%20and%201=1”;
Base64编码后:“YWRtaW4nIGFuZCAxPTE=”;
hex编码后:“\x61\x64\x6d\x69\x6e\x27\x20\x61\x6e\x64\x20\x31\x3d\x31”;
Unicode编码后:“\u0061\u0064\u006D\u0069\u006E\u0027\u0020\u0061\u006E\u0064\u0020\u0031\u003D\u0031”。
如上所述,只有一层编码时,检测此攻击载荷需要4条规则。
假设有两层编码,且两次编码方式相同,那么经过编码后的攻击载荷如下:
两次URL编码后:“admin'%2520and%25201=1”;
两次Base64编码后:“WVdSdGFXNG5JR0Z1WkNBeFBURT0=”;
两次hex编码后:“\x5c\x78\x36\x31\x5c\x78\x36\x34\x5c\x78\x36\x64\x5c\x78\x36\x39\x5c\x78\x36\x65\x5c\x78\x32\x37\x5c\x78\x32\x30\x5c\x78\x36\x31\x5c\x78\x36\x65\x5c\x78\x36\x34\x5c\x78\x32\x30\x5c\x78\x33\x31\x5c\x78\x33\x64\x5c\x78\x33\x31”;
两次Unicode编码后:“\u005C\u0075\u0030\u0030\u0036\u0031\u005C\u0075\u0030\u0030\u0036\u0034\u005C\u0075\u0030\u0030\u0036\u0044\u005C\u0075\u0030\u0030\u0036\u0039\u005C\u0075\u0030\u0030\u0036\u0045\u005C\u0075\u0030\u0030\u0032\u0037\u005C\u0075\u0030\u0030\u0032\u0030\u005C\u0075\u0030\u0030\u0036\u0031\u005C\u0075\u0030\u0030\u0036\u0045\u005C\u0075\u0030\u0030\u0036\u0034\u005C\u0075\u0030\u0030\u0032\u0030\u005C\u0075\u0030\u0030\u0033\u0031\u005C\u0075\u0030\u0030\u0033\u0044\u005C\u0075\u0030\u0030\u0033\u0031”;
如上所述,只有两层编码,且两次编码方式相同时,检测此攻击载荷需要4条规则。
假设有两层编码,且两次编码不相同,那么经过编码后的攻击载荷排列数量是A(4,2),一共12种,需要完全检测需要12条规则。
假设一共有四种编码方式,有两层编码,一共有42(16)种情况,完全检测编码变种后的攻击载荷需要16条规则。
假设一共有四种编码方式,有三层编码,一共有43(64)种情况,完全检测编码变种后的攻击载荷需要64条规则。
综上所述,假定仅对一种攻击载荷,在四种编码方式下,最多三层编码时,已经有84(4+16+64)种变形,如果需要完全检测,需要80条规则,规则数量是指数级增长。
现实网络中的各类原始攻击载荷是千级别的,攻击编码有十数种,嵌套编码层次最大将近十层,可想而知,规则数目大概是万亿级别的,而传统安全检测设备支持的规则数目大概是万级别,因此传统安全检测设备存在较大的局限性。
本申请的目的在于:本发明实施例提供一种嵌套编码攻击载荷检测方法、系统、设备及存储介质,传统安全检测在多次、多层嵌套编码攻击载荷时,存在的规则数量急剧增加,存在枚举不全导致的攻击绕过情况。
为了解决上述技术问题,如图1所示,本申请实施例提供了一种嵌套编码攻击载荷检测系统,其具体包括:初始化模块1、接收模块2、检测模块3、扫描模块4、解码模块5。
进一步地,初始化模块1用于将解码深度M和解码路径PM进行初始化,并将初始化后的解码深度M和解码路径PM发送至接收模块2。接收模块2用于接收载荷L,并将载荷L发送至检测模块3,同时将初始化后的解码深度M和解码路径PM作为当前解码深度M和解码路径PM和载荷一起向下转送。检测模块3用于调用检测规则R对当前载荷L进行检测,判断当前载荷L是否与检测规则R匹配;如果当前载荷L与检测规则R匹配,则判定载荷L为攻击载荷,并终止解码检测逻辑。扫描模块4用于如果当前载荷L未与检测规则R匹配,则扫描所述载荷L,得到解码器特征集合,并将解码器特征集合发送至解码模块5。解码模块5用于根据解码器特征集合逐个调用对应解码器对当前载荷L解码;直到当前载荷L解码成功,得到解码后的载荷Ld;利用解码后的载荷Ld更新载荷L,并将更新后的载荷L发送至接收模块2,进入下一层解码检测逻辑。
与现有技术相比,本申请实施例提供的一种嵌套编码攻击载荷检测系统,通过遍历待检测载荷的编码,扫描出解码器特征集合;利用解码器特征集合,可以调取相应的解码器对多层编码的攻击载荷进行自动、智能解码。通过智能推测嵌套编码,还原攻击载荷,减少攻击检测规则数量,提高攻击检测准确率。采用本发明实施例,规则数目与原始攻击载荷数量相当,约千级别的,可以有效的应用到攻击检测领域,并且对潜在可能存在的攻击变种进行有效的检测。
与上述公开的一种嵌套编码攻击载荷检测系统相对应,本发明实施例还公开了一种嵌套编码攻击载荷检测方法。以下结合上述描述的一种嵌套编码攻击载荷检测系统详细介绍本发明实施例中公开的一种嵌套编码攻击载荷检测方法。
在本发明一个实施例中,如图2所示,以下对本申请实施例提供的一种嵌套编码攻击载荷检测方法具体步骤进行详细描述。
本发明面向的是安全检测领域,主要针对有多次、多层嵌套编码后攻击载荷的检测。
假定:
多次、多层编码后的攻击载荷为L;
原始攻击载荷为A;
解码器总数量为n;
对应解码器分别为d1,d2...dn;
解码器对应的特征为Xd1,Xd2...Xdn;
检测规则为R;
解码深度为M;
解码路径为PM,PM=(d1,d2...dM)。
通过初始化模块1将解码深度M和解码路径PM进行初始化,并将初始化后的解码深度M和解码路径PM发送至接收模块2。
具体地,将解码深度M初始化为0,将解码路径PM初始化为空。
通过接收模块2接收载荷L,并将载荷L发送至检测模块3,同时将初始化后的解码深度M和解码路径PM作为当前解码深度M和解码路径PM和载荷一起向下转送。
通过检测模块3调用检测规则R对当前载荷L进行检测,判断当前载荷L是否与检测规则R匹配;如果当前载荷L与检测规则R匹配,则判定载荷L为攻击载荷,并终止解码检测逻辑。
优选地,在本发明实施例中,一种嵌套编码攻击载荷检测方法还包括:当判定载荷L为攻击载荷时,输出所述载荷L、当前解码深度M和解码路径PM。
如果当前载荷L未与检测规则R匹配,则通过扫描模块4扫描载荷L,得到解码器特征集合,并将解码器特征集合发送至解码模块5。
具体地,如当前载荷L未匹检测规则R,则认为载荷L不符合规则R的攻击载荷。但是,此时可能存在嵌套编码情况,需要进行嵌套编码探测。
对载荷L逐字符扫描,统计得到存在的字符集合,载荷长度特征等,对比编码器特征,得到解码器特征集合(Xd1,Xd2...Xdx),其中,x≤n。解码器特征只是用于快速标记是否符合此类解码器的特征,并不代表载荷L能被解码。
通过解码模块5根据解码器特征集合逐个调用对应解码器对当前载荷L解码;直到当前载荷L解码成功,得到解码后的载荷Ld。
参考图3,具体地,以下对根据所述解码器特征集合逐个调用对应解码器对当前载荷L解码的步骤进行详细说明。
首先,在本发明实施例中,对当前载荷L解码时,先判断解码器特征集合是否为空;如果解码器特征集合不为空,则根据解码器特征集合获得对应的解码器集合;如上所述,与解码器特征集合(Xd1,Xd2...Xdx)相对应的解码器集合为(d1,d2...dx),逐个调用当前解码器集合中的解码器对当前载荷L进行解码;判断利用当前解码器是否对载荷L解码成功;如果当前解码器对载荷L解码成功,则得到解码后的载荷Ld。
优选地,本发明实施例中公开的一种嵌套编码攻击载荷检测方法中,在当前载荷L解码成功之后,则将解码深度M加1,将解码成功的解码器加入至所述解码路径PM,进行更新;将更新后的解码深度M和解码路径PM用于下一层解码检测逻辑。
如果当前解码器未对载荷L解码成功,则判断解码器集合中是否存在未执行的解码器;如果解码器集合中存在未执行的解码器,则调用下一个解码器对所述载荷L解码;如果所述解码器集合中不存在未执行的解码器,则判断当前解码深度M是否为0;如果当前解码深度M为0(即无法向上递归),则判定载荷L为非攻击载荷,并终止解码检测逻辑;如果当前解码深度M大于0,则将解码深度M减1,从当前解码路径PM中去除排在最后一个的解码器,进行更新;并利用更新后的解码深度M和解码路径PM,返回上层解码检测逻辑。
进一步地,利用更新后的解码深度M和解码路径PM,返回上层解码检测逻辑,具体包括:利用上层对应载荷更新为当前载荷L;判断上层对应载荷的解码器集合中是否存在未执行的解码器;如果上层对应载荷的解码器集合中存在未执行的解码器,则利用当前未执行的解码器更新为当前解码器集合,利用更新后的载荷L和解码器集合,循环至逐个调用当前解码器集合中的解码器对当前载荷L进行解码;如果上层对应载荷的解码器集合中不存在未执行的解码器,则循环至判断当前解码深度M是否为0。
如果解码器特征集合为空,则判断当前解码深度M是否为0;如果当前解码深度M为0,则判定载荷L为非攻击载荷,并终止解码检测逻辑;如果当前解码深度M大于0,则将解码深度M减1,从当前解码路径PM中去除排在最后一个的解码器,进行更新;并利用更新后的解码深度M和解码路径PM,返回上层解码检测逻辑。
同样地,利用更新后的解码深度M和解码路径PM,返回上层解码检测逻辑,具体包括:利用上层对应载荷更新为当前载荷L;判断上层对应载荷的解码器集合中是否存在未执行的解码器;如果上层对应载荷的解码器集合中存在未执行的解码器,则利用当前未执行的解码器更新为当前解码器集合,利用更新后的载荷L和解码器集合,循环至逐个调用当前解码器集合中的解码器对当前载荷L进行解码;如果上层对应载荷的解码器集合中不存在未执行的解码器,则循环至判断当前解码深度M是否为0。
通过解码模块5利用解码后的载荷Ld更新载荷L,并将更新后的载荷L发送至接收模块2,进入下一层解码检测逻辑。在本发明实施例中,利用解码后的载荷Ld对载荷L更新后,进入下一层解码检测逻辑,即接收载荷Ld,利用载荷重复执行以上步骤。
与现有技术相比,本申请实施例提供的一种嵌套编码攻击载荷检测方法,通过遍历待检测载荷的编码,扫描出解码器特征集合;利用解码器特征集合,可以调取相应的解码器对多层编码的攻击载荷进行自动、智能解码。通过智能推测嵌套编码,还原攻击载荷,减少攻击检测规则数量,提高攻击检测准确率。采用本发明实施例,规则数目与原始攻击载荷数量相当,约千级别的,可以有效的应用到攻击检测领域,并且对潜在可能存在的攻击变种进行有效的检测。
另外,本发明实施例还提供了一种嵌套编码攻击载荷检测设备,所述设备包括:处理器和存储器;所述存储器用于存储一个或多个程序指令;所述处理器,用于运行一个或多个程序指令,用以执行如上任一项所述的一种嵌套编码攻击载荷检测方法的步骤。
另外,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述一种嵌套编码攻击载荷检测方法的步骤。
在本发明实施例中,处理器可以是一种集成电路芯片,具有信号的处理能力。处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific工ntegrated Circuit,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。
存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
其中,非易失性存储器可以是只读存储器(Read-Only Memory,简称ROM)、可编程只读存储器(Programmable ROM,简称PROM)、可擦除可编程只读存储器(Erasable PROM,简称EPROM)、电可擦除可编程只读存储器(Electrically EPROM,简称EEPROM)或闪存。
易失性存储器可以是随机存取存储器(Random Access Memory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,简称SRAM)、动态随机存取存储器(Dynamic RAM,简称DRAM)、同步动态随机存取存储器(Synchronous DRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,简称DDRSDRAM)、增强型同步动态随机存取存储器(EnhancedSDRAM,简称ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,简称DRRAM)。
本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (8)
1.一种嵌套编码攻击载荷检测方法,其特征在于,所述方法包括:
将解码深度M和解码路径PM进行初始化;
接收载荷L;
调用检测规则R对当前载荷L进行检测,判断当前载荷L是否与所述检测规则R匹配;
如果当前载荷L与所述检测规则R匹配,则判定所述载荷L为攻击载荷,并终止解码检测逻辑;
如果当前载荷L未与所述检测规则R匹配,则扫描所述载荷L,得到解码器特征集合;
根据所述解码器特征集合逐个调用对应解码器对当前载荷L解码,具体包括:判断所述解码器特征集合是否为空;
如果所述解码器特征集合不为空,则根据所述解码器特征集合获得对应的解码器集合;
逐个调用当前解码器集合中的解码器对当前载荷L进行解码;
判断利用当前解码器是否对所述载荷L解码成功;
如果当前解码器对所述载荷L解码成功,则得到解码后的载荷Ld;
在当前载荷L解码成功之后,则将所述解码深度M加1,将解码成功的解码器加入至所述解码路径PM,进行更新;
将更新后的解码深度M和解码路径PM用于下一层解码检测逻辑。
2.如权利要求1所述的一种嵌套编码攻击载荷检测方法,其特征在于,根据所述解码器特征集合逐个调用对应解码器对当前载荷L解码,还包括:
如果所述解码器特征集合为空,则判断当前解码深度M是否为0;
如果当前解码深度M为0,则判定所述载荷L为非攻击载荷,并终止解码检测逻辑;
如果当前解码深度M大于0,则将所述解码深度M减1,从当前解码路径PM中去除排在最后一个的解码器,进行更新;并利用更新后的解码深度M和解码路径PM,返回上层解码检测逻辑。
3.如权利要求2所述的一种嵌套编码攻击载荷检测方法,其特征在于,根据所述解码器特征集合逐个调用对应解码器对当前载荷L解码,还包括:
如果当前解码器未对所述载荷L解码成功,则判断所述解码器集合中是否存在未执行的解码器;
如果所述解码器集合中存在未执行的解码器,则调用下一个解码器对所述载荷L解码;
如果所述解码器集合中不存在未执行的解码器,则判断当前解码深度M是否为0;
如果当前解码深度M为0,则判定所述载荷L为非攻击载荷,并终止解码检测逻辑;
如果当前解码深度M大于0,则将所述解码深度M减1,从当前解码路径PM中去除排在最后一个的解码器,进行更新;并利用更新后的解码深度M和解码路径PM,返回上层解码检测逻辑。
4.如权利要求3所述的一种嵌套编码攻击载荷检测方法,其特征在于,利用更新后的解码深度M和解码路径PM,返回上层解码检测逻辑,包括:
将上层对应载荷更新为当前载荷L;
判断上层对应载荷的解码器集合中是否存在未执行的解码器;
如果上层对应载荷的解码器集合中存在未执行的解码器,则将所述当前未执行的解码器更新为当前解码器集合,利用更新后的载荷L和解码器集合,循环至逐个调用当前解码器集合中的解码器对当前载荷L进行解码;
如果上层对应载荷的解码器集合中不存在未执行的解码器,则循环至判断当前解码深度M是否为0。
5.如权利要求1至4中任一项所述的一种嵌套编码攻击载荷检测方法,其特征在于,所述方法还包括:
当判定所述载荷L为攻击载荷时,输出所述载荷L、当前解码深度M和解码路径PM。
6.一种嵌套编码攻击载荷检测系统,其特征在于,所述系统包括:
初始化模块,用于将解码深度M和解码路径PM进行初始化;
接收模块,用于接收载荷L;
检测模块,用于调用检测规则R对当前载荷L进行检测,判断当前载荷L是否与所述检测规则R匹配;如果当前载荷L与所述检测规则R匹配,则判定所述载荷L为攻击载荷,并终止解码检测逻辑;
扫描模块,用于如果当前载荷L未与所述检测规则R匹配,则扫描所述载荷L,得到解码器特征集合;
解码模块,用于根据所述解码器特征集合逐个调用对应解码器对当前载荷L解码,具体包括:判断所述解码器特征集合是否为空;
如果所述解码器特征集合不为空,则根据所述解码器特征集合获得对应的解码器集合;
逐个调用当前解码器集合中的解码器对当前载荷L进行解码;
判断利用当前解码器是否对所述载荷L解码成功;
如果当前解码器对所述载荷L解码成功,则得到解码后的载荷Ld;
在当前载荷L解码成功之后,则将所述解码深度M加1,将解码成功的解码器加入至所述解码路径PM,进行更新;
将更新后的解码深度M和解码路径PM用于下一层解码检测逻辑。
7.一种嵌套编码攻击载荷检测设备,其特征在于,所述设备包括:处理器和存储器;
所述存储器用于存储一个或多个程序指令;
所述处理器,用于运行一个或多个程序指令,用以执行如权利要求1至6任一项所述的一种嵌套编码攻击载荷检测方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述一种嵌套编码攻击载荷检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210649438.7A CN114745206B (zh) | 2022-06-10 | 2022-06-10 | 一种嵌套编码攻击载荷检测方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210649438.7A CN114745206B (zh) | 2022-06-10 | 2022-06-10 | 一种嵌套编码攻击载荷检测方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114745206A CN114745206A (zh) | 2022-07-12 |
CN114745206B true CN114745206B (zh) | 2022-09-23 |
Family
ID=82286737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210649438.7A Active CN114745206B (zh) | 2022-06-10 | 2022-06-10 | 一种嵌套编码攻击载荷检测方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114745206B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766693A (zh) * | 2018-12-11 | 2019-05-17 | 四川大学 | 一种基于深度学习的跨站脚本攻击检测方法 |
CN110958252A (zh) * | 2019-12-05 | 2020-04-03 | 深信服科技股份有限公司 | 一种网络安全设备及其网络攻击检测方法、装置和介质 |
CN113132416A (zh) * | 2021-06-03 | 2021-07-16 | 新华三信息安全技术有限公司 | 一种数据包检测方法及装置 |
CN113141331A (zh) * | 2020-01-17 | 2021-07-20 | 深信服科技股份有限公司 | 一种xss攻击检测方法、装置、设备及介质 |
CN114064905A (zh) * | 2021-11-29 | 2022-02-18 | 深圳市中科明望通信软件有限公司 | 网络攻击检测方法、装置、终端设备、芯片及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161479B (zh) * | 2016-09-21 | 2019-06-07 | 杭州迪普科技股份有限公司 | 一种支持特征跨包的编码攻击检测方法和装置 |
-
2022
- 2022-06-10 CN CN202210649438.7A patent/CN114745206B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766693A (zh) * | 2018-12-11 | 2019-05-17 | 四川大学 | 一种基于深度学习的跨站脚本攻击检测方法 |
CN110958252A (zh) * | 2019-12-05 | 2020-04-03 | 深信服科技股份有限公司 | 一种网络安全设备及其网络攻击检测方法、装置和介质 |
CN113141331A (zh) * | 2020-01-17 | 2021-07-20 | 深信服科技股份有限公司 | 一种xss攻击检测方法、装置、设备及介质 |
CN113132416A (zh) * | 2021-06-03 | 2021-07-16 | 新华三信息安全技术有限公司 | 一种数据包检测方法及装置 |
CN114064905A (zh) * | 2021-11-29 | 2022-02-18 | 深圳市中科明望通信软件有限公司 | 网络攻击检测方法、装置、终端设备、芯片及存储介质 |
Non-Patent Citations (1)
Title |
---|
针对基于编码的跨站脚本攻击分析及防范方法;张伟等;《小型微型计算机系统》;20130715(第07期);1615-1619 * |
Also Published As
Publication number | Publication date |
---|---|
CN114745206A (zh) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9977897B2 (en) | System and method for detecting stack pivot programming exploit | |
US7231498B2 (en) | Adaptive granularity refinement in detecting potential data races | |
CN110958252B (zh) | 一种网络安全设备及其网络攻击检测方法、装置和介质 | |
US20100153420A1 (en) | Dual-stage regular expression pattern matching method and system | |
EP3512178B1 (en) | Symbolic execution for web application firewall performance | |
US20090328137A1 (en) | Method for protecting data in mashup websites | |
CN107864216A (zh) | 针对相同账号的多客户端处理方法、装置及电子设备 | |
CN114745206B (zh) | 一种嵌套编码攻击载荷检测方法、系统、设备及存储介质 | |
CN110647746A (zh) | 一种恶意软件检测方法、系统及存储介质 | |
US9396336B2 (en) | Automatic correction of security downgraders | |
CN105184150B (zh) | 一种语句预处理方法、装置以及语句的解释方法、装置 | |
US11949714B2 (en) | Cross-site request forgery protection | |
US8627099B2 (en) | System, method and computer program product for removing null values during scanning | |
US11397813B2 (en) | System and method for verifying a regex group | |
CN113328982A (zh) | 一种入侵检测方法、装置、设备、介质 | |
US11899798B2 (en) | System and method for verifying a regex sanitizer and a validator | |
US20170054693A1 (en) | Integrity verification system using remote code execution and method thereof | |
CN117891502B (zh) | 一种jsp文件解混淆方法、系统、设备及存储介质 | |
CN108668134B (zh) | 一种编解码方法、装置及电子设备 | |
CN108984673B (zh) | 一种文件检测方法及装置 | |
EP4398120A1 (en) | Compact probabilistic data structure for storing streamed log lines | |
Wang et al. | Size of the largest component in a critical graph | |
US20080071522A1 (en) | Method and device for protected transmission of data words | |
AU2016340025A1 (en) | Dynamic Cryptographic Polymorphism (DCP) system and method | |
CN115913589A (zh) | Waf检测方法、装置及存储介质 |
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 |