HTML5强大功能背后的安全陷阱

日期: 2012-09-25 来源:TechTarget中国 英文

  云安全公司Qualys工程总监迈克•施玛(Mike Shema)发表评论文章称,尽管HTML5使网站的功能更为强大,但开发人员需充分利用其新的技术特征来提高网站的安全性。HTML5允许浏览器存储更多的数据并改进了cookie功能,但如果使用不当反而会带来安全和隐私问题。

  以下为原文:

  HTML5技术的出现使得过去20多年一直驱动web内容的技术焕发了新的活力。值得一提的是,当前主流浏览器仍然可以呈现绝大部分20多年前的使用较老web技术的网站,不过现在的网站都希望浏览器的功能较以往更加强大。Facebook就尝试通过使用一个纯HTML5移动应用程序来推动这些计算边界进一步发展,但发现数十亿用户使它受到了一些限制。

  新的技术标准同样带来了安全问题,网站不会因为仅仅在页面增加一句定义声明就会立即得到优化。相反,通过采用新的技术特征可以提高网站的安全性,这些特征主要是指包括控制浏览器如何与不同的信息来源共享资源以及交互内容,其他特征还包括允许浏览器存储更多的数据、Cookie性能的优化等,不过如果对这些新特性使用不当,反而会带来相应的安全和隐私方面的隐患。

  跨源资源共享

  浏览器的安全性绝大部分依仗的是SOP(Same Origin Policy),即同源策略,指一个域的文档或脚本,不能获取或修改另一个域的文档的属性,也就是AJAX不能跨域访问。Web资源访问的根本策略都是建立在SOP上的,这使得后来制订出很多跨域方案,比如JSONP。

  跨源资源共享(CORS),它定义了一种浏览器和服务器交互的方式来确定是否允许跨域请求。它有更大的灵活性,但比起简单地允许所有这些的要求来说更加安全。应用CORS的系统目前包括Face.com、谷歌云存储API等,主要是为开放平台向第三方提供访问的能力。

  CORS非常有用,可以共享许多内容,不过这里存在风险。因为它完全是一个盲目的协议,只是通过HTTP头来控制。它的风险包括:无法保证HTTP头的真实性、恶意跨域请求、内部信息泄漏、针对用户的攻击等等。

  CORS有多种方法定义一个可靠声明的持续时间、浏览器跨域访问时应该包含的方法和字头等。因此务必使这些网站正常工作的必须值保持为最小,而不是对所有的浏览器都开放。

  iFrame沙箱

  iFrame沙箱采用了一种完全不同的策略用以控制浏览器如何信任网站内容,尽管仍然用于浏览器内部的安全性方面,iFrame的重点已经逐渐从共享内容转移到限制内容的执行能力,sandbox属性可以防止不信任的Web页面执行某些操作,包括:访问父页面的DOM、执行脚本文件、通过脚本嵌入自己的表单或是操纵表单、对cookie、本地存储或本地SQL数据库的读写、禁用插件、禁止其他浏览上下文的导航、禁止弹出窗口和模式对话框等。

  iFrame因安全问题而臭名昭著,这主要是因为iFrame常常被用于嵌入第三方内容,而后者则可能会执行某些恶意操作。sandbox通过限制被嵌入内容所允许的操作而提升iFrame的安全性,这种方式将沙箱内容与父页面进行了分离,因此限制了被嵌入内容的权限,不过这并不意味着用户不再需要检测数据以防止潜在的攻击。

  基于浏览器的存储

  新时代总会带来新的关键词,“大数据”恐怕是当下最流行的,Web应用的发展,使得客户端存储获得了越来越多的使用,而实现客户端存储的方式则是多种多样。最简单而且兼容性最佳的方案是Cookie,但是作为真正的客户端存储,Cookie则存在很多致命伤。此外,在IE6及以上版本中还可以使用user Data Behavior、在Firefox下可以使用global Storage、在有Flash插件的环境中可以使用Flash Local Storage,但是这几种方式都存在兼容性方面的局限性,因此真正使用起来并不理想。

  HTML5中给出了更加理想的解决方案:通过提供本地存储和Indexed数据库等API接口使得web应用可以在浏览器中存储大量数据;因此安全性不仅涉及到存储的数据,同时也涉及到访问方式。因此本地存储对于缓存内容和保存不敏感用户数据来说是一个绝佳的选择,不过保存密码、信用卡号或者其它需要安全加密的数据则效果不佳。

  基于浏览器的存储增加了应用程序收集和操作数据的灵活性,只需将处理器中待操作的任务从服务器转移到浏览器即可,但是并不能转移安全性的需求。

  浏览器处处充满危险,当使用HTML5时务必要时刻谨记,HTML5的新特性或许可以让你的数据在浏览器中更加安全,但是一旦在服务器和数据库中传输时,你需要多加小心。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 对话陈本峰:HTML5究竟给企业带来了什么?

    智能手机的普及,移动计算的应用,带火了HTML5技术。尤其,当我们看到微软朋友圈被“故宫与腾讯合作”的广告刷屏,我们不得不承认,HTML5技术确实很重要,但是HTML5究竟带来了什么,与以往移动技术有什么不同?

  • HTML5促进企业移动化服务走向极致

    在企业困扰于传统移动化方式过于复杂时, HTML5凭借其天然的跨平台特性,乘势而起并逐渐得到企业的关注。可是,由于HMTL5标准建立时间不长,展示性能及稳定性更是需要和浏览器有一个良好的兼容,除此之外企业更是缺乏实际应用经验,所以基于HTML5技术的企业级服务市场还处于一片初创状态。

  • HTML5如何在企业中深入使用?

    据调查显示全球拥有490亿 在线设备,比人口数量多几倍,这说明平均每人拥有不只一部分在线设备。由此可见,全球移动生态系统是多么的庞大。

  • 移动设备遗留应用现代化

    如果你的企业已经成立超过20年,一定有一些不是为移动而构建的遗留系统。这些系统可能也不是为Web而构建的。那么应该怎么处理这些应用?