论文部分内容阅读
HTML5自使用以来,以其强大的功能性和优越的跨平台特性得到了用户和开发者的喜爱,目前主流浏览器都支持HTML5,大量基于HTML5的应用也开始出现在PC端和移动端。通过对国内外论文和著作的研究,我们发现HTML5在应用的过程中存在着很多安全问题,这些安全问题如果没有得到重视和妥善处理,将会产生严重的安全威胁。特别地,我们在支付业务流程中使用HTML5,如果存在着这些安全问题,会给用户的财产安全带来隐患,严重时可能危及到整个支付系统的安全。因此我们有必要系统研究HTML5的安全问题以及在支付场景下的具体安全威胁,提出合理的解决方案。本文从HTML5的新特性出发,系统总结了HTML5中的八大新特性,主要包括音频和视频的支持、图形的支持、表单功能增强、存储功能增强、通信功能增强、拖放功能支持、多线程的支持以及地理位置的支持,详细介绍了各个新特性的具体功能和使用方法。在此基础上,我们结合传统的网络安全中的安全威胁和攻击手段,将HTML5的主要安全问题总结为三大类型,分别是新型XSS攻击、HTML5新型攻击机制和HTML5新特性的滥用。新型XSS攻击主要指HTML5中新标签、属性和事件引入的XSS攻击,新型攻击机制主要指拖放劫持、离线应用缓存攻击和本地存储安全问题,HTML5新特性的滥用主要指Web Socket安全问题、地理位置安全问题和Web Workers实现的僵尸网络。针对这些安全问题,我们给出了相应的解决方案,比如针对离线应用缓存攻击,我们提出了用签名方案来解决manifest文件被伪造从而导致的用户本地缓存文件被替换的问题。随后我们将这些安全问题放在具体的支付业务中,分析了支付业务中的安全威胁和安全需求,结合常用的第三方支付流程分析了其中的具体安全问题,并且针对性的给浏览器产商、网站开发者和用户分别制定了相应的防御方案。最后为了验证防御方案的可行性,我们设计并实现了一套基于HTML5的安全支付平台,针对新型XSS攻击、WebSocket扫描和离线应用缓存攻击,以插件的形式成功的进行了防御。本文通过系统的研究和调研HTML5安全问题,给开发者在使用HTML5开发应用时提供了一定的安全指导,同时也减缓了用户在使用HTML5时面临的安全威胁,在HTML5支付的过程中提供了一定的安全保障。