[发明专利]一种跨站脚本攻击的检测方法和装置有效
申请号: | 200910085034.4 | 申请日: | 2009-05-27 |
公开(公告)号: | CN101901221A | 公开(公告)日: | 2010-12-01 |
发明(设计)人: | 李博;叶润国 | 申请(专利权)人: | 北京启明星辰信息技术股份有限公司;北京启明星辰信息安全技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F21/00 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 龙洪;霍育栋 |
地址: | 100193 北京市海淀区东北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 脚本 攻击 检测 方法 装置 | ||
技术领域
本发明涉及网络安全技术区域,具体涉及一种跨站脚本攻击的检测方法和装置。
背景技术
网络中的各种终端浏览器如IE、FireFox、MyIE等,它们负责在用户输入URL或者点击某个链接之后向Web服务器发送HTTP的请求(常见的如GET、POST),Web服务器在接收到HTTP请求之后,会执行相应的操作,典型的是返回所请求的页面,在这些返回的页面中,常常会夹杂着恶意的跨站脚本,这些脚本一旦返回给终端的浏览器,就会对用户的终端实施不同程度的攻击,如盗取用户账号、盗取用户硬盘上的敏感信息等,这种攻击非常常见,被称作跨站脚本攻击(Cross Site Scripting,简称为XSS)。跨站脚本攻击的实施步骤比较繁琐,与其它类型的攻击相比,跨站脚本攻击属于间接攻击(或称为被动攻击),如图1所示,攻击者往往是通过首先诱使受害者访问由攻击者事先精心构造好的一个不易辨认的有害链接,受害者在点击了该链接之后会访问攻击者安排好的恶意网站,或者受害者在点击了该链接之后,事先安排好的还有恶意脚本的网页会返回到客户的浏览器,此时网页中的恶意脚本会自动执行,从而完成对受害者的攻击。近年来随着Web应用的大量普及,更多的应用和商业活动依赖于Web系统展开,Web安全问题也越来越突出,在这些纷繁复杂的安全问题中,跨站脚本攻击一直是位居前列且急需解决的Web安全问题,目前大多数的解决办法只能在攻击者将跨站脚本注入到页面中的行为进行检测,而对大量存在的、已经被成功注入了跨站脚本的页面,在用户访问这些有害页面的过程中,却无法实施有效的检测,因为页面本身就自带大量的脚本,这些脚本与攻击者注入的跨站脚本混在一起,难于区分,因此也就很难检测。
现有的一种应用于Web Server设备上的用于防止跨站攻击的方案,是通过在Web Server端对HTTP请求进行分析和过滤,主要是对请求的页面进行网页入口点的判断和授权的验证。这种方式虽然能对由客户端发起的反射式跨站脚本攻击起到一定的检测作用,但是如果该网页没有授权认证,或者当用户访问一个网页的时候,该网页已经包含了恶意脚本,即存储式跨站脚本攻击时,该方案就不再适用,但是这种情况在跨站脚本攻击当中又占了绝大多数的比例。
发明内容
本发明要解决的技术问题是提供一种跨站脚本攻击的检测方法和装置,能够在网络安全监测设备或者网络终端上识别与提取页面中夹带的跨站攻击脚本,同时又避免了页面中自身携带的合法的脚本被误杀。
为了解决上述技术问题,本发明提出一种跨站脚本攻击的检测方法,包括:
a、对于捕获到的HTTP返回页面,找到其中的活跃标签;将所捕获的HTTP返回页面中包括该活跃标签在内的各层标签的概率P取倒数之后相加,并求出算术平均值作为所述活跃标签的内嵌JavaScript合理指数EJSRF;提取出各活跃标签内的JavaScript脚本;所述活跃标签是与JavaScript脚本之间不存在其它HTML标签的HTML标签,所述标签的概率P为该标签内直接出现JavaScript脚本的概率;
b、对提取出的JavaScript脚本进行编码还原,得到该JavaScript脚本被编码的字节数量EBN;进行语义还原,得到该JavaScript脚本中使用字符串变量的次数SDN;将经过编码和语义还原的JavaScript脚本与预设的跨站脚本攻击特征进行匹配,得出该JavaScript脚本的特征匹配程度SMD;
c、将所述EJSRF、EBN、SDN和SMD加权相加,将相加得到的和与预定的阈值进行比较,如果计算结果超过了给定的阈值,则判定所捕获到的HTTP返回页面包含跨站脚本攻击。
进一步地,上述方法还可具有以下特点:
所述步骤a具体包括:
a1、存储各HTTP标签的统计信息,包括该HTML标签的出现次数N、该HTML标签作为活跃标签出现的次数M;
a2、捕获到的HTTP返回页面后,按照嵌套的顺序从外向内依次提取所捕获的HTTP返回页面中的一个HTML标签;如果所有标签都已提取完,则执行步骤b;
a3、将该标签的N加1;如果该标签直接嵌套了JavaScript脚本,将该标签的M加1,记录该标签Tag的嵌套层次NL,提取该标签中的JavaScript脚本,然后执行步骤a4;否则返回步骤a2;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京启明星辰信息技术股份有限公司;北京启明星辰信息安全技术有限公司,未经北京启明星辰信息技术股份有限公司;北京启明星辰信息安全技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910085034.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种河道清淤制肥系统
- 下一篇:一种绞吸桥架及小型绞吸船