浏览器中拦截Web攻击研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浏览器中拦截Web攻击研究

浏览器中拦截Web攻击研究   摘要:浏览器是互联网的重要入口,其脆弱性直接影响到用户数据和财产的安全。本文在分析跨站脚本攻击、跨站请求攻击以及点击劫持的攻击方法和成因的基础上,提出相应的动态检测和拦截方式,从而加强浏览器的安全性。通过使用WebBrowser控件实现自定义浏览器,载入网页脚本预过滤等相关模块,实现防御功能。相关实验证明,本方案将有效提升浏览器安全性,减少网络风险。   关键词:攻击识别;浏览器安全;动态检测   中图分类号:TP391文献标志码:A   文章编号:1672-1098(2015)01-0060-04   微软推出Internet Explorer 3之时便同时开放了WebBrowser给开发者使用,开发者可以在自己的程序中使用WebBrowser控件以实现与浏览器类似的功能。   截至2014年,服役13年之久的Internet Explorer 6由于安全性不足引发了人们的关注。微软也多次劝告用户升级至更高版本的浏览器。在版本6之后的浏览器中,Internet Explorer一直在增添新的安全功能。Internet Explorer 8中,微软加入了基于请求字串的XSS检测功能和对反点击劫持的HTTP头的支持;之后,Internet Explorer 9、10、11几个版本加入了进程层面的安全特性,例如加入硬件执行保护、代码地址随机化、安全异常处理链以及浏览器的64位化。但是浏览器作为脚本宿主,针对脚本攻击却没有更多的安全提升。因此,为了用户的数据安全,有必要为其定制安全功能。   1攻击检测   由于网页中代码和数据的界限不明,导致了很多注入类的攻击手段,针对脚本注入的跨站脚本请求攻击(Cross Site Scripting,XSS,由于和层叠样式表缩写一样,被改称为XSS)。而浏览器自身的实现,将导致表示层的攻击,利用视觉欺骗的攻击点击劫持则是这类攻击。而网站自身实现的不完善,则将导致其他针对网站的攻击,例如浏览器中可以实现的跨域请求伪造(Cross Site Request Forgery,CSRF)。   而超文本标记语言是一个语法宽松的语言,在HTML标签的“属性=值”对中,有很多字符会被浏览器丢弃,即使加入了也不影响执行。Internet Explorer支持的VBScript和Javascript中,存在更多的编码方式。由于对脚本的支持,字符和函数还可以通过Javascript的重载和库函数、??统事件、对象强制转换等方式获得。   1.1XSS的动态检测   由于XSS属于脚本注入,而且由于浏览器支持信息的多样化,攻击者注入的脚本采用普通字符比对方式将难以检测。因此,将采用正则表达式,在用户发出请求时进行动态检测并修正。   程序将在Internet Explorer自带的检查之外再次做额外的检查。主要检测方式是针对请求字串在正文写入的位置进行判断,对非文本节点通过Boost库的TR1正则表达式引擎对请求内容进行正则匹配,实现扫描。通过导出mshtml.dll中的字符串组,可以得到Internet Explorer自带的库,对其自带的库进行判断分析之后,可以知道其无法防御的攻击方法,接着,针对这些内容完善补充正则表达式即可防御攻击者的防御。   使用时,如果用户访问的请求匹配到了正则表达式,那么提示用户可以选择过滤或是继续访问。如果用户选择过滤,程序将动态删除攻击向量,达到动态清除攻击向量的作用。新增的正则表达式如表1所示。   表1新增的正则表达式   正则表达式作用   (j|[#()\[\].]x{0,1}0*(74|4a|106|6a);?)[\t]*(a|[#()\[\].]x{0,1}0*(65|41|97|61);?)[\t]*(v|[#()\[\].]x{0,1}0*(86|56|118|76);?)[\t]*(a|[#()\[\].]x{0,1}0*(65|41|97|61);?)[\t]*(s|[#()\[\].]x{0,1}0*(83|53|115|73);?)[\t]*(c|[#()\[\].]x{0,1}0*(67|43|99|63);?)[\t]*(r|[#()\[\].]x{0,1}0*(82|52|114|72);?)[\t]*(i|[#()\[\].]x{0,1}0*(73|49|105|69);?)[\t]*(p|[#()\[\].]x{0,1}0*(80|50|112|70);?)[\t]*(t|[#()\[\].]x{0,1}0*(84|54|116|74);?)[\t]*(:|([#()\[\].]x?0*((58)|(3A));?)).   过滤所有javascript:开头的脚本和它的一切变形

文档评论(0)

151****1926 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档