首页 / 专利库 / 电脑安全 / 跨站请求伪造 / 一种CSRF攻击的快速定位与识别系统和方法

一种CSRF攻击的快速定位与识别系统和方法

阅读:769发布:2020-05-17

专利汇可以提供一种CSRF攻击的快速定位与识别系统和方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种CSRF攻击的快速 定位 与识别系统和方法,其中本发明系统包括有HTTP 请求 信息收集模 块 ,用户身份认证模块,用户权限授权模块, 数据库 系统操作识别模块,文件系统操作识别模块,CSRF漏洞识别与定位模块,本发明方法通过对数据库与文件系统操作判断并判定需要的CSRF防护的URL列表、添加具有CSRF攻击漏洞的URL列表,做到有效识别与快速定位。,下面是一种CSRF攻击的快速定位与识别系统和方法专利的具体信息内容。

1.一种CSRF攻击的快速定位与识别系统,其特征在于:包括有
HTTP请求信息收集模,对用户输入的HTTP请求信息进行收集,包括Get,Post URL请求参数等;
用户身份认证模块,对用户身份的识别,因为CSRF攻击都是利用他人的身份做事,对用户身份的识别可便于识别与定位CSRF攻击;
用户权限授权模块,对用户权限的识别,因为发起CSRF攻击的攻击者本人没有权限做此事,对用户权限的识别可便于识别与定位CSRF攻击;
数据库系统操作识别模块,CSRF攻击成功可能会导致数据库中的数据进行了增加,删除或修改操作,可通过数据库系统操作识别数据库是否进行增加,删除或修改操作;
文件系统操作识别模块,CSRF攻击成功可能会导致文件系统中出现了添加,删除或修改操作;
CSRF漏洞识别与定位模块,如果满足以上条件,并且系统没有做CSRF防护的情况下,上述模块都有CSRF攻击险,则对上述各步骤出现的异常进行快速识别与定位。
2.一种CSRF攻击的快速定位与识别方法,其特征在于:包括有以下步骤:
接受HTTP请求;
对HTTP请求进行信息收集;
认证:判断该请求是否需要登录,如果执行,则判断该用户是否有权限执行,如果不执行,则确定HTTP请求正常,并对HTTP请求进行下一步处理;
授权:判断该用户是否有权限执行,如果执行,则进行步骤判断是否包括数据库添加、删除、修改操作,如果不执行,则返回无权限执行异常页面;
判断是否包括数据库添加、删除、修改操作,如果有上述一或多种操作,则判断是否包含CSRFToken验证参数,并且CSRFToken值足够随机,如果没有,则判断是否包括文件新建、删除、修改操作;
判断是否包括文件新建、删除、修改操作,如果有上述一或多种操作,则判断是否包含CSRFToken验证参数,并且CSRFToken值足够随机,如果没有,则确定HTTP请求正常,并对HTTP请求进行下一步处理;
判断是否包含CSRFToken验证参数,并且CSRFToken值足够随机,如果执行,则确定HTTP请求正常,并对HTTP请求进行下一步处理,如果不执行,则识别并定位到具有CSRF攻击漏洞的URL,不断加到漏洞列表中;
确定HTTP请求正常,并对HTTP请求进行下一步处理;
返回无权限执行异常页面;
识别并定位到具有CSRF攻击漏洞的URL,不断加到漏洞列表中。
3.根据权利要求2所述的一种CSRF攻击的快速定位与识别方法,其特征在于:本发明站点请求伪造快速识别与定位需要的CSRF防护的URL列表,识别并定位到具有CSRF攻击漏洞的URL,不断加到漏洞列表中,并通过如下步骤完成:网络爬虫工具或人工访问URL,请求执行某个(些)功能;系统检查爬虫工具或人工想要执行的功能,是否需要用户已经登录,并且需要用户的身份才有权限去做此事;检查此功能,如果该功能会调用数据库或文件系统的添加,删除或修改功能,就会将此功能的URL放入到csrftoken-verify-list.xml,csrftoken-verify-list.xml会去除相同的URL,最终在csrftoken-verify-list中的URL,都是需要进行CSRF防护的URL,对可能出现CSRF攻击URL快速识别与定位。
4.根据权利要求2所述的一种CSRF攻击的快速定位与识别方法,其特征在于:本发明跨站点请求伪造快速识别与定位具有CSRF攻击漏洞的URL列表,识别并定位到具有CSRF攻击漏洞的URL,不断加到漏洞列表中,并通过如下步骤完成:网络爬虫工具或人工访问URL,请求执行某个(些)功能;系统检查爬虫工具或人工想要执行的功能,是否需要用户已经登录,并且需要用户的身份才有权限去做此事;检查此功能,如果该功能会调用数据库或文件系统的添加,删除或修改功能。如果满足,继续检查该功能的URL请求是否带CSRFToken参数,并且这个参数是否足够随机。如果没带CSRFToken或CSRFToken参数不够随机,就将其加入到csrf-issue-list.xml中,这样csrf-issue-list.xml中存放的都是具有CSRF攻击漏洞的URL列表,确保能快速识别与定位一个系统中当前存在的CSRF漏洞。

说明书全文

一种CSRF攻击的快速定位与识别系统和方法

技术领域

[0001] 本发明涉及网络通信技术领域,具体尤其涉及一种CSRF攻击的快速定位与识别系统和方法。

背景技术

[0002] 随着科技的发展,现有各种网络应用盛行,在Web应用层面上的安全攻击逐渐占据主流。跨站点请求伪造(CSRF)因其攻击隐蔽性强,攻击危害性大,从2007至2017近十年都排在Web安全攻击前十名,对上网用户生活与财产安全构成极大威胁,然而,目前无论是手工还是自动化检测都缺少对CSRF漏洞的准确识别,CSRF的防御方法也较多,但大多适用特定场合,很难得到全面防护,让这种攻击防不胜防。
[0003] CSRF的思想可以追溯到上世纪八十年代,早在1988年Norm Hardy发现这个应用级别的信任问题,并把它称为混淆代理人(Confused Deputy)。2001年Peter Watkins第一次将其命名为CSRF,并将其报在Bugtraq缺陷列表中,从此CSRF开始进入人们的视线,而从2007年至今,CSRF攻击一直排名在Web安全攻击前十名。
[0004] 大量研究发现,国际互联网上CSRF攻击普遍存在,典型的CSRF攻击如荷兰国际集团旗下的网络行INGDirect可以任意创建用户,可以任意汇款,导致银行个人财产的丢失;孟加拉银行Bangladesh Bank 1亿美元被窃取;视频网站YouTube可以任意添加用户、加为好友列表等;阿里巴巴安全部发生的抢月饼事件等,CSRF就像一个狡猾的猎人在自己的狩猎区布置了一个个陷阱,上网用户就像一个个猎物,在自己不知情的情况下被其引诱,触发了陷阱,导致了用户的信息暴露,财产丢失。因为其极其隐蔽,并且利用的是互联网Web认证自身存在的漏洞,所以很难被发现并且破坏性大。
[0005] CSRF之所以能够广泛存在,主要原因是Web身份认证及相关机制的缺陷,而当今Web身份认证主要包括像隐式认证、同源策略、跨域资源共享、Cookie安全策略、Flash安全策略等。CSRF是通过第三方伪造用户请求来欺骗服务器,以达到冒充用户身份、行使用户权利的目的。
[0006] CSRF攻击比较隐蔽,在通常情况下,用户访问了一个攻击者精心构造的网页,或点击了一个不知名的网络链接,攻击就生效了,攻击者就像一个捕猎者,首先寻找容易设下陷阱的网站,无论是跨域或同域(寻找场合);然后在较为隐蔽的场合伪造请求设置陷阱(等候猎物),最后等待用户点击链接或访问某个网页导致攻击生效(成功捕获);不管上网用户是主动点击某个恶意链接,还是无意访问某个网页,都有可能进入攻击者精心设计的CSRF圈套。
[0007] CSRF攻击隐蔽性强,破坏性大,并且容易被忽视,如何有效的识别与定位CSRF攻击点变得非常重要,如果能快速找到这些能被攻击的点,软件架构师就能从设计上去预防,软件开发工程师也能有的放矢的进行防护,软件测试工程师也能有针对性地进行CSRF攻击验证测试,从而消除CSRF潜在威胁,给广大网络用户提供一个相对安全的上网环境,令人可惜的是,目前市面上还没有一个专门准确的扫描CSRF攻击漏洞的工具,同时由于CSRF攻击大多是人为精心设计的陷阱,所以通过目前基于模式匹配方式进行扫描或渗透攻击的工具,对CSRF的识别与定位非常薄弱,以静态扫描工具Coverity、JTest等为例,这些工具能够非常方便的扫描出XSS攻击,但对于CSRF攻击基本上是无能为,而安全动态渗透工具像AppScan、ZAP等,能比较方便的渗透出SQL Injection或XSS攻击,但仅能少量的扫描出CSRF攻击,并且扫描出来的结果还需要人工去分析,扫描的结果是否正确,大量的CSRF漏洞无法准确识别出来,到目前为止,市面上还没有一个工具能准确的识别与定位CSRF攻击。
[0008] 由于CSRF攻击影响大,对CSRF攻击的防御研究相对来说主要存在以下几个方面;初期开发者认为CSRF之所以能够攻击成功,主要是攻击者模拟一个可运行的URL,并且这个URL中的参数都显示在浏览器的地址栏中,很方便攻击者伪造同样的URL进行攻击,不过开发者很快就发现,这种防护只是稍微增加了攻击者的门槛,实际上只要有一点HTML网页编程基础的人,都很容易将Get改成Post发出,所以这种防护相对来说,并不能真正防护CSRF攻击,只是增加一点攻击的门槛;另有提出HTTP Referer header防护,初期开发者认为CSRF能发生,主要由于跨域的伪造URL请求,从而导致CSRF攻击成功,所以程序员们认为检查HTTP Referer header会是避免CSRF攻击的很有效方法,只要链接过来的域和网站原先的域不一致,就不让其访问,这样就能够防止CSRF攻击了,这个方法的确能够有一定的防护作用,但目前的浏览器Referer header是能被篡改的,同时弹出窗口中Referer header经常为空,这就导致Referer header的解决方案存在及缺陷,同时Referer header只能防跨域攻击,对同域的CSRF攻击无能为力;还有提出解决方法是在浏览器中安装一个插件,这个插件用来限制哪些站点能跳转,哪些站点不能跳转,许多安全工程师和程序员认为这是一个很好的方法,可以不用每个应用程序自己改代码,只要浏览器增加插件能做这事,就能解决一切问题,但是这样做的问题在于并不是所有的用户都知道要浏览器安装这个插件才能上网,另外即使装上了这个插件,普通用户也不知道如何设置,因为浏览器插件防护,只能防跨域的CSRF攻击,如果是同域的攻击无法防护,同时客户端插件很容易被其他程序禁用掉,一旦插件被禁用,这个防护就形同虚设;还有提出每个关键操作需要用户确认,或者说是二次认证(可能是图形验证码,短信验证码,支付密码等等),比如需要结账时可能需要重新登录,目前亚逊采用这种方式,比如最后结账时需要输入支付密码,目前支付宝采用这种方式,比如网银付款时,系统会给用户发一个短信确认此次支付行为,比如关键的操作,要求用户输入图形验证码或者选择合适的图形(12306购票)等等,如果用户不进一步确认就不能进行相应的操作,这样能避免用户在茫然无知的情况下执行一些关键的操作,这些设计的确能够给用户提醒,防止一些不必要的损失,但同时也给用户操作带来不便;还有提出用CSRFToken进行防护,因为CSRFToken总是变化的,攻击者无法预知,所以能够保证每个关键链接不能被攻击者构造出来,这样就能防护住CSRF攻击,这种方案目前也是CSRF防护中各大软件公司使用最广的,认为是最安全的,同时又不改变用户行为,不增加用户频繁认证的负担的解决方案,但基于CSRFToken防护需要首先考虑的是CSRFToken如何生成,同时需要考虑到CSRFToken什么时候生成,什么时候验证CSRFToken,而现有的技术基本是每一个步骤都会带与验证CSRFToken,这样就需要额外的数据库进行有效支撑,用于保存并验证CSRFToken,这样会大大增加额外的开销,增加了企业的投入成本。

发明内容

[0009] 为此,本发明提出一种CSRFCSRF攻击的快速定位与识别系统和方法,能够有效识别CSRF攻击,并对CSRF攻击进行定位,发现网站潜在的CSRF漏洞,更容易做到有效防护。
[0010] 本发明通过如下手段实现:
[0011] 一种CSRF攻击的快速定位与识别系统,包括有
[0012] 其中HTTP请求信息收集模,对用户输入的HTTP请求信息进行收集,包括Get,Post URL请求参数等;
[0013] 用户身份认证模块,对用户身份的识别,因为CSRF攻击都是利用他人的身份做事,对用户身份的识别可便于识别与定位CSRF攻击;
[0014] 用户权限授权模块,对用户权限的识别,因为发起CSRF攻击的攻击者本人没有权限做此事,对用户权限的识别可便于识别与定位CSRF攻击;
[0015] 数据库系统操作识别模块,CSRF攻击成功可能会导致数据库中的数据进行了增加,删除或修改操作,可通过数据库系统操作识别数据库是否进行增加,删除或修改操作;
[0016] 文件系统操作识别模块,CSRF攻击成功可能会导致文件系统中出现了添加,删除或修改操作;
[0017] CSRF漏洞识别与定位模块,如果满足以上五步中一步或其中多步,并且系统没有做CSRF防护的情况下,上述模块都有CSRF攻击险,则对上述各步骤出现的异常进行快速识别与定位。
[0018] 一种CSRF攻击的快速定位与识别方法,包括有以下步骤:
[0019] 接受HTTP请求;
[0020] 对HTTP请求进行信息收集;
[0021] 认证:判断该请求是否需要登录,如果执行,则判断该用户是否有权限执行,如果不执行,则确定HTTP请求正常,并对HTTP请求进行下一步处理;
[0022] 授权:判断该用户是否有权限执行,如果执行,则进行步骤判断是否包括数据库添加、删除、修改操作,如果不执行,则返回无权限执行异常页面;
[0023] 判断是否包括数据库添加、删除、修改操作,如果有上述一或多种操作,则判断是否包含CSRFToken验证参数,并且CSRFToken值足够随机,如果没有,则判断是否包括文件新建、删除、修改操作;
[0024] 判断是否包括文件新建、删除、修改操作,如果有上述一或多种操作,则判断是否包含CSRFToken验证参数,并且CSRFToken值足够随机,如果没有,则确定HTTP请求正常,并对HTTP请求进行下一步处理;
[0025] 判断是否包含CSRFToken验证参数,并且CSRFToken值足够随机,如果执行,则确定HTTP请求正常,并对HTTP请求进行下一步处理,如果不执行,则识别并定位到具有CSRF攻击漏洞的URL,不断加到漏洞列表中;
[0026] 确定HTTP请求正常,并对HTTP请求进行下一步处理;
[0027] 返回无权限执行异常页面;
[0028] 识别并定位到具有CSRF攻击漏洞的URL,不断加到漏洞列表中。
[0029] 本发明跨站点请求伪造快速识别与定位需要的CSRF防护的URL列表,识别并定位到具有CSRF攻击漏洞的URL,不断加到漏洞列表中,并通过如下步骤完成:网络爬虫工具或人工访问URL,请求执行某个(些)功能;系统检查爬虫工具或人工想要执行的功能,是否需要用户已经登录,并且需要用户的身份才有权限去做此事;检查此功能,如果该功能会调用数据库或文件系统的添加,删除或修改功能,就会将此功能的URL放入到csrftoken-verify-list.xml,csrftoken-verify-list.xml会去除相同的URL,最终在csrftoken-verify-list中的URL,都是需要进行CSRF防护的URL,对可能出现CSRF攻击URL快速识别与定位。
[0030] 本发明跨站点请求伪造快速识别与定位具有CSRF攻击漏洞的URL列表,识别并定位到具有CSRF攻击漏洞的URL,不断加到漏洞列表中,并通过如下步骤完成:网络爬虫工具或人工访问URL,请求执行某个(些)功能;系统检查爬虫工具或人工想要执行的功能,是否需要用户已经登录,并且需要用户的身份才有权限去做此事;检查此功能,如果该功能会调用数据库或文件系统的添加,删除或修改功能。如果满足,继续检查该功能的URL请求是否带CSRFToken参数,并且这个参数是否足够随机。如果没带CSRFToken或CSRFToken参数不够随机,就将其加入到csrf-issue-list.xml中,这样csrf-issue-list.xml中存放的都是具有CSRF攻击漏洞的URL列表,确保能快速识别与定位一个系统中当前存在的CSRF漏洞。
[0031] 本发明有益效果:本发明能够快速有效识别CSRF攻击,并通过需要的CSRF防护的URL列表识别并定位到具有CSRF攻击漏洞的URL,不断加到漏洞列表中,添加具有CSRF攻击漏洞的URL列表并对CSRF攻击进行定位,发现网站潜在的CSRF漏洞,便于做到有效识别与快速定位。附图说明:
[0032] 图1为本发明跨站点请求伪造快速识别与定位系统框架图;
[0033] 图2为本发明跨站点请求伪造快速识别与定位系统流程图
[0034] 图3为本发明跨站点请求伪造快速识别与定位需要的CSRF防护的URL列表;
[0035] 图4为本发明跨站点请求伪造快速识别与定位具有CSRF攻击漏洞的URL列表。具体实施方式:
[0036] 为了使本领域的技术人员更好地理解本发明的技术方案,下面结合实施例对本发明作进一步说明:
[0037] 如图1所示,本发明系统包括HTTP请求信息收集模块101、用户身份认证模块102、用户权限授权模块103、数据库系统操作识别模块104、文件系统操作识别模块105、CSRF漏洞识别与定位模块106。
[0038] 其中HTTP请求信息收集模块101,对用户输入的HTTP请求信息进行收集,包括Get,Post URL请求参数等;
[0039] 用户身份认证模块102,对用户身份的识别,因为CSRF攻击都是利用他人的身份做事,对用户身份的识别可便于识别与定位CSRF攻击;
[0040] 用户权限授权模块103,对用户权限的识别,因为发起CSRF攻击的攻击者本人没有权限做此事,对用户权限的识别可便于识别与定位CSRF攻击;
[0041] 数据库系统操作识别模块104,CSRF攻击成功可能会导致数据库中的数据进行了增加,删除或修改操作,可通过数据库系统操作识别数据库是否进行增加,删除或修改操作;
[0042] 文件系统操作识别模块105,CSRF攻击成功可能会导致文件系统中出现了添加,删除或修改操作;
[0043] CSRF漏洞识别与定位模块106,如果满足以上五步中一步或其中多步,并且系统没有做CSRF防护的情况下,上述模块都有CSRF攻击风险,则对上述各步骤出现的异常进行快速识别与定位。
[0044] 如图2所示,本发明方法包括以下步骤:
[0045] 步骤201,接受HTTP请求;
[0046] 步骤202,对HTTP请求进行信息收集;
[0047] 步骤203,认证:判断该请求是否需要登录,如果执行,则进行步骤204,如果不执行,则执行步骤208;
[0048] 步骤204,授权:判断该用户是否有权限执行,如果执行,则进行步骤205,如果不执行,则执行步骤209;
[0049] 步骤205,判断是否包括数据库添加、删除、修改操作,如果有上述一或多种操作,则执行步骤207,如果没有,则执行步骤206;
[0050] 步骤206,判断是否包括文件新建、删除、修改操作,如果有上述一或多种操作,则执行步骤207,如果没有,则执行步骤208;
[0051] 步骤207,判断是否包含CSRFToken验证参数,并且CSRFToken值足够随机,如果执行,则执行步骤208,如果不执行,则执行步骤210;
[0052] 步骤208,确定HTTP请求正常,并对HTTP请求进行下一步处理;
[0053] 步骤209,返回无权限执行异常页面;
[0054] 步骤210,识别并定位到具有CSRF攻击漏洞的URL,不断加到漏洞列表中。
[0055] 如图3所示,本发明跨站点请求伪造快速识别与定位需要的CSRF防护的URL列表,识别并定位到具有CSRF攻击漏洞的URL,不断加到漏洞列表中,步骤301,网络爬虫工具或人工访问URL,请求执行某个(些)功能;
[0056] 步骤302,系统检查爬虫工具或人工想要执行的功能,是否需要用户已经登录,并且需要用户的身份才有权限去做此事;
[0057] 步骤303,检查此功能,如果该功能会调用数据库或文件系统的添加,删除或修改功能,就会将此功能的URL放入到csrftoken-verify-list.xml,csrftoken-verify-list.xml会去除相同的URL,最终在csrftoken-verify-list中的URL,都是需要进行CSRF防护的URL,对可能出现CSRF攻击URL快速识别与定位。
[0058] 如图4所示,本发明跨站点请求伪造快速识别与定位具有CSRF攻击漏洞的URL列表,步骤401,网络爬虫工具或人工访问URL,请求执行某个(些)功能;
[0059] 步骤402,系统检查爬虫工具或人工想要执行的功能,是否需要用户已经登录,并且需要用户的身份才有权限去做此事;
[0060] 步骤403,检查此功能,如果该功能会调用数据库或文件系统的添加,删除或修改功能。如果满足,继续检查该功能的URL请求是否带CSRFToken参数,并且这个参数是否足够随机。如果没带CSRFToken或CSRFToken参数不够随机,就将其加入到csrf-issue-list.xml中,这样csrf-issue-list.xml中存放的都是具有CSRF攻击漏洞的URL列表,确保能快速识别与定位一个系统中当前存在的CSRF漏洞。
[0061] 以上只通过说明的方式描述了本发明的某些示范性实施例,毋庸置疑,对于本领域的普通技术人员,在不偏离本发明范围的情况下,可以用各种不同的方式对所描述的实施例进行修正。因此,上述附图和描述在本质上是说明性的,不应理解为对本发明权利要求保护范围的限制。
[0062] 除非另有定义,本文所使用的所有学术和科学术语具有本发明所属技术领域普通技术人员所理解的相同含义。
[0063] 在相抵触的情况下,以本说明书中的定义为准。
[0064] 除非另有说明,所有的百分数、份数、比例等都是以重量计。
[0065] 当给出数值或数值范围、优选范围或一系列下限优选值和上限优选值时,应当理解其具体公开了由任何较小的范围限值或优选值和任何较大的范围限值或优选值的任何一对数值所形成的任何范围,而无论范围是否分别被公开。除非另有说明,在本说明书描述数值范围之处,所述的范围意图包括范围端值和范围内的所有整数和分数。
[0066] 当术语“约”或“左右”用于描述数值或范围的端值时,所公开的内容应当是包括该具体数值或所涉及的端值。
[0067] 采用“一”和“一个/种”的用法描述本发明的要素和组分,这只是出于便利和为了给出本发明一般情况。除非另有明显表述,应将该说明理解为包括一个/种或至少一个/种。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈