异常数据检测方法及设备与流程

文档序号:17535749发布日期:2019-04-29 13:58阅读:318来源:国知局
异常数据检测方法及设备与流程

本公开涉及电子信息技术领域,尤其涉及异常数据检测方法及设备。



背景技术:

通常,网络中的数据流是双向的,包括请求数据和响应数据。请求数据是客户端发往服务端的数据,响应数据是服务端返回给客户端的数据。

在检测异常数据的时候,通常对请求数据进行判断,也就是客户端发往服务端的数据,通过检测请求数据中的异常数据来判断异常行为。但是,可能在请求数据种是异常数据,但服务端不做响应,并不会产生异常的结果;或者,请求数据属于正常请求,而服务端出现漏洞,产生了异常数据,这使得异常数据的检测存在误报,漏报的问题。



技术实现要素:

本公开实施例提供一种异常数据检测方法及设备,能够解决相关技术种对网络中异常数据的检测存在误报、漏报的问题。技术方案如下:

根据本公开实施例的第一方面,提供一种异常数据检测方法,该方法包括:

获取终端设备向服务器发送的请求数据;

在请求数据存在异常数据时,对请求数据添加数据异常标识;

获取服务器返回的响应数据;

在响应数据存在异常数据时,对响应数据添加数据异常标识;

在请求数据和响应数据都包含数据异常标识时,确定请求数据异常。

对终端设备向服务器发送的请求数据,已经服务器生成的响应数据都进行检测,在请求数据和响应数据存在异常数据,并且导致了异常的响应数据产生时,才确定请求数据异常,对异常数据的检测更加准确。

在一个实施例中,在请求数据存在异常数据时,对请求数据添加数据异常标识之前,该方法还包括:

根据第一异常数据集合对请求数据进行检测,第一异常数据集合包含至少一种异常数据;

在请求数据包含第一异常数据集合中的任意一种异常数据时,确定请求数据存在异常数据。

在一个实施例中,在响应数据存在异常数据时,对响应数据添加数据异常标识之前,该方法还包括:

根据第二异常数据集合对响应数据进行检测,第二异常数据集合包含至少一种异常数据;

在响应数据包含第二异常数据集合中的任意一种异常数据时,确定响应数据存在异常数据。

在一个实施例中,该方法还包括:

在确定请求数据异常时,生成报警信息,报警信息用于指示请求数据异常。

在一个实施例中,该方法还包括:

在确定请求数据异常时,拦截服务器向终端设备返回的响应数据。

根据本公开实施例的第二方面,提供一种电子设备,该电子设备包括:第一获取模块、第一标记模块、第二获取模块、第二标记模块和判断模块;

其中,第一获取模块,用于获取终端设备向服务器发送的请求数据;

第一标记模块,用于在请求数据存在异常数据时,对请求数据添加数据异常标识;

第二获取模块,用于获取服务器返回的响应数据;

第二标记模块,用于在响应数据存在异常数据时,对响应数据添加数据异常标识;

判断模块,用于在请求数据和响应数据都包含数据异常标识时,确定请求数据异常。

在一个实施例中,电子设备还包括第一检测模块;

第一检测模块,用于根据第一异常数据集合对请求数据进行检测,第一异常数据集合包含至少一种异常数据;在请求数据包含第一异常数据集合中的任意一种异常数据时,确定请求数据存在异常数据。

在一个实施例中,电子设备还包括第二检测模块;

第二检测模块,用于根据第二异常数据集合对响应数据进行检测,第二异常数据集合包含至少一种异常数据;在响应数据包含第二异常数据集合中的任意一种异常数据时,确定响应数据存在异常数据。

在一个实施例中,电子设备还包括报警模块;

报警模块,用于在确定请求数据异常时,生成报警信息,报警信息用于指示请求数据异常。

在一个实施例中,电子设备还包括拦截模块;

拦截模块,用于在确定请求数据异常时,拦截服务器向终端设备返回的响应数据。

当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是本公开实施例提供的一种异常数据检测方法的流程图;

图2是本公开实施例提供的一种电子设备的结构图;

图3是本公开实施例提供的一种电子设备的结构图;

图4是本公开实施例提供的一种电子设备的结构图;

图5是本公开实施例提供的一种电子设备的结构图;

图6是本公开实施例提供的一种电子设备的结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开实施例提供一种异常数据检测方法,应用于电子设备,如图1所示,该异常数据检测方法包括以下步骤:

101、获取终端设备向服务器发送的请求数据。

终端设备是客户端的设备,服务器是服务端的设备。请求数据用于指示客户端向服务端发起的服务请求。

102、在请求数据存在异常数据时,对请求数据添加数据异常标识。

对请求数据添加数据异常标识,即为对请求数据进行异常标记,在步骤102之前,可以先对请求数据进行检测,例如:

在一个实施例中,在请求数据存在异常数据时,对请求数据添加数据异常标识之前,该方法还包括:

根据第一异常数据集合对请求数据进行检测,第一异常数据集合包含至少一种异常数据;在请求数据包含第一异常数据集合中的任意一种异常数据时,确定请求数据存在异常数据。

第一异常数据集合可以包含各种请求数据中常出现的异常数据,保证检测全面的检测范围。

103、获取服务器返回的响应数据。

需要说明的是,对请求数据中的异常数据进行标记后,不做拦截,服务器接收到终端设备发送的请求数据,并且根据请求数据进行处理,生成相应数据,电子设备就可以获取到服务器生成的响应数据。

104、在响应数据存在异常数据时,对响应数据添加数据异常标识。

在一个实施例中,在响应数据存在异常数据时,对响应数据添加数据异常标识之前,该方法还包括:

根据第二异常数据集合对响应数据进行检测,第二异常数据集合包含至少一种异常数据;在响应数据包含第二异常数据集合中的任意一种异常数据时,确定响应数据存在异常数据。

第二异常数据集合可以包含各种响应数据中常出现的异常数据。

105、在请求数据和响应数据都包含数据异常标识时,确定请求数据异常。

在确定请求数据异常后,证明此次请求是异常行为,可以进行报警和拦截,此处,列举两个具体示例进行说明:

在第一个示例中,该方法还包括:

在确定请求数据异常时,生成报警信息,报警信息用于指示请求数据异常。

电子设备还可以将报警信息发送至服务器,也可以向使用电子设备进行异常数据检测的用户展示报警信息。

在第二个示例中,该方法还包括:

在确定请求数据异常时,拦截服务器向终端设备返回的响应数据。

结合步骤103,在电子设备获取到服务器的响应数据后,先对响应数据进行检测,在确定请求数据异常后,不将响应数据转发至终端设备;在确定请求数据无异常时,将响应数据转发至终端设备。

基于上述步骤101-105所描述的异常数据检测方法,此处,以一句话木马连接中国菜刀为例进行说明:

其中,一句话木马是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器web目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。

中国菜刀是一款专业的网站管理软件。

一句话木马连接中国菜刀即为通过中国菜刀连接植入在网站服务器中的一句话木马的行为。

第一步:获取请求数据中的异常数据特征。

例如,在以下代码中,“δz0=qg”即为异常数据。

post/1.phphttp/1.1

x-forwarded-for:199.1.88.29

referer:http://192.168.20.51

content-type:application/x-www-form-urlencoded

user-agent:mozilla/5.0(windows;windowsnt5.1;en-us)firefox/3.5.0

host:192.168.20.51

content-length:720

cache-control:no-cache

pass=@eval(base64_decode($_post[z0]));δz0=qgluav9zzxqoimrpc3bs

yxlfzxjyb3jziiwimcipo0bzzxrfdgltzv9saw1pdcgwkttac2v0x21hz2

……

第二步,对异常数据进行标记,但不做拦截行为。

例如:

alerthttpanyany->anyany(content:"post";http_method;content:"&z";http_client_body;flowbits:set,chopper;flowbits:noalert;sid:10000;)

该条规则为标记请求数据中的异常数据特征,但不对该异常数据进行拦截。

第三步,获取响应数据中的异常数据。

例如,在以下代码中,“->|./”即为异常数据。

dgrvy3ncxa%3d3dhttp/1.1200ok

date:mon,23apr201806:32:35gmt

server:apache/2.4.12(win32)openssl/1.0.1lphp/5.6.8

x-powered-by:php/5.6.8

content-length:1355

content-type:text/html;charset=utf-8

->|./2017-12-1105:45:2181920777

../2016-05-1106:16:36122880777

adp/2017-12-1105:45:2100777

ctf/2017-12-1105:45:2100777

dashboard/2017-12-1105:45:2100777

dm/2017-12-1105:45:2100777

feifeicms/2017-12-1105:45:2100777

forbidden/2017-12-1105:45:2100777

第四步,对异常数据进行标记,结合第一步,请求数据中标记的异常数据,在请求数据和响应数据都存在异常数据时,确定该请求数据异常,也证明本次请求是异常行为。

例如:

alerthttpanyany->anyany(msg:"webshellchopperdetected";file_data;content:"->|7c|";file_data;content:"|7c|<-";flowbits:isset,chopper;sid:201801002;)

该条规则为匹配响应数据中的异常数据特征,通过请求数据的打标和响应数据的匹配,双向的流量来检测异常行为,并发出警告。

当然,以上示例仅为对该方法的表现形式之一,该方法包含但不限于以上示例。

本公开实施例提供的异常数据检测方法,对终端设备向服务器发送的请求数据,已经服务器生成的响应数据都进行检测,在请求数据和响应数据存在异常数据,并且导致了异常的响应数据产生时,才确定请求数据异常,对异常数据的检测更加准确。

基于上述图1对应的实施例中所描述的异常数据检测方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。

本公开实施例提供一种电子设备,用于执行上述图1对应的实施例中所描述的异常数据检测方法,如图2所示,该电子设备20包括:第一获取模块201、第一标记模块202、第二获取模块203、第二标记模块204和判断模块205;

其中,第一获取模块201,用于获取终端设备向服务器发送的请求数据;

第一标记模块202,用于在请求数据存在异常数据时,对请求数据添加数据异常标识;

第二获取模块203,用于获取服务器返回的响应数据;

第二标记模块204,用于在响应数据存在异常数据时,对响应数据添加数据异常标识;

判断模块205,用于在请求数据和响应数据都包含数据异常标识时,确定请求数据异常。

在一个实施例中,如图3所示,电子设备20还包括第一检测模块206;

第一检测模块206,用于根据第一异常数据集合对请求数据进行检测,第一异常数据集合包含至少一种异常数据;在请求数据包含第一异常数据集合中的任意一种异常数据时,确定请求数据存在异常数据。

在一个实施例中,如图4所示,电子设备20还包括第二检测模块207;

第二检测模块207,用于根据第二异常数据集合对响应数据进行检测,第二异常数据集合包含至少一种异常数据;在响应数据包含第二异常数据集合中的任意一种异常数据时,确定响应数据存在异常数据。

在一个实施例中,如图5所示,电子设备20还包括报警模块208;

报警模块208,用于在确定请求数据异常时,生成报警信息,报警信息用于指示请求数据异常。

在一个实施例中,如图6所示,电子设备20还包括拦截模块209;

拦截模块209,用于在确定请求数据异常时,拦截服务器向终端设备返回的响应数据。

本公开实施例提供的电子设备,对终端设备向服务器发送的请求数据,已经服务器生成的响应数据都进行检测,在请求数据和响应数据存在异常数据,并且导致了异常的响应数据产生时,才确定请求数据异常,对异常数据的检测更加准确。

基于上述图1对应的实施例中所描述的异常数据检测方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:readonlymemory,rom)、随机存取存储器(英文:randomaccessmemory,ram)、cd-rom、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1对应的实施例中所描述的异常数据检测方法,此处不再赘述。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

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