AICon全球人工智能与机器学习技术大会9折特惠中,点击立减¥480>> 了解详情
写点什么

新创立的字节码联盟宣布 WebAssembly 微进程提案,旨在安全使用非信任模块

2019 年 12 月 06 日

新创立的字节码联盟宣布WebAssembly微进程提案,旨在安全使用非信任模块

来自 Mozilla 的Lin Clark最近宣布创立字节码联盟(Bytecode Alliance)。字节码联盟是一个行业合作伙伴关系,旨在为 WebAssembly 生态系统提出和实现标准,以实现其在浏览器和其他环境中安全的发展。字节码联盟提出了微进程(nanoprocess),为运行第三方 Wasm 包提供了隔离和安全性。


为了进一步推动模块化 WebAssembly 生态系统,Mozilla、Fastly、英特尔和红帽公司携手成立了字节码联盟,为当前大量使用的第三方包可能存在的安全问题(例如恶意依赖、损坏的模块)提供补救措施。Clark 引述道,应用程序中大约有 80%的代码来自于包注册中心,例如npmPypycrates.io。这些第三方包加速了应用程序的创建,但是也引入了安全问题。开发人员信任这些第三方包,为它们授予和应用程序相同的能力(capabilities),但是这些能力可能会被恶意包用于意想不到的目的。Clark 警告道:


作为一个社区,我们必须要作出选择。WebAssembly 生态系统可以提供一个解决方案,至少,我们应该选择一种默认情况下安全的方式进行设计。如果我们不这么做,WebAssembly 可能会让问题变得更糟糕。

随着 WebAssembly 生态系统的发展,我们需要解决这个问题。由于这个问题太大,难以单独解决,这就是字节码联盟成立的原因。


通过微进程提案,可以让包运行在独立环境中,只拥有预先定义的限定能力。字节码联盟试图通过这种方式,寻求让来自恶意软件包的安全漏洞失效。Clark 解释道:


总之,我们将建立牢固安全的基础设施,无论这些不信任的代码运行在何处,都能保其安全性。它们可能会运行在云端、任何人的本地电脑,甚至在小型 IoT 设备上。

通过这个提案,开发者仍然可以通过相同的方式使用开源代码,保持和现在一样的高效,同时不会带来风险。


微进程构建于 WebAssembly 和WASI已有或者已提出的面向安全的特性上(例如 WebAssembly 的沙箱和内存隔离,WASI 的基于能力安全模型),通过允许给第三方包传递细粒度能力实现。


WASI 应用程序安全性由能力(capabilities)提供,而非使用标识资源的可伪造引用(例如文件路径),但是没有指定资源的访问权限。在 WASI 模型下,代码可以只访问传递给它的目录。因此,运行时可以将文件描述付传递给应用程序上层代码使用,同时这个文件描述付会按照最小使用原则传播到系统的其他部分。


微进程在此基础上更进一步,它允许将一个微进程将自己接收到的能力(来自于运行时或者其父微进程)的子集传递给它依赖的微进程。Clark 在官宣博客中描绘了一张机制图:



感兴趣的读者可以去官宣博客了解关于 WebAssembly 微进程和其他额外预期优势的详细介绍。


字节码联盟已经在一系列现有项目进行合作,包括 WebAssembly 运行时(WasmtimeLucet,、WebAssembly Micro Runtime),运行时组件(CraneliftWASI common)和语言工具(cargo-wasiwatwasmparser)。除此之外,字节码联盟还领导WASI标准和 Rust WebAssembly 工作组的工作。


字节码联盟有兴趣发展新成员并壮大联盟。感兴趣的团体可以给联盟发送电子邮件:hello@bytecodealliance.org


原文链接:


https://www.infoq.com/news/2019/11/wasm-nanoprocesses-security/


2019 年 12 月 06 日 08:001559

评论 1 条评论

发布
用户头像
@LLVM 怎么看?
2019 年 12 月 19 日 11:08
回复
没有更多了
发现更多内容

SpringBoot启动加载监听器以及监听应用启动阶段事件

捡对象的cy

springboot

音视频时代你还不会NDK开发?详细的Android学习指南

欢喜学安卓

android 程序员 面试 移动开发

短视频获客软件系统开发公司

开發I852946OIIO

英特尔加速制程工艺和封装技术创新

新闻科技资讯

Vue进阶(九十八):Vue.set() 和 this.$set()

No Silver Bullet

Vue 7月日更 $set 动态赋值

开源 Rainbond 5.3.2 版本发布,易用的云原生应用管理平台

Barnett

云计算 开源 基础软件 小版本升级

私域流量系统开发,APP源码搭建

获客I3O6O643Z97

私域流量 抖音霸屏

给新手学习MySQL的建议

Simon

MySQL

一例智能网卡(mellanox)的网卡故障分析

OPPO数智技术

后端

财务或类财务系统数值精度设计

路边水果摊

数字 财务 精度 数值

Vue进阶(九十七):对象动态添加属性和值

No Silver Bullet

Vue 7月日更 $set 动态赋值

AI开发者十问:10分钟了解AI开发的基本过程

华为云开发者社区

框架 modelarts hilens AI开发 AI模型

我的职场规划

escray

学习 极客时间 朱赟的技术管理课 7月日更

国际视频质量评估算法竞赛:火山引擎成功夺冠

Geek_459987

抖音获客系统开发

获客I3O6O643Z97

抖音 头条抖音 抖音霸屏

论文解读丨Zero-Shot场景下的信息结构化提取

华为云开发者社区

测试 图网络 信息结构化 图卷积网络 zero-shot

经典译文 | 项目经理必读的基本工作法则

LigaAI

项目管理 项目经理

图解红黑树

阿粤Ayue

数据结构

风险投资

stars

今天,2021可信云大会即将开幕!

浪潮云

云计算 云原生 可信云

手写计数排序算法

实力程序员

程序员 C语言 排序算法 造轮子

Python OpenCV Canny 边缘检测知识补充

梦想橡皮擦

Python 7月日更

带你认识MindSpore量子机器学习库MindQuantum

华为云开发者社区

mindspore 量子机器 MindQuantum 量子机器学习库

小师妹学IO系列文章集合-附PDF下载

程序那些事

Java io nio 程序那些事

手把手教你实现Android编译期注解

vivo互联网技术

android 注解 sdk

一个Android程序员的腾讯面试心得,进阶学习资料!

欢喜学安卓

android 面试 移动开发 程序猿

外包学生管理系统的架构设计

徐晓翔

CWE发布2021年最危险的25种软件缺陷

华为云开发者社区

安全 隐私保护 安全漏洞 cwe 软件缺陷

短视频智能询盘获客系统开发

开發I852946OIIO

手写桶排序算法

实力程序员

程序员 C语言 排序算法

音视频时代你还不会NDK开发?看完必懂

欢喜学安卓

android 程序员 面试 移动开发

数据cool谈(第1期)数据库寻路,开源有态度

数据cool谈(第1期)数据库寻路,开源有态度

新创立的字节码联盟宣布WebAssembly微进程提案,旨在安全使用非信任模块-InfoQ