写点什么

美联邦机构推动 WebAssembly 作为比 eBPF 更安全的选择

作者:B. Cameron Gain

  • 2025-03-22
    北京
  • 本文字数:2163 字

    阅读完需:约 7 分钟

美联邦机构推动 WebAssembly 作为比 eBPF 更安全的选择

随着 Wasm 得到更广泛的采用,WebAssembly 的使用可能会成为满足安全性合规性要求的强制性要求,同时解决其他正在进行的安全难题。


根据美国国家标准与技术研究所(NIST)一篇论文 《云原生应用程序的数据保护方法》(作者:LeakSignal 的 Wesley Hales;NIST 的主管级计算机科学家 Ramaswamy Chandramouli)的说法,WebAssembly 可以而且应该集成到云原生服务网格领域,以增强安全性。论文中概述的框架可能会导致未来对 WebAssembly 或云原生环境的合规性要求,同时也为更广泛地使用 WebAssembly 的安全性奠定了基础。


该论文强调了 WebAssembly 模块如何通过其原位或代理方法,使 WebAssemblys 成为数据在服务之间传输时进行数据分类的有力候选者。借助 Wasm,可以对分布在一个或多个云原生环境中的任何类型的数据进行数据检查。


“很多人都有 eBPF 锤子思想,对他们来说,一切看起来都像钉子,但事实并非如此,”该报告的合著者 Hales 告诉 The New Stack。“eBPF 的目的只有一个。”


eBPF 最初是为了防御侧通道攻击而设计的,例如 Heartbleed 漏洞(该漏洞破坏了 OpenSSL 的加密库),以及其他内核级相关漏洞。Hale 解释说,eBPF 允许我们在发现某些内容后进行修补并阻止该活动。


Hale 说:“人们用它来做任何的事情,因为它是一个简单的插入点。这是 eBPF 的优点之一——它易于安装,并提供了一定程度的可见性。但是,它不能利用第 7 层人类可读的文本,因为它是在内核空间中运行的。”。


将来自第 4 层 eBPF 的数据包带入用户空间进行分析需要先对数据包进行镜像,然后再在容器中进行分析。“这会产生一个弗兰肯斯坦式的过程,根本不可能有性能”Hales 说。“Wasm 真正满足了我们的目的。我们实际上对 eBPF 进行了原型设计,但它根本不适合我们。”

eBPF 与 Wasm 的对比


将 eBPF 的安全性与 Wasm 的安全性进行比较,该论文的作者写道:


“与 eBPF 等技术相比,使用 Wasm 在第 4 到第 7 层解析人类可读的文本具有几个优势,特别是在处理复杂的应用层数据(如 HTTP)方面。虽然 eBPF 在内核内直接进行数据捕获和操作方面功能强大,但对于某些应用程序来说,使用它来解析详细的 HTTP 流量可能会很复杂,甚至是大材小用。这种复杂性源于需要在内核内处理 HTTP 的复杂性——如果管理不当,这项任务可能会限制性能并引入安全性问题。此外,eBPF 还施加了许多限制,需要付出额外的努力来进行数据处理和通用计算。”


“Wasm 提供了一个安全的沙箱环境,适用于跨多个平台高效执行代码和解析应用层协议。Wasm 可以在用户空间和服务器环境中使用,允许更容易地与现有的解析库和工具集成,降低复杂性,并可能提高解析操作的可靠性。它的可移植性和嵌入各种运行时环境的能力使其成为网络流量分析任务的实用选择,包括涉及处理人类可读文本的协议的任务。”


在云原生世界中,所有的数据流量都是通过服务网格(service mesh)Istio 的代理和 Wasm 的模块化或“沙箱”设计强制通过的。“Istio 代理后面可能有 10000 个容器,而所有的日志流量、所有的网络流量,甚至数据库流量都必须进入代理,然后到达目的地。”Hales 说道。“所以我们可以用 Wasm 来研究所有这些问题。”

大局观


从这篇论文中得到的一个结论并不是 WebAssembly 的安全性优于 eBPF。这里要重申一下,它是说,退一步的时候——无论是在可观测性、安全性、全面的解决方案或战略,还是最佳实践方面,都不应该是用其中一个来代替另一个。因此,举例来说,美国政府不太可能突然强制使用 WebAssembly,而不为某些用例实施或强制使用 eBPF。在商业领域中,一个全面的安全性或可观测性参与者或产品应该包括 eBPF 的一系列用例,以及 WebAssembly 和其他用例。


“eBPF 从来就不是一个通用的计算平台,它既有算法约束,也有内存限制。从安全性的角度来看,当功能可以在 Wasm 这样的用户空间中完成时,将功能推送到内核空间(eBPF 所在的地方)本身也是一种糟糕的做法。”ARMO 的首席技术官兼联合创始人 Ben Hirschberg 表示。“因此,在 Wasm 中实现复杂的可观测性逻辑,并在 eBPF 中保留所需的最小功能,这更有意义。”


事实上,WebAssembly 从一开始就是为所谓的沙箱安全而设计的。Fermyon 联合创始人兼首席执行官 Matt Butcher 表示:“我保证你现在正在运行的就是使用最广泛的沙箱应用程序环境:一个 Web 浏览器。浏览器是一个本质上为运行不受信任的代码而构建的环境。WebAssembly 基于浏览器的传统是其拥有一流沙箱技术的原因。”。与容器和 eBPF 不同,安全性不是事后才应考虑的;从一开始到现在,它都是一个核心特性。看到 Wasm 在安全性的敏感环境中得到普及,我并不感到惊讶。”


Hales 解释说,除了 Istio 的代理之外,Wasm 还提供了比 eBPF 更广泛的覆盖范围,包括覆盖通过 HTTP、gRPC 或 GraphQL 的数据传输,或网络流量能够流向的任何地方。Hales 说:“这并不重要,因为它们仍然都在通过第 4 层到第 7 层的管道。”。


“将 Wasm 视为一种具有明确定义扩展方法的灵活的核心技术是有用的。它是与平台无关的,这意味着它可以在许多操作系统和系统架构上运行。并且现在几乎所有的主要编程语言都支持它了。”Butcher 表示。“本质上,这使得 Wasm 比 eBPF 更具适应性。简而言之:Wasm 是为通用性而构建的,而 eBPF 却不是。”


原文链接:

https://thenewstack.io/the-feds-push-for-webassembly-security-over-ebpf/

2025-03-22 09:004743

评论

发布
暂无评论

写了本书,准备连载

FunTester

支付能力用小程序实现并非最佳技术方案

FinFish

小程序容器 超级app 小程序技术 app支付能力

如何选择合适的数据集成工具或平台来实现全域数据的高效整合

Aloudata

数据仓库 数据分析 数据开发 数据集成 数据编织

全域数据整合下的数据治理:提升数据开发管理效率与质量的策略

Aloudata

数据仓库 数据分析 数据开发 数据集成 数据编织

安卓动态链接库文件体积优化探索实践

京东科技开发者

《一文讲透》第 4-2 期:KWDB 数据库运维 —— 集群参数

KWDB数据库

集群 数据库集群 配置文件 数据库集群方案介绍 数据库集群技术

图片渐进式加载优化实践指南

沉浸式趣谈

图片 加载 图片优化 渐进式

如何使用 NocoBase 构建应用程序?

NocoBase

开源 零代码 无代码 应用程序 宠物追踪

Android耗电量测试分享

京东科技开发者

揭秘淘宝item_get_app_pro:解锁淘宝APP商品详情高级版API接口的奥秘

代码忍者

API 接口 pinduoduo API

淘宝商品描述优化与拍立淘API接口探索:开启智能购物新时代

代码忍者

API 接口 pinduoduo API

舍得酒业×奇点云|最佳大数据平台供应商

奇点云

大数据

如何绘制产品架构图?盘点9个产品架构图模板!

职场工具箱

在线白板 架构图 办公软件 绘图软件 产品架构图

中小企业如何优化业务流程和充分利用ERP系统?

积木链小链

企业管理 数字化 ERP 中小企业

数据驱动与并行策略:用 JUnit 5 让软件测试更高效

测试人

软件测试

Redis大Key问题如何排查?如何解决?

王磊

这些京东零售研发JDS们,说了好多掏心窝子的话!

京东零售技术

《一文讲透》第 4-1 期:KWDB 数据库运维 —— 日志系统解读

KWDB数据库

开源 物联网 数据库运维 日志管理 国产数据库

openEuler 发出全球可持续发展倡议,共建AI时代数据安全生态

科技热闻

揭秘1688商品详情关键字搜索API接口:精准定位,高效营销

代码忍者

API 接口 pinduoduo API

探索1688拍立淘API接口:图像搜索技术引领电商新潮流

代码忍者

API 接口 pinduoduo API

Java 枚举与策略模式、函数式接口的结合:实现高内聚低耦合的设计

京东科技开发者

淘宝购物新视角:关键字搜索与商品评论的API接口揭秘

代码忍者

API 接口 pinduoduo API

美联邦机构推动 WebAssembly 作为比 eBPF 更安全的选择_后端_InfoQ精选文章