CN108111466A - 一种攻击检测方法及装置 - Google Patents

一种攻击检测方法及装置 Download PDF

Info

Publication number
CN108111466A
CN108111466A CN201611051868.XA CN201611051868A CN108111466A CN 108111466 A CN108111466 A CN 108111466A CN 201611051868 A CN201611051868 A CN 201611051868A CN 108111466 A CN108111466 A CN 108111466A
Authority
CN
China
Prior art keywords
request message
detected
destination request
field
aggressiveness
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.)
Pending
Application number
CN201611051868.XA
Other languages
English (en)
Inventor
王生新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201611051868.XA priority Critical patent/CN108111466A/zh
Publication of CN108111466A publication Critical patent/CN108111466A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0245Filtering by information in the payload

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)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种攻击检测方法及装置,该方法首先获得目标请求报文;从该目标请求报文中提取待检测字段;然后基于模式匹配算法,判断黑名单规则库中是否存在与该待检测字段相匹配的防火墙规则;如果是,则再基于正则表达式,对该待检测字段进行检测,确定该目标请求报文是否具有攻击性;如果否,直接判定该目标请求报文不具有攻击性。应用本发明提供的方案,对于正常的合法请求报文,在进行攻击检测时,可以大大减少防火墙系统的CPU占用率以及系统性能消耗;而且,由于防火墙系统接收到的大部分报文是合法的,所以本发明实施例可以大幅增加防火墙系统的工作效率。

Description

一种攻击检测方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种攻击检测方法及装置。
背景技术
防火墙(Firewall),也称防护墙,是一种位于内部网络与外部网络之间的网络安全系统,其依照特定的规则,允许或是限制传输的数据通过。现有技术通过报文中的某些字段来发现带有攻击性的报文的攻击特征,这些字段称为待检测字段;对于防火墙接收到的报文,当报文中待检测字段的参数值与黑名单规则库中的任意一个防火墙规则匹配时,则系统判断该报文为恶意的,系统根据预先定义的方式预警、阻断或将该报文记录到系统的攻击日志中。
目前,防火墙对于攻击特征的检测过程中,首先会从报文中提取相应的待检测字段,然后直接通过正则表达式判断黑名单规则库中是否存在与报文中待检测字段相匹配的规则,如果存在,则判断该报文是恶意的,如果不存在,则判断该报文是合法的。
现有的攻击检测方法中,基于正则表达式的规则匹配算法是一种细粒度的规则匹配算法,即正则表达式会对待检测字段进行较为详细的匹配判断,系统消耗严重,所以系统运行基于正则表达式的规则匹配算法时,系统所在主机的CPU(Central Processing Unit,中央处理器)消耗率大,另外,由于防火墙接收到的报文中含有大量的不具有攻击性的正常报文,防火墙系统对每一个报文进行基于正则表达式的规则匹配判断,致使防火墙的工作效率低。
发明内容
本发明实施例公开了一种攻击检测方法及装置,用以提升防火墙的工作效率。技术方案如下:
为达上述目的,第一方面,本发明实施例提供了一种攻击检测方法,所述方法包括:
获得目标请求报文;
从所述目标请求报文中提取待检测字段;
基于模式匹配算法,判断黑名单规则库中是否存在与所述待检测字段相匹配的防火墙规则;
如果存在,基于正则表达式,对所述待检测字段进行检测,确定所述目标请求报文是否具有攻击性;
如果不存在,判定所述目标请求报文不具有攻击性。
优选的,所述基于正则表达式,对所述待检测字段进行检测,确定所述目标请求报文是否具有攻击性的步骤,包括:
基于正则表达式,检测所述黑名单规则库中是否存在与所述待检测字段相匹配的防火墙规则;
若存在,判定所述目标请求报文具有攻击性;
若不存在,判定所述目标请求报文不具有攻击性。
优选的,在所述判定所述目标请求报文具有攻击性的步骤之后,所述方法还包括:
将所述目标请求报文记录到防火墙攻击日志中。
优选的,所述待检测字段包括以下信息中的至少一种:
统一资源定位符URL的参数名称;
请求参数值。
优选的,所述模式匹配算法,包括:
多模匹配算法或单模匹配算法。
为达上述目的,第二方面,本发明实施例提供了一种攻击检测装置,所述装置包括:
获得模块,用于获得目标请求报文;
提取模块,用于从所述目标请求报文中提取待检测字段;
判断模块,用于基于模式匹配算法,判断黑名单规则库中是否存在与所述待检测字段相匹配的防火墙规则;
检测模块,用于在所述判断模块的判断结果为是的情况下,基于正则表达式,对所述待检测字段进行检测,确定所述目标请求报文是否具有攻击性;
判定模块,用于在所述判断模块的判断结果为否的情况下,判定所述目标请求报文不具有攻击性。
优选的,所述检测模块,包括:
检测子模块,用于基于正则表达式,检测所述黑名单规则库中是否存在与所述待检测字段相匹配的防火墙规则;
第一判定子模块,用于在所述检测子模块的检测结果为是的情况下,判定所述目标请求报文具有攻击性;
第二判定子模块,用于在所述检测子模块的检测结果为否的情况下,判定所述目标请求报文不具有攻击性。
优选的,所述装置还包括:
记录模块,用于在判定所述目标请求报文具有攻击性的情况下,将所述目标请求报文记录到防火墙攻击日志中。
优选的,所述待检测字段包括以下信息中的至少一种:
统一资源定位符URL的参数名称;
请求参数值。
优选的,所述模式匹配算法,包括:
多模匹配算法或单模匹配算法。
由以上可见,本发明实施例中,首先获得目标请求报文;从该目标请求报文中提取待检测字段;然后基于模式匹配算法,判断黑名单规则库中是否存在与该待检测字段相匹配的防火墙规则;如果是,则再基于正则表达式,对该待检测字段进行检测,确定该目标请求报文是否具有攻击性;如果否,直接判定该目标请求报文不具有攻击性。与现有技术相比,在本发明实施例中,对于获得的目标请求报文,首先通过模式匹配算法,判断黑名单规则库中是否存在与该待检测字段相匹配的防火墙规则,如果基于模式匹配算法的判断结果为否,则直接判定该目标请求报文不具有攻击性,不需要再通过正则表达式去检测该目标请求报文是否具有攻击性;因此,对于正常的合法请求报文,在进行攻击检测时,可以大大减少防火墙系统的CPU占用率以及系统性能消耗;而且,由于防火墙系统接收到的大部分报文是合法的,所以本发明实施例可以大幅增加防火墙系统的工作效率。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种攻击检测方法的流程示意图;
图2为本发明另一实施例提供的一种攻击检测方法的流程示意图;
图3为本发明一实施例提供的一种攻击检测装置的结构示意图;
图4为本发明另一实施例提供的一种攻击检测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面首先对本发明实施例涉及的技术术语进行简单介绍。
防火墙:网络中的用户相互访问,或者客户端访问服务器时,在源主机和目的主机之间会产生数据流,防火墙通过对该数据流进行捕获和解析,所捕获的数据反映了用户的操作意图和访问信息。现有技术中,防火墙将所捕获的数据与防火墙规则库中的防火墙规则进行比对,确定是否拦截或通过该数据对应的用户访问。
Web(互联网)应用防火墙是通过执行一系列针对HTTP(HyperText TransferProtocol,超文本传输协议)/HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer)的安全策略来专门为Web应用提供保护的防火墙。
传统的“大而全”安全防护产品,即传统防火墙,能抵御大多数由工具产生的攻击行为,但是对于有针对性的Web攻击行为则力不从心;而WAF(Web Application Firewall,Web应用防火墙)正是应需求而生的,WAF的出现也是市场需求细化的必然趋势。与传统防火墙不同,WAF工作在应用层,因此对Web应用防护具有先天的技术优势,WAF基于对Web应用业务和逻辑的深刻理解,对来自Web应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,从而对各类网站站点进行有效防护。
模式匹配算法:模式匹配算法是数据结构中字符串的一种基本运算方法。假设P是给定的子串,T是待查找的字符串,要求从T中找出与P相同的所有子串,这个问题称为模式匹配问题;其中,P称为模式,T称为目标。如果T中存在一个或多个模式为P的子串,称为匹配成功;否则匹配失败。
应该注意的是,某些模式匹配算法在执行时存在回溯过程,而本领域技术人员公知的是,回溯过程会影响匹配算法的效率,所以在本发明实施例中,应该优先使用没有回溯过程的模式匹配算法,如常见的AC(Aho-Corasick)多模式匹配算法和BM(Boyer-Moore)匹配算法。
正则表达式:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。在防火墙领域,可以通过正则表达式判断防火墙接收到的请求报文的待检测字段中,是否包含有符合正则表达式过滤逻辑的字符串,即判断请求报文的待检测字段是否与防火墙系统中的防火墙规则相匹配。
在防火墙产品中,例如WAF安全产品中,在攻击特征的匹配方面,几乎都是利用正则表达式匹配的方式来进行攻击检测。但是,本领域技术人员公知的是,采用正则表达式执行的匹配操作是一个高消耗CPU的操作,该操作对机器的性能消耗非常高,可以理解,在网络流量的检测中,采用正则表达式的匹配操作必然是整个攻击检测过程中的一个“疼点”,即性能瓶颈,该操作会降低整个防火墙系统的攻击检测效率。
例如,常见的正则表达式匹配引擎RE2和PCRE,就匹配效率而言,在小数据量的情况下,RE2正则表达式匹配引擎的匹配速度比PCRE正则表达式匹配引擎的匹配速度慢,在大数据量的情况下,RE2正则表达式匹配引擎的匹配速度比PCRE正则表达式匹配引擎的匹配速度快。
但是采用上述两种匹配引擎执行匹配操作时,匹配速度总体还是很慢,例如,具体到模式上面,采用DFA(确定性有穷自动机)模式进行匹配操作时,匹配速度大致为600M每秒;采用NFA(非确定性有穷自动机)模式进行匹配操作时,匹配速度大致为10M每秒
相对于正则表达的匹配操作,模式匹配算法的匹配操作对CPU等性能的消耗极低。例如,上述AC多模式匹配算法是一个快速的字符串匹配算法,采用AC多模式匹配算法执行匹配操作时,该操作对CPU的消耗在5%以内,对整体性能损耗也是在5%以内;而如果采用正则表达式执行匹配操作,该操作对CPU的消耗在50%以上,对整体性能损耗也是在50%左右。
下面从与现有技术进行对比的角度对本发明实施例进行简单介绍。
在现有技术中,防火墙系统首先获得请求报文,并从该请求报文中提取待检测字段;然后直接基于正则表达式,对该待检测字段进行检测,确定该请求报文是否具有攻击性。
可以理解,在现有技术中,对于任意一个请求报文,都是在提取了待检测字段后,直接基于正则表达式进行匹配判断,进而完成攻击检测。如:基于正则表达式的攻击检测发现待检测字段与黑名单规则库中的防火墙规则匹配,则判定该请求报文具有攻击性,否则,判定该报文不具有攻击性。
应用本发明实施例提供的攻击检测方法,防火墙首先获得目标请求报文;并从该目标请求报文中提取待检测字段;然后基于模式匹配算法,判断黑名单规则库中是否存在与该待检测字段相匹配的防火墙规则;如果是,基于正则表达式,对该待检测字段进行检测,确定该目标请求报文是否具有攻击性;如果否,判定该目标请求报文不具有攻击性。
可以理解,本发明实施例提供的攻击检测方法中,防火墙系统对于接收到的目标请求报文,不会直接对该提取的待检测字段进行正则表达式的匹配,而是首先进行模式匹配,只有在基于模式匹配算法匹配成功时,才需要进行正则表达式的匹配。
与现有技术相比,在本发明实施例中,首先通过模式匹配算法,判断黑名单规则库中是否存在与该待检测字段相匹配的防火墙规则,如果基于模式匹配算法的判断结果为否,则直接判定该目标请求报文不具有攻击性,不需要再通过正则表达式去检测该目标请求报文是否具有攻击性;因此,对于正常的合法请求报文,在进行攻击检测时,可以大大减少防火墙系统的CPU占用率以及系统性能消耗;而且,由于防火墙系统接收到的大部分报文是合法的,所以本发明实施例可以大大增加防火墙系统的工作效率。
例如,在某段时间内,防火墙一共接收到100个请求报文,其中,存在10个具有攻击性的恶意请求报文,90个无攻击性的合法请求报文。假设对于每个请求报文,正则表达式的匹配操作耗时平均为1s,模式匹配算法的匹配操作耗时平均为0.2s。
假设对于上述100个请求报文,基于模式匹配算法的匹配操作中,发现有有20个请求报文的待检测字段与防火墙规则匹配成功,显然的,该20个请求报文包含上述10个恶意请求报文。然后,防火墙系统需要再对该20个请求报文通过正则表达式进行匹配操作,可以理解,对于该100个请求报文,匹配操作总耗时为:
100×0.2+20×1=40(s);
而如果采用现有技术,对每个请求报文都是直接进行基于正则表达式的匹配操作,匹配操作总耗时为:
100×1=100(s);
很显然的,所以本发明实施例提供的攻击检测方法可以大大增加防火墙系统的工作效率。
下面通过具体实施例来对本发明实施例进行详细介绍。
图1为本发明一实施例提供的一种攻击检测方法的流程示意图。可以理解,本发明实施例提供的攻击检测方法应用在防火墙系统中,该防火墙系统可以是传统防火墙,也可以是WAF。如图1所示,该攻击检测方法包括:
S101:获得目标请求报文。
本领域技术人员公知的是,防火墙在运行过程中可以捕获由某一机器发往另一机器的请求报文,例如,客户端向服务器发送请求报文,防火墙可以捕获该请求报文。
S102:从该目标请求报文中提取待检测字段。
可以理解,防火墙可以对其接收到的报文进行解析,进而提取预设的待检测字段。具体的提取方法可以通过现有技术实现,本发明实施例在此不再详细描述。
另外,针对不同类型的请求报文,该待检测字段可能不相同,但是,本领域技术人员清楚的是,待检测字段可以是能够体现攻击特征的字段。如报文的header(头)字段,例如,对于HTTP请求报文的cookie(储存在用户本地终端上的数据)、refer auth等。
在本发明实施例中,该待检测字段可以包括以下信息中的至少一种:
URL(Uniform Resource Locator,统一资源定位符)的参数名称;
请求参数值。
例如,对于HTTP请求:
http://www.example.com/test.php?A=script&b=xss;
防火墙可以提取的待检测字段可以是:URL参数名称:test.php,以及参数名称分别为A和b的参数值:script以及xss。
S103:基于模式匹配算法,判断黑名单规则库中是否存在与该待检测字段相匹配的防火墙规则。
上述模式匹配算法在运行时,对防火墙系统的CPU消耗远低于基于正则表达式的匹配算法,本发明实施例中,上述模式匹配算法可以包括:
多模匹配算法或单模匹配算法。
单模匹配算法,又称单模式匹配算法,常见的算法有BF算法、KMP算法、BM算法、QS算法、HORSPOOL算法和TUNEDBM算法等。多模匹配算法,又称多模式匹配算法,常见的算法有Wu-Manber算法、Aho-Corasick算法等。
应该说明的是,在本发明实施例中,该模式匹配算法优选为Aho-Corasick算法,即AC多模式匹配算法,AC多模式匹配算法是一个快速的字符串匹配算法,采用AC多模式匹配算法执行匹配操作时,该操作对CPU的消耗在5%以内,对整体性能损耗也是在5%以内;另外,经试验,基于正则表达式的匹配算法结合AC多模式匹配算法,整个防火墙系统的工作最稳定。
在上述S103的判断结果为是的情况下,执行S104:基于正则表达式,对该待检测字段进行检测,确定该目标请求报文是否具有攻击性。
在此,应该强调的是,前述模式匹配算法是一种粗粒度的规则匹配算法,基于正则表达式的规则匹配算法是一种细粒度的规则匹配算法;模式匹配算法的准确性低于基于正则表达式的规则匹配算法:
对于一个具有攻击性的恶意请求报文,模式匹配算法以及基于正则表达式的规则匹配算法都可以成功匹配防火墙规则与该恶意请求报文的待检测字段,但是模式匹配算法成功匹配的一个请求报文,再通过基于正则表达式的规则匹配算法进行攻击检测时,可能不能成功实现匹配。
例如,对于10个请求报文1~10,其中,请求报文2和4具有攻击性,通过模式匹配算法与防火墙规则进行匹配时,请求报文1以及6~10未匹配成功,请求报文2~5匹配成功,此时,需要针对请求报文2~5再进行基于正则表达式的匹配操作,基于正则表达式的匹配操作表达式中,请求报文2和4匹配成功,请求报文3和5未匹配成功。
在本发明实施例中,如图2所示的另一实施例提供的一种攻击检测方法的流程示意图,上述基于正则表达式,对该待检测字段进行检测,确定该目标请求报文是否具有攻击性(S104)的步骤,可以包括:
S1041:基于正则表达式,检测黑名单规则库中是否存在与该待检测字段相匹配的防火墙规则。
应该说明的是,步骤S1041的具体执行过程可以与现有技术相同,本发明实施例在此不再详细介绍。
在步骤S1041的检测结果为是的情况下,执行S1042:判定该目标请求报文具有攻击性。
在步骤S1041的检测结果为否的情况下,执行S1043:判定该目标请求报文不具有攻击性。
例如,现有请求报文a、b、c和d,基于正则表达式,检测出黑名单规则库中存在与请求报文a和b中的待检测字段相匹配的防火墙规则,未检测出黑名单规则库中存在与请求报文c和d中的待检测字段相匹配的防火墙规则。则此时判定请求报文a和b具有攻击性,判定请求报文c和d不具有攻击性。
在上述S103的判断结果为否的情况下,执行S105:判定该目标请求报文不具有攻击性。
应该说明的是,在上述判定该目标请求报文具有攻击性(S1042)的步骤之后,上述方法还可以包括:
将该目标请求报文记录到防火墙攻击日志中。
可以理解,防火墙系统将具有攻击性的请求报文记录到攻击日志中,当积累到一定数量或者积累一段时间后,防火墙系统可以基于攻击日志中记录的所有请求报文生成新的防火墙规则。
例如,攻击日志中记录:在某一时段内,源IP(Internet Protocol,网络之间互连的协议)地址为:37.1.72.139的请求报文达到500条,则此时可以生成新的防火墙规则,即判定源IP地址为:37.1.72.139的请求报文具有攻击性。
再如:攻击日志中记录:在某一时段内,源MAC(Media Access Control,介质访问控制)地址为:44-45-53-54-00-00的请求报文达到100条,则此时可以生成新的防火墙规则,即判定源MAC地址为:44-45-53-54-00-00的请求报文具有攻击性。
由以上可见,本发明实施例中,首先获得目标请求报文;从该目标请求报文中提取待检测字段;然后基于模式匹配算法,判断黑名单规则库中是否存在与该待检测字段相匹配的防火墙规则;如果是,则再基于正则表达式,对该待检测字段进行检测,确定该目标请求报文是否具有攻击性;如果否,直接判定该目标请求报文不具有攻击性。与现有技术相比,在本发明实施例中,对于获得的目标请求报文,首先通过模式匹配算法,判断黑名单规则库中是否存在与该待检测字段相匹配的防火墙规则,如果基于模式匹配算法的判断结果为否,则直接判定该目标请求报文不具有攻击性,不需要再通过正则表达式去检测该目标请求报文是否具有攻击性;因此,对于正常的合法请求报文,在进行攻击检测时,可以大大减少防火墙系统的CPU占用率以及系统性能消耗;而且,由于防火墙系统接收到的大部分报文是合法的,所以本发明实施例可以大大增加防火墙系统的工作效率。
为了便于理解,下面通过一个具体实例来对本发明实施例进行简单介绍。
此具体实例的应用场景如下:
现有一防火墙系统,其主控线程下包含有连接接受线程、攻击检测线程以及时钟线程。
连接接受线程用于接受HTTP连接请求,同时将该HTTP连接数据放入连接池,以使得下次再接收到同样的HTTP请求时,直接从连接池中获得连接数据,完成HTTP连接的建立。时钟线程用于记录防火墙系统接收到的流量日志,例如,每间隔5分钟收集一下防火墙系统收集到的所有请求报文。而攻击检测线程,则用于执行本发明实施例提供的攻击检测方法。
防火墙系统首先会捕获请求报文,如一个不具有攻击性的HTTP请求报文a,然后防火墙系统从HTTP请求报文a中提取待检测字段,再基于AC多模式匹配算法,检测待检测字段是否匹配命中字符串“from”,经基于AC多模式匹配算法的匹配算法检测确定该待检测字段未匹配命中字符串“from”,则判定该HTTP请求报文a不具有攻击性。
再如一个不具有攻击性的HTTP请求报文b,防火墙系统从HTTP请求报文b中提取待检测字段,然后基于AC多模式匹配算法,检测待检测字段是否匹配命中字符串“from”,经基于AC多模式匹配算法的匹配算法检测确定该待检测字段匹配命中了字符串“from”,则再经过下述正则表达式检测该SQL注入:
bfrom|from\b.{1,100}?\bwhere)|.*?\b(?:d(?:ump\b.*\bfrom|ata_type)|(?:to_;
通过该正则表达式,检测确定该待检测字段未匹配命中,则判定该HTTP请求报文b不具有攻击性。
又如一个具有攻击性的HTTP请求报文c,防火墙系统从HTTP请求报文c中提取待检测字段,然后基于AC多模式匹配算法,检测待检测字段是否匹配命中字符串“from”,经基于AC多模式匹配算法的匹配算法检测确定该待检测字段匹配命中了字符串“from”,则再经过下述正则表达式检测该SQL注入:
bfrom|from\b.{1,100}?\bwhere)|.*?\b(?:d(?:ump\b.*\bfrom|ata_type)|(?:to_;
通过该正则表达式,检测确定该待检测字段匹配命中,则判定该HTTP请求报文c具有攻击性。
由于HTTP请求报文a和b不具有攻击性,则防火墙系统允许HTTP请求报文a和b发送到VPS(Virtual Private Server,虚拟专用服务器)云主机;由于HTTP请求报文c具有攻击性,则阻断TTP请求报文c继续发往VPS云主机;并将HTTP请求报文c记录到攻击日志中。
通过上述实例可以发现,对于正常的合法请求报文,在进行攻击检测时,可以大大减少防火墙系统的CPU占用率以及系统性能消耗;而且,由于防火墙系统接收到的大部分报文是合法的,所以本发明实施例可以大大增加防火墙系统的工作效率,并提高防火墙系统的吞吐量。
相应于图1所示方法实施例,本发明实施例还提供了一种攻击检测装置,如图3所示,所述装置包括:
获得模块110,用于获得目标请求报文;
提取模块120,用于从所述目标请求报文中提取待检测字段;
判断模块130,用于基于模式匹配算法,判断黑名单规则库中是否存在与所述待检测字段相匹配的防火墙规则;
检测模块140,用于在所述判断模块的判断结果为是的情况下,基于正则表达式,对所述待检测字段进行检测,确定所述目标请求报文是否具有攻击性;
判定模块150,用于在所述判断模块的判断结果为否的情况下,判定所述目标请求报文不具有攻击性。
在实际应用中,具体的,相应于图2所示的方法实施例,如图4所示,所述检测模块140,可以包括:
检测子模块1401,用于基于正则表达式,检测所述黑名单规则库中是否存在与所述待检测字段相匹配的防火墙规则;
第一判定子模块1402,用于在所述检测子模块的检测结果为是的情况下,判定所述目标请求报文具有攻击性;
第二判定子模块1403,用于在所述检测子模块的检测结果为否的情况下,判定所述目标请求报文不具有攻击性。
在实际应用中,具体的,所述装置还可以包括:
记录模块(图中未示出),用于在判定所述目标请求报文具有攻击性的情况下,将所述目标请求报文记录到防火墙攻击日志中。
在实际应用中,具体的,所述待检测字段可以包括以下信息中的至少一种:
统一资源定位符URL的参数名称;
请求参数值。
在实际应用中,具体的,所述模式匹配算法,可以包括:
多模匹配算法或单模匹配算法。
由以上可见,本发明实施例中,首先获得目标请求报文;从该目标请求报文中提取待检测字段;然后基于模式匹配算法,判断黑名单规则库中是否存在与该待检测字段相匹配的防火墙规则;如果是,则再基于正则表达式,对该待检测字段进行检测,确定该目标请求报文是否具有攻击性;如果否,直接判定该目标请求报文不具有攻击性。与现有技术相比,在本发明实施例中,对于获得的目标请求报文,首先通过模式匹配算法,判断黑名单规则库中是否存在与该待检测字段相匹配的防火墙规则,如果基于模式匹配算法的判断结果为否,则直接判定该目标请求报文不具有攻击性,不需要再通过正则表达式去检测该目标请求报文是否具有攻击性;因此,对于正常的合法请求报文,在进行攻击检测时,可以大大减少防火墙系统的CPU占用率以及系统性能消耗;而且,由于防火墙系统接收到的大部分报文是合法的,所以本发明实施例可以大大增加防火墙系统的工作效率。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种攻击检测方法,其特征在于,所述方法包括:
获得目标请求报文;
从所述目标请求报文中提取待检测字段;
基于模式匹配算法,判断黑名单规则库中是否存在与所述待检测字段相匹配的防火墙规则;
如果存在,基于正则表达式,对所述待检测字段进行检测,确定所述目标请求报文是否具有攻击性;
如果不存在,判定所述目标请求报文不具有攻击性。
2.根据权利要求1所述的方法,其特征在于,所述基于正则表达式,对所述待检测字段进行检测,确定所述目标请求报文是否具有攻击性的步骤,包括:
基于正则表达式,检测所述黑名单规则库中是否存在与所述待检测字段相匹配的防火墙规则;
若存在,判定所述目标请求报文具有攻击性;
若不存在,判定所述目标请求报文不具有攻击性。
3.根据权利要求2所述的方法,其特征在于,在所述判定所述目标请求报文具有攻击性的步骤之后,所述方法还包括:
将所述目标请求报文记录到防火墙攻击日志中。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述待检测字段包括以下信息中的至少一种:
统一资源定位符URL的参数名称;
请求参数值。
5.根据权利要求1-3中任一项所述的方法,其特征在于,所述模式匹配算法,包括:
多模匹配算法或单模匹配算法。
6.一种攻击检测装置,其特征在于,所述装置包括:
获得模块,用于获得目标请求报文;
提取模块,用于从所述目标请求报文中提取待检测字段;
判断模块,用于基于模式匹配算法,判断黑名单规则库中是否存在与所述待检测字段相匹配的防火墙规则;
检测模块,用于在所述判断模块的判断结果为是的情况下,基于正则表达式,对所述待检测字段进行检测,确定所述目标请求报文是否具有攻击性;
判定模块,用于在所述判断模块的判断结果为否的情况下,判定所述目标请求报文不具有攻击性。
7.根据权利要求6所述的装置,其特征在于,所述检测模块,包括:
检测子模块,用于基于正则表达式,检测所述黑名单规则库中是否存在与所述待检测字段相匹配的防火墙规则;
第一判定子模块,用于在所述检测子模块的检测结果为是的情况下,判定所述目标请求报文具有攻击性;
第二判定子模块,用于在所述检测子模块的检测结果为否的情况下,判定所述目标请求报文不具有攻击性。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
记录模块,用于在判定所述目标请求报文具有攻击性的情况下,将所述目标请求报文记录到防火墙攻击日志中。
9.根据权利要求6-8中任一项所述的装置,其特征在于,所述待检测字段包括以下信息中的至少一种:
统一资源定位符URL的参数名称;
请求参数值。
10.根据权利要求6-8中任一项所述的装置,其特征在于,所述模式匹配算法,包括:
多模匹配算法或单模匹配算法。
CN201611051868.XA 2016-11-24 2016-11-24 一种攻击检测方法及装置 Pending CN108111466A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611051868.XA CN108111466A (zh) 2016-11-24 2016-11-24 一种攻击检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611051868.XA CN108111466A (zh) 2016-11-24 2016-11-24 一种攻击检测方法及装置

Publications (1)

Publication Number Publication Date
CN108111466A true CN108111466A (zh) 2018-06-01

Family

ID=62204103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611051868.XA Pending CN108111466A (zh) 2016-11-24 2016-11-24 一种攻击检测方法及装置

Country Status (1)

Country Link
CN (1) CN108111466A (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108418844A (zh) * 2018-06-19 2018-08-17 北京云枢网络科技有限公司 一种应用层攻击的防护方法及攻击防护端
CN109951500A (zh) * 2019-04-29 2019-06-28 宜人恒业科技发展(北京)有限公司 网络攻击检测方法及装置
CN110213286A (zh) * 2019-06-12 2019-09-06 四川长虹电器股份有限公司 一种基于双引擎的高效waf设计方法
CN110830416A (zh) * 2018-08-08 2020-02-21 北京京东尚科信息技术有限公司 网络入侵检测方法和装置
CN111049784A (zh) * 2018-10-12 2020-04-21 北京奇虎科技有限公司 一种网络攻击的检测方法、装置、设备及存储介质
CN111510446A (zh) * 2020-04-10 2020-08-07 深信服科技股份有限公司 一种攻击检测方法、装置及电子设备和存储介质
CN111585981A (zh) * 2020-04-24 2020-08-25 上海泛微网络科技股份有限公司 基于应用防火墙的安全检测方法及相关设备
CN111786959A (zh) * 2020-06-10 2020-10-16 中移(杭州)信息技术有限公司 安全防护方法、waf系统、电子设备及存储介质
CN111800409A (zh) * 2020-06-30 2020-10-20 杭州数梦工场科技有限公司 接口攻击检测方法及装置
CN111988265A (zh) * 2019-05-23 2020-11-24 深信服科技股份有限公司 一种网络流量攻击识别方法、防火墙系统及相关组件
CN112422545A (zh) * 2020-11-09 2021-02-26 北京天融信网络安全技术有限公司 一种基于http请求的数据处理方法及装置
CN112615870A (zh) * 2020-12-22 2021-04-06 北京天融信网络安全技术有限公司 一种基于ntp报文数据的攻击行为检测方法及装置
CN113190838A (zh) * 2021-03-29 2021-07-30 贵州电网有限责任公司 一种基于表达式的web攻击行为检测方法及系统
CN113395237A (zh) * 2020-03-12 2021-09-14 中国电信股份有限公司 攻击检测方法及装置、计算机可存储介质
CN113660260A (zh) * 2021-08-13 2021-11-16 杭州安恒信息技术股份有限公司 一种报文检测方法、系统、计算机设备及可读存储介质
CN113810343A (zh) * 2020-06-15 2021-12-17 深信服科技股份有限公司 函数注入攻击的检测方法、装置、设备及可读存储介质
CN114039778A (zh) * 2021-11-09 2022-02-11 深信服科技股份有限公司 一种请求处理方法、装置、设备及可读存储介质
CN114285624A (zh) * 2021-12-21 2022-04-05 天翼云科技有限公司 攻击报文识别方法、装置、网络设备和存储介质
CN114422206A (zh) * 2021-12-29 2022-04-29 北京致远互联软件股份有限公司 一种java web动态配置安全防御方法
CN114553550A (zh) * 2022-02-24 2022-05-27 京东科技信息技术有限公司 请求检测方法、装置、存储介质及电子设备
CN115174201A (zh) * 2022-06-30 2022-10-11 北京安博通科技股份有限公司 一种基于筛选标签的安全规则管理方法及装置
CN115603997A (zh) * 2022-10-11 2023-01-13 北京珞安科技有限责任公司(Cn) 一种工业防火墙策略规划方法、系统及电子设备
CN114285624B (zh) * 2021-12-21 2024-05-24 天翼云科技有限公司 攻击报文识别方法、装置、网络设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102142009A (zh) * 2010-12-09 2011-08-03 华为技术有限公司 一种正则表达式匹配的方法及装置
CN102682047A (zh) * 2011-10-18 2012-09-19 国网电力科学研究院 一种混合的sql注入防护方法
CN104954345A (zh) * 2014-03-31 2015-09-30 北京奇虎科技有限公司 基于对象分析的攻击识别方法及装置
CN105704146A (zh) * 2016-03-18 2016-06-22 四川长虹电器股份有限公司 Sql防注入的系统与方法
US9438612B1 (en) * 2015-03-23 2016-09-06 Fortinet, Inc. Calculating consecutive matches using parallel computing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102142009A (zh) * 2010-12-09 2011-08-03 华为技术有限公司 一种正则表达式匹配的方法及装置
CN102682047A (zh) * 2011-10-18 2012-09-19 国网电力科学研究院 一种混合的sql注入防护方法
CN104954345A (zh) * 2014-03-31 2015-09-30 北京奇虎科技有限公司 基于对象分析的攻击识别方法及装置
US9438612B1 (en) * 2015-03-23 2016-09-06 Fortinet, Inc. Calculating consecutive matches using parallel computing
CN105704146A (zh) * 2016-03-18 2016-06-22 四川长虹电器股份有限公司 Sql防注入的系统与方法

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108418844B (zh) * 2018-06-19 2020-09-01 北京云枢网络科技有限公司 一种应用层攻击的防护方法及攻击防护端
CN108418844A (zh) * 2018-06-19 2018-08-17 北京云枢网络科技有限公司 一种应用层攻击的防护方法及攻击防护端
CN110830416A (zh) * 2018-08-08 2020-02-21 北京京东尚科信息技术有限公司 网络入侵检测方法和装置
CN111049784B (zh) * 2018-10-12 2023-08-01 三六零科技集团有限公司 一种网络攻击的检测方法、装置、设备及存储介质
CN111049784A (zh) * 2018-10-12 2020-04-21 北京奇虎科技有限公司 一种网络攻击的检测方法、装置、设备及存储介质
CN109951500A (zh) * 2019-04-29 2019-06-28 宜人恒业科技发展(北京)有限公司 网络攻击检测方法及装置
CN109951500B (zh) * 2019-04-29 2021-10-26 宜人恒业科技发展(北京)有限公司 网络攻击检测方法及装置
CN111988265A (zh) * 2019-05-23 2020-11-24 深信服科技股份有限公司 一种网络流量攻击识别方法、防火墙系统及相关组件
CN110213286A (zh) * 2019-06-12 2019-09-06 四川长虹电器股份有限公司 一种基于双引擎的高效waf设计方法
CN113395237A (zh) * 2020-03-12 2021-09-14 中国电信股份有限公司 攻击检测方法及装置、计算机可存储介质
CN111510446B (zh) * 2020-04-10 2022-03-22 深信服科技股份有限公司 一种攻击检测方法、装置及电子设备和存储介质
CN111510446A (zh) * 2020-04-10 2020-08-07 深信服科技股份有限公司 一种攻击检测方法、装置及电子设备和存储介质
CN111585981A (zh) * 2020-04-24 2020-08-25 上海泛微网络科技股份有限公司 基于应用防火墙的安全检测方法及相关设备
CN111786959B (zh) * 2020-06-10 2022-09-06 中移(杭州)信息技术有限公司 安全防护方法、waf系统、电子设备及存储介质
CN111786959A (zh) * 2020-06-10 2020-10-16 中移(杭州)信息技术有限公司 安全防护方法、waf系统、电子设备及存储介质
CN113810343A (zh) * 2020-06-15 2021-12-17 深信服科技股份有限公司 函数注入攻击的检测方法、装置、设备及可读存储介质
CN113810343B (zh) * 2020-06-15 2023-05-12 深信服科技股份有限公司 函数注入攻击的检测方法、装置、设备及可读存储介质
CN111800409A (zh) * 2020-06-30 2020-10-20 杭州数梦工场科技有限公司 接口攻击检测方法及装置
CN112422545A (zh) * 2020-11-09 2021-02-26 北京天融信网络安全技术有限公司 一种基于http请求的数据处理方法及装置
CN112615870A (zh) * 2020-12-22 2021-04-06 北京天融信网络安全技术有限公司 一种基于ntp报文数据的攻击行为检测方法及装置
CN113190838A (zh) * 2021-03-29 2021-07-30 贵州电网有限责任公司 一种基于表达式的web攻击行为检测方法及系统
CN113660260A (zh) * 2021-08-13 2021-11-16 杭州安恒信息技术股份有限公司 一种报文检测方法、系统、计算机设备及可读存储介质
CN114039778A (zh) * 2021-11-09 2022-02-11 深信服科技股份有限公司 一种请求处理方法、装置、设备及可读存储介质
CN114285624A (zh) * 2021-12-21 2022-04-05 天翼云科技有限公司 攻击报文识别方法、装置、网络设备和存储介质
CN114285624B (zh) * 2021-12-21 2024-05-24 天翼云科技有限公司 攻击报文识别方法、装置、网络设备和存储介质
CN114422206A (zh) * 2021-12-29 2022-04-29 北京致远互联软件股份有限公司 一种java web动态配置安全防御方法
CN114422206B (zh) * 2021-12-29 2024-02-02 北京致远互联软件股份有限公司 一种java web动态配置安全防御方法
CN114553550A (zh) * 2022-02-24 2022-05-27 京东科技信息技术有限公司 请求检测方法、装置、存储介质及电子设备
CN114553550B (zh) * 2022-02-24 2024-02-02 京东科技信息技术有限公司 请求检测方法、装置、存储介质及电子设备
CN115174201A (zh) * 2022-06-30 2022-10-11 北京安博通科技股份有限公司 一种基于筛选标签的安全规则管理方法及装置
CN115174201B (zh) * 2022-06-30 2023-08-01 北京安博通科技股份有限公司 一种基于筛选标签的安全规则管理方法及装置
CN115603997A (zh) * 2022-10-11 2023-01-13 北京珞安科技有限责任公司(Cn) 一种工业防火墙策略规划方法、系统及电子设备
CN115603997B (zh) * 2022-10-11 2023-05-23 北京珞安科技有限责任公司 一种工业防火墙策略规划方法、系统及电子设备

Similar Documents

Publication Publication Date Title
CN108111466A (zh) 一种攻击检测方法及装置
Protić Review of KDD Cup ‘99, NSL-KDD and Kyoto 2006+ datasets
US9462009B1 (en) Detecting risky domains
CN105681250B (zh) 一种僵尸网络分布式实时检测方法和系统
US10721244B2 (en) Traffic feature information extraction method, traffic feature information extraction device, and traffic feature information extraction program
Sekar et al. A high-performance network intrusion detection system
CN106453438B (zh) 一种网络攻击的识别方法及装置
Indre et al. Detection and prevention system against cyber attacks and botnet malware for information systems and Internet of Things
CN104954346B (zh) 基于对象分析的攻击识别方法及装置
US20110030059A1 (en) Method for testing the security posture of a system
CN109474568A (zh) 针对利用域前置技术实现恶意攻击的检测方法及系统
Ireland Intrusion detection with genetic algorithms and fuzzy logic
KR102002880B1 (ko) 기계 학습 모델에 기반하여 악성 패킷을 검출하는 방법 및 이를 이용한 장치
Nicholson et al. A taxonomy of technical attribution techniques for cyber attacks
Catillo et al. USB-IDS-1: a public multilayer dataset of labeled network flows for IDS evaluation
CN109474485A (zh) 基于网络流量信息检测僵尸网络的方法、系统及存储介质
Haddadi et al. How to choose from different botnet detection systems?
KR101072981B1 (ko) 분산 서비스 거부 공격의 방어 시스템
WO2011000297A1 (zh) 一种检测僵尸网络的方法及其装置
Debashi et al. Sonification of network traffic for detecting and learning about botnet behavior
CN104660584B (zh) 基于网络会话的木马病毒分析技术
CN111901286B (zh) 一种基于流量日志的apt攻击检测方法
CN106911649A (zh) 一种检测网络攻击的方法和装置
Caulkins et al. A dynamic data mining technique for intrusion detection systems
Seo et al. Abnormal behavior detection to identify infected systems using the APChain algorithm and behavioral profiling

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180601

RJ01 Rejection of invention patent application after publication