【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

HTML5(WebSockets) 的脆弱性?

  • 2012-04-17
  • 本文字数:1126 字

    阅读完需:约 4 分钟

尽管还不是官方的标准, 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 的世界应该是什么样的的,至少从安全的角度来说。

2012-04-17 07:125647
用户头像

发布了 42 篇内容, 共 17.1 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

用低代码驱动IT现代化

力软低代码开发平台

web前端培训费用是多少

小谷哥

培训学习前端开发技术好吗?

小谷哥

个推数据资产管理经验 | 教你打造数据质量心电图,智能检测数据“心跳”异常

个推

大数据 数据智能 数据资产管理 数据质量保障 数据异常检测

培训机构学习费用是多少呢?

小谷哥

2022年8月中国数据库排行榜:openGauss重夺榜眼,PolarDB反超人大金仓

墨天轮

数据库 opengauss 国产数据库 polarDB gbase8a

开源一夏 | POND:高效的 Python 通用对象池技术

Andy

Python 缓存 开源 算法 对象池

阿里内部共享,彩印图文版《Elasticsearch实战》文档,堪称经典!

冉然学Java

Java elasticsearch 开源 阿里 构架

制品库是什么?

雨后小溪

DevOps Artifactory 制品库 制品仓库 Packages

一文读懂NFT数字藏品为何风靡全球?

智捷云

如何培养ui设计师的设计思维?

小谷哥

阿里云贾朝辉:云XR平台支持彼真科技呈现国风科幻虚拟演唱会

阿里云弹性计算

视觉计算 虚拟演唱会 云XR平台 GPU实例

不止跑路,拯救误操作rm -rf /*的小伙儿

华为云开发者联盟

开发 配置文件 OM脚本

了解大数据培训机构的过程

小谷哥

“68道 Redis+168道 MySQL”精品面试题(带解析)

冉然学Java

Java MySQL redis 编程 程序员

Java反射机制清空字符串导致业务异常分析

华为云开发者联盟

Java 开发

毕业总结

Elvis FAN

漏洞管理计划的未来趋势

SEAL安全

安全漏洞 企业安全 企业it安全 软件供应链安全 漏洞管理

可视化服务编排在金融APP中的实践

京东科技开发者

可视化 BFF 金融 Obsuite

太香了!自从用了这款接口神器,我的团队效率提升了 60%!

Java永远的神

Java 程序员 程序人生 项目 Apifox

人脸考勤是选择人脸比对1:1还是人脸搜索1:N?

夏夜许游

人脸识别 人脸考勤

StarRocks on AWS 回顾 | Data Everywhere 系列活动深圳站圆满结束

StarRocks

数据库

多线程下自旋锁设计基本思想

snlfsnef

系统设计 设计模式 锁机制 自旋锁 多线程并发

友邦人寿可观测体系设计与落地

阿里巴巴云原生

阿里云 云原生 可观测 合作案例 友邦人寿

网络安全——XSS之被我们忽视的Cookie

Jack20

网络安全

模块九 - 设计电商秒杀系统

Elvis FAN

从《中国视频云市场跟踪》最新报告,看视频云的赛道演进

阿里云视频云

视频云 市场

百度用户产品流批一体的实时数仓实践

百度Geek说

数据库 大数据

国内首个微服务开发项目(Vue+Spring Boot+Nacos)

冉然学Java

Java 源码 微服务 Spring Cloud 开发

海外邮件发送指南(二)

极光JIGUANG

消息推送 邮件

嘉为蓝鲸荣获工信部“数字技术融合创新应用解决方案”

嘉为蓝鲸

DevOps 运维 AIOPS 信创 研发

HTML5(WebSockets)的脆弱性?_安全_Mark Little_InfoQ精选文章