CN104852907A - 一种跨站点伪造请求csrf攻击识别方法和设备 - Google Patents

一种跨站点伪造请求csrf攻击识别方法和设备 Download PDF

Info

Publication number
CN104852907A
CN104852907A CN201510185810.3A CN201510185810A CN104852907A CN 104852907 A CN104852907 A CN 104852907A CN 201510185810 A CN201510185810 A CN 201510185810A CN 104852907 A CN104852907 A CN 104852907A
Authority
CN
China
Prior art keywords
source
uri
request
src
http request
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
Application number
CN201510185810.3A
Other languages
English (en)
Other versions
CN104852907B (zh
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.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201510185810.3A priority Critical patent/CN104852907B/zh
Publication of CN104852907A publication Critical patent/CN104852907A/zh
Application granted granted Critical
Publication of CN104852907B publication Critical patent/CN104852907B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

本发明公开了一种跨站点伪造请求CSRF攻击检测方法和设备,通过在检测到获取的HTTP请求的负载中的src处于异常状态时,判断在预定时间内是否接收到源IP与HTTP请求的源IP相同异常GET来确认是否受到了CSRF攻击;以此通过持续检测处于异常状态的src和异常GET请求来共同确认是否受到了基于伪造src的CSRF攻击,实现了对基于伪造src的CSRF攻击的识别。

Description

一种跨站点伪造请求CSRF攻击识别方法和设备
技术领域
本发明实施例涉及通信技术领域,尤其是涉及一种跨站点伪造请求CSRF攻击识别方法和设备。
背景技术
CSRF(Cross-Site Request Forgery,跨站点伪造请求)攻击的核心是伪造表单,通过伪造表单在受影响的应用***添加任意管理员,例如添加的管理员命名为X1,并给部分关键的参数设置好值,如在添加管理员时需将新用户名,用户密码,用户邮箱等关键参数设置好值。以此用户在访问恶意网站时,恶意网站会窃取正常用户的权限来将伪造的表单发送给***服务器中,在***服务器执行该伪造的表单之后进行攻击。
CSRF攻击最常用的就是通过伪造表单进行攻击,但如果目标服务器部署了入侵防御设备,这种攻击方法可能会被入侵防御***识别,导致攻击失败;对此某些攻击者可能会继续采用一些逃逸入侵防御设备检测的方法进行攻击;例如利用伪造src(Source,信息来源)代替伪造表单的方法来进行CSRF攻击,将攻击所用的伪造表单替换成img的src形式,这样当正常网站的管理员在以管理员身份登录了正常网站后,再点击包含img标签的恶意网站时,攻击者构造的管理员(例如X1)将被添加,用户的权限被窃取,从而后续可以利用窃取到的用户权限对该正常网站进行CSRF攻击。
而在现有技术中,所采取的措施都只能识别基于伪造表单的CSRF攻击,而无法识别基于伪造src的CSRF攻击。
发明内容
本发明实施例提供了一种跨站点伪造请求CSRF攻击检测方法,包括:
检测获取的超文本传输协议HTTP请求的负载中的信息来源src是否处于异常状态;
若src处于异常状态,判断在预定时间内是否接收到源IP与HTTP请求的源IP相同的异常GET请求;
若在预定时间内接收到源IP与所述HTTP请求的源IP相同的异常GET请求,则确认受到了CSRF攻击。
优选的,检测获取的HTTP请求负载中的src是否处于异常状态,具体为:
检测获取的HTTP请求的负载中src的长度是否大于阈值,以及检测src中的统一资源标识符uri后面是否存在问号;
若src的长度大于阈值,且uri后面存在问号,检测问号后面是否存在有不少于两个值为非空的参数;
若问号后面是否存在有不少于两个值为非空的参数,则确定src处于异常状态。
优选的,判断在预定时间内是否接收到源IP与HTTP请求的源IP相同的异常GET请求,具体为:
判断在预定时间内是否接收到源IP与HTTP请求的源IP相同的GET请求;
若在预定时间内接收到源IP与HTTP请求的源IP相同的GET请求,则判断GET请求中的uri与处于异常状态的src中的uri是否一致,以及判断GET请求中的uri和前一个链接标识referer是否不相关;
若GET请求中的uri与处于异常状态的src中的uri一致,且GET请求中的uri和referer不相关,则确定接收到的GET请求是源IP与HTTP请求的源IP相同的异常GET请求。
优选的,判断GET请求中的uri和referer是否不相关,具体为:
提取GET请求中的uri和referer;
基于uri和referer中的斜杠将uri和referer划分为多个部分;
若所述uri中的任意一个部分均与所述referer中的任一部分不同,则确定GET请求中的uri和referer不相关。
优选的,判断在预定时间内是否接收到基于处于异常状态的src生成的异常GET请求,具体为:
将HTTP请求中的源IP,处于异常状态的src中的统一资源标识符uri和当前的时间记录在危险列表中,危险列表中存储的信息基于记录的时间定时老化;
基于危险列表中存储的信息判断在预定时间内是否接收到源IP与HTTP请求的源IP相同的异常GET请求;
若在预定时间内接收到源IP与所述HTTP请求的源IP相同的异常GET请求,将危险列表中记录的时间更新为接收异常GET请求的时间。
本发明实施例还提供了一种跨站点伪造请求CSRF攻击检测设备,包括:
检测模块,用于检测获取的超文本传输协议HTTP请求中负载中的信息来源src是否处于异常状态;
判断模块,用于当确定src处于异常状态时,判断在预定时间内是否接收到源IP与HTTP请求的源IP相同的异常GET请求;
识别模块,用于在预定时间内接收到源IP与所述HTTP请求的源IP相同的异常GET请求时,确认受到了CSRF攻击。
优选的,检测模块,具体用于:
检测获取的HTTP请求的负载中src的长度是否大于阈值,以及检测src中的统一资源标识符uri后面是否存在问号;
若src的长度大于阈值,且uri后面存在问号,检测问号后面是否存在有不少于两个值为非空的参数;
若问号后面存在有不少于两个值为非空的参数,则确定src处于异常状态。
优选的,判断模块,具体用于:
判断在预定时间内是否接收到源IP与HTTP请求的源IP相同的GET请求;
若在预定时间内接收到源IP与HTTP请求的源IP相同的GET请求,则判断GET请求中的uri与处于异常状态的src中的uri是否一致,以及判断GET请求中的uri和前一个链接标识referer是否不相关;
若GET请求中的uri与处于异常状态的src中的uri一致,且GET请求中的uri和referer不相关,则确定接收到的GET请求是源IP与HTTP请求的源IP相同的异常GET请求。
优选的,判断模块判断GET请求中的uri和referer是否不相关,具体包括:
提取GET请求中的uri和referer;
基于uri和referer中的斜杠将uri和referer划分为多个部分;
若所述uri中的任意一个部分均与所述referer中的任一部分不同,则确定GET请求中的uri和referer不相关。
优选的,判断模块,具体用于:
将HTTP请求中的源IP,处于异常状态的src中的统一资源标识符uri和当前的时间记录在危险列表中,危险列表中存储的信息基于记录的时间定时老化;
基于危险列表中存储的信息判断在预定时间内是否接收到源IP与HTTP请求的源IP相同的异常GET请求;
若在预定时间内接收到源IP与所述HTTP请求的源IP相同的异常GET请求,将危险列表中记录的时间更新为接收异常GET请求的时间。
与现有技术相比,本发明实施例公开了通过在检测到获取的HTTP请求的负载中的src处于异常状态时,判断在预定时间内是否接收到源IP与HTTP请求的源IP相同异常GET来确认是否受到了CSRF攻击;以此通过持续检测处于异常状态的src和异常GET请求来共同确认是否受到了基于伪造src的CSRF攻击,实现了对基于伪造src的CSRF攻击的识别。
附图说明
图1是本发明实施例提出的一种CSRF攻击检测方法的流程示意图;
图2是CSRF攻击原理的示意图;
图3是本发明实施例提出的一种CSRF攻击检测设备的结构图。
具体实施方式
针对现有技术中存在的上述问题,本发明实施例提供了一种跨站点伪造请求CSRF攻击检测方法,如图1所示,包括以下步骤:
步骤101、检测获取的HTTP请求负载中的src是否处于异常状态。
以图2的环境为例来进行说明,在用户C通过浏览器访问正常的网站A,且验证通过后,网站A返回Cookie信息给浏览器,在Cookie信息的有效时间之内,用户C又访问了网站B,此时,网站B会将HTTP(HyperText TransferProtocol,超文本传输协议)请求返回给用户C,本发明中的步骤101也就是不断检测所有获取的HTTP请求,并进一步解析获取到HTTP请求负载中的src是否处于异常状态。
在一个例子中,检测src是否处于异常状态的过程,具体为:
检测获取的HTTP请求的负载中src的长度是否大于阈值,以及检测src中的统一资源标识符uri后面是否存在问号;
若src的长度大于阈值,且uri后面存在问号,检测问号后面是否存在有不少于两个值为非空的参数;
若问号后面存在有不少于两个值为非空的参数,则确定src处于异常状态;若问号后面不存在有不少于两个值为非空的参数,则可以认为该src未处于异常状态;
也即需要满足上述的三个条件,才能确定src处于异常状态。
具体的,在正常的情况下src引用的是站内资源,只能实现一些简单功能,所以正常的src在一般情况下是不携带协议名(HTTP),也不携带域名(host)或者服务器IP的,也即正常的src长度不会特别长;再者正常的src对应的资源一般为一张图片或者一个页面,这种资源一般情况下没有参数,也即uri后面没有参数以及问号;即使偶尔携带有参数,值为非空的参数个数不会超过两个;因此对应于正常src的特征,同时考虑到判断的准确性,可以将同时满足上面三个条件的src称为处于异常状态的src。
以一个具体的src为例来进行说明,例如该src具体为:http://192.168.20.172/vlun/axous/admin/administrators_add.php?user_name=img1&new_passwd=&new_passwd1=passimg1…,该src中的uri为/vlun/axous/admin/administrators_add.php。在判断的该src是否异常的过程中,判断该src的长度是否超过阈值,以及判断该src中的uri后面是否存在问号,若该src的长度超过阈值,且src中的uri为:/vlun/axous/admin/administrators_add.php,可见src中的uri后存在一个问号。在此情况下,继续判断问号后面是否存在至少两个值为非空的参数。该src中uri的问号后面还存在内容“user_name=img1&new_passwd=&new_passwd1=passimg1…”。其中,包括值为非空的参数“user_name=img1”和“new_passwd1=passimg1”,及值为空的参数“new_passwd=”,也即该src中uri的问号后面存在不少于两个值为非空的参数,因此可以确认该src处于异常状态。
在确认了src处于异常状态之后,执行步骤102;若确认src并未处于异常状态,针对该HTTP请求的检测结束。
步骤102、判断在预定时间内是否接收到源IP与HTTP请求的源IP相同的异常GET请求。
其中判断的具体过程可以如下:
判断在预定时间内是否接收到源IP与HTTP请求的源IP相同的GET请求;若在预定时间内接收到源IP与HTTP请求的源IP相同的GET请求,则判断GET请求中的uri与处于异常状态的src中的uri是否一致,以及判断GET请求中的uri和referer(前一个链接标识,Referer是GET请求头部的一部分,当浏览器向web服务器发送请求的时候,web服务器可以基于Referer知道GET请求是从哪个页面链接过来的)是否不相关;若GET请求中的uri与处于异常状态的src中的uri一致,且GET请求中的uri和referer不相关,则确定接收到的GET请求是基于异常的src产生的异常GET请求。
具体的,HTTP请求的源IP是用户的IP,当用户访问了恶意网站时,恶意网站要窃取用户的权限,并利用用户的权限来对之前用户访问的正常的网站进行攻击,而该攻击需要利用用户的IP,因此需要判断GET请求的源IP是否与HTTP请求的源IP相同,若相同,则继续判断该GET请求是否是异常GET请求。
判断GET请求是否是异常的GET请求,其过程如下:
由于uri是用来标识资源的,在此情况下检测到GET请求的uri和处于异常状态的uri一致时,说明疑似被攻击的IP试图访问服务器上的疑似本次攻击需要访问的页面,由于只能判断为疑似攻击,为了进一步判断是否该疑似攻击是真正的攻击,需要进一步判断GET请求中的uri(对应新页面的地址)和referer(对应前一个页面的地址)的相关性。
正常访问一个网页时都是从同网站的一个页面跳转到另一个页面,也就是说要从前一个页面(referer)跳转新页面(uri),此时两个地址因为是同一个网站内,所以具有一定的相关性,比如从http://rdbbs/bbs/forum.php?mod=forumdisplay&fid=58页面点击跳转到http://rdbbs/bbs/forum.php?mod=viewthread&tid=129页面时,可以看到“/bbs/forum.php?mod”部分是相同的,也即两者相关,但若是在进行攻击时,并不是在同一个网站的一个页面跳转到另一个页面,而是在不同的网站之间的不同的页面进行跳转,这样GET请求中的uri和referer就不会相关,也即各个部分都是不相同的。
因此,若同时满足以上两个条件,则可以确定接收到的GET请求是异常GET请求,就可以确定接收到的是源IP与HTTP请求的源IP相同的异常GET请求。
具体的过程中,如图2以及前述,用户C访问正常的网站A,产生的Cookie信息是有时间限制的,而CSRF攻击就是要窃取用户的权限来攻击正常的网页,因此必须要在Cookie信息的有效时间内发动攻击,为此需要在预定时间(具体的预定时间基于Cookie信息的有效时间进行设置)内检测是否接收到来自于用户的IP(也即HTTP请求中的源IP,例如为192.168.20.170)的GET请求,若是在预定的时间内没有接收到来自用户的IP的GET请求,Cookie信息过了有效期,也就意味着用户的权限无法被窃取,可以认为无法进行CSRF攻击;而若是在预定时间收到了来自用户的IP的GET请求,也需要进一步判断该GET请求是否是异常GET请求才能确定是否受到了CSRF攻击。
具体的判断GET请求是否是异常GET请求,是根据判断该GET请求中的referer与uri是否不相关,以及GET请求的uri和处于异常状态的uri是否一致来共同确定的,例如GET请求中的referer为:http://192.168.20.174/test/7829.htm,GET请求中的uri为/vlun/axous/admin/administrators_add.php,这两者是不相关的,而处于异常状态的src中的uri为/vlun/axous/admin/administrators_add.php,与GET请求中的uri一模一样,是一致的,因此可以确认该GET请求为异常GET请求。
其中、具体的判断GET请求中的uri和referer是否不相关,有如下过程:提取GET请求中的uri和referer;基于uri和referer中的斜杠将uri和referer划分为多个部分;若uri中的任意一个部分均与所述referer中的任一部分不同,则确定GET请求中的uri和referer不相关。
以一个合法用户通过web方式正常实现跨站访问功能的请求为例来进行说明,例如请求中uri为/vlun/axous/admin_list.php,而referer为http://192.168.20.172/vlun/axous/admin/administrators_add.php,这两者之间的/vlun/axous/是相同的,因此uri和referer是相关的。
以一个非法的方式实现跨站访问功能的请求为例来进行说明,该请求中referer具体为:http://192.168.20.174/test/7829.htm,而uri为:/vlun/axous/admin/administrators_add.php,将uri中的字符串转换成数组url[]:以斜杠为分隔符进行转换,非第一个斜杠需同时出现在前后两个数组元素中。此时将uri转换后的url[]为:url[]={‘/vlun/’,‘/axous/’,‘/admin/’,‘/administrators_add.php’}。然后将referer进行相同的转换,将其转换为referer[]={‘/192.168.20.174/’,‘/test/’,‘/7829.htm/’},再在referer字符串中遍历查找url数组的所有元素,如果Referer字符串中存在uri数组的某个元素,则停止查找,说明uri和referer相关,如果uri数组中的所有元素中的任意一个元素均不存在于referer字符串中,则说明uri和referer不相关。
另外,在确定src处于异常状态时,还可以将HTTP请求中的源IP,处于异常状态的src中uri以及当前的时间记录在危险列表中,危险列表中存储的信息基于记录的时间定时老化;基于危险列表中存储的信息判断在预定时间内是否接收到源IP与HTTP请求中的源IP相同的异常GET请求;若在预定时间内接收到源IP与HTTP请求的源IP相同的异常GET请求,将危险列表中记录的时间更新为接收异常GET请求的时间。
具体的,以上述HTTP请求中的源IP(192.168.20.170)以及Uri(/vlun/axous/admin/administrators_add.php)信息为例,该危险列表可以如表1所示:
表1
表1中的时间D1为当前的时间(即接收到该异常HTTP请求),后续基于Cookie信息有效时间确定表1中的老化时间,由于在确定src处于异常状态时,就建立了危险列表,并基于该危险列表对接收到的GET请求进行检测,因此该危险列表老化时间即为前述的预定时间,当到达老化时间时,说明Cookie信息不再有效了,可以删除对应的信息;而若是还未到达老化时间,也即Cookie信息仍旧有效,就可以利用该表1中的信息,判断在预定时间内是否接收到源IP与HTTP请求的源IP相同的异常GET请求,其具体的过程与前述过程相同,在此不再进行赘叙,而在预定时间内接收到源IP与HTTP请求的源IP相同的异常GET请求,接收的时间是在Cookie信息仍旧有效的时间段内,例如为时间为A,将危险列表中的时间D1更新为时间A,这是由于Cookie信息有效时间是基于每一次的登陆时间来重新以该次登陆的时间作为起点进行计算的,若在预定时间内接收到源IP与HTTP请求的源IP相同的异常GET请求,表示基于盗取的用户权限又登陆了正常的网站,因此Cookie信息有效时间就需要基于该次登陆的时间作为开始时间,向后延一段时间,例如一个小时,并继续基于更新了时间的危险列表中存储的信息判断在“预定时间”(该预定时间是基于延长后的Cookie信息有效时间进行设置的)内是否接收到源IP与HTTP请求中的源IP相同的异常GET请求。
若判断在预定时间内接收到源IP与HTTP请求的源IP相同的异常GET请求,则执行步骤103;若在预定时间内并未接收到源IP与HTTP请求的源IP相同的异常GET请求,针对该HTTP请求的检测流程结束。
步骤103、确认受到了CSRF攻击。
具体的,在确定了预定时间内接收到源IP与HTTP请求的源IP相同的异常GET请求,也即接收到的GET请求的源IP与HTTP请求的源IP相同,且该GET请求中的uri和处于异常状态下的src中的uri一致,且该GET请求的uri和referer不相关,则可以确认受到了CSRF攻击。
本发明实施例还提出了一种跨站点伪造请求CSRF攻击检测设备,如图3所示,包括:
检测模块301,用于检测获取的HTTP请求的负载中的src是否处于异常状态;
判断模块302,用于当确定src处于异常状态时,判断在预定时间内是否接收到源IP与HTTP请求的源IP相同的异常GET请求;
识别模块303,用于在预定时间内接收到源IP与HTTP请求的源IP相同的异常GET请求时,确认受到了CSRF攻击。
具体的,检测模块301,具体用于:
检测获取的HTTP请求的负载中src的长度是否大于阈值,以及检测src中的统一资源标识符uri后面是否存在问号;
若src的长度大于阈值,且uri后面存在问号,检测问号后面是否存在有不少于两个值为非空的参数;
若问号后面存在有不少于两个值为非空的参数,则确定src处于异常状态。
具体的,判断模块302,具体用于:
判断在预定时间内是否接收到源IP与HTTP请求的源IP相同的GET请求;
若在预定时间内接收到源IP与HTTP请求的源IP相同的GET请求,则判断GET请求中的uri与处于异常状态的src中的uri是否一致,以及判断GET请求中的uri和前一个链接标识referer是否不相关;
若GET请求中的uri与处于异常状态的src中的uri一致,且GET请求中的uri和referer不相关,则确定接收到的GET请求是源IP与HTTP请求的源IP相同的异常GET请求。
判断模块302判断GET请求中的uri和referer是否不相关,具体包括:
提取GET请求中的uri和referer;
基于uri和referer中的斜杠将uri和referer划分为多个部分;
若所述uri中的任意一个部分均与所述referer中的任一部分不同,则确定GET请求中的uri和referer不相关。
判断模块302,具体用于:
将HTTP请求中的源IP,处于异常状态的src中的统一资源标识符uri和当前的时间记录在危险列表中,危险列表中存储的信息基于记录的时间定时老化;
基于危险列表中存储的信息判断在预定时间内是否接收到源IP与HTTP请求的源IP相同的异常GET请求;
若在预定时间内接收到源IP与所述HTTP请求的源IP相同的异常GET请求,将危险列表中记录的时间更新为接收异常GET请求的时间。
与现有技术相比,本发明实施例公开了一种跨站点伪造请求CSRF攻击检测方法和设备通过通过在检测到获取的HTTP请求的负载中的src处于异常状态时,判断在预定时间内是否接收到源IP与HTTP请求的源IP相同异常GET来确认是否受到了CSRF攻击;以此通过持续检测处于异常状态的src和异常GET请求来共同确认是否受到了基于伪造src的CSRF攻击,实现了对基于伪造src的CSRF攻击的识别。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (10)

1.一种跨站点伪造请求CSRF攻击检测方法,其特征在于,包括:
检测获取的超文本传输协议HTTP请求的负载中的信息来源src是否处于异常状态;
若所述src处于异常状态,判断在预定时间内是否接收到源IP与所述HTTP请求的源IP相同的异常GET请求;
若在预定时间内接收到源IP与所述HTTP请求的源IP相同的异常GET请求,则确认受到了CSRF攻击。
2.如权利要求1所述的方法,其特征在于,所述检测获取的HTTP请求的负载中的src是否处于异常状态,具体为:
检测获取的HTTP请求的负载中src的长度是否大于阈值,以及检测所述src中的统一资源标识符uri后面是否存在问号;
若所述src的长度大于阈值,且所述uri后面存在问号,检测所述问号后面是否存在有不少于两个值为非空的参数;
若所述问号后面存在有不少于两个值为非空的参数,则确定所述src处于异常状态。
3.如权利要求1所述的方法,其特征在于,所述判断在预定时间内是否接收到源IP与所述HTTP请求的源IP相同的异常GET请求,具体为:
判断在预定时间内是否接收到源IP与所述HTTP请求的源IP相同的GET请求;
若在预定时间内接收到源IP与所述HTTP请求的源IP相同的GET请求,则判断所述GET请求中的uri与所述处于异常状态的src中的uri是否一致,以及判断所述GET请求中的uri和前一个链接标识referer是否不相关;
若所述GET请求中的uri与所述处于异常状态的src中的uri一致,且所述GET请求中的uri和referer不相关,则确定接收到的GET请求是源IP与所述HTTP请求的源IP相同的异常GET请求。
4.如权利要求3所述的方法,其特征在于,判断所述GET请求中的uri和referer是否不相关,具体为:
提取所述GET请求中的uri和referer;
基于uri和referer中的斜杠将所述uri和所述referer划分为多个部分;
若所述uri中的任意一个部分均与所述referer中的任一部分不同,确定所述GET请求中的uri和referer不相关。
5.如权利要求1所述的方法,其特征在于,所述判断在预定时间内是否接收到源IP与所述HTTP请求的源IP相同的异常GET请求,具体为:
将所述HTTP请求中的源IP,处于异常状态的src中的统一资源标识符uri和当前的时间记录在危险列表中,所述危险列表中存储的信息基于记录的时间定时老化;
基于所述危险列表中存储的信息判断在预定时间内是否接收到源IP与所述HTTP请求的源IP相同的异常GET请求;
若在预定时间内接收到源IP与所述HTTP请求的源IP相同的异常GET请求,将所述危险列表中记录的时间更新为接收所述异常GET请求的时间。
6.一种跨站点伪造请求CSRF攻击检测设备,其特征在于,包括:
检测模块,用于检测获取的超文本传输协议HTTP请求的负载中的信息来源src是否处于异常状态;
判断模块,用于当确定所述src处于异常状态时,判断在预定时间内是否接收到源IP与所述HTTP请求的源IP相同的异常GET请求;
识别模块,用于在预定时间内接收到源IP与所述HTTP请求的源IP相同的异常GET请求时,确认受到了CSRF攻击。
7.如权利要求6所述的设备,其特征在于,所述检测模块,具体用于:
检测获取的HTTP请求的负载中src的长度是否大于阈值,以及检测所述src中的统一资源标识符uri后面是否存在问号;
若所述src的长度大于阈值,且所述uri后面存在问号,检测所述问号后面是否存在有不少于两个值为非空的参数;
若所述问号后面存在有不少于两个值为非空的参数,则确定所述src处于异常状态。
8.如权利要求6所述的设备,其特征在于,所述判断模块,具体用于:
判断在预定时间内是否接收到源IP与所述HTTP请求的源IP相同的GET请求;
若在预定时间内接收到源IP与所述HTTP请求的源IP相同的GET请求,则判断所述GET请求中的uri与所述处于异常状态的src中的uri是否一致,以及判断所述GET请求中的uri和前一个链接标识referer是否不相关;
若所述GET请求中的uri与所述处于异常状态的src中的uri一致,且所述GET请求中的uri和referer不相关,则确定接收到的GET请求是源IP与所述HTTP请求的源IP相同的异常GET请求。
9.如权利要求8所述的设备,其特征在于,所述判断模块判断所述GET请求中的uri和referer是否不相关,具体包括:
提取所述GET请求中的uri和referer;
基于uri和referer中的斜杠将所述uri和所述referer划分为多个部分;
若所述uri中的任意一个部分均与所述referer中的任一部分不同,则确定所述GET请求中的uri和referer不相关。
10.如权利要求6所述的设备,其特征在于,所述判断模块,具体用于:
将所述HTTP请求中的源IP,处于异常状态的src中的统一资源标识符uri和当前的时间记录在危险列表中,所述危险列表中存储的信息基于记录的时间定时老化;
基于所述危险列表中存储的信息判断在预定时间内是否接收到源IP与HTTP请求的源IP相同的异常GET请求;
若在预定时间内接收到源IP与所述HTTP请求的源IP相同的异常GET请求,将所述危险列表中记录的时间更新为接收所述异常GET请求的时间。
CN201510185810.3A 2015-04-17 2015-04-17 一种跨站点伪造请求csrf攻击识别方法和设备 Active CN104852907B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510185810.3A CN104852907B (zh) 2015-04-17 2015-04-17 一种跨站点伪造请求csrf攻击识别方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510185810.3A CN104852907B (zh) 2015-04-17 2015-04-17 一种跨站点伪造请求csrf攻击识别方法和设备

Publications (2)

Publication Number Publication Date
CN104852907A true CN104852907A (zh) 2015-08-19
CN104852907B CN104852907B (zh) 2018-08-24

Family

ID=53852263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510185810.3A Active CN104852907B (zh) 2015-04-17 2015-04-17 一种跨站点伪造请求csrf攻击识别方法和设备

Country Status (1)

Country Link
CN (1) CN104852907B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776975A (zh) * 2016-12-06 2017-05-31 成都知道创宇信息技术有限公司 一种识别网页中CSRF token元素的方法
CN107306259A (zh) * 2016-04-22 2017-10-31 腾讯科技(深圳)有限公司 网页页面访问中的攻击检测方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103944900A (zh) * 2014-04-18 2014-07-23 中国科学院计算技术研究所 一种基于加密的跨站请求攻击防范方法及其装置
US8893270B1 (en) * 2008-01-29 2014-11-18 Trend Micro Incorporated Detection of cross-site request forgery attacks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8893270B1 (en) * 2008-01-29 2014-11-18 Trend Micro Incorporated Detection of cross-site request forgery attacks
CN103944900A (zh) * 2014-04-18 2014-07-23 中国科学院计算技术研究所 一种基于加密的跨站请求攻击防范方法及其装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALEXEI CZESKIS.ETC: "Lightweight Server Support for Browser-Based CSRF Protection", 《ACM》 *
郑新新;马兆丰;黄勤龙: "跨站请求伪造(CSRF)分析与检测技术研究", 《第十届中国通信学会学术年会论文集》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107306259A (zh) * 2016-04-22 2017-10-31 腾讯科技(深圳)有限公司 网页页面访问中的攻击检测方法和装置
CN106776975A (zh) * 2016-12-06 2017-05-31 成都知道创宇信息技术有限公司 一种识别网页中CSRF token元素的方法

Also Published As

Publication number Publication date
CN104852907B (zh) 2018-08-24

Similar Documents

Publication Publication Date Title
CN109951500B (zh) 网络攻击检测方法及装置
US10498761B2 (en) Method for identifying phishing websites and hindering associated activity
CN108683666B (zh) 一种网页识别方法及装置
US10248782B2 (en) Systems and methods for access control to web applications and identification of web browsers
CN103701793B (zh) 服务器肉鸡的识别方法和装置
US8601586B1 (en) Method and system for detecting web application vulnerabilities
Pan et al. Anomaly based web phishing page detection
US8392963B2 (en) Techniques for tracking actual users in web application security systems
KR101001132B1 (ko) 웹 어플리케이션의 취약성 판단 방법 및 시스템
US8307431B2 (en) Method and apparatus for identifying phishing websites in network traffic using generated regular expressions
CN103701795B (zh) 拒绝服务攻击的攻击源的识别方法和装置
CN103929440B (zh) 基于web服务器缓存匹配的网页防篡改装置及其方法
EP3557843B1 (en) Content delivery network (cdn) bot detection using compound feature sets
US20110289583A1 (en) Correlation engine for detecting network attacks and detection method
CN109495423A (zh) 一种防止网络攻击的方法及***
CN107295116B (zh) 一种域名解析方法、装置及***
CN105939326A (zh) 处理报文的方法及装置
WO2010111716A1 (en) Real-time malicious code inhibitor
CN111786966A (zh) 浏览网页的方法和装置
CN106713318B (zh) 一种web站点安全防护方法及***
CN105635064B (zh) Csrf攻击检测方法及装置
CN107733699B (zh) 互联网资产安全管理方法、***、设备及可读存储介质
WO2018066000A1 (en) System and method to detect and block bot traffic
Kaur et al. Browser fingerprinting as user tracking technology
CN111079138A (zh) 异常访问检测方法、装置、电子设备及可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant before: Huasan Communication Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant