网络安全 频道

想说完美不容易 HTML5安全技术有待改进

  【IT168 评论】从HTML5官方网站上我们可以了解到,HTML5被称之为最近十年来Web开发标准最巨大的飞跃。HTML5不仅仅可以表示Web内容,还是一个应用平台。在HTML5这个平台上,相关的Web应用(包括视频、音频、图像、动画以及同电脑的交互等等)都可以被标准化。为此HTML5的推出就被很多人所关注。笔者有幸从安全的角度对HTML5标准进行先睹为快。根据笔者的观察,虽然HTML5在安全方面已经有所完善,但是仍然存在一些安全威胁,还需要持续改进。

  一、本地存储,性能与安全直接的博弈

  在以前版本的HTML中,通常情况下在本地客户端上只存储少量的信息,如通常以Cookies作为本地信息存储的对象。通常情况下,其存储的数据并不是很多,如存储简单的档案信息或者存储会话ID等等。由于其存储的数据量并不是很大,为此当用户需要多次访问相同的数据时,基本上需要多次从Web服务器上去获取。显然这会导致Web访问的性能下降。不过即使在客户端上只存储了少量的信息,但是这个Cookies安全问题仍然让人寝食不安。因为这个信息中可能存有用户名等机密的内容。

本地存储 性能与安全直接的博弈

  HTML5 Web开发标准在这方面做出了一定的调整。如允许在本地浏览器中存储大量的数据,并允许使用新类型的应用程序。之所以做出这个调整,主要是因为现在基于Web的应用程序越来越复杂,数据量越来越大,特别是多媒体等技术的应用。此时性能已经成为了影响Web发展的一个重要瓶颈。此时相关专家就可以通过在本地存储大量数据来提高应用程序的性能。但是由此就带来了比较大的安全隐患。由于保存在本地的数据缺乏有效的安全机制,为此一些敏感数据就有可能保存在客户端。此时不法分子就可以绕开原有的安全机制,通过物理访问等相关手段,比较轻松的活得敏感数据。

  从技术的角度讲,从客户端处获取敏感数据要比在服务器上获取数据容易的多。如某个客户端本身就是肉鸡,或者说具有SQL注入攻击的潜在能力,此时保存在本地的敏感数据就会相当的危险。甚至攻击者可以通过同步机制,将一些恶意的数据通过合法的途径传入到服务器上。为此笔者认为,允许将大量数据保存在本地客户端,是牺牲安全来获取性能上的提升。

  在实际部署时,就需要注意两个方面的内容。

  一是需要注意,并不是所有企业都适合采用这种技术。如对于安全要求比较高的金融企业或者银行(像基金公司)。这种企业在开发应用程序时,就要区分对待。对于一些公共的数据,如每只股票的价格信息等等,存放在本地客户端,是没有安全方面的威胁的。因为这些数据大家都可以得到。而对于用户的交易信息等内容,则放在本地客户端的话,并不安全。举一个简单的例子,如果基金之王王亚伟的交易信息都保存在本地,那么攻击者只要能够获取他本地客户端的数据(从证券公司服务器获取这个数据比较困难,而从本地客户端获取这个数据比较简单),则每个人都可以成为基金之王了。所以在部署之前,需要考虑这么设计是否安全。

  二是需要采取对应的安全措施。如果真的要这么做的话,一个必要的安全措施就是一开发人员需要验证数据是否是恶意的,即从合法的客户端上是否会给服务器上传恶意的数据。虽然要做到这一步比较困难,但是如果真的要在客户端上存储大量数据,此时就会有一个同步的需求。而要让同步数据安全的话,则这个验证就必不可少。即使比较困难,而要想法设法的去实现它。

0
相关文章