Mozilla, Fastly, Intel a Red Hat propagují WebAssembly jako univerzální platformu

WebAssembly

Společnosti Mozilla, Fastly, Intel a Red Hat se spojily rozvíjet technologie, které tvoří WebAssembly univerzální platforma bezpečně spouštět kód na jakékoli infrastruktuře, operační systém a zařízení. Pro společný vývoj modulu runtime a kompilátorů, který umožňuje použití WebAssembly nejen ve webových prohlížečích, byla vytvořena komunita Bytecode Alliance.

Vytváření přenosných programů dodáváno ve formátu WebAssembly které lze spustit mimo prohlížeč, navrhuje se použít WASI API (WebAssembly system interface), který poskytuje programová rozhraní pro přímou interakci s operačním systémem (POSIX API pro práci se soubory, sokety atd.).

Výrazný rys modelu provádění aplikací, které používají WASSpouštím v prostředí karantény izolovat od hlavního systému a použití bezpečnostního mechanismu založeného na správě kapacity, pro akce s každým ze zdrojů (soubory, adresáře, zásuvky, systémová volání atd.) musí mít aplikace odpovídající oprávnění (přístup je poskytován pouze k deklarované funkčnosti).

Uno cílů aliance vytvořeno je vyřešit problém šíření moderních modulárních aplikací se spoustou závislostí. V takových aplikacích může být každá závislost potenciálním zdrojem zranitelností nebo útoků. Získání řízení závislosti vám umožňuje získat kontrolu nad všemi aplikacemi, které jsou s ním spojené.

Členové Bytecode Alliance mají v úmyslu připravit kompletní řešení pro bezpečné spuštění aplikací WebAssembly, které jsou zpočátku nedůvěryhodné.

Pro ochranu, navrhuje se použít koncept nanoprocesus, ve kterém je každý modul závislosti oddělen v samostatném izolovaném modulu WebAssembly, jehož oprávnění je nakonfigurováno tak, aby se vázalo pouze na tento modul (například knihovna pro zpracování řetězců nemůže otevřít síťový soket nebo soubor).

Na rozdíl od separace procesů Obslužné rutiny WebAssembly jsou lehké a nevyžadují téměř žádné další prostředky Interakce mezi obslužnými rutinami navíc není mnohem pomalejší než volání běžných funkcí.

Pro společný vývoj bylo pod křídlo Aliance Bytecode převedeno několik projektů souvisejících s WebAssembly, které byly dříve vytvořeny samostatně zakládajícími společnostmi aliance.

  • byl čas: runtime pro běh aplikací WebAssembly s rozšířeními WASI jako běžné samostatné aplikace. Podporuje spuštění bytového kódu WebAssembly pomocí speciálního nástroje příkazového řádku a navrhování připravených spustitelných souborů (wasmtime je do aplikace zabudován jako knihovna).
  • lucet: je kompilátor a běhový modul pro spouštění programů ve formátu WebAssembly. Charakteristickým rysem Lucetu je použití úplné preventivní kompilace (AOT, předem) na strojovém kódu vhodném pro přímé spuštění namísto JIT. Projekt byl vyvinut společností Fastly a optimalizován tak, aby spotřebovával minimální zdroje a rychle spouštěl nové instance. V rámci společného projektu se plánuje změnit kompilátor Lucet tak, aby jako základ používal Wasmtime.
  • WAMR (Web Assembly Micro Runtime): es další běhový modul pro spuštění WebAssembly, původně vyvinutý společností Intel pro použití v zařízeních IoT. WAMR je optimalizován pro minimální spotřebu zdrojů a lze jej použít na zařízeních s malým množstvím paměti RAM. Projekt zahrnuje tlumočníka a virtuální stroj pro spuštění bytecode WebAssembly, API (podmnožinu Libc) a nástroje pro dynamickou správu aplikací.
  • Jeřábový výtah: es generátor kódu, který převádí mezilehlou reprezentaci nezávislou na hardwaru do strojového kódu spustitelný soubor optimalizovaný pro konkrétní hardwarové platformy. Cranelift podporuje paralelizaci kompilace funkcí pro velmi rychlé generování výstupu, což vám umožňuje používat ji k vytváření kompilátorů JIT (Cranelift-based JIT se používá ve virtuálním stroji Wasmtime).
  • BYL JSEM: una samostatná implementace WASI API (Web Assembly System Interface) pro uspořádání interakce s operačním systémem.
  • charge-wasi: un modul pro správce balíků nákladu který implementuje příkaz ke kompilaci Rustova kódu do bytecode WebAssembly pomocí rozhraní WASI pro použití WebAssembly mimo prohlížeč.
  • wat a wasmparser: syn analyzátory pro analýzu textu (WAT, WAST) a binární reprezentace bajtového kódu WebAssembly.

Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   01101001b řekl

    „Na rozdíl od oddělení procesů jsou obslužné rutiny WebAssembly lehké a nevyžadují téměř žádné další zdroje“ ...
    Díky kombinaci Mozilly a Red Hatu bude toto pozorování „světla a nevyžaduje téměř žádné další zdroje“ fenomenálním vtipem xD