异常请求的识别方法、系统、网络安全设备及服务器与流程

文档序号:11215766阅读:761来源:国知局
异常请求的识别方法、系统、网络安全设备及服务器与流程

本发明涉及计算机通讯及网络安全领域,特别是涉及一种异常请求的识别方法、系统、网络安全设备及服务器。

版权申明

本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。



背景技术:

互联网使用越来越普及,网络攻击也越来越多,在攻击之前攻击者一般会利用扫描器对网站进行安全扫描,扫描分成两部分,第一部分是爬虫对网站url(统一资源定位符)的收集,第二部分是对收集到的url漏洞扫描。现有技术中对于扫描器的防护是基于访问速率与防护规则是否完善,当扫描器速率降到与正常用户差不多或安全规则不够完善的时候,就很难发现了。



技术实现要素:

为了解决上述的以及其他潜在的技术问题,本发明的实施例提供了一种异常请求的识别方法,所述异常请求的识别方法包括:在服务器响应客户端发出的请求消息之前,获取所述请求消息;判断获取的所述请求消息中是否包含指定的特征信息,若是,则判断所述请求消息为正常,若否,则判断所述请求消息为异常。

于本发明的一实施例中,所述判断获取的所述请求消息中是否包含指定的特征信息具体包括:解析所述请求消息中的报文头;判断所述报文头中是否包含所述指定的特征信息。

于本发明的一实施例中,所述指定的特征信息为http定义的通用字段。

于本发明的一实施例中,所述通用字段为表明所述客户端支持的编码类型的字段。

于本发明的一实施例中,所述指定的特征信息为http定义的扩展字段。

于本发明的一实施例中,在所述请求消息为正常时,由所述服务器响应所述请求消息;在所述请求消息为异常时,删除或忽略所述请求消息使得所述服务器不响应所述请求消息中的请求。

本发明的实施例提供了一种异常请求的识别系统,所述异常请求的识别系统包括:获取模块,用于在服务器响应客户端发出的请求消息之前,获取所述请求消息;处理模块,用于判断获取的所述请求消息中是否包含指定的特征信息,若是,则判断所述请求消息为正常,若否,则判断所述请求消息为异常。

于本发明的一实施例中,所述处理模块判断获取的所述请求消息中是否包含指定的特征信息具体包括:解析所述请求消息中的报文头,判断所述报文头中是否包含所述指定的特征信息。

于本发明的一实施例中,所述指定的特征信息为http定义的通用字段。

于本发明的一实施例中,所述通用字段为表明所述客户端支持的编码类型的字段。

于本发明的一实施例中,所述指定的特征信息为http定义的扩展字段。

于本发明的一实施例中,在所述请求消息为正常时,由所述服务器响应所述请求消息;在所述请求消息为异常时,所述处理模块还用于删除或忽略所述请求消息使得所述服务器不响应所述请求消息中的请求。

本发明的实施例提供了一种服务器,所述服务器包括如上所述的异常请求的识别系统。

本发明的实施例提供了一种网络安全设备,连接于客户端和服务器之间,所述网络安全设备包括如上所述的异常请求的识别系统。

于本发明的一实施例中,所述网络安全设备为网关。

如上所述,本发明的异常请求的识别方法、系统、网络安全设备及服务器具有以下有益效果:

本发明实施例在服务器响应客户端发出的请求消息之前,通过判断获取的所述请求消息中是否包含指定的特征信息,可判断所述请求消息是否为正常,大幅度提高异常请求的识别率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1显示为本发明的异常请求的识别方法的流程示意图。

图2显示为本发明的异常请求的识别系统的原理框图。

图3显示为本发明的异常请求的识别系统的应用示意图。

图4显示为本发明的网络安全设备或服务器中电路控制板的结构示意图。

元件标号说明

100异常请求的识别系统

101获取模块

102处理模块

200电路控制板

201存储器

202处理器

203外设接口

1服务器

2电脑

3手机

4网络安全设备

s101~s104步骤

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

请参阅图1至图4。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。

本实施例的目的在于提供一种异常请求的识别方法、系统、网络安全设备及服务器,用于解决现有技术中难以检测到网络攻击的问题。以下将详细阐述本发明的异常请求的识别方法、系统、网络安全设备及服务器的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的异常请求的识别方法、系统、网络安全设备及服务器。

本实施例所提供的异常请求的识别方法、系统、网络安全设备及服务器应用于客户端经浏览器、爬虫等客户端向服务器请求访问网站的过程中。通常,由http客户端发起一个请求消息,建立一个到服务器指定端口(默认是80端口)的tcp连接。http服务器则在那个端口监听客户端发送过来的请求消息。一旦收到请求消息,服务器(向客户端)发回一个状态行,比如"http/1.1200ok",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。http是一个客户端和服务器端请求和应答的标准(tcp)。客户端是终端用户,服务器端是网站。通过使用web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的http请求,应答的服务器上存储着(一些)资源,比如html文件和图像。在客户端和服务器中间可能存在多个中间层,比如代理,网关,或者隧道(tunnels)。本实施例所提供的异常请求的识别方法、系统、网络安全设备及服务器可以识别是否是正常的浏览器、爬虫等客户端发出的请求消息,有效识别来自非正常的浏览器、爬虫等客户端的那些第三方工具(例如扫描器)向服务器发送的请求消息。

具体地,如图1所示,本发明的实施例提供了一种异常请求的识别方法,所述异常请求的识别方法包括以下步骤:

步骤s101,在服务器响应客户端发出的请求消息之前,获取所述请求消息。

步骤s102,判断获取的所述请求消息中是否包含指定的特征信息,若是,则执行步骤s103,判断所述请求消息为正常,若否,则执行步骤s104,判断所述请求消息为异常。

于本实施例中,在服务器响应浏览器发出的请求消息之前,获取所述请求消息。用户通过手机或电脑中的浏览器输入所要访问的网址或点击网页自动于浏览器的地址栏生成所要访问的网址。浏览器在对接收的网址进行处理以生成对应请求消息,将所述请求消息发送至对应服务器,由服务器响应所述请求消息。目前的浏览器在对接收的网址进行处理以生成对应请求消息时,会根据http(hypertexttransferprotocol,超文本传输协议)协议的格式要求,设置对应的字段以使生成的包含请求消息的http报文符合http协议。

http消息由客户端到服务器的请求消息和服务器到客户端的响应消息组成。请求消息和响应消息都是由开始行(对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行),消息报文头(可选),空行(只有crlf的行),消息正文(可选)组成。http消息报文头包括普通报文头、请求报文头、响应报文头、实体报文头。每一个报文头域都是由名字+“:”+空格+值组成,消息报文头域的名字是大小写无关的。

于本实施例中,所述判断获取的所述请求消息中是否包含指定的特征信息具体包括:解析所述请求消息中的报文头;判断所述报文头中是否包含所述指定的特征信息。具体地,于本实施例中,解析所述请求消息中的报文头是指解析所述请求消息中的请求报文头。请求报头允许客户端向服务器端传递请求的附加信息以及客户端自身的信息。其中,所述请求报头定义有一些通用字段供客户端使用,也可以允许扩展自定义的字段。所述通用字段例如:accept:image/gif,表明客户端希望接受gif图象格式的资源;accept:text/html,表明客户端希望接受html文本。accept-encoding请求报头域,用于指定可接受的编码类型。例如:accept-encoding:gzip.deflate.如果请求消息中没有设置这个域服务器假定客户端对各种内容编码都可以接受。accept-language请求报头域类似于accept,但是它是用于指定一种自然语言。例如:accept-language:zh-cn.如果请求消息中没有设置这个报头域,服务器假定客户端对各种语言都可以接受。

于本实施例中,所述指定的特征信息可以为http定义的通用字段,也可以为所述指定的特征信息为http定义的扩展字段。

目前的浏览器在对接收的网址进行处理以生成对应请求消息时,会根据http(hypertexttransferprotocol,超文本传输协议)协议的格式要求默认添加accept-encoding字段,由于accept-encoding是一个编码类型字段,通常是告诉服务器客户端支持压缩编码模式,而相反,为了快速获取消息及节省解压缩的时间,多数对网站进行攻击的第三方工具(扫描器)通常不会在请求消息中添加accept-encoding字段,所以本实施例中,进一步地,所述通用字段优选为表明所述客户端支持的编码类型的字段:accept-encoding字段。

即于本实施例中,解析所述请求消息的报文头后,检测所述报文头中是否包含accept-encoding字段,若是,则执行步骤s103,判断所述请求消息为正常,判断为浏览器发出的消息请求,若否,则执行步骤s104,判断所述请求消息为异常,所属请求消息可能是由攻击网络的第三方工具(例如扫描器)发出的消息请求。

本实施例中,在识别所述请求消息为正常时,由所述服务器正常响应所述请求消息,在识别所述请求消息为异常时,可由预先设置的处理策略处理所述请求消息,具体地,例如在识别所述请求消息为异常时,删除或忽略所述请求消息使得所述服务器不响应所述请求消息中的请求。

为实现上述异常请求的识别方法,本实施例还对应提供了一种异常请求的识别系统100,如图2所示,所述异常请求的识别系统100包括:获取模块101和处理模块102。

于本实施例中,所述获取模块101用于在服务器响应客户端发出的请求消息之前,获取所述请求消息。用户通过手机或电脑中的浏览器输入所要访问的网址或点击网页自动于浏览器的地址栏生成所要访问的网址。浏览器在对接收的网址进行处理以生成对应请求消息,将所述请求消息发送至对应服务器,由服务器响应所述请求消息。在所述请求消息发送至对应服务器之前,所述获取模块101获取所述请求消息。

目前的浏览器在对接收的网址进行处理以生成对应请求消息时,会根据http(hypertexttransferprotocol,超文本传输协议)协议的格式要求,设置对应的字段以使生成的包含请求消息的http报文符合http协议。

http消息由客户端到服务器的请求消息和服务器到客户端的响应消息组成。请求消息和响应消息都是由开始行(对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行),消息报文头(可选),空行(只有crlf的行),消息正文(可选)组成。http消息报文头包括普通报文头、请求报文头、响应报文头、实体报文头。每一个报文头域都是由名字+“:”+空格+值组成,消息报文头域的名字是大小写无关的。

所述处理模块102用于判断获取的所述请求消息中是否包含指定的特征信息,若是,则判断所述请求消息为正常,若否,则判断所述请求消息为异常。

于本实施例中,所述处理模块102判断获取的所述请求消息中是否包含指定的特征信息具体包括:解析所述请求消息中的报文头;判断所述报文头中是否包含所述指定的特征信息。

具体地,于本实施例中,解析所述请求消息中的报文头是指解析所述请求消息中的请求报文头。请求报头允许客户端向服务器端传递请求的附加信息以及客户端自身的信息。其中,所述请求报头定义有一些通用字段供客户端使用,也可以允许扩展自定义的字段。所述通用字段例如:accept:image/gif,表明客户端希望接受gif图象格式的资源;accept:text/html,表明客户端希望接受html文本。accept-encoding请求报头域,用于指定可接受的编码类型。例如:accept-encoding:gzip.deflate.如果请求消息中没有设置这个域服务器假定客户端对各种内容编码都可以接受。accept-language请求报头域类似于accept,但是它是用于指定一种自然语言。例如:accept-language:zh-cn.如果请求消息中没有设置这个报头域,服务器假定客户端对各种语言都可以接受。

于本实施例中,所述指定的特征信息可以为http定义的通用字段,也可以为所述指定的特征信息为http定义的扩展字段。

目前的浏览器在对接收的网址进行处理以生成对应请求消息时,会根据http(hypertexttransferprotocol,超文本传输协议)协议的格式要求默认添加accept-encoding字段,由于accept-encoding是一个编码类型字段,通常是告诉服务器客户端支持压缩编码模式,而相反,为了快速获取消息及节省解压缩的时间,多数对网站进行攻击的第三方工具(扫描器)通常不会在请求消息中添加accept-encoding字段,所以本实施例中,进一步地,所述通用字段优选为表明所述客户端支持的编码类型的字段:accept-encoding字段。

即于本实施例中,所述处理模块102解析所述请求消息的报文头后,检测所述报文头中是否包含accept-encoding字段,若是,则判断所述请求消息为正常,判断为浏览器发出的消息请求,若否,则判断所述请求消息为异常,判断所述请求消息可能是由攻击网络的第三方工具(例如扫描器)发出的消息请求。

于本实施例中,在所述请求消息为正常时,由所述服务器响应所述请求消息;可由预先设置的处理策略处理所述请求消息,具体地,例如在所述请求消息为异常时,所述处理模块102还用于删除或忽略所述请求消息使得所述服务器不响应所述请求消息。

如图3所示,本实施例提供一种服务器1,所述服务器1包括如上所述的异常请求的识别系统100。在服务器1对用户通过电脑2或手机3中的浏览器客户端发出的请求消息进行处理时,由所述异常请求的识别系统100先对所述请求消息进行分析判断,分析判断之后再由所述服务器1进行处理。

如图3所示,本发明的另一实施例提供了一种网络安全设备4,连接于客户端和服务器1之间,所述网络安全设备4包括如上所述的异常请求的识别系统100。在用户通过电脑2或手机3中的浏览器客户端发出的请求消息到达服务器1之前,由所述网络安全设备4中的异常请求的识别系统100对所述请求消息进行分析判断,分析判断之后再确定是否将所述请求消息发送至所述服务器1进行处理。于本实施例中,所述网络安全设备4为网关。

相对应地,如图4所示,本发明于一实施例中提供一种电路控制板200,所述电路控制板200可用于图3中的服务器1或网络安全设备4中,所述电路控制板200运行如上所述的异常请求的识别系统100。如图4所示,所述电路控制板200包括存储器201,处理器202(cpu)和外设接口203。所述处理器202为包括中央处理器、微处理器、数字信号处理器以及其他处理芯片的任一一种或几种;所述存储器201可包括高速随机存取存储器,并且还可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。

所述存储器201,所述处理器202(cpu)和所述外设接口203通过一条或多条通信总线或信号线进行通信。外设接口203将电路控制板200的输入和输出外设耦接到处理器202和存储器201。所述处理器202运行各种存储在存储器201中的软件程序和/或指令集,以便执行图2中获取模块101和处理模块102的各种功能,并对数据进行处理,即所述异常请求的识别系统100存储于所述存储器,并由所述处理器运行。在某些实施例中,外设接口203、处理器202(cpu)以及存储器201可以在单个芯片上实现。而在某些其他实施例中,它们可能在多个分立芯片上实现。

具体地,所述处理器202在服务器1响应客户端发出的请求消息之前,获取所述请求消息,判断获取的所述请求消息中是否包含指定的特征信息,若是,则判断所述请求消息为正常,若否,则判断所述请求消息为异常。

于本实施例中,所述处理器202判断获取的所述请求消息中是否包含指定的特征信息具体包括:解析所述请求消息中的报文头;判断所述报文头中是否包含所述指定的特征信息。其中,所述指定的特征信息可以为http定义的通用字段,也可以为所述指定的特征信息为http定义的扩展字段。

目前的浏览器在对接收的网址进行处理以生成对应请求消息时,会根据http(hypertexttransferprotocol,超文本传输协议)协议的格式要求默认添加accept-encoding字段,由于accept-encoding是一个编码类型字段,通常是告诉服务器客户端支持压缩编码模式,而相反,为了快速获取消息及节省解压缩的时间,多数对网站进行攻击的第三方工具(扫描器)通常不会在请求消息中添加accept-encoding字段,所以本实施例中,进一步地,所述通用字段优选为表明所述客户端支持的编码类型的字段:accept-encoding字段。

所述存储器201用于存储机器可读程序指令,当所述机器可读程序指令运行时,执行:

在服务器1响应客户端发出的请求消息之前,获取所述请求消息,判断获取的所述请求消息中是否包含指定的特征信息,若是,则判断所述请求消息为正常,若否,则判断所述请求消息为异常。

于本实施例中,判断获取的所述请求消息中是否包含指定的特征信息具体包括:解析所述请求消息中的报文头;判断所述报文头中是否包含所述指定的特征信息。其中,所述指定的特征信息可以为http定义的通用字段,也可以为所述指定的特征信息为http定义的扩展字段。

目前的浏览器在对接收的网址进行处理以生成对应请求消息时,会根据http(hypertexttransferprotocol,超文本传输协议)协议的格式要求默认添加accept-encoding字段,由于accept-encoding是一个编码类型字段,通常是告诉服务器1客户端支持压缩编码模式,而相反,为了快速获取消息及节省解压缩的时间,多数对网站进行攻击的第三方工具(扫描器)通常不会在请求消息中添加accept-encoding字段,所以本实施例中,进一步地,所述通用字段优选为表明所述客户端支持的编码类型的字段:accept-encoding字段。

综上所述,本发明实施例在服务器响应客户端发出的请求消息之前,通过判断获取的所述请求消息中是否包含指定的特征信息,可判断所述请求消息是否为正常,大幅度提高异常请求的识别率。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中包括通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1