《关注HTML5安全》

最后更新于:2022-04-01 19:44:17

      在今天的2012中国软件开发者大会上,我做了名为《关注HTML5安全》的主题演讲。我个人认为,随着HTML5的普及和发展,HTML5的安全会成为近期带来的严重问题。之所以大家还没有感受到的原因是什么?1、目前HTML5应用还不普及 2、暂时还没有吸引攻击者的关注。       演讲摘要如下(来自[CSDN专题](http://www.csdn.net/article/2012-09-11/2809819)):       -----------       我首先介绍了从HTML到HTML5的发展,在在91年当时诞生了HTML,当时只是一个简单的纯文本,并不存在安全方面的风险。而到了96年我们有了CSS和JS,由此诞生了XSS,也就是众所周知的就是跨脚本攻击,由此带来了安全问题。到2000年的时候就有了HTML1,安全问题开始受到更多的关注,同时也有针对浏览器方面的攻击。到了05年的时候Web的安全变得更加多样化,到08年HTML5出现之后,Web安全问题又有了新的变化。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9a3259e942.jpg)       我曾经在《程序员》发表过一篇文章叫做HTML之美,当时提到了HTML是一个很美好的标准,我把HTML比喻成一朵玫瑰,因为它其实跟HTML5一样,玫瑰也具有很美好的特点,比如说它很漂亮,同时它有非常香的气味,但是它同时有一个非常不好的方面,就是会有尖锐的刺,我们就是要在享受它美好一面的同时,还要忍受它带来不好的一面。因为web需要不断地往前发展。虽然HTML5解决一些旧的风险,不过随着带来新的特性,也会帮助攻击者去引入新的攻击的方式。       我介绍了HTML5的四层架构,第一层是表现层,第二层是逻辑层,第三层是网络层,第四层是核心层面,在表现层面有可能遇到的API的攻击和新标签的攻击,在插件会引入CORJacking,在第三层会有Web Worker攻击,Web Storage攻击,在第四层有ClickJacking、CookieJacking。之所以大家还感觉不是特别明显,因为第一目前HTML5的应用不是特别普及,目前攻击者还没有注意到这个,下面我详细讲诉了这些安全性的风险。       接下来我讲到了HTML5安全规范问题,其实针对以上讲的问题,我认为HTML5是应该有一个关于安全方面的规范,进而规定开发者应该怎样更安全地、更好地去开发应用,还有规定浏览器厂商如何更好更安全地去开发浏览器。但是这个规定目前还没有,因为正在讨论中。有的人希望它独立成为一个章节,也有人希望它分散到各章。我认为规章终究会出现,会作为一个独立的形式出现在HTML5规范里,同时在每一章里的具体细节也会有所体现。       在演讲中,我也阐述了HTML5带来的机会,在HTML4时代有Antisamy,HTML purifier,目前HTML5在这一块是一个空白,空白代表着一片蓝海,针对这一片未来有可能形成一个新的产业,或者说会带来新的机会。就像国外现在有一家公司正在做一件事情,面对基于Web的攻击目前的防火墙很难进行禁止和防御,这家公司提供的新式防火墙,针对内容进行深入检查,会对数据内容,格式,以及意图,来分析哪些东西是安全的。我相信在国内随着HTML5的发展,针对HTML5的安全也会带来一些新的机遇。      演讲的最后,我分析了HTML5的未来,我认为HTML5的安全问题会在三个层面被引入,第一个层面是安全规范的层面,而HTML5是一个发展非常快速的规范,同时社区非常透明,而且响应及时。社区里面有拥有互联网最好的公司,比如说Facebook、谷歌以及微软的支持,所以在规范上会尽快地修复掉这些漏洞。第二个层面是浏览器实现,虽然浏览器不断地更新换代,会不断地解决这些安全性问题或者是漏洞,同时所有浏览器厂商都正在积极面对HTML5安全问题。第三个也就是今天要讲的目的,就是在应用实现层面提醒开发者注意HTML5安全问题,因为HTML5是未来安全发展的趋势,不能因为HTML5有这样的安全问题,就因噎废食,可以预见的是,基于HTML5应用未来会出现一个爆发式增长的趋势。所以现在就要了解这些问题,最后我建议开发者要仔细地去了解所要采用的特性,同时对应用安全性做一个评估。       -----------       下面是分享的PPT资料。在线阅读和下载地址在[**这里**](http://pan.baidu.com/share/link?shareid=25886&uk=2802317001)。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9a325c02ce.JPG) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9a325d7212.JPG) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9a325eaf8a.JPG) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9a3260b124.JPG) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9a32621027.JPG) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9a32635a61.JPG) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9a32649507.JPG) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9a3265ef25.JPG) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9a3267598d.JPG) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9a3268db44.JPG) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9a326a3e93.JPG) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9a326bb84e.JPG) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9a326d178d.JPG) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9a326e57e6.JPG) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9a3270539e.JPG) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-08-09_57a9a32719c2e.JPG)
';