基于服务器和客户端协作的跨站脚本攻击检测防御研究

基于服务器和客户端协作的跨站脚本攻击检测防御研究

论文摘要

跨站脚本攻击通过向有漏洞的网站页面注入含有恶意代码的内容(非信任内容),在受害者点击该页面时,浏览器自动执行页面中的恶意脚本,窃取受害者的重要信息。针对目前存在的纯服务器端或纯客户端的跨脚本攻击防御方式的不足,研究基于客户端和服务器端协作的检测防御方法,来合理利用服务器端和客户端防御各自拥有的优势。网络应用开发者确切知道网站页面中允许执行的脚本代码集和脚本添加的位置。客户端浏览器能准确检测脚本代码的执行,如果当浏览器解析一个网页时,阻止某段可能含有恶意代码的内容执行,则攻击失败。基于大多数的跨站脚本攻击会通过伪造HTML结束和开始标签等方式来破坏初始良好的网页结构来躲避防御系统,客户端和服务器端协作的防御确保网页在服务器端和浏览器端的文档对象模型(DOM)保持一致性。通过在服务器端分离网页中的所有非信任内容,在浏览器更新该页面的DOM结构前,验证模块会检查更新代码是否属于非信任内容,从而阻止任何潜在的恶意脚本代码执行。系统架构由四个主要模块实现,服务器端为隔离非信任内容模块(用户产生数据),由网站开发者识别页面中非信任内容的来源。标记网页文档模块,通过扩展php模板引擎,用一对随机化分割符的方法对非信任内容进行标记,附带可配置的规则文件,进行多粒度的检测提交效率。客户端为解标记网页文档模块,修改Firefox浏览器解析模块和添加验证插件,在解析标记页面时,自动跟踪含有标记非信任内容的HTML节点。动态验证非信任内容模块,每次当要更新修改DOM结构时,验证来自于非信任内容的代码,如果不符合末端节点限制或规则文件的要求,将被强制转变为字符串常量,阻止非信任内容破坏网页的初始结构。同时可以对混淆内容(多种形式转编码过的文本)进行动态和静态检测。本文详细分析了分离非信任内容的方法,标记算法,解标记算法,动态验证策略和混淆代码检测方法。实现了一种有效的检测防御系统。

论文目录

  • 摘要
  • Abstract
  • 目录
  • 图目录
  • 表目录
  • 第一章 引言
  • 1.1 选题背景
  • 1.2 跨站脚本攻击防御概述
  • 1.2.1 跨站脚本攻击场景
  • 1.2.2 客户端和服务器端协作防御简介
  • 1.2.3 防御实现
  • 1.3 本文的主要工作
  • 1.3.1 本文贡献
  • 1.4 本文的组织结构
  • 第二章 跨站脚本攻击和防御简介
  • 2.1 跨站脚本攻击
  • 2.1.1 跨站脚本攻击方式
  • 2.1.2 利用XSS攻击场景
  • 2.1.3 攻击实例
  • 2.2 纯服务器端防御
  • 2.2.1 输入验证和净化
  • 2.2.2 污点跟踪和静态分析
  • 2.2.3 纯服务器端方法总结
  • 2.3 纯客户端防御
  • 2.3.1 限制URL访问和浏览器保护
  • 2.3.2 修改JavaScript引擎或禁止危险特性
  • 2.3.3 纯客户端方法总结
  • 2.4 服务器端和客户端协作
  • 2.4.1 限制可执行的脚本类型
  • 2.4.2 在服务器端解析JavaScript代码
  • 第三章 分离策略和混淆检测
  • 3.1 分离信任和非信任内容的策略
  • 3.1.1 文档分离方法
  • 3.1.2 请求分离方法
  • 3.1.3 回复分段方法
  • 3.1.4 元素内容编码技术
  • 3.1.5 字符粒度编码技术
  • 3.1.6 标签匹配分离技术
  • 3.2 JavaScript混淆和检测技术
  • 3.2.1 JavaScript代码混淆的方式
  • 3.2.2 JavaScript混淆代码静态检测方式
  • 3.2.3 JavaScript混淆代码动态识别
  • 第四章 系统实现
  • 4.1 系统实现概述
  • 4.1.1 分离信任的和用户产生的数据
  • 4.1.2 标记文档
  • 4.1.3 解标记文档
  • 4.1.4 非信任内容的验证和动态更新
  • 4.2 服务器端实现
  • 4.2.1 扩展模板引擎
  • 4.2.2 标记规则
  • 4.2.3 随机标记算法
  • 4.3 浏览器端实现
  • 4.3.1 混淆代码检测
  • 4.3.2 HTML文档末端节点限制
  • 4.3.3 客户端代理程序实现
  • 4.3.4 扩展浏览器HTML解析模块
  • 4.4 系统防御测试
  • 4.4.1 测试设置
  • 4.4.2 测试结果和分析
  • 4.4.3 执行性能
  • 4.4.4 不同防御方式比较
  • 第五章 总结和展望
  • 5.1 论文小结
  • 5.2 工作展望
  • 参考文献
  • 致谢
  • 发表论文
  • 参与项目
  • 相关论文文献

    • [1].沉浸式教育导向的地震求生情景剧脚本设计原理[J]. 决策探索(中) 2019(04)
    • [2].排版软件脚本化研究[J]. 中国新技术新产品 2017(07)
    • [3].基于动作脚本的文本框交互式练习题[J]. 电脑知识与技术 2016(25)
    • [4].脚本语言下三维动画技术的研究与实现[J]. 通讯世界 2016(22)
    • [5].脚本[J]. 词刊 2009(05)
    • [6].青春脚本[J]. 芳草(青春版) 2010(06)
    • [7].微课选题及脚本设计制作例谈[J]. 安徽教育科研 2018(14)
    • [8].论企业应如何扎实有效地开展“无脚本演练”[J]. 山东工业技术 2017(13)
    • [9].教学设计在教育游戏脚本设计中的应用探讨——以某款教育游戏的脚本设计为例[J]. 软件导刊(教育技术) 2015(07)
    • [10].调用脚本 给Edge配装备[J]. 电脑爱好者 2016(07)
    • [11].为什么脚本无法使用[J]. 电脑爱好者 2017(17)
    • [12].用安全扩展拦截无用的脚本[J]. 电脑迷 2015(03)
    • [13].当前页面脚本发生错误的解决办法[J]. 计算机与网络 2012(20)
    • [14].协作脚本的研究综述[J]. 电化教育研究 2010(05)
    • [15].利用脚本封装抵御跨站脚本攻击[J]. 广州大学学报(自然科学版) 2010(05)
    • [16].微课脚本设计质量提升策略研究[J]. 广西职业技术学院学报 2019(04)
    • [17].脚本理论视角下的明喻意象翻译研究[J]. 长江大学学报(社科版) 2014(05)
    • [18].美国脚本阅读方案:评析与启示[J]. 学园 2012(01)
    • [19].脚本理论视角下行为文化的翻译[J]. 中国俄语教学 2012(02)
    • [20].脚本理论观照下的电影字幕翻译[J]. 电影文学 2012(06)
    • [21].协作脚本技术及其发展方向研究[J]. 中国电化教育 2011(02)
    • [22].基于社会脚本理论的英语听力认知策略研究[J]. 吉林工程技术师范学院学报 2009(07)
    • [23].脚本系统问题解决方案[J]. 程序员 2009(09)
    • [24].多媒体课件的脚本设计与制作[J]. 中等职业教育(理论) 2008(02)
    • [25].利用动作脚本制作动态进度条[J]. 电脑知识与技术 2020(05)
    • [26].列控系统脚本录制工具的研究与实现[J]. 铁道通信信号 2017(01)
    • [27].类C脚本架构设计及在电力系统中的应用[J]. 计算机技术与发展 2017(03)
    • [28].脚本语言及其应用[J]. 通讯世界 2016(16)
    • [29].微课程脚本设计的意义与要求[J]. 江苏第二师范学院学报 2015(06)
    • [30].自制脚本也能监控游戏[J]. 电脑爱好者 2011(10)

    标签:;  ;  ;  ;  

    基于服务器和客户端协作的跨站脚本攻击检测防御研究
    下载Doc文档

    猜你喜欢