关于HTML5的安全问题开发人员需要牢记的

  应用程序安全专家表示,HTML5给开发人员带来了新的安全挑战。

  苹果公司与Adobe公司之间的口水战带来对HTML5命运的诸多猜测,尽管HTML5的实现还有很长的路要走,但可以肯定的一点是,运用HTML5的开发人员将需要为应用程序安全开发生命周期部署新的安全功能以应对HTML5带来的安全挑战。

  那么HTML5将会对我们需要覆盖的攻击面带来怎样的影响?本文将探讨关于HTML5几个重要安全问题。

  客户端存储

   早期版本的HTML仅允许网站将cookies作为本地信息存储,而这些空间相对较小,仅适用于存储简单的档案信息或者作为存储在其他位置的数据(例如 会话ID)的标识符,Denim集团应用程序安全研究部门的主管DanCornell表示。然而,HTML5LocalStorage则允许浏览器本地存 储大量据库,允许使用新类型应用程序。

  “随之而来的风险就是,敏感数据可能被存储在本地用户工作站,而物理访问或者破坏该工作站的攻击者,就能够轻松获得敏感数据,”Cornell表示,“这对于使用共享计算机的用户更加危险。”

   “从定义上来说,它真的只是能够在客户端系统存储信息,”Rapid7公司的安全研究人员JoshAbraham表示,“那么你就具备基于客户端SQL 注入攻击的潜在能力,或者可能你的某个客户端的数据库是恶意的,当与生产系统同步时,则可能出现同步问题,或者客户端的潜在恶意数据将被插入到生产系 统。”

  为了解决这个问题,开发人员需要能够验证数据是否为恶意的,这其实是个很复杂的问题。

  对于这个问题的重要性并不是所有人都赞同。Veracode公司首席技术官ChrisWysopal表示,例如web应用程序通过使用插件或者浏览器扩展存储数据客户端就一直存在很多方法。

  “有很多已知的方法可以操控目前部署的HTML5SessionStorage属性,但是标准最终确定时,这个问题才会解决,”Wysopal表示。

  跨域通信

  而其他版本的HTML可能直允许JavaScript发出XMLHTTP请求调用回原来的服务器,而HTML5放宽了这个限制,XMLHTTP请求可以发送给任何允许这种请求的服务器。当然,如果服务器不可信任的话,这也会带来严重安全问题。

   “例如,我可以建立一个mashup(糅合,将两种以上使用公共或者私有数据库的web应用合并形成一个整合应用)通过 JSON(JavascriptObjectNotation)将第三方网站的比赛比分拉过来,”Cornell表示,“这个网站可能会发送恶意数据到我 的用户浏览器正在运行的应用程序上。虽说HTML5允许新类型的应用程序的建立,但如果开发人员在开始使用这些功能时,并不理解他们所建立的应用程序的安 全意义,那么将会给用户带来很大安全风险。”

   对于依赖于PostMessage()来编写应用程序的开发人员而言,必须仔细检查以确保信息是来源于他们自己的网站,否则来自其他网站的恶意代码可能 会制造恶意信息,Wysopal补充说。这个功能本身并不是安全的,开发人员已经开始使用不同的DOM(文档对象模型)/浏览器功能来效仿跨域通讯。

  另一个相关问题是,万维网联盟目前为跨源资源共享设计提供了一种使用类似与跨域机制绕过同源政策的方法。

  “IE部署的安全功能与Firefox、Chrome以及Safari都不相同,”他指出,“开发人员需要确保他们创建过于宽松访问控制列表的危害,特别是因为某些参考代码目前非常不安全。

  Iframe安全

  从安全角度来看,HTML5也有不错的功能,例如计划支持iframe的沙盒属性。

  “这个属性将允许开发者选择数据如何解译的方式,”Wysopal表示,“不幸的是,与大部分HTML一样,这个设计很可能被开发人员误解,很可能因为不便于使用而被开发人员禁用。如果处理得当,这个功能将能够帮助抵御恶意第三方广告或者防止不可信任内容重放。”

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Js正则表达式过滤特殊字符、表情的实例代码: let ret = "12312ffds#¥@¥#%^***(()))*)).`@%@¥@¥", val = this.customDeviceName;//特殊字符过滤let pattern = new RegExp("[`~!@#$^*()=|{}':;',\\[\\]./?~!@#¥……*()——|{}【】‘;:”“'。,、?]
1、htmlshiv.js Remy开发的HTML5shiv工具能利用JavaScript在老式IE里创建main,header,footer等HTML5元素。也就是说使用JavaScript能创建这些本来不存在的HTML5新元素。这是什么原理?你可能花几天也想不明白,但谁在意呢!这个脚本几乎是所有正式网站必用
HTML5 火的正热,最近有个想法也是要用到HTML的相关功能,所以也要好好学习一把。 好好看了一下Canvas的功能,感觉HTML5在客户端交互的功能性越来越强了,今天看了一下Canvas绘图,下边是几个实例,记下以备后用。 1、使用Canvas绘制直线: !doctype html ht
响应式布局,理想状态是,对PC/移动各种终端进行响应。媒体查询的支持程度是IE9+以及其他现代的浏览器,但是IE8在市场当中仍然占据了比较大量的市场份额,使我们不得不进行IE低端浏览器的考虑。那么如何在IE6~8浏览器中兼容响应式布局呢?这里我们需要借助这
近日,微软宣布开源Chakra的核心组件。Chakra是微软新一代浏览器 Microsoft Edge的JavaScript引擎。相关代码将于2016年1月上传到微软的GitHub账号,项目名称为 ChakraCore,遵循MIT许可协议。 ...,HTML5中国,中国最大的HTML5中文门户。
这篇文章报道的不是“新闻”,因为W3C早已开始着手CSS变量方面的工作。至于Google,则要追溯到11月初,当时该公司主要开发人员之一的Addy Osmani宣布了率先在Chrome Canary中引入对CSS变量的支持。 ...,HTML5中国,中国最大的HTML5中文门户。