CN106911647A - 一种检测网络攻击的方法和装置 - Google Patents

一种检测网络攻击的方法和装置 Download PDF

Info

Publication number
CN106911647A
CN106911647A CN201510981093.5A CN201510981093A CN106911647A CN 106911647 A CN106911647 A CN 106911647A CN 201510981093 A CN201510981093 A CN 201510981093A CN 106911647 A CN106911647 A CN 106911647A
Authority
CN
China
Prior art keywords
network request
request message
expression
network
storehouse
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
CN201510981093.5A
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 Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510981093.5A priority Critical patent/CN106911647A/zh
Publication of CN106911647A publication Critical patent/CN106911647A/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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

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)

Abstract

本申请公开了一种检测网络攻击的方法和装置,通过在对网络请求消息合集内网络请求消息进行网络攻击检测前,根据预设正则库对网络请求消息合集进行过滤,保留可能引发网络攻击的目标表达式,后续直接通过目标表达式对网络请求消息进行网络攻击检测,能够大幅提高网络攻击的检测效率。

Description

一种检测网络攻击的方法和装置
技术领域
本申请涉及网络安全技术领域,尤其涉及一种检测网络攻击的方法和装置。
背景技术
网络攻击作为引发网络安全危机的常见因素,是指利用网络存在的漏洞和安全缺陷对网络进行恶意攻击的行为,由于其可操作性强且很容易导致网络异常,甚至奔溃,严重影响了网络的正常使用。业内关于如何检测网络攻击也愈发关注。
现有一种检测网络攻击的方法包括如下步骤:针对攻击构造关键字符;根据关键字符来构造正则表达式;在接收到网络请求消息后,对该网络请求消息进行正则表达式匹配,在该网络请求消息中存在与正则表达式匹配得的数据时,则确定该网络请求消息中存在网络攻击。
然而,该种现有技术存在如下缺陷:
由于人们通过网络进行工作和学习的机会不断增加,网络请求消息的量级也越来越大,对这些网络请求消息逐一进行正则表达式匹配以发现网络攻击的耗时越来越长,导致难以快速检测到这些网络请求消息中的网络攻击行为。
发明内容
本申请实施例提供一种检测网络攻击的方法和装置,能够快速检测到网络请求消息中的网路攻击行为。
为解决上述技术问题,本发明的实施例中提供一种检测网络攻击的方法,包括:
接收网络请求消息合集,所述网络请求消息合集内包括多条网络请求消息;
根据所述网络请求信息对预设正则库进行过滤,得到目标表达式,所述目标表达式被至少一个所述网络请求信息所适用;
通过目标表达式对所述网络请求消息进行网络攻击检测。
优选地,所述预设正则库包括至少两个正则表达式,所述正则表达式还具有用于描述所述正则表达式所适用的对象的名称的属性;
根据所述网络请求信息对预设正则库进行过滤,得到目标表达式之前,所述方法包括:
对所述网络请求消息合集内网络请求消息进行协议解析,得到组成所述网络请求消息的对象,所述对象具有名称和数据;
根据所述网络请求信息对预设正则库进行过滤,得到目标表达式,具体包括:
在所述预设正则库内筛选出属性和至少一个对象的名称相同的正则表达式;
在所述属性和至少一个对象的名称相同的正则表达式中筛选出被至少一个对象适用的正则表达式,作为目标表达式。
优选地,通过目标表达式对所述网络请求消息进行网络攻击检测,具体包括:
将所述网络请求信息的对象与所述目标表达式进行逐一比对;
判断是否存在对象符合目标表达式,则判定发生网络攻击。
优选地,将所述网络请求信息的对象与所述目标表达式进行逐一比对之前,所述方法还包括:
在预设关键字库内筛选出与所述目标表达式相关联的预设关键字,作为目标关键字;
在所述网络请求消息库内筛选出对象的数据具有目标关键字的网络请求消息,作为嫌疑请求消息;
将所述网络请求信息的对象与所述目标表达式进行逐一比对,具体包括:
将所述嫌疑请求信息的对象与所述目标表达式进行逐一比对。
优选地,所述判定发生网络攻击之后,所述方法包括:
拦截所述对象符合目标表达式的网络请求消息。
优选地,所述判定发生网络攻击之后,所述方法包括:
对所述对象符合目标表达式的网络请求消息的发起者和响应者发出网络攻击警告。
为解决上述技术问题,本发明的实施例中提供一种检测网络攻击的装置,包括:
接收模块,接收网络请求消息合集,所述网络请求消息合集内包括多条网络请求消息;
过滤模块,根据所述网络请求信息对预设正则库进行过滤,得到目标表达式,所述目标表达式被至少一个所述网络请求信息所适用;
处理模块,通过目标表达式对所述网络请求消息进行网络攻击检测。
优选地,所述预设正则库包括至少两个正则表达式,所述正则表达式还具有用于描述所述正则表达式所适用的对象的名称的属性;
所述装置包括解析模块,用于在根据所述网络请求信息对预设正则库进行过滤,得到目标表达式之前,对所述网络请求消息合集内网络请求消息进行协议解析,得到组成所述网络请求消息的对象,所述对象具有名称和数据;
所述过滤模块,具体用于:
在所述预设正则库内筛选出属性和至少一个对象的名称相同的正则表达式;
在所述属性和至少一个对象的名称相同的正则表达式中筛选出被至少一个对象适用的正则表达式,作为目标表达式。
优选地,所述处理模块,具体用于:
将所述网络请求信息的对象与所述目标表达式进行逐一比对;
判断是否存在对象符合目标表达式,则判定发生网络攻击。
优选地,所述装置还包括嫌疑请求模块,用于在将所述网络请求信息的对象与所述目标表达式进行逐一比对之前,在预设关键字库内筛选出与所述目标表达式相关联的预设关键字,作为目标关键字;在所述网络请求消息库内筛选出对象的数据具有目标关键字的网络请求消息,作为嫌疑请求消息;
所述处理模块,具体用于:
将所述嫌疑请求信息的对象与所述目标表达式进行逐一比对。
优选地,所述装置包括拦截模块,用于在判定发生网络攻击之后:
拦截所述对象符合目标表达式的网络请求消息。
优选地,所述装置包括警告模块,用于在判定发生网络攻击之后:
对所述对象符合目标表达式的网络请求消息的发起者和响应者发出网络攻击警告。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过在对网络请求消息合集内网络请求消息进行网络攻击检测前,根据预设正则库对网络请求消息合集进行过滤,保留可能引发网络攻击的目标表达式,后续直接通过目标表达式对网络请求消息进行网络攻击检测,能够大幅提高网络攻击的检测效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明实施例中检测网络攻击的方法的流程图。
图2为本发明的另一实施例中检测网络攻击的方法的流程图。
图3为本发明实施例中检测网络攻击的装置的模块图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本发明实施例中检测网络攻击的方法的流程图,该方法的执行主体可以是一个专用于检测网络攻击的服务器。
该方法包括如下步骤:
S20、接收网络请求消息合集,所述网络请求消息合集内包括多条网络请求消息。
网络请求消息合集内包括多条网络请求消息,这些网络请求消息可以包括目前网络中常见的涉及到数据请求的信息,例如可以是门户网站的访问请求信息、或邮件下载请求信息等。
随着网络技术的快速发展,网络请求消息合集内的网络请求消息的数量可能极大,例如可能是10万的量级。
在本申请实施例中,网络请求消息合集内的网络请求消息符合相同的网络协议,例如可以是如下的应用层协议:(1)交换的报文类型,如请求报文和响应报文;(2)各种报文类型的语法,如报文中的各个字段公共详细描述;(3)字段的语义,即包含在字段中信息的含义;(4)进程何时、如何发送报文及对报文进行响应。有些应用层协议是由RFC文档定义的,因此它们位于公共领域。例如,web的应用层的协议HTTP(超文本传输协议,RFC2616)就作为一个RFC供用户使用。如果浏览器开发者遵从HTTP RFC规则,所开发出的浏览器就能访问任何遵从该文档标准的web,服务器并获取相应的web页面。还有很多别的应用层协议是专用的不能随意应用于公共领域。例如,很多现有的P2P文件共享系统使用的是专用应用层协议。目的,应用层协议主要有以下几种。(1)域名系统(Domain Name System,DNS):用于实现网络设备名字到IP地址映射的网络服务。(2)文件传输协议(FileTransfer Protocol,FTP):用丁实现交互式文件传输功能。(3)简单邮件传送协议(Simple Mail Transfer Protocol,SMTP):用于实现电子邮箱传送功能(4)超文本传输协议(HyperText Transfer Protocol,HTTP):用于实现WWW服务。(5)简单网络管理协议(simple Network Management Protocol,SNMP):用于管理与监视网络设备。(6)远程登录协议(Telnet):用于实现远程登录功能。
S40、根据所述网络请求信息对预设正则库进行过滤,得到目标表达式,所述目标表达式被至少一个所述网络请求信息所适用。
预设正则库包括多条正则表达式:正则表达式1、正则表达式2、正则表达式3、正则表达式4、正则表达式5,……,正则表达式N。所述预设正则库内正则表达式按照主类、子类和规则的方式来组织。
以针对门户网站的SQL注入攻击为例,网络请求消息中一般具有常用的关键字以及分隔符,如“select”、“and”、“;”、“--”等。可以将前述“select”、“and”、“;”、“--”等作为关键字并进行正则归纳,得到正则表达式,后续将这些正则表达式存入预设正则库内。
在服务器获取到网络请求消息合集后,在其中筛选符合正则表达式的网络请求消息,并将该网络请求消息所适用的正则表达式作为目标表达式。在有目标表达式存在时,则表明该预设网络消息中可能发生网络攻击,反之则该网络请求消息肯定未发生网络攻击,其为安全的。
S60、通过目标表达式对所述网络请求消息进行网络攻击检测。
由于目标表达式是通过步骤S40在预设正则库内筛选得到,相对于直接使用预设正则库来进行步骤S60,很好的控制了正则表达式的数量,大大提高了网络攻击的检测效率。
在本发明的实施例中,通过步骤S40对于正则表达式的数量的限缩,可以过滤接近10%的正则表达式,大大提高了网络攻击的检测效率。
图2为本发明的另一实施例中检测网络攻击的方法的流程图。相对于图1所示的方法,区别包括:步骤S20和S40之间还存在步骤S30,具体如下。
S30、对网络请求消息合集内网络请求消息进行协议解析,得到组成网络请求消息的对象,所述对象具有名称和内容。
为了说明方便,本发明实施例以http协议消息进行说明。则对该消息进行协议分析,即通过http rfc协议规范进行协议分析,从而获得消息包含的各个http协议字段,这些协议字段即组成网络请求消息的对象。以http协议为例,本发明的对象是指http消息预定义字段,例如,url、reference、参数、cookie等字段。对象的名称即url、reference、参数、cookie等字段名称,对象的内容即这些字段的数据。
本领域技术人员了解,对于http协议,请求信息包括希望返回的文件名和客户机信息。客户机信息以请求头发送给服务器,请求头包括HTTP方法和头字段。HTTP方法常用的有GET、HEAD、POST、PUT、DELETE、LINK、UNLINK等方法。头字段包括:DATE:请求发送的日期和时间;PARGMA:用于向服务器传输与实现无关的信息,这个字段还用于告诉代理服务器,要从实际服务器而不是从高速缓存取资源;FORWARDED:可以用来追踪机器之间,而不是客户机和服务器的消息,这个字段可以用来追踪在代理服务器之间的传递路由;MESSAGE_ID:用于唯一地标识消息;ACCEPT:通知服务器客户所能接受的数据类型和尺寸(*/*表示可以接受所有类型的数据);AOTHORIZATION:向服务器提供旁路安全保护和加密机制,若服务器不需要这个字段,则不提供这个字段;FROM:当客户应用程序希望想服务器提供有关其电子邮件地址时使用;IF-MODEFIED-SINCE用于提供条件GET;如果所请求的文档自从所指定的日期以来没有发生变化,则服务器应不发送该对象;如果所发送的日期格式不合法,或晚于服务器的日期,服务器会忽略该字段;BEFERRER:向服务器进行资源请求用到的对象;MIME-VERTION:用于处理不同类型文件的MIME协议版本号;USER-AGENT:有关发出请求的客户信息。
通常http消息包括客户机向服务器的http请求消息和服务器向客户机的http响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。http的头域包括通用头,请求头,响应头和实体头四个部分。
例如,一个典型的http请求消息为:
GEThttp://class/download.microtool.de:80/somedata.exe
Host:download.microtool.de
Accept:*/*
Pragma:no-cache
Cache-Control:no-cache
Referer:http://class/download.microtool.de/
User-Agent:Mozilla/4.04[en](Win95;I;Nav)
Range:bytes=554554-
其中,Host头域指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置;Referer头域允许客户端指定请求uri的源资源地址,这可以允许服务器生成回退链表,可用来登陆、优化cache等;Range头域可以请求实体的一个或者多个子范围;User-Agent头域内容包含发出请求的用户信息。
对应网络请求消息的组成对象,每一条正则表达式具有属性,这个属性用于描述该正则表达式所适用的网络请求消息内的对象。具体地,正则表达式1具有属性A(即,正则表达式1的属性为对象A)、正则表达式2具有属性A、正则表达式3具有属性B、正则表达式4具有属性B、正则表达式5具有属性C,……,正则表达式N具有属性N。
仍以http协议消息为例,属性可以设置成相对应的对象的名称,即url、reference、参数、cookie等字段名称。
步骤S40则适应性的调整为包括如下两个步骤:
S42、在所述预设正则库内筛选出属性和至少一个对象的名称相同的正则表达式。
在网络请求消息解析出对象后,根据这些对象的名称在预设正则库内筛选,以确定属性和网络请求消息的对象的名称相同的正则表达式。
以通过步骤S30获取到对象A、对象B为例,查找预设正则库进行匹配,如果确定对象A的数据不符合具有属性A的正则表达式1,则确定没有与对象A匹配到的正则表达式,进一步地,对对象B的数据与具有属性B的正则表达式2和正则表达式3进行匹配,如果对象B的数据不符合正则表达式2但是符合正则表达式3,则确定匹配到正则表达式3。对于预设正则库包含的其他正则表达式,由于它们的属性并非获取到的对象(A和B),因此不会匹配到。
S44、在所述属性和至少一个对象的名称相同的正则表达式中筛选出被至少一个对象适用的正则表达式,作为目标表达式。
通过在数量相对较少的具有和对象的名称相同的属性的正则表达式内确定目标表达式,可以提高筛选出目标表达式的速度,保证网络攻击的检测效率。
步骤S60则适应性的调整为包括如下4个步骤。
S62、将所述网络请求信息的对象与所述目标表达式进行逐一比对。
优选的,可以在执行步骤S62之前,执行:在预设关键字库内筛选出与所述目标表达式相关联的预设关键字,作为目标关键字;在所述网络请求消息库内筛选出对象的数据具有目标关键字的网络请求消息,作为嫌疑请求消息。则步骤S62则适应性调整为:将所述嫌疑请求信息的对象与所述目标表达式进行逐一比对。
在网络请求消息解析出对象后,根据这些对象的名称在预设关键字库内筛选,以确定属性和网络请求消息的对象的名称相同的预设关键字,则作为目标关键字。
以通过步骤S30获取到对象A、对象B为例,查找预设关键字库进行匹配,如果确定对象A的数据不包含具有属性A的关键字1,则确定没有与对象A匹配到的关键字,进一步地,对对象B的数据与具有属性B的关键字2和关键字3进行匹配,如果对象B的数据不包含关键字2但是包含关键字3,则确定匹配到关键字3。对于预设关键字库包含的其他关键字,由于它们的属性并非获取到的对象(A和B),因此不会匹配到。
通过在预设关键字库内预先筛选出目标关键字,可以提高筛选出嫌疑请求消息的速度,保证网络攻击的检测效率。
在发明的实施例中,可以采用多模匹配算法进行关键字匹配。关键字匹配算法包括多种,例如Trie树、AC算法、WM算法等等。本发明实施例优选采用ACBM算法。ACBM算法是在AC自动机的基础之上,引入了BM算法的多模扩展,实现的高效的关键字匹配。ACBM算法的核心思想就是让每次匹配的起始位置跨度尽可能的大,以提高效率。和AC自动机不同的是,ACBM算法不需要扫描目标文本串中的每一个字符,可以利用本次匹配不成功的信息,跳过尽可能多的字符,实现高效匹配。在匹配步骤如下:1、选定一个匹配起始位置。2、使用AC树进行匹配,如果匹配失效,跳转步骤1;如果匹配成功,可根据应用需要跳转至步骤1或者退出。ACBM算法中的AC算法部分比AC自动机算法的实现要简单,不需要考虑失效函数的问题,也就是说ACBM算法中实现的AC算法部分是一棵树,而在AC自动机的实现是一个图。ACBM算法中的BM算法的实现要比BM算法本身的实现要复杂一些,因为这是对BM算法的多模式一种扩展。ACBM算法中的核心数据结构包括:1、MinLen,模式串集合中最短那个模式串的长度:比较失配时最多跳跃的字符个数不能超过Minlen。2、ACTree,由模式串集合构建出的状态树,构建方法和AC自动机的构建方法相同,而且不需要计算失效函数,比较简单。3、BCshift:ACTree对应一个坏字符数组,当匹配失效时,查找该数组计算坏字符偏移量。4、GSshift:AC树的每一个节点对应一个好后缀偏移量。
由于嫌疑请求消息相对于网络请求消息的数量更少,从而提高步骤S62的执行效率。
S64、判断是否存在对象符合目标表达式,若是,执行步骤S66,若否,执行步骤S68。
嫌疑请求信息中的对象均与目标表达式进行比较,以明确对象是否符合目标表达式。
S66、判定发生网络攻击。
S68、判定未发生网络攻击。
由于目标表达式是根据网络攻击发生时,网络请求消息的对象数据被注入攻击用关键字后概括得到,因此,在对象符合目标表达式时,可以得到发生网络攻击的结论,反之则未发生网络攻击。
在本发明的实施例中,步骤S68、判定发生网络攻击之后,所述方法包括:
拦截所述对象符合目标表达式的网络请求消息。该网络请求消息即是发生了网络攻击的消息,该消息被拦截,可以保证用户的网络安全。
在本发明的实施例中,步骤S68、判定发生网络攻击之后,所述方法包括:
对所述对象符合目标的网络请求消息的发起者和响应者发出网络攻击警告。
该网络请求消息确定发生网络攻击,通过向该网络请求消息的发起者和响应者发送网络攻击警告,使得用户能够明确网络发生危险,提高其安全意识
图3为本发明实施例中,检测网络攻击的装置的模块图。该装置是基于前述检测方法来实现的,其细节可参考前述方法,在此不做赘述。
该装置包括如下模块。
接收模块20,接收网络请求消息合集,所述网络请求消息合集内包括多条网络请求消息;
过滤模块40,根据所述网络请求信息对预设正则库进行过滤,得到目标表达式,所述目标表达式被至少一个所述网络请求信息所适用;
处理模块60,通过目标表达式对所述网络请求消息进行网络攻击检测。
优选地,所述网络请求消息合集内所有网络请求消息符合相同的网络协议。
优选地,所述网络协议包括TFTP、HTTP、SNMP、FTP、SMTP、DNS或Telnet协议。
优选地,所述预设正则库包括至少两个正则表达式,所述正则表达式还具有用于描述所述正则表达式所适用的对象的名称的属性;
所述装置包括解析模块,用于在根据所述网络请求信息对预设正则库进行过滤,得到目标表达式之前,对所述网络请求消息合集内网络请求消息进行协议解析,得到组成所述网络请求消息的对象,所述对象具有名称和数据;
所述过滤模块40,具体用于:
在所述预设正则库内筛选出属性和至少一个对象的名称相同的正则表达式;
在所述属性和至少一个对象的名称相同的正则表达式中筛选出被至少一个对象适用的正则表达式,作为目标表达式。
优选地,所述处理模块60,具体用于:
将所述网络请求信息的对象与所述目标表达式进行逐一比对;
判断是否存在对象符合目标表达式,则判定发生网络攻击。
优选地,所述装置还包括嫌疑请求模块,用于在将所述网络请求信息的对象与所述目标表达式进行逐一比对之前,在预设关键字库内筛选出与所述目标表达式相关联的预设关键字,作为目标关键字;在所述网络请求消息库内筛选出对象的数据具有目标关键字的网络请求消息,作为嫌疑请求消息;
所述处理模块40,具体用于:
将所述嫌疑请求信息的对象与所述目标表达式进行逐一比对。
优选地,所述装置包括拦截模块,用于在判定发生网络攻击之后:
拦截所述对象符合目标表达式的网络请求消息。
优选地,所述装置包括警告模块,用于在判定发生网络攻击之后:
对所述对象符合目标表达式的网络请求消息的发起者和响应者发出网络攻击警告。
优选地,所述预设正则库内正则表达式按照主类、子类和规则的方式来组织;所述预设关键字库内预设关键字按照主类、子类和规则的方式来组织。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过在对网络请求消息合集内网络请求消息进行网络攻击检测前,根据预设正则库对网络请求消息合集进行过滤,保留可能引发网络攻击的目标表达式,后续直接通过目标表达式对网络请求消息进行网络攻击检测,能够大幅提高网络攻击的检测效率。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种检测网络攻击的方法,其特征在于,包括:
接收网络请求消息合集,所述网络请求消息合集内包括多条网络请求消息;
根据所述网络请求信息对预设正则库进行过滤,得到目标表达式,所述目标表达式被至少一个所述网络请求信息所适用;
通过目标表达式对所述网络请求消息进行网络攻击检测。
2.如权利要求1所述的方法,其特征在于,所述预设正则库包括至少两个正则表达式,所述正则表达式还具有用于描述所述正则表达式所适用的对象的名称的属性;
根据所述网络请求信息对预设正则库进行过滤,得到目标表达式之前,所述方法包括:
对所述网络请求消息合集内网络请求消息进行协议解析,得到组成所述网络请求消息的对象,所述对象具有名称和数据;
根据所述网络请求信息对预设正则库进行过滤,得到目标表达式,具体包括:
在所述预设正则库内筛选出属性和至少一个对象的名称相同的正则表达式;
在所述属性和至少一个对象的名称相同的正则表达式中筛选出被至少一个对象适用的正则表达式,作为目标表达式。
3.如权利要求1所述的方法,其特征在于,通过目标表达式对所述网络请求消息进行网络攻击检测,具体包括:
将所述网络请求信息的对象与所述目标表达式进行逐一比对;
判断是否存在对象符合目标表达式,则判定发生网络攻击。
4.如权利要求3所述的方法,其特征在于,将所述网络请求信息的对象与所述目标表达式进行逐一比对之前,所述方法还包括:
在预设关键字库内筛选出与所述目标表达式相关联的预设关键字,作为目标关键字;
在所述网络请求消息库内筛选出对象的数据具有目标关键字的网络请求消息,作为嫌疑请求消息;
将所述网络请求信息的对象与所述目标表达式进行逐一比对,具体包括:
将所述嫌疑请求信息的对象与所述目标表达式进行逐一比对。
5.如权利要求3所述的方法,其特征在于,所述判定发生网络攻击之后,所述方法包括:
拦截所述对象符合目标表达式的网络请求消息。
6.如权利要求3所述的方法,其特征在于,所述判定发生网络攻击之后,所述方法包括:
对所述对象符合目标表达式的网络请求消息的发起者和响应者发出网络攻击警告。
7.一种检测网络攻击的装置,其特征在于,包括:
接收模块,接收网络请求消息合集,所述网络请求消息合集内包括多条网络请求消息;
过滤模块,根据所述网络请求信息对预设正则库进行过滤,得到目标表达式,所述目标表达式被至少一个所述网络请求信息所适用;
处理模块,通过目标表达式对所述网络请求消息进行网络攻击检测。
8.如权利要求7所述的装置,其特征在于,所述预设正则库包括至少两个正则表达式,所述正则表达式还具有用于描述所述正则表达式所适用的对象的名称的属性;
所述装置包括解析模块,用于在根据所述网络请求信息对预设正则库进行过滤,得到目标表达式之前,对所述网络请求消息合集内网络请求消息进行协议解析,得到组成所述网络请求消息的对象,所述对象具有名称和数据;
所述过滤模块,具体用于:
在所述预设正则库内筛选出属性和至少一个对象的名称相同的正则表达式;
在所述属性和至少一个对象的名称相同的正则表达式中筛选出被至少一个对象适用的正则表达式,作为目标表达式。
9.如权利要求7所述的装置,其特征在于,所述处理模块,具体用于:
将所述网络请求信息的对象与所述目标表达式进行逐一比对;
判断是否存在对象符合目标表达式,则判定发生网络攻击。
10.如权利要求9所述的装置,其特征在于,所述装置还包括:
嫌疑请求模块,用于在将所述网络请求信息的对象与所述目标表达式进行逐一比对之前,在预设关键字库内筛选出与所述目标表达式相关联的预设关键字,作为目标关键字;在所述网络请求消息库内筛选出对象的数据具有目标关键字的网络请求消息,作为嫌疑请求消息;
所述处理模块,具体用于:
将所述嫌疑请求信息的对象与所述目标表达式进行逐一比对。
CN201510981093.5A 2015-12-23 2015-12-23 一种检测网络攻击的方法和装置 Pending CN106911647A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510981093.5A CN106911647A (zh) 2015-12-23 2015-12-23 一种检测网络攻击的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510981093.5A CN106911647A (zh) 2015-12-23 2015-12-23 一种检测网络攻击的方法和装置

Publications (1)

Publication Number Publication Date
CN106911647A true CN106911647A (zh) 2017-06-30

Family

ID=59200013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510981093.5A Pending CN106911647A (zh) 2015-12-23 2015-12-23 一种检测网络攻击的方法和装置

Country Status (1)

Country Link
CN (1) CN106911647A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111181980A (zh) * 2019-12-31 2020-05-19 奇安信科技集团股份有限公司 一种面向网络安全的正则表达式的匹配方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101399710A (zh) * 2007-09-29 2009-04-01 北京启明星辰信息技术有限公司 一种协议格式异常检测方法及系统
CN104519008A (zh) * 2013-09-26 2015-04-15 北大方正集团有限公司 跨站脚本攻击防御方法和装置、应用服务器
CN104899264A (zh) * 2015-05-21 2015-09-09 东软集团股份有限公司 一种多模式正则表达式匹配方法及装置
CN104954345A (zh) * 2014-03-31 2015-09-30 北京奇虎科技有限公司 基于对象分析的攻击识别方法及装置
CN104954346A (zh) * 2014-03-31 2015-09-30 北京奇虎科技有限公司 基于对象分析的攻击识别方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101399710A (zh) * 2007-09-29 2009-04-01 北京启明星辰信息技术有限公司 一种协议格式异常检测方法及系统
CN104519008A (zh) * 2013-09-26 2015-04-15 北大方正集团有限公司 跨站脚本攻击防御方法和装置、应用服务器
CN104954345A (zh) * 2014-03-31 2015-09-30 北京奇虎科技有限公司 基于对象分析的攻击识别方法及装置
CN104954346A (zh) * 2014-03-31 2015-09-30 北京奇虎科技有限公司 基于对象分析的攻击识别方法及装置
CN104899264A (zh) * 2015-05-21 2015-09-09 东软集团股份有限公司 一种多模式正则表达式匹配方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111181980A (zh) * 2019-12-31 2020-05-19 奇安信科技集团股份有限公司 一种面向网络安全的正则表达式的匹配方法及装置
CN111181980B (zh) * 2019-12-31 2022-05-10 奇安信科技集团股份有限公司 一种面向网络安全的正则表达式的匹配方法及装置

Similar Documents

Publication Publication Date Title
US20210019674A1 (en) Risk profiling and rating of extended relationships using ontological databases
US9680856B2 (en) System and methods for scalably identifying and characterizing structural differences between document object models
CN104954346B (zh) 基于对象分析的攻击识别方法及装置
US9185125B2 (en) Systems and methods for detecting and mitigating threats to a structured data storage system
CN107122221B (zh) 用于正则表达式的编译器
US20170243003A1 (en) Identifying bots
CN103744802B (zh) Sql注入攻击的识别方法及装置
US8010689B2 (en) Locational tagging in a capture system
US8051484B2 (en) Method and security system for indentifying and blocking web attacks by enforcing read-only parameters
CN109922075A (zh) 网络安全知识图谱构建方法和装置、计算机设备
CN104954345B (zh) 基于对象分析的攻击识别方法及装置
CN108111466A (zh) 一种攻击检测方法及装置
CN106656922A (zh) 一种基于流量分析的网络攻击防护方法和装置
CN111177779B (zh) 数据库审计方法、其装置、电子设备及计算机存储介质
CN110362992A (zh) 在基于云端环境中阻挡或侦测计算机攻击的方法和设备
CN109074454A (zh) 基于赝象对恶意软件自动分组
CN112685734B (zh) 安全防护方法、装置、计算机设备和存储介质
CN106911649A (zh) 一种检测网络攻击的方法和装置
CN113810381B (zh) 一种爬虫检测方法、web应用云防火墙、装置和存储介质
JP6548823B2 (ja) 木グラフプロパティを適用するjsonデータのリアルタイムバリデーション
CN106911647A (zh) 一种检测网络攻击的方法和装置
CN111770097A (zh) 一种基于白名单的内容锁防火墙方法及系统
CN112769739A (zh) 数据库操作违规处理方法、装置及设备
Sen Performance characterization & improvement of snort as an IDS
CN112272165A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170630

RJ01 Rejection of invention patent application after publication