有了HTML5就增多了许多不同的攻击载体,在某些情况下,是由于新的特性而导致攻击范围的扩大,亦或者因为新的实施方案使得已经为人熟知的风险缓释技术变得毫无用处。
前文我们介绍的企业架构师在进行HTML5开始时可能遇到的一些问题,本文将继续介绍随着HTML5功能的增增加,新安全性攻击也会随之增多。
新功能=新攻击
安全专家们所关心的一个问题就是HTML5堆栈在移动和Web浏览器中都可以运行。Shreeraj Shah是一家名为 Blueinfy Solutions的网络安全攻击供应公司的创始人兼总监,他说:“因此,HTML5攻击载体的类型就非常之多,会随着不同的情况而变化不同的攻击载体。”
有了HTML5就增多了许多不同的攻击载体,在某些情况下,是由于新的特性而导致攻击范围的扩大,亦或者因为新的实施方案使得已经为人熟知的风险缓释技术变得毫无用处。特别值得关注的是,在安全专家发现之前,黑客们是有可能发起一次攻击的。
这些特征如下:
◆可编程的绘图界面
◆绘制3-D图形的WebGL
◆本地存储
◆存储于客户端的数据
◆地理位置
◆操作历史
◆跨域起源
◆媒介标志
◆环境安全政策
◆本地文件系统访问权限
◆Web消息传输
◆Web工作人员
Shah解释说:“大范围攻击面越来越明显,并且随着功能和组件的应用,安全问题也变得非常复杂。”
这个大型攻击系统的安全问题可以让黑客们利用HTML5组件达到启动客户端攻击的目的,例如XSS和CSRF,这些是Web应用漏洞中OWASP排名前十的攻击。Shah指出,由于在创立浏览器时,HTML5数据存储以及系统文件中会存有一些用户的重要信息,因此HTML5可以让黑客们利用XSS漏洞来盗取用户信息。画布、操作历史以及一些其他功能特性都属于个人隐私范畴。例如,指纹识别界面就被用于识别特定的浏览者。
Shah提出,HTML5应用还扩大了应用程序后端服务器受攻击的范围。HTML5主要是利用 JSON、SOAP 或者 REST这些SOA后端来获取JavaScript的。屏幕显示、业务逻辑以及数据访问层之间的界限变小了,许多组件也都是Java脚本、HTML5的一部分。Shah说:“因此,可以对业务逻辑进行反工程剖析。攻击者们能够执行和利用真正的业务功能层”
缓存及本地存储
HTML5新功能使得客户端上的数据存储变得更容易。这些本地存储技术兑现了应用程序性能提速以及允许应用程序离线操作的诺言。如果没有正确的管理、安全及加密处理,那么恶意黑客就会获取到一份相同的数据。
Eads认为,尽管客户端上的数据有了安全和加密工具的保护,但是,这些工具却无法起到故障防护的作用。“我们已经证明,该数据并非牢不可破。在大多数案例中都证实,将数据存储与客户端上太冒险了。同样的,从管理的角度来考虑,我们还没有发现将数据存储在客户端上的优势。”
Eads指出,在一些案例中,尤其是iOS操作平台上,本地应用可以为本地存储带来更好的安全性。但是另一个方面,Android平台更常见的是root操作,这样可以避免一些平台内部的安全措施。
当企业对用户使用移动设备管理(MDM)工具和移动应用程序管理 (MAM)工具有更大的控制权时,Eads确实也认为其打破了惯例。他说:“有了MDM 和 MAM可以降低控制。一种设计较佳的系统架构是能够在适当时候进行控制。但是,有些企业将数据存储在客户端上,却未能进行有效的控制,因此他们就会面临非常严重的风险。”
第三方代码(了解代码库)
许多企业都开始转向开发HTML5函数库,他们想要缩短时间和提高新应用的质量。而如果函数库中存在风险,或者如果代码源被黑客攻击,那么这种做法就会带来许多问题。对于大多数HTML5应用来说,包括第三方代码在内的所有JavaScript代码都是具有同等级别的安全性。这就意味着,来自第三方函数库的潜在安全漏洞或者故障都可以扰乱企业浏览器的运行时间。
Brad Carleton是TechPines应用程序开发公司的创始人兼CTO,他认为:“使用越多的函数库,安全问题就会变得越复杂。我要说的是,最好的安全防御措施是在使用之前对所有的第三方代码进行彻底的审查。在一些特殊的情况下,许多潜在‘不被信任’的第三方代码或许会运行于浏览器中,我们可以使用HTML5 Web Worker和iFrame沙箱来进行较为安全的设置。”
|