CN109413016A - 一种基于规则的报文检测方法和装置 - Google Patents
一种基于规则的报文检测方法和装置 Download PDFInfo
- Publication number
- CN109413016A CN109413016A CN201810399633.2A CN201810399633A CN109413016A CN 109413016 A CN109413016 A CN 109413016A CN 201810399633 A CN201810399633 A CN 201810399633A CN 109413016 A CN109413016 A CN 109413016A
- Authority
- CN
- China
- Prior art keywords
- message
- classifier
- attack
- detection
- determines
- 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
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
- 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
Abstract
本申请提供一种基于规则的报文检测方法和装置,所述方法应用于防护引擎,该方法中,通过第一分类器检测报文中是否包含各个类型的攻击报文的关键字,若包含,则确定报文为第一疑似攻击报文,并且确定报文的疑似攻击类型为第一疑似攻击;第一分类器确定与第一疑似攻击的属性信息对应的第二分类器,并将报文传输至第二分类器;各个第二分类器分别检测报文中是否包含与第一疑似攻击相对应的属性信息,若包含,第二分类器确定是否完成检测;若确定完成检测,则确定报文为攻击报文。在此过程中,该报文只需与特定的一个或者几个分类器中包含的规则相匹配,即能得出检测结果,与现有技术相比,减少了与报文匹配的规则数量,从而提高防护引擎的性能。
Description
技术领域
本申请涉及信息安全技术领域,具体涉及一种基于规则的报文检测方法和装置。
背景技术
为了防止攻击者对服务器的攻击,通常在服务器与客户端之间设置防护引擎。客户端访问网站中的目标网页,需要向网站的服务器发送报文,报文在发送至服务器的过程中,首先经过防护引擎,防护引擎检测该报文是否为攻击报文,若该报文为攻击报文,则拒绝报文继续发送至服务器;若报文为正常报文,则允许报文继续发送至服务器。
现有技术中,通过在防护引擎内部设置规则来检测报文是否为攻击报文。由于攻击报文存在多种类型,所以需要在防护引擎中设置多条与报文的攻击类型对应的规则。防护引擎在接收到客户端发送的报文之后,将报文与规则逐条进行匹配,若报文与全部规则均不匹配,则说明报文是正常报文;若报文与其中一条规则匹配,则说明报文是攻击报文。
但是,发明人在本申请的研究过程中发现,防护引擎通过现有技术对报文进行检测时,往往需要将报文与多条规则进行匹配,才能获取该报文的检测结果,导致防护引擎存在检测性能较低的问题。例如,一条报文需要与防护引擎中所有规则全部匹配之后,才能确定该报文是否为正常报文;另外,即使该报文为攻击报文,通常也需要将该报文与多条规则进行匹配之后,才能将该报文与目标规则匹配到。因此,若将报文与其不匹配的规则相匹配的过程作为无效检测,该报文无论是正常报文还是攻击报文,都需要经过多次无效检测,才能得出检测结果,耗时较长,从而导致防护引擎的性能较低。
发明内容
本申请提供一种基于规则的报文检测方法和装置,以解决现有技术中,无论是正常报文还是攻击报文,都需要经过多次无效检测,才能得出检测结果,耗时较长,从而导致防护引擎的性能较低的问题。
本申请的第一方面,提供一种基于规则的报文检测方法,所述方法应用于防护引擎,所述方法包括:
第一分类器获取客户端发送的报文,并检测所述报文中是否包含各个类型的攻击报文的关键字;
若所述报文中包含第一类型的攻击报文的关键字,所述第一分类器确定所述报文为第一疑似攻击报文,并且确定所述报文的疑似攻击类型为第一疑似攻击,所述第一疑似攻击为所述第一疑似攻击报文的关键字对应的类型;
所述第一分类器确定与所述第一疑似攻击的属性信息对应的第二分类器,并将所述报文传输至各个所述第二分类器;
各个所述第二分类器分别检测所述报文中是否包含与所述第一疑似攻击相对应的属性信息;
若所述报文中包含与所述第一疑似攻击相对应的属性信息,所述第二分类器确定是否完成检测;
若确定完成检测,所述第二分类器确定所述报文为攻击报文。
可选的,所述第一分类器检测所述报文中是否包含各个类型的攻击报文的关键字,包括:
所述第一分类器提取所述报文中各个字段;
所述第一分类器将所述字段中包含的关键字依次与第一分类器中的各条规则相匹配;
若所述字段中包含的关键字与所述第一分类器中的目标规则相匹配,所述第一分类器确定所述报文中包含攻击报文的关键字。
可选的,所述第二分类器确定是否完成检测,包括:
设定所述报文中包含的与所述第一疑似攻击相对应的属性信息为目标属性信息,所述第二分类器检测是否存在第三分类器,其中,所述第三分类器与所述目标属性信息的语法信息相对应;
若不存在所述第三分类器,所述第二分类器确定完成检测。
可选的,在所述第二分类器检测是否存在第三分类器之后,还包括:
若存在所述第三分类器,所述第二分类器将所述报文传输至各个所述第三分类器;
各个所述第三分类器分别检测所述报文中是否包含与所述目标属性信息相对应的语法信息;
若所述报文中包含与所述目标属性信息相对应的语法信息,所述第三分类器确定是否完成检测;
若确定完成检测,所述第三分类器确定所述报文为攻击报文。
可选的,在所述第二分类器确定是否完成检测之后,还包括:
若确定完成检测,所述第二分类器确定所述报文的攻击类型为第一类型,并且确定所述报文的攻击属性信息为所述第一类型相对应的属性信息。
本申请的第二方面,提供一种基于规则的报文检测装置,所述装置应用于防护引擎,所述装置包括:第一分类器和第二分类器;
其中,所述第一分类器包括:
第一检测模块,用于获取客户端发送的报文,并检测所述报文中是否包含各个类型的攻击报文的关键字;
第一确定模块,用于在所述第一检测模块确定所述报文中包含第一类型的攻击报文的关键字之后,确定所述报文为第一疑似攻击报文,并且确定所述报文的疑似攻击类型为第一疑似攻击,所述第一疑似攻击为所述第一疑似攻击报文的关键字对应的类型;
传输模块,用于确定与所述第一疑似攻击的属性信息对应的第二分类器,并将所述报文传输至各个所述第二分类器;
所述第二分类器包括:
第二检测模块,用于检测所述报文中是否包含与所述第一疑似攻击相对应的属性信息;
第二确定模块,用于在所述第二检测模块确定所述报文中包含与所述第一疑似攻击相对应的属性信息之后,确定是否完成检测;
第三确定模块,用于在所述第二确定模块确定完成检测之后,确定所述报文为攻击报文。
可选的,所述第一检测模块包括:
提取单元,用于提取所述报文中各个字段;
匹配单元,用于将所述字段中包含的关键字依次与第一分类器中的各条规则相匹配;
第一确定单元,用于在所述匹配单元确定所述字段中包含的关键字与所述第一分类器中的目标规则相匹配之后,确定所述报文中包含攻击报文的关键字。
可选的,所述第二确定模块包括:
第一检测单元,用于设定所述报文中包含的与所述第一疑似攻击相对应的属性信息为目标属性信息,检测是否存在第三分类器,其中,所述第三分类器与所述目标属性信息的语法信息相对应;
第二确定单元,用于在所述第一检测单元确定不存在所述第三分类器之后,确定完成检测。
可选的,所述第二确定模块还包括:
传输单元,用于在所述第一检测单元确定存在第三分类器之后,将所述报文传输至各个所述第三分类器;
所述报文检测装置还包括第三分类器,所述第三分类器包括:
第二检测单元,用于检测所述报文中是否包含与所述目标属性信息相对应的语法信息;
第三确定单元,用于在所述第二检测单元确定所述报文中包含与所述目标属性信息相对应的语法信息之后,确定是否完成检测;
第四确定单元,用于在所述第三确定单元确定完成检测之后,确定所述报文为攻击报文。
可选的,所述第二分类器还包括:
第四确定模块,用于在所述第二确定模块确定完成检测之后,确定所述报文的攻击类型为第一类型,并且确定所述报文的攻击属性信息为所述第一类型相对应的属性信息。
可选的,所述第一分类器还包括:
第五确定模块,用于在所述第一检测模块确定所述报文中不包含任一类型的攻击报文的关键字之后,确定所述报文为正常报文;
或者,所述第二分类器还包括:
第六确定模块,用于在所述第二检测模块确定所述报文中不包含与所述第一疑似攻击相对应的属性信息之后,确定所述报文为正常报文。
本申请实施例提供一种基于规则的报文检测方法和装置,其中,所述方法应用防护引擎,该方法中,将多条规则分配至各个分类器,分类器之间存在级联关系,报文仅需经过特定的一个或者几个分类器的检测,即能够确定该报文是正常报文或者攻击报文。在此过程中,该报文只需与特定的一个或者几个分类器中包含的规则相匹配,即能得出检测结果,与现有技术相比,减少了需要与报文匹配的规则数量,从而提高了防护引擎的性能。因此,本申请实施例提供的方法和装置解决了现有技术中,无论是正常报文还是攻击报文,都需要经过多次无效检测,才能得出检测结果,耗时较长,从而导致防护引擎的性能较低的问题。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种基于规则的报文检测方法工作流程示意图;
图2为本申请实施例提供的一种基于规则的报文检测方法的应用场景示意图;
图3为本申请实施例提供的一种基于规则的报文检测方法中,第一分类器检测所述报文中是否包含各个类型的攻击报文的关键字的工作流程示意图;
图4为本申请实施例提供的一种基于规则的报文检测方法中,第二分类器确定是否完成检测的工作流程示意图;
图5为本申请实施例提供的又一种基于规则的报文检测方法工作流程示意图;
图6为本申请实施例提供的一种基于规则的报文检测方法中,分类器的结构示意图;
图7为本申请实施例提供的一种基于规则的报文检测装置结构示意图。
具体实施方式
为了解决现有技术中,无论是正常报文还是攻击报文,都需要经过多次无效检测,才能得出检测结果,耗时较长,从而导致防护引擎的性能较低的问题,本申请通过以下各个实施例提供一种基于规则的报文检测方法和装置。
本申请提供一种基于规则的报文检测方法和装置,其中,所述方法应用于防护引擎,所述防护引擎设置于客户端和服务器之间,能够接收客户端发送的报文,检测所述报文是否为攻击报文,并根据检测结果确定是否将所述报文发送至服务器。
参见图1所示的工作流程示意图,本申请实施例提供一种基于规则的报文检测方法,所述方法包括以下步骤:
步骤101,第一分类器获取客户端发送的报文,并检测所述报文中是否包含各个类型的攻击报文的关键字。其中,若是,则执行步骤102的操作;若否,则执行步骤107的操作。
本申请实施例提供的基于规则的报文检测方法,将防护引擎中的规则分配至各个分类器,防护引擎在获取到客户端发送的报文之后,加载第一分类器对报文进行检测,第一分类器为报文检测过程中经过的第一个分类器,第一分类器中包含多个初筛规则,利用这些初筛规则检测报文中是否包含各个类型的攻击报文的关键字。第一分类器中的初筛规则可以从原有防护引擎中的规则中抽取,也可以根据特定的场景或者需求添加。
步骤102,若所述报文中包含第一类型的攻击报文的关键字,所述第一分类器确定所述报文为第一疑似攻击报文,并且确定所述报文的疑似攻击类型为第一疑似攻击,所述第一疑似攻击为所述第一疑似攻击报文的关键字对应的类型。
第一分类器中包含多条初筛规则,一条初筛规则对应一种类型的攻击报文的关键字,报文在第一分类器中依次与各条初筛规则相匹配,若所述报文与其中一条初筛规则相符合,则确定所述报文中包含与该条初筛规则对应的攻击报文的关键字。
本申请实施例中报文与规则的匹配指匹配的操作或者过程,报文与规则相符合是指所述报文包含规则对应的攻击报文的关键字或者其他信息。
步骤103,所述第一分类器确定与所述第一疑似攻击的属性信息对应的第二分类器,并将所述报文传输至各个所述第二分类器。
防护引擎中包含多个第二分类器,所述第二分类器是防护引擎中直接与第一分类器级联的分类器,各个第二分类器中包含不同的规则,不同的规则对于报文中包含的不同的信息进行检测。第一分类器在确定报文的疑似攻击类型为第一疑似攻击的同时,能够确定第一疑似报文的属性信息。例如,若第一分类器确定报文疑似为基于联合查询的sql(structured query language,结构化查询语言)注入,则确定第一疑似攻击为基于联合查询的sql注入,同时确定第一疑似攻击的属性信息为联合查询,则第二分类器与联合查询相对应。
该步骤中,第一分类器确定与所述第一疑似攻击的属性信息对应的第二分类器时,根据初筛规则的不同,包含不同的情形:在第一种情形中,每种攻击报文仅与第一分类器中的一条初筛规则相符合,则第一分类器在确定接收到的报文与一条初筛规则相符合之后,就终止所述报文与初筛规则的匹配,确定所述报文对应的第一疑似攻击,并确定第二分类器,这种情况下,减少所述报文与无关的初筛规则的匹配次数,从而提高第一分类器的检测效率;在第二种情形中,若一种攻击报文可能符合两条或两条以上的初筛规则,则第一分类器确定接收到的报文与一条初筛规则相符合后,继续将所述报文与下一条初筛规则相匹配,在报文与第一分类器中的所有初筛规则相匹配之后,统计报文与初筛规则的匹配情况以及所有可能的第一疑似攻击,并根据第一疑似攻击确定第二分类器,或者,在第一分类器确定所述报文与一条初筛规则相符合之后,即确定与所述报文对应的第一疑似攻击,并根据所述第一疑似攻击确定第二分类器,同时,将所述报文继续与下一条初筛规则相匹配,直至报文遍历第一分类器中的初筛规则,避免报文没有与全部的初筛规则相匹配导致的漏检的问题。
步骤104,各个所述第二分类器分别检测所述报文中是否包含与所述第一疑似攻击相对应的属性信息。其中,若是,则执行步骤105的操作;若否,则执行步骤108的操作。
第一分类器根据报文中的关键字来确定报文是否为第一疑似攻击报文,在确定第一疑似攻击报文以及第一疑似攻击之后,第二分类器可以根据关键字所在字段的其他信息,确定所述报文中是否包含与所述第一疑似攻击相对应的属性信息。
步骤105,若所述报文中包含与所述第一疑似攻击相对应的属性信息,所述第二分类器确定是否完成检测。
其中,若是,即所述第二分类器确定完成检测,则执行步骤106的操作;若否,即所述第二分类器确定没有完成检测,则继续确定是否存在第三分类器。
步骤106,若确定完成检测,所述第二分类器确定所述报文为攻击报文。
第二分类器在确定所述报文为攻击报文之后,由防护引擎执行拦截报文的操作。
步骤107,若所述报文中不包含任一类型的攻击报文的关键字,所述第一分类器确定所述报文为正常报文。
该步骤中,在第一分类器在确定所述报文为正常报文之后,由防护引擎执行放行报文的操作。在此过程中,报文仅经历了第一分类器的检测即确定检测结果,与报文进行匹配的规则仅为第一分类器中的初筛规则,防护引擎中除第一分类器中的初筛规则之外的其余规则,均不需要与报文进行匹配,与现有技术相比,减少了与报文匹配的规则数量。
步骤108,若所述报文中不包含与所述第一疑似攻击相对应的属性信息,所述第二分类器确定所述报文为正常报文。
该步骤中,在第二分类器在确定所述报文为正常报文之后,由防护引擎执行放行报文的操作。
本申请通过步骤101至步骤108提供一种基于规则的报文检测方法,所述方法应用于防护引擎,该方法中,通过第一分类器获取客户端发送的报文,并检测所述报文中是否包含各个类型的攻击报文的关键字;若所述报文包含第一类型的攻击报文的关键字,所述第一分类器确定所述报文为第一疑似攻击报文,并且确定所述报文的疑似攻击类型为第一疑似攻击,所述第一疑似攻击为所述第一疑似攻击报文的关键字对应的类型;所述第一分类器确定与所述第一疑似攻击的属性信息对应的第二分类器,并将所述报文传输至各个第二分类器;各个所述第二分类器分别检测所述报文中是否包含与所述第一疑似攻击相对应的属性信息;若所述报文中包含与所述第一疑似攻击相对应的属性信息,所述第二分类器确定是否完成检测;若确定完成检测,所述第二分类器确定所述报文为攻击报文。
本申请实施例提供的一种基于规则的报文检测方法中,将多条规则分配至各个分类器,分类器之间存在级联关系,报文仅需经过特定的一个或者几个分类器的检测,即能够确定该报文是正常报文或者攻击报文。在此过程中,该报文只需与特定的一个或者几个分类器中包含的规则相匹配,即能得出检测结果,与现有技术相比,减少了需要与报文匹配的规则数量,从而提高了防护引擎的性能。因此,本申请实施例提供的方法解决了现有技术中,无论是正常报文还是攻击报文,都需要经过多次无效检测,才能得出检测结果,耗时较长,从而导致防护引擎的性能较低的问题。
例如,在某一应用场景中,防护引擎中包含10条规则,分别为规则1、规则2……规则10,若该防护引擎用于检测xss(cross site scripting,跨站脚本)攻击、基于联合查询的sql注入或者基于时间的sql注入三种类型的攻击报文,若一条报文不是以上三种类型的攻击报文中的一种,则认为该报文是正常报文。其中,规则1至规则6检测报文是否为xss攻击,规则7和规则8检测报文是否为基于联合查询的sql注入,规则9和规则10检测报文是否为基于时间的sql注入。
在该应用场景中,若按照现有技术提供的方案进行报文检测,则报文需要逐条与规则进行匹配。例如,一条报文需要与防护引擎中的10条规则全部匹配之后,才能确定所述报文是正常报文。另外,一条报文与规则9的匹配结果表明该报文符合规则9,能够确认该报文是攻击报文,并且确定报文的攻击类型为基于时间的sql注入,但在规则9之前,已经与8条规则进行匹配,也就是说,之前8条规则的检测均为无效检测。
参见图2所示的示意图,若按照本申请实施例提供的方法进行报文检测,需要预先将防护引擎中的规则分配至各个分类器,首先设置第一分类器,并将规则11、规则12和规则13添加至第一分类器中,其中,规则11检测报文的攻击类型是否为疑似xss攻击,规则12检测报文的攻击类型是否为疑似基于联合查询的sql注入,规则13检测报文的攻击类型是否为疑似基于时间的sql注入。然后将10条规则按照检测的类型分配至三个第二分类器中,最后设置第一分类器和第二分类器之间的级联规则,使得第一分类器确定报文的疑似攻击类型之后,能够将报文传输至与所述疑似攻击类型相对应的第二分类器,第二分类器再对所述报文进行检测。
例如,在第一分类器中,一条报文与规则11至规则13的匹配结果均为不符合,则第一分类器确定所述报文为正常报文,在此过程中,报文仅与3条规则相匹配,即得出报文为正常报文的结果。另外,在第一分类器中,若报文与规则13的匹配结果为符合,第一分类器确定所述报文的疑似攻击类型为疑似基于时间的sql注入,然后将所述报文传输至包含规则9和规则10的第二分类器,在第二分类器中,报文与规则9的匹配结果为符合,报文与规则10的匹配结果为不符合,则第二分类器确定所述报文为攻击报文,并且确定报文的攻击类型为基于时间的sql注入,在此过程中,报文共与5条规则进行匹配,其中包括第一分类器中的3条规则和第二分类器中的2条规则,与现有技术相比,减少了报文需要匹配的规则的数量,缩短了报文检测时间,从而提高了防护引擎的性能。
参见图3所示的工作流程图,所述第一分类器检测所述报文中是否包含各个类型的攻击报文的关键字,包括以下步骤:
步骤201,所述第一分类器提取所述报文中各个字段。
该步骤中,第一分类器提取报文的各个字段,包括报文中的cookie、args、ua或者其他字段。在所述报文是否为攻击报文未知,以及所述报文的攻击类型未知的情况下,第一分类器提取的字段需要能够涵盖所有类型的攻击报文的关键字。
步骤202,所述第一分类器将所述字段中包含的关键字依次与第一分类器中的各条规则相匹配。
由于报文中包含多个字段,各个字段中包含多个关键字,因此,在将字段与规则进行匹配的过程中,第一分类器根据各个规则能够确定的攻击报文的类型不同,识别字段中与该规则能够识别的攻击报文的类型相对应的关键字,将字段中的关键字与该规则相匹配。
步骤203,若所述字段中包含的关键字与所述第一分类器中的目标规则相匹配,所述第一分类器确定所述报文中包含攻击报文的关键字。
在报文与第一分类器中的规则A相匹配的过程中,若所述字段中包含的关键字不与规则A相匹配,第一分类器确定所述报文中不包含与规则A对应的攻击报文的关键字,则第一分类器继续将报文中的关键字与下一条规则相匹配,将下一条规则作为规则B,若所述字段中包含的关键字与规则B相匹配,第一分类器确定所述报文中包含攻击报文的关键字,则规则B为目标规则。
参见图4所示的工作流程图,所述第二分类器确定是否完成检测,包括以下步骤:
步骤301,设定所述报文中包含的与所述第一疑似攻击相对应的属性信息为目标属性信息,所述第二分类器检测是否存在第三分类器,其中,所述第三分类器与所述目标属性信息的语法信息相对应。
若是,即存在第三分类器,则执行步骤302的操作;若否,即所述第二分类器不存在第三分类器,则执行步骤306的操作。
本申请实施例提供的第三分类器与第二分类器之间存在级联关系,第二分类器检测是否存在第三分类器,也就是检测是否存在与第二分类器存在级联关系的第三分类器。
步骤302,若存在所述第三分类器,所述第二分类器将所述报文传输至各个所述第三分类器。
步骤303,各个所述第三分类器分别检测所述报文中是否包含与所述目标属性信息相对应的语法信息。若是,则执行步骤304的操作。
该步骤中,各个第三分类器可以根据所述报文的字段中的语法信息与目标属性相对应的语法信息相比较,若所述报文的字段中的语法信息与目标属性相对应的语法信息匹配,则确定所述报文中包含与所述目标属性信息相对应的语法信息。若所述报文中不包含与所述目标属性信息相对应的语法信息,则确定所述报文为正常报文。
步骤304,若所述报文中包含与所述目标属性信息相对应的语法信息,所述第三分类器确定是否完成检测。若是,执行步骤305的操作。
所述第三分类器确定是否完成检测,也就是说,所述第三分类器确定是否存在第四分类器,若第三分类器不包含所述第四分类器,则确定完成检测;若第三分类器包含所述第四分类器,则所述第三分类器再将所述报文传输至第四分类器,第四分类器对所述报文继续进行检测。
步骤305,若确定完成检测,所述第三分类器确定所述报文为攻击报文。
若确定完成检测,也就是说,第三分类器为所述报文检测过程中的最后一级分类器,由于第三分类器已经确定与所述报文包含与所述目标属性信息相对应的语法信息,则第三分类器确定所述报文为攻击报文。
步骤306,若不存在所述第三分类器,所述第二分类器确定完成检测。
若不存在第三分类器,也就是说,第二分类器为所述报文检测过程中的最后一级分类器,则第二分类器确定完成检测。
通过本实施例公开的方案,第二分类器根据是否存在第三分类器,来确定是否完成检测,进而确定所述报文是否为攻击报文。
参见图5所示的工作流程图,本申请实施例提供又一种基于规则的报文检测方法,所述方法包括以下步骤:
步骤401,第一分类器获取客户端发送的报文,并检测所述报文中是否包含各个类型的攻击报文的关键字。若是,则执行步骤402的操作。
步骤402,若所述报文包含第一类型的攻击报文的关键字,所述第一分类器确定所述报文为第一疑似攻击报文,并且确定所述报文的疑似攻击类型为第一疑似攻击,所述第一疑似攻击为所述第一疑似攻击报文的关键字对应的类型。
步骤403,所述第一分类器确定与所述第一疑似攻击的属性信息对应的第二分类器,并将所述报文传输至各个第二分类器。
步骤404,各个所述第二分类器分别检测所述报文中是否包含与所述第一疑似攻击相对应的属性信息。若是,则执行步骤405的操作。
步骤405,若所述报文中包含与所述第一疑似攻击相对应的属性信息,所述第二分类器确定是否完成检测。若是,则执行步骤406的操作。
其中,步骤401至步骤405的具体操作过程与步骤101至步骤105的具体操作过程相同,可相互参照,此处不再赘述。
步骤406,若确定完成检测,所述第二分类器确定所述报文的攻击类型为第一类型,并且确定所述报文的攻击属性信息为所述第一类型相对应的属性信息。
该步骤中,若确定完成检测,第二分类器在确定所述报文为攻击报文的同时,能够确定所述报文的攻击类型为第一类型,并且确定所述报文的攻击属性信息为所述第一类型相对应的属性信息。第二分类器可将报文的攻击类型以及攻击属性信息传输至防护引擎,防护引擎统计这些报文的攻击类型以及攻击属性信息,以便于分析客户端行为。
基于以上说明,本申请实施例提供一种基于规则的报文检测方法,该方法基于分级检测的思想检测报文是否为攻击报文。该方法应用于防护引擎,在检测过程中采用分级检测,各个检测级别存在一个或者多个分类器,各个分类器中存在不同的规则,各个分类器之间存在级联关系。参见图6所示的结构示意图,一级检测存在一个第一分类器,二级检测存在三个第二分类器,三级检测存在四个第三分类器,相邻级别的分类器之间存在级联关系,根据前一级别的分类器的检测结果,调用下一级别的一个或者多个分类器,图6所示的结构示意图中存在三级检测,则第三分类器的检测结果即为所述系统对于报文的检测结果,在一种可能的情况下,报文在该系统中分别经过各级检测中的一个分类器的检测即可得出检测结果。
在实际应用中,检测级别以及各个级别中的分类器的数量不同,根据实际情况确定报文所经过的分类器的数量以及相匹配的规则数量。通过本申请实施例提供的方法,报文仅需经过与报文的疑似攻击类型相关的分类器的检测,即能够确定该报文是正常报文或者攻击报文,与现有技术相比,减少了需要与报文匹配的规则数量,从而提高了防护引擎的性能。下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
参见图7所示的结构示意图,本申请实施例提供一种基于规则的报文检测装置,所述装置应用于防护引擎,所述装置包括:第一分类器和第二分类器。
其中,所述第一分类器包括:
第一检测模块100,用于获取客户端发送的报文,并检测所述报文中是否包含各个类型的攻击报文的关键字。
第一确定模块200,用于在所述第一检测模块确定所述报文中包含第一类型的攻击报文的关键字之后,确定所述报文为第一疑似攻击报文,并且确定所述报文的疑似攻击类型为第一疑似攻击,所述第一疑似攻击为所述第一疑似攻击报文的关键字对应的类型。
传输模块300,用于确定与所述第一疑似攻击的属性信息对应的第二分类器,并将所述报文传输至各个所述第二分类器。
所述第二分类器包括:
第二检测模块400,用于检测所述报文中是否包含与所述第一疑似攻击相对应的属性信息。
第二确定模块500,用于在所述第二检测模块确定所述报文中包含与所述第一疑似攻击相对应的属性信息之后,确定是否完成检测。
第三确定模块600,用于在所述第二确定模块确定完成检测之后,确定所述报文为攻击报文。
可选的,所述第一检测模块包括:
提取单元,用于提取所述报文中各个字段。
匹配单元,用于将所述字段中包含的关键字依次与第一分类器中的各条规则相匹配。
第一确定单元,用于在所述匹配单元确定所述字段中包含的关键字与所述第一分类器中的目标规则相匹配之后,确定所述报文中包含攻击报文的关键字。
可选的,所述第二确定模块包括:
第一检测单元,用于设定所述报文中包含的与所述第一疑似攻击相对应的属性信息为目标属性信息,检测是否存在第三分类器,其中,所述第三分类器与所述目标属性信息的语法信息相对应。
第二确定单元,用于在所述第一检测单元确定不存在所述第三分类器之后,确定完成检测。
可选的,所述第二确定模块还包括:
传输单元,用于在所述第一检测单元确定存在第三分类器之后,将所述报文传输至各个所述第三分类器。
所述报文检测装置还包括第三分类器,所述第三分类器包括:
第二检测单元,用于检测所述报文中是否包含与所述目标属性信息相对应的语法信息。
第三确定单元,用于在所述第二检测单元确定所述报文中包含与所述目标属性信息相对应的语法信息之后,确定是否完成检测。
第四确定单元,用于在所述第三确定单元确定完成检测之后,确定所述报文为攻击报文。
可选的,所述第二分类器还包括:
第四确定模块,用于在所述第二确定模块确定完成检测之后,确定所述报文的攻击类型为第一类型,并且确定所述报文的攻击属性信息为所述第一类型相对应的属性信息。
可选的,所述第一分类器还包括:
第五确定模块,用于在所述第一检测模块确定所述报文中不包含任一类型的攻击报文的关键字之后,确定所述报文为正常报文。
或者,所述第二分类器还包括:
第六确定模块,用于在所述第二检测模块确定所述报文中不包含与所述第一疑似攻击相对应的属性信息之后,确定所述报文为正常报文。。
具体实现中,本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的一种基于规则的报文检测方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上结合具体实施方式和范例性实例对本申请进行了详细说明,不过这些说明并不能理解为对本申请的限制。本领域技术人员理解,在不偏离本申请精神和范围的情况下,可以对本申请技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本申请的范围内。本申请的保护范围以所附权利要求为准。
Claims (12)
1.一种基于规则的报文检测方法,其特征在于,所述方法应用于防护引擎,所述方法包括:
第一分类器获取客户端发送的报文,并检测所述报文中是否包含各个类型的攻击报文的关键字;
若所述报文中包含第一类型的攻击报文的关键字,所述第一分类器确定所述报文为第一疑似攻击报文,并且确定所述报文的疑似攻击类型为第一疑似攻击,所述第一疑似攻击为所述第一疑似攻击报文的关键字对应的类型;
所述第一分类器确定与所述第一疑似攻击的属性信息对应的第二分类器,并将所述报文传输至各个所述第二分类器;
各个所述第二分类器分别检测所述报文中是否包含与所述第一疑似攻击相对应的属性信息;
若所述报文中包含与所述第一疑似攻击相对应的属性信息,所述第二分类器确定是否完成检测;
若确定完成检测,所述第二分类器确定所述报文为攻击报文。
2.根据权利要求1所述的报文检测方法,其特征在于,所述第一分类器检测所述报文中是否包含各个类型的攻击报文的关键字,包括:
所述第一分类器提取所述报文中各个字段;
所述第一分类器将所述字段中包含的关键字依次与第一分类器中的各条规则相匹配;
若所述字段中包含的关键字与所述第一分类器中的目标规则相匹配,所述第一分类器确定所述报文中包含攻击报文的关键字。
3.根据权利要求1所述的报文检测方法,其特征在于,所述第二分类器确定是否完成检测,包括:
设定所述报文中包含的与所述第一疑似攻击相对应的属性信息为目标属性信息,所述第二分类器检测是否存在第三分类器,其中,所述第三分类器与所述目标属性信息的语法信息相对应;
若不存在所述第三分类器,所述第二分类器确定完成检测。
4.根据权利要求3所述的报文检测方法,其特征在于,在所述第二分类器检测是否存在第三分类器之后,还包括:
若存在所述第三分类器,所述第二分类器将所述报文传输至各个所述第三分类器;
各个所述第三分类器分别检测所述报文中是否包含与所述目标属性信息相对应的语法信息;
若所述报文中包含与所述目标属性信息相对应的语法信息,所述第三分类器确定是否完成检测;
若确定完成检测,所述第三分类器确定所述报文为攻击报文。
5.根据权利要求1所述的报文检测方法,其特征在于,在所述第二分类器确定是否完成检测之后,还包括:
若确定完成检测,所述第二分类器确定所述报文的攻击类型为第一类型,并且确定所述报文的攻击属性信息为所述第一类型相对应的属性信息。
6.根据权利要求1所述的报文检测方法,其特征在于,
若所述报文中不包含任一类型的攻击报文的关键字,所述第一分类器确定所述报文为正常报文;
或者,若所述报文中不包含与所述第一疑似攻击相对应的属性信息,所述第二分类器确定所述报文为正常报文。
7.一种基于规则的报文检测装置,其特征在于,所述装置应用于防护引擎,所述装置包括:第一分类器和第二分类器;
其中,所述第一分类器包括:
第一检测模块,用于获取客户端发送的报文,并检测所述报文中是否包含各个类型的攻击报文的关键字;
第一确定模块,用于在所述第一检测模块确定所述报文中包含第一类型的攻击报文的关键字之后,确定所述报文为第一疑似攻击报文,并且确定所述报文的疑似攻击类型为第一疑似攻击,所述第一疑似攻击为所述第一疑似攻击报文的关键字对应的类型;
传输模块,用于确定与所述第一疑似攻击的属性信息对应的第二分类器,并将所述报文传输至各个所述第二分类器;
所述第二分类器包括:
第二检测模块,用于检测所述报文中是否包含与所述第一疑似攻击相对应的属性信息;
第二确定模块,用于在所述第二检测模块确定所述报文中包含与所述第一疑似攻击相对应的属性信息之后,确定是否完成检测;
第三确定模块,用于在所述第二确定模块确定完成检测之后,确定所述报文为攻击报文。
8.根据权利要求1所述的报文检测装置,其特征在于,所述第一检测模块包括:
提取单元,用于提取所述报文中各个字段;
匹配单元,用于将所述字段中包含的关键字依次与第一分类器中的各条规则相匹配;
第一确定单元,用于在所述匹配单元确定所述字段中包含的关键字与所述第一分类器中的目标规则相匹配之后,确定所述报文中包含攻击报文的关键字。
9.根据权利要求1所述的报文检测装置,其特征在于,所述第二确定模块包括:
第一检测单元,用于设定所述报文中包含的与所述第一疑似攻击相对应的属性信息为目标属性信息,检测是否存在第三分类器,其中,所述第三分类器与所述目标属性信息的语法信息相对应;
第二确定单元,用于在所述第一检测单元确定不存在所述第三分类器之后,确定完成检测。
10.根据权利要求9所述的报文检测装置,其特征在于,
所述第二确定模块还包括:
传输单元,用于在所述第一检测单元确定存在第三分类器之后,将所述报文传输至各个所述第三分类器;
所述报文检测装置还包括第三分类器,所述第三分类器包括:
第二检测单元,用于检测所述报文中是否包含与所述目标属性信息相对应的语法信息;
第三确定单元,用于在所述第二检测单元确定所述报文中包含与所述目标属性信息相对应的语法信息之后,确定是否完成检测;
第四确定单元,用于在所述第三确定单元确定完成检测之后,确定所述报文为攻击报文。
11.根据权利要求1所述的报文检测装置,其特征在于,所述第二分类器还包括:
第四确定模块,用于在所述第二确定模块确定完成检测之后,确定所述报文的攻击类型为第一类型,并且确定所述报文的攻击属性信息为所述第一类型相对应的属性信息。
12.根据权利要求1所述的报文检测装置,其特征在于,
所述第一分类器还包括:
第五确定模块,用于在所述第一检测模块确定所述报文中不包含任一类型的攻击报文的关键字之后,确定所述报文为正常报文;
或者,所述第二分类器还包括:
第六确定模块,用于在所述第二检测模块确定所述报文中不包含与所述第一疑似攻击相对应的属性信息之后,确定所述报文为正常报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810399633.2A CN109413016B (zh) | 2018-04-28 | 2018-04-28 | 一种基于规则的报文检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810399633.2A CN109413016B (zh) | 2018-04-28 | 2018-04-28 | 一种基于规则的报文检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109413016A true CN109413016A (zh) | 2019-03-01 |
CN109413016B CN109413016B (zh) | 2021-02-02 |
Family
ID=65463532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810399633.2A Active CN109413016B (zh) | 2018-04-28 | 2018-04-28 | 一种基于规则的报文检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109413016B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113055395A (zh) * | 2021-03-26 | 2021-06-29 | 深信服科技股份有限公司 | 一种安全检测方法、装置、设备及存储介质 |
CN113132316A (zh) * | 2019-12-31 | 2021-07-16 | 深信服科技股份有限公司 | 一种Web攻击检测方法、装置、电子设备及存储介质 |
CN113194058A (zh) * | 2020-01-14 | 2021-07-30 | 深信服科技股份有限公司 | Web攻击检测方法、设备、网站应用层防火墙及介质 |
CN114567605A (zh) * | 2022-02-28 | 2022-05-31 | 天翼安全科技有限公司 | 一种安全引擎的调度方法、装置及可读存储介质 |
CN115022034A (zh) * | 2022-06-01 | 2022-09-06 | 北京天融信网络安全技术有限公司 | 攻击报文识别方法、装置、设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1688140A (zh) * | 2005-06-03 | 2005-10-26 | 清华大学 | 基于网络处理器的高速多维报文分类算法的设计和实现 |
CN101728869A (zh) * | 2009-11-10 | 2010-06-09 | 重庆大学 | 电站自动化系统数据网络安全监控方法 |
CN102420723A (zh) * | 2011-12-14 | 2012-04-18 | 南京邮电大学 | 一种面向多类入侵的异常检测方法 |
US20150310342A1 (en) * | 2014-04-25 | 2015-10-29 | Board Of Trustees Of Michigan State University | Overlay automata approach to regular expression matching for intrusion detection and prevention system |
CN105959290A (zh) * | 2016-06-06 | 2016-09-21 | 杭州迪普科技有限公司 | 攻击报文的检测方法及装置 |
CN106487803A (zh) * | 2016-11-10 | 2017-03-08 | 深圳市任子行科技开发有限公司 | 用于大流量网络入侵检测系统的模式匹配算法和系统 |
-
2018
- 2018-04-28 CN CN201810399633.2A patent/CN109413016B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1688140A (zh) * | 2005-06-03 | 2005-10-26 | 清华大学 | 基于网络处理器的高速多维报文分类算法的设计和实现 |
CN101728869A (zh) * | 2009-11-10 | 2010-06-09 | 重庆大学 | 电站自动化系统数据网络安全监控方法 |
CN102420723A (zh) * | 2011-12-14 | 2012-04-18 | 南京邮电大学 | 一种面向多类入侵的异常检测方法 |
US20150310342A1 (en) * | 2014-04-25 | 2015-10-29 | Board Of Trustees Of Michigan State University | Overlay automata approach to regular expression matching for intrusion detection and prevention system |
CN105959290A (zh) * | 2016-06-06 | 2016-09-21 | 杭州迪普科技有限公司 | 攻击报文的检测方法及装置 |
CN106487803A (zh) * | 2016-11-10 | 2017-03-08 | 深圳市任子行科技开发有限公司 | 用于大流量网络入侵检测系统的模式匹配算法和系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132316A (zh) * | 2019-12-31 | 2021-07-16 | 深信服科技股份有限公司 | 一种Web攻击检测方法、装置、电子设备及存储介质 |
CN113194058A (zh) * | 2020-01-14 | 2021-07-30 | 深信服科技股份有限公司 | Web攻击检测方法、设备、网站应用层防火墙及介质 |
CN113194058B (zh) * | 2020-01-14 | 2023-03-21 | 深信服科技股份有限公司 | Web攻击检测方法、设备、网站应用层防火墙及介质 |
CN113055395A (zh) * | 2021-03-26 | 2021-06-29 | 深信服科技股份有限公司 | 一种安全检测方法、装置、设备及存储介质 |
CN113055395B (zh) * | 2021-03-26 | 2023-09-05 | 深信服科技股份有限公司 | 一种安全检测方法、装置、设备及存储介质 |
CN114567605A (zh) * | 2022-02-28 | 2022-05-31 | 天翼安全科技有限公司 | 一种安全引擎的调度方法、装置及可读存储介质 |
CN114567605B (zh) * | 2022-02-28 | 2023-12-01 | 天翼安全科技有限公司 | 一种安全引擎的调度方法、装置及可读存储介质 |
CN115022034A (zh) * | 2022-06-01 | 2022-09-06 | 北京天融信网络安全技术有限公司 | 攻击报文识别方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109413016B (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109413016A (zh) | 一种基于规则的报文检测方法和装置 | |
US10135788B1 (en) | Using hypergraphs to determine suspicious user activities | |
CN109816397B (zh) | 一种欺诈判别方法、装置及存储介质 | |
CN109274632B (zh) | 一种网站的识别方法及装置 | |
CN108932426B (zh) | 越权漏洞检测方法和装置 | |
CN105376245A (zh) | 一种基于规则的apt攻击行为的检测方法 | |
CN104767757A (zh) | 基于web业务的多维度安全监测方法和系统 | |
CN107786545A (zh) | 一种网络攻击行为检测方法及终端设备 | |
CN108418777A (zh) | 一种钓鱼邮件检测方法、装置及系统 | |
CN107612924A (zh) | 基于无线网络入侵的攻击者定位方法及装置 | |
CN110505202B (zh) | 一种攻击组织发现方法及系统 | |
US11184368B2 (en) | Systems and methods for reporting computer security incidents | |
Ramesh et al. | Identification of phishing webpages and its target domains by analyzing the feign relationship | |
Liu et al. | A web second-order vulnerabilities detection method | |
CN108023868A (zh) | 恶意资源地址检测方法和装置 | |
CN105740711A (zh) | 一种基于内核对象行为本体的恶意代码检测方法及系统 | |
Zhang et al. | Cross-site scripting (XSS) detection integrating evidences in multiple stages | |
CN106411576A (zh) | 基于状态转移网络攻击模型的攻击图生成方法 | |
Apruzzese et al. | SpacePhish: the evasion-space of adversarial attacks against phishing website detectors using machine learning | |
Zhu et al. | Detecting privilege escalation attacks through instrumenting web application source code | |
CN112039874B (zh) | 一种恶意邮件的识别方法及装置 | |
Falana et al. | Detection of cross-site scripting attacks using dynamic analysis and fuzzy inference system | |
CN111104670B (zh) | 一种apt攻击的识别和防护方法 | |
CN115378643B (zh) | 一种基于蜜点的网络攻击防御方法和系统 | |
US11606382B1 (en) | System and method for evaluating an organization's cyber insurance risk for exposure to cyber attacks |
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 |