+++
author = "M"
title = "软件应该默认是安全、零信任的"
date = "2022-09-20"
description = "WebAssembly empowers software security.`"
tags = [
"Rust",
]
categories = [
"Edge Computing","edge cloud","WasmEdge",
]
+++

原文章来自 CyberNews 的采访

无论是构建新的云原生应用程序还是更新现有应用程序,开发者都必须遵守一套一致的原则。

如果想满足消费者的期望,同时实现敏捷的业务运营,那么应用程序优化周期就变得至关重要。充分利用云的力量,不仅可以降低成本,还可以明显改善用户的日常体验。因此,构建云原生应用的重要性愈发凸显。

今天,我们的研究人员采访了 Second State 的CEO Michael Yuan,其团队为边缘和微服务开发轻量级、快速和可扩展的代码 runtime,以了解围绕边缘计算的最大挑战,或者选择 VPN 在云端保护你。

Second State 是如何创立的?一路走来有什么样的经历?

Second State 成立于 2019 年,旨在开发和商业化专门为云原生应用程序设计和优化的新开源 WebAssembly runtime (WasmEdge)。我们现在拥有一个蓬勃发展的开源社区(3,000 多个 GitHub 星和 100 多个代码贡献者),以及许多用户/客户,其中包括几家财富 500 强公司。

WasmEdge 有望成为下一代轻量级应用程序容器,将云原生计算范式带入各种应用程序,从云边缘、边缘设备和 SaaS 到区块链。

能介绍下你的产品吗?解决的主要问题是什么?

WasmEdge 是云原生应用程序的 WebAssembly runtime。支持与服务端应用程序相关的扩展、API 和功能,例如建立 non-blocking 网络连接、访问数据库,使用GPU运行AI模型,在Kubernetes 之下运行,并支持 JavaScript/Python 应用程序。

与传统的云原生容器相比,WasmEdge 更轻、更快、更安全、更可移植,并且仍然可以使用现有的容器和 K8 工具链进行管理,非常适合边缘云或云计算包含资源的边缘设备.

以下是 WasmEdge 应用程序的一些具体案例:

  • Kubernetes 集群中的微服务和 serverless 函数
  • 内置于 SaaS 或云数据库的函数
  • 移动设备上的应用 runtime
  • 区块链上智能合约的runtime

开源是 Second State 的重要部分。介意分享更多公司愿景吗?

首先,我坚信所有基础设施软件都将是开源的。开源是让社区中的其他开发者对你的软件进行测试,同时进行协作的唯一途径。

我们在 2021 年将 WasmEdge 作为社区项目捐赠给 CNCF 基金会。从那时起,我们的开源社区蓬勃发展,并为 Second State 创造了许多新的商机。今天,Second State 的所有客户和业务开发项目都属于 WasmEdge 开源社区。

最近的一些代码安全事件对你的工作领域有何影响?是否注意到由此产生的任何新的安全问题?

疫情阻碍了人们采用新软件。人们倾向于在不确定的时期购买他们已经知道的东西。这对 WasmEdge 的采用产生了负面影响。然而,自 2021 年底以来,开发者对服务端或云原生WebAssembly的兴趣出现了爆炸式增长。 疫情后, WasmEdge 成为引领这波浪潮的几个 runtime 之一。

在安全问题方面,我们实际上认为 WebAssembly 是一个很好的工具,可以让软件供应链更加安全。WebAssembly 使用基于功能的安全模型,是默认安全的,且暴露于攻击的部分微小。它要求使用自己的工具链构建应用程序,从而得以推广安全最佳实践和支持现代二进制签名协议。 WebAssembly 本身有多样化的实现。

边缘计算的主要挑战是什么?

边缘计算面临三重挑战。首先,边缘环境是资源受限的。边缘应用程序必须针对速度和资源消耗进行优化。这意味着标准的虚拟机或容器必须让位于轻量级或嵌入式运行时。

其次,边缘基础设施通常需要支持多租户。安全性和资源隔离对于边缘应用程序来说非常关键。

第三,边缘服务器和设备必须支持异构操作系统和硬件。跨平台可移植性很重要。

我们相信 WebAssembly runtime(例如 WasmEdge)可以完美应对这些挑战。

公司在开发和启动应用程序时应遵循哪些最佳实践?

我认为任何产品最重要的要求是满足市场需求的能力。例如,WasmEdge 产品使开发者能够将云原生和 Serverless 方法(即容器化)应用于资源受限的边缘或 SaaS 应用程序。

目前发现有哪些漏洞最令人担忧?

软件行业正在转向使用 Go 和 Rust 等现代语言编写的本地客户端 (NaCl)。这种转变的驱动力是摩尔定律时代的终结。然而,原生应用程序面临的主要挑战是它们无法在多租户环境中安全运行。

这就是我们需要一个从头开始设计的安全沙箱(即 WebAssembly)的原因,从而能支持具有基于能力的安全模型、支持现代软件验证和签名工具以及小型攻击服务的编译应用程序。

在这个技术不断发展的时代,你认为每个人都应在其设备上实施的关键安全措施是什么?

我认为我们需要将所有软件组件放入安全的沙箱或容器中。默认状态应该是零信任的。当应用程序需要访问沙箱之外的系统资源时,它需要明确声明其要求,然后通过数字签名证明其身份。换句话说,我们应该将 WebAssembly 沙箱构建到每个边缘设备和边缘服务器中。

公司的下一步计划是怎么样的?

Second State 将继续开发、维护和推广 WasmEdge 项目。我们将在 WebAssembly 标准之上构建,并继续开发云原生应用程序开发者所需的功能和扩展。我们还将帮助社区中的用户将 WasmEdge 部署为他们自己的应用程序的轻量级容器。

Second State 将为社区推出自己的基于 WasmEdge 的云服务。这些将主要是针对特定应用场景的 Serverless FaaS (功能即服务)平台 Flows。敬请关注!

任何开源项目的成功都离不开其社区。我们希望看到社区用户和开发者更多地参与和贡献。请访问我们的 GitHub 代码库,为它加注星标,阅读文档,查看未解决的issue,加入讨论区,成为 WasmEdge 社区的一员!

期待你的加入!

加入社区:

Join WasmEdge Discord Server to learn more.