- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
众所周知,JavaScript可以推出基于浏览器的安全攻击。我们建议使用程序的插装来对抗这种攻击。不可信的JavaScript代码进行重写的过程,确定了相关的操作,对可疑行为,并提示用户(网页浏览器)来决定如何在适当的时候。我们的解决方案是参数的安全政策的政策是单独实施的重写,和相同的重写过程中进行,无论是在使用的政策。除了提供了一个严格的帐户我们的解决方案的正确性,我们还讨论了实际问题,包括政策管理和原型实验。我们工作的一个有益的副产品是JavaScript的核心子集的操作语义,在代码中嵌入(HTML)文档可能产生进一步的文件碎片(新代码嵌入)在运行时,产生一种自我修改代码
分类和主题描述d.3.1 [语言]:正式的定义和理论;f.3.1 [逻辑和程序]的含义:指定和验证和推理程序;f.3.2 [逻辑和程序】含义:编程语言的操作语义的语义
通用术语: 语言,安全,理论
关键词: JavaScript程序编辑自动机,仪器仪表,Web浏览器
引言
JavaScript是一种脚本语言[ 4 ]提高网页设计。
JavaScript程序部署在HTML文件和由所有主要的Web浏览器解释。
他们提供有用的客户端计算设施和访问客户端系统,使网页更具吸引力,互动性和响应性。
不幸的是,强大而又无处不在的JavaScript也被利用来发动各种基于浏览器的攻击。
另一方面,有犯罪的严重攻击,窃取用户的敏感信息,使用,例如,技术如跨站脚本(XSS)[ 11 ] 和钓鱼[ 3 ]。
另一方面,有相对良性的烦恼而降低网络冲浪经验,如弹出广告窗口和改变浏览器的配置。
许可,以使个人或课堂使用的所有或部分的数字或硬拷贝的许可,无需收取的费用,该副本是不作或分发的利润或商业优势,该副本承担此通知和第一页的全部引用。
以其他方式复制,转载,张贴在服务器或分配清单,需要事先特定的权限和/或费用
在1月17日2007,19年–,尼斯,法国
版权所有
C 2007 ACM 1-59593-575-4 / 07 / 0001。..5美元。
为了阻止各种攻击通过JavaScript,我们提出要规范行为不可信的JavaScript代码,使用程序插装。传入的脚本通过重写过程来识别和修改可疑的操作。在运行时,修改后的脚本将执行必要的安全检查,并有可能产生用户提示,这是由一个可定制的安全策略指导。违反该政策的脚本将被重写以尊重该策略或在运行时停止运行,除非用户决定允许它。与现有的浏览器安全工具,通常针对特定目标的安全工具,我们的方法使一个统一的框架,强制执行各种安全政策与相同的基本机制。
虽然程序插装已研究过,JavaScript和浏览器安全应用提出了一些有趣的问题。
首先,有一个有趣的模型在执行JavaScript代码,嵌入在HTML文件中,产生进一步的HTML文件当执行。生成的HTML文件也可能有代码嵌入其中。这产生了一个形式,selfmodifying代码我们称之为高阶的脚本(如脚本生成的脚本)。高阶脚本提供了很多的表现力,是常用的许多主要网站。不幸的是,它也可以被利用来规避本地重写机制。以前的工作[ 20,1 ]对JavaScript的子集的形式语义,没有考虑高阶的脚本,这限制了它的适用性。这项工作提供了一个严格的特性的高阶脚本使用JavaScript的一个子集的操作语义,我们称corescript。因此,对理解JavaScript的一些棘手的行为和防止攻击,采用高阶复杂脚本的有效步骤。
接下来,我们提出corescript程序插桩作为一种正式的重写规则。重写进行充分的语法,甚至在其内容是未知的高阶存在静态脚本。检测代码的运行时行为被限制在安全策略中,在这个意义上,它调用了一个用于为相关操作进行记账和安全检查的策略接口。我们表明,我们的插桩是健全的,证明了可观察到的安全事件执行的插桩代码尊重的安全政策。
我们使用编辑自动编码的安全策略[ 10 ]。特别是,我们利用实现政策管理和重写机制分离政策接口,确定什么是需要一个编辑自动机来反映一个明智的政策,并对政策的组合,可满足一些基本的要求,是有意义的一个简单定义我们的插桩。
本文介绍和正式的推理是基于一个理想化的语言corescript,这反映了JavaScript的核心特征。尽管如此,我们的技术是适用于实际的JavaScript语言。有一些有趣的问题,在扩展corescript仪器支持完整的JavaScript语言。我们讨论了如何解决这些问题,从而弥补corescript理论及其作为一种现实的安全工具体现差距。我们还描述了一个原型实现和部署的实验,这是基于实际的HTML和JavaScript。
我们指出,这项工作的目的是探索可证明安全防范恶意客户端JavaScript代码,假设正确的浏览器的实现。这项工作是潜
文档评论(0)