尽管还不是官方的标准, HTML5 的使用和影响力成长迅速。 无论是 Web、移动、或甚至SOA, 似乎都有一个HTML5的整合战略。然而,HTML5不仅仅是一个原有的标记语言的更新,因为它包含了其他方面如 JavaScript和WebSockets。最近我们已经听到了很多WebSockets有关的内容, 包含技术的引进和是否有任何对于REST的影响. 然而,近期Lori Macvittie 辩论说WebSockets可能会导致一个不太安全的网站,如果人们以安全换取性能的话。 她从2011年的一份报告指出, 很多人都已经习惯于这样做,并且已经有一个调查发现了这类情况...

...而91%的受访者不仅在安全性和性能之间的进行权衡,实际上整整81%是禁用安全功能的特性。

但是这个和WebSockets什么关系呢?Lori认为是因为WebSockets删除了HTTP头,暴露了病毒和恶意软件扫描需要的漏洞:

你知道,像content-type的东西;你也知道,header告诉终端正在传输什么样的内容,如text/html和video/avi。反病毒和 恶意软件扫描解决方案非常擅长特定类型内容的检测异常。问题是,在没有MIME类型的情况下,能够正确识别一个给定的对象变得有点难以确定。

当然,依赖于HTTP头不能保证避免恶意内容,但Lori提到:

[...]一般来说,服务数据的应用对数据类型是不会撒谎的。很少会有恶意代码去利用这方面的弱点。毕竟恶意代码的目的是用一个 指定的媒介传递恶意负载,这才是利用漏洞的基本原则—让系统针对恶意负载执行一套特定的指令。这意味着你真的需要终端相信内容就是如它所认为的那种类型。

Lori接着说可扩展性方面的WebSockets(子协议扩展),它允许额外的有线格式和协议来定义,通过阻止防火墙来缓解问题而产生更多的问题:

[...]没有办法肯定地知道什么正在通过WebSocket传递,除非你使用它的语言“说话”。这一切混乱的结果是,设计的安 全软件扫的描特定类型内容不能为特定的签名或异常。他们不能提取通过WebSocket的传送对象、因为没有迹象表明什么地方开始或结束,甚至它是什么。 如果在传送过程中 HTTP头里的数据丢失,这包括类型与长度,那将给任何使用这些数据来解压或者处理相应数据的软硬件带来问题。

之前已经有了关于 WebSocket的实现和协议的安全漏洞的报告, 就像过去几年有与其他Web协议的报告一样。当然,分布式系统的安全性比HTML早了几十年, 尤其是二进制协议. 所以让二进制系统安全是有可能的,但Lori的观点似乎是, 虽然我们要朝着更高性能的Web方向努力,但我们不应该忽视的事实是,绝大多数的Web基础架构是基于HTTP的,这不是轻易地删除或更换就可以的,事情 总会因为各种原因出问题,甚至更糟。既然采用WebSockets似乎是不可避免的, 那现在是时候后退一步去考虑基于WebSockets的世界应该是什么样的的,至少从安全的角度来说。

HTML5(WebSockets)的脆弱性?相关推荐

  1. HTML5 WebSockets学习

    2019独角兽企业重金招聘Python工程师标准>>> 轮询.长轮询及流三种提供实时数据解决方案,都会涉及到HTTP请求和相应报头,其中包含大量额外的.不必要的报头数据,会造成传输延 ...

  2. HTML5超酷新特性WebSockets初体验

    人人网Web前端开发工程师暴风彬彬(网名),在个人网站彬Go上发表了一篇博文<HTML5 WebSockets 基础使用教程>,和大家一起分享了如何利用HTML5超酷新特性WebSocke ...

  3. 一起来用Websocket(一)开篇 Websocket!Socket在HTML5复活

    一起来用Websocket(一)开篇 Websocket!Socket在HTML5复活    前言  HTML5中有一个比较好用的特性,就是Websocket.现在已集成在chrome的较新版本中.由 ...

  4. HTML5 API详解(16):web socket 全双工通信

    目前实时Web应用的实现方式,大部分是围绕轮询和其他服务器端推送技术展开的,其中最著名的是Comet.Comet技术可以让服务器主动以异步方式向客户端推送数据. 使用轮询时,浏览器定期发送HTTP请求 ...

  5. 分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(12月12日-12月18日)

    分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(12月12日-12月18日) 本周Silverlight学习资源更新 Silverlight学习小记 阿里山地方 ...

  6. 超级惊艳 10款HTML5动画特效推荐

    2014-07-04 09:52 超人 html5tricks 字号:T | T 今天我们要来推荐 10 款超级惊艳的 HTML5 动画特效,有一些是基于 CSS3 和 jQuery 的,比较实用,特 ...

  7. 如何实现后台向前台传数据

    技术交流群:233513714 这两天正在研究如何让后天主动向前台展现数据,只要后台有数据上传的时候就向前台上传(因为公司有个项目,硬件设备会不断的上传数据,服务端将接收到的数据向前台展示).在网上查 ...

  8. 用node实现websocket协议

    协议 WebSocket是一种基于TCP之上的客户端与服务器全双工通讯的协议,它在HTML5中被定义,也是新一代webapp的基础规范之一. 它突破了早先的AJAX的限制,关键在于实时性,服务器可以主 ...

  9. 最近のWebSocket事情についてまとめとく

    最近のWebSocket事情についてまとめとく HTML5, WebSocket id:Jxck(@Jxck_)さんからのリクエストもありましたので.現状でのWebSocket情報をまとめておきます. ...

最新文章

  1. 1万属性,100亿数据,每秒10万吞吐,架构如何设计?
  2. 去掉烦人的“正在配置Windows”
  3. springAop的底层技术
  4. 深圳腾讯java小星星_腾讯自研沙盒手游《手工星球》邀你共赴星派对,来CJ现场一起嗨!...
  5. python中count的作用_python中内置的.count是什么?
  6. hsv 明度的范围_通过HSV转换的方式实现图片数据增强
  7. P4320-道路相遇,P5058-[ZJOI2004]嗅探器【圆方树,LCA】
  8. dh算法 理论依据_DH算法原理
  9. 解读中国杰出CFO之道
  10. 基于JAVA+Swing+MYSQL的停车场管理系统
  11. PDE2 three fundamental examples
  12. Composition-API
  13. 【转】解密微软的架构师之路
  14. header简单用处
  15. 309.最佳买卖股票时机含冷冻期
  16. Multisim高频电子线路4.7振荡器仿真
  17. Vue 自定义指令里面获取Vue实例 实现v-copy与i18n结合。
  18. 光纤光缆那些纤常识【华光昱能光知识】
  19. 网络攻防之wireshark抓取登录信息
  20. Second season twenty-fourth episode,Rachel‘s ex-boyfriend is going to marry Rachel‘s maid of honor

热门文章

  1. PyInstaller将python脚本打包成exe可执行程序
  2. 11.2.0.2 asmcmd lsdg show incorrect diskgroup number
  3. 【LeetCode-面试算法经典-Java实现】【015-3 Sum(三个数的和)】
  4. app.config中增加appSettings节点,conn.open时报初始化错误
  5. 12月第1周.BIZ域名总量TOP10:仅中德澳3国持续上涨
  6. Imagination升级PowerVR图形架构,高端移动设备或将迎来重大升级
  7. Kotlin 学习笔记(八)—— Kotlin类与对象之接口
  8. IIS访问共享文件详解
  9. Linux安全管理:一,sshd配置
  10. NAS之旅--基于centos7搭建netatalk Mac TimeMachine 备份与共享服务器