JS-SAN:基于html5的web应用程序抵御javascript代码注入漏洞的防御机制外文翻译资料

 2022-05-15 22:44:59

英语原文共 19 页,剩余内容已隐藏,支付完成后下载完整资料


摘要

本文提出了一种基于注入和集群化的处理框架,即JS- san (JavaScript SANitizer),以缓解JS代码注入漏洞。它通过对所提取的JS攻击向量负载的聚类来生成一个攻击向量模板,对应于它们的相似程度。因此,它通过在web应用程序生成模板的源代码中放置杀毒软件的自动化技术,对提取的JS攻击向量模板进行了杀毒。我们还对web页面进行了最深入的搜索,以寻找可能的用户注入点,并注入最新的基于html5的XSS攻击向量,以测试我们的框架的缓解能力。在浏览器端JavaScript库中实现了我们的设计,并在谷歌Chrome上进行了测试。JS- san的攻击缓解能力是通过在一套测试的开放源码web应用程序的支持下进行评估的,这些web应用程序易受JS代码注入漏洞的影响。与现有的基于sanitizs的方法相比,建议的框架通过产生更少的假负片和可容忍的运行时开销来验证它的特性。版权所有2016年约翰威利父子有限公司

关键字:javascript (JS)代码注入漏洞;跨站点脚本(XSS)攻击;安全处理;HTML5;聚类

ABSTRACT

This paper presents an injection and clustering-based sanitization framework, i.e. JS-SAN (JavaScript SANitizer) for the mitigation of JS code injection vulnerabilities. It generates an attack vector template by performing the clustering on the extracted JS attack vector payloads corresponding to their level of similarity. As a result, it then sanitizes the extracted JS attack vector template by an automated technique of placement of sanitizers in the source code of generated templates of web applications. We have also performed the deepest possible crawling of web pages for finding the possible user-injection points and injected the latest HTML5-based XSS attack vectors for testing the mitigation capability of our framework. The implementation of our design was done on the browser-side JavaScript library and tested as an extension on the Google Chrome. The attack mitigation capability of JS-SAN was evaluated by incorporating the support from a tested suite of open source web applications that are vulnerable to JS code injection vulnerabilities. The proposed framework validates its novelty by producing a less rate of false negatives and tolerable runtime overhead as compared to existing sanitization-based approaches. Copyright copy; 2016 John Wiley amp; Sons, Ltd.

KEYWORDS:javascript (JS) code injection vulnerabilities; cross-site scripting (XSS) attack; sanitization; HTML5; clustering

目 录

第1章 绪论 1

1.1研究的背景、目的和意义 1

1.2 国内外研究概况及发展趋势 1

1.3 研究内容及预期目标 2

第2章 采用的技术方案及措施 3

2.1 HTML5 3

2.2 JavaScript 3

2.3 CSS 4

2.4 jQuery 4

第3章 系统分析 6

3.1 需求分析 6

3.2 可行性研究 6

3.3 概要设计 6

3.4 详细设计 7

3.5 编码和单元测试 7

第4章 人机对战AI算法 8

4.1 深度优先算法 9

4.2 剪枝算法 10

4.3 动态改变搜索范围 11

第5章 系统实现 13

5.1 人人对战功能 13

5.2人机对战功能 14

第6章 总结部分 15

7.1 系统总结 15

7.2 不足说明 15

7.3 展望和提高 15

参考文献 17

致谢 18

1 绪论

JS代码注入漏洞(例如,XSS漏洞[1])现在已经成为一个关键的安全问题,基于html5的web应用程序[2]在2000年第一次发现XSS时就面临着这个问题[3]。根据Acunetix Web应用程序漏洞报告2015[4],如图1所示,近38%的Web站点容易受到XSS攻击,并且在列表中排名第一。另一方面,根据OWASP Top 10 2013[5]的统计,XSS排名第三。最近,在Ubuntu论坛中发现了大量的XSS漏洞[6]。除此之外,许多研究[7]揭示,在总共100个被调查的移动web应用程序中,81个移动web应用程序容易受到XSS攻击。许多研究人员也观察到,XSS攻击的影响取决于所使用的web浏览器的类型。这意味着web浏览器中使用的现有XSS过滤器对JS攻击字符串的解释不同。我们已经从XSS cheat sheet中使用了90个XSS攻击向量[8,38],而XSS攻击的数量取决于所使用的web浏览器类型。我们工作的主要动机是基于以下三点:

开发人员缺乏安全技能:web应用程序的开发人员通常缺乏与部署安全机制相关的知识。除此之外,这些web应用程序开发人员将他们的主要重点放在为他们的客户设计的产品的开发上。他们还必须在一个固定的时间间隔内完成他们的任务。此外,他们没有足够的资源或所需的知识技能来执行正在不断发展的应用程序的安全审查。

缺乏脆弱的访问控制机制:许多访问控制策略,如同源策略(SOP)[9],都不能方便在线用户在web应用程序上使用脆弱的访问控制机制。该策略不能精确地区分web应用程序组件的可靠性边界。因此,该策略可能允许恶意脚本或用户注入的JS代码在web浏览器的上下文中运行。这种恶意的注射可以劫持在线社交网络(OSN),窃取会话cookie,传播XSS蠕虫等。

安全以层的形式:大量的XSS防御解决方案以层的形式提供安全性。很有可能这样的解决方案不保护其他层的安全。除此之外,这样的XSS防御机制不具有成本效益,也会增加攻击者的攻击区域。例如,内容安全策略(CSP)根本不提供完整的保护机制,因为它只提供一层的安全机制。除此之外,ModSecurity[10]是一种防火墙,它为web应用程序的用户提供了一种轻微的保护机制。

本文的主要贡献如下:

bull;在基于html5的web应用程序中,提出了一种基于注入和集群化的安全处理机制JS- san,从而减轻了JS代码注入的漏洞。

bull;为检测web应用程序中可能隐藏的注入点,执行深度抓取web页面。

bull;利用最新的HTML5 XSS攻击向量和其他XSS攻击有效负载从自由可用的XSS存储库中生成和使用。在这样的攻击向量上进行聚类,以便在可能的压缩形式对应于它们的相似性相关性的情况下生成攻击模板。

bull;在XSS攻击向量的提取模板中进行了杀毒,用于清除在web应用程序可能的注入点注入的攻击负载。

bull;在客户端JavaScript库上执行我们的建议工作,并在谷歌Chrome web浏览器上测试作为扩展。

bull;JS-SAN的实验评估和测试是在两个真实世界web应用程序的测试套件中完成的。在此基础上,通过对现有客户端XSS滤波器的假阴性和假阳性率进行比较,评价了JS-SAN的性能评价。结果表明,我们的系统性能好得多,运行时开销低。

大纲:本文的其余部分采用如下方式:第2部分解释了XSS攻击的背景。第3节讨论了XSS防御方案的分析。第4节详细讨论了建议框架的细节。第五部分对我们提出的设计方案进行了实验评价。第6节讨论了JS-SAN的详细性能分析比较,第7节总结了我们的工作,并讨论了一些未来的工作。

2 跨站脚本攻击的背景

XSS攻击是影响web应用程序的最大危害和广泛的安全问题[11-15]。一个成功的XSS攻击不仅会对用户造成严重的安全侵犯,还会对web站点造成严重的安全问题[16,17]。如果一个应用程序没有验证其输入,黑客就可以插入恶意脚本并窃取cookie,劫持用户的帐户,传输私人信息,导致拒绝服务攻击,操纵web内容,并进行更多的恶意活动。XSS已经成为WWW上最严重的危险之一。图2展示了XSS攻击在一个脆弱的web应用程序上的开发的抽象视图。从图2中可以清楚地看出,三方(即攻击者、脆弱的web应用程序和受害者设备)参与了XSS攻击的开发。最初,攻击者生成一些web内容,这些内容被分成两部分:实际数据和恶意JavaScript (JS)代码。这两个部分被注入到脆弱的web应用程序中。稍后,当受害者的web浏览器访问这个web内容时,恶意的JS代码会传输到JS引擎。恶意的JS代码将在受害者的设备中执行,因此受害者的凭据将被传输到攻击者的领域,以便成功地利用XSS攻击。

XSS攻击的划分:XSS攻击分为四个可能的类别,即非持久的、持久的、基于mutbased的和文档对象模型(DOM)基于XSS的攻击。表我重点介绍了这四种不同类别的XSS攻击的一些简要细节。所有四个类别的攻击不同的web应用程序开发,但所有这些攻击敏感的凭据的用户和密码,信用卡号码、饼干文件等,Livshits et al。[18]提出一个自动放置技术通过静态分析中数据流被感染的程序。杀毒程序的放置是静态的,有时需要改变动态。然而,这种技术假定所有可能的源、接收器和杀毒软件都是预先确定的,因此,其结果是无法

全文共29270字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[12377],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。