网络安全 频道

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

  二、跨域通信带来的安全隐患需要正视

  在以前的版本中,对于服务器的请求出于安全的目的,有比较严格的限制。如HTML只允许JavaScrip发出XMLHTTP请求以实现调用回到原来服务器的目的。而HTML5标准则放开了这种限制。这个新的标准允许请求可以发送给任何允许这种请求的服务器。

跨域通信安全隐患 采用IFRANME防止广告

  这里需要注意,HTML5做出的这个调整有一个前提,即服务器是值得信任的。如果服务器不值得信任,那么将会带来严重的安全问题。在实际工作中,服务器的安全是相对的。如果要做大百分之百的安全,很少有企业可以做到。如企业的规模比较小,相关的服务器(包括Web服务器、邮箱服务器、域控制器等等)都是在企业内部的话,要做到服务器的安全都比较困难。如果企业规模扩大,服务器不在自己的眼皮底下,而在千里之外的外地办事处,此时恐怕没有人能够保证这台服务器是能够值得信任的。

  这也就是说,如果企业需要使用新的HTML5标准,那么就需要对企业现有的网络安全做出比较大的调整。如需要增加企业级别防火墙、升级网络环境、企业与分支机构之间采用VPN或者专线连接等手段,来提高服务器的可信任程度。而无论采取什么样的错误,企业都必须有比较大的支出。这包括购买新设备以及后续的服务的支出。

  举一个简单的例子,如果实现跨域通信的话,那么笔者就可以开发出一个网站。这个网站可以直接从其他网站中获取比较机密的信息,如别人花几百万买过来的一个比赛直播权。如用户可以创建一个糅合(将两种以上的使用公共或者私有数据库的Web应用合并形成一个整合应用,并通过JSON将第三方网站的信息(如比赛转播的信息)拿过来使用。通常情况下,这个网站可能会发送恶意数据到哦那个湖的浏览器正在运行的应用程序上。从而实现偷取敏感信息的目的。

  为此在开发Web应用程序时,如果要使哟跨域通信,那么开发人员就必须仔细检查以确保信息是来源于他们直接的网站,而不是恶意的数据。以避免其他网站的的恶意代码产生的恶意信息。为此笔者认为,这个跨域通信的功能本身就具有比较大的安全隐患。HTML5之所以这个功能,主要是考虑到现在有80%以上的网站可能不需要这么严格的安全级别。为此为了提高这部分网站的Web应用的性能,所以就启用了这个功能。故企业在采用这个跨域通信的功能之前,还是需要评估一下自己企业的安全级别。如果能够容忍由此带来的安全隐患,以牺牲安全来获取性能上的提升,也并不一定不行。

  另外如果确实需要跨域通信的企业,笔者建议还是采用老办法为好。即可可以使用不同的DOM文档对像类型/浏览器功能来模拟跨域通讯。这种方法的好处是在安全性上有保障。而其缺点是性能上并不是很好,毕竟其只是一个模拟跨域通讯。

  三、采用IFRANME来防止恶意广告

  现在Web应用程序比较头疼的问题是恶意广告和未经授权的更改。如客户端的主页访问了你的网页之后,主页就莫名其妙的被更改了。这会大大降低用户的忠诚度。HTML5并不是在安全性上没有任何的改进。至少其提出到料IFrame沙盒属性,能够有效的抵御恶意的第三方广告或者防止不可信任的内容重放与篡改。这是其在安全性上一个比较不错的改建。如果企业有这方面需求的话,那么在使用HTML5时,最好将这个属性启用起来,而不是禁用他。

0
相关文章