Mozilla, Fastly, Intel a Red Hat propagujú WebAssembly ako univerzálnu platformu

WebAssembly

Spoločnosti Mozilla, Fastly, Intel a Red Hat sa spojili vypracovať technológie, ktoré robia WebAssembly univerzálna platforma bezpečne prevádzkovať kód na akejkoľvek infraštruktúre, operačný systém a zariadenie. Pre spoločný vývoj runtime a kompilátorov, ktorý umožňuje použitie WebAssembly nielen vo webových prehliadačoch, bola vytvorená komunita Bytecode Alliance.

Na vytváranie prenosných programov dodávané vo formáte WebAssembly ktoré je možné spustiť mimo prehliadača, sa navrhuje použiť WASI API (WebAssembly system interface), ktorý poskytuje programové rozhrania pre priamu interakciu s operačným systémom (POSIX API pre prácu so súbormi, soketmi atď.).

Výrazná vlastnosť modelu vykonávania aplikácií, ktoré používajú WASSpúšťam v prostredí pieskoviska na izoláciu od hlavného systému a použitie bezpečnostného mechanizmu založeného na správe kapacity, pre akcie s každým zo zdrojov (súbory, adresáre, zásuvky, systémové volania atď.) musí mať aplikácia príslušné oprávnenie (prístup je poskytovaný iba k deklarovanej funkčnosti).

One,es cieľov aliancie vytvorené je vyriešiť problém šírenia moderných modulárnych aplikácií s mnohými závislosťami. V takýchto aplikáciách môže byť každá závislosť potenciálnym zdrojom zraniteľností alebo útokov. Funkcia Gain Dependency Control vám umožňuje získať kontrolu nad všetkými aplikáciami, ktoré sú s ňou spojené.

Členovia Bytecode Alliance majú v úmysle pripraviť kompletné riešenie pre bezpečné vykonávanie aplikácií WebAssembly, ktoré sú spočiatku nedôveryhodné.

Kvôli ochrane navrhuje sa použiť koncept nanoprocesus, v ktorej je každý modul závislostí oddelený v samostatnom izolovanom module WebAssembly, ktorého oprávnenie je nakonfigurované tak, aby sa viazalo iba na tento modul (napríklad knižnica na spracovanie reťazcov nemôže otvoriť sieťový soket alebo súbor).

Na rozdiel od separácie procesov Obslužné rutiny WebAssembly sú ľahké a nevyžadujú takmer žiadne ďalšie prostriedky Interakcia medzi obslužnými programami navyše nie je oveľa pomalšia ako volanie bežných funkcií.

Pre spoločný vývoj bolo pod krídla Aliancie Bytecode prevedených niekoľko projektov súvisiacich s WebAssembly, ktoré predtým vyvinuli osobitne zakladajúce spoločnosti aliancie:

  • bol čas: runtime pre beh aplikácií WebAssembly s príponami WASI ako bežné samostatné aplikácie. Podporuje spustenie bytecode WebAssembly pomocou špeciálneho obslužného programu príkazového riadku a navrhovanie predvolených spustiteľných súborov (wasmtime je v aplikácii zabudovaný ako knižnica).
  • Lucette: je kompilátor a runtime na spustenie programov vo formáte WebAssembly. Charakteristickým znakom Lucetu je použitie úplnej preventívnej kompilácie (AOT, vopred) na strojovom kóde vhodnom na priame spustenie namiesto JIT. Projekt vyvinula spoločnosť Fastly a bol optimalizovaný tak, aby spotreboval minimálne zdroje a rýchlo spustil nové inštancie. V rámci spoločného projektu sa plánuje zmena kompilátora Lucet tak, aby ako základ slúžil Wasmtime.
  • WAMR (Web Assembly Micro Runtime): es ďalší runtime na spustenie WebAssembly, pôvodne vyvinutý spoločnosťou Intel na použitie v zariadeniach IoT. WAMR je optimalizovaný na minimálnu spotrebu zdrojov a je možné ho použiť na zariadeniach s malým množstvom pamäte RAM. Projekt obsahuje tlmočník a virtuálny stroj na spustenie bytecode WebAssembly, API (podmnožinu Libc) a nástroje na dynamickú správu aplikácií.
  • žeriavový výťah: es generátor kódu, ktorý prevádza medziproduktovú reprezentáciu nezávislú od hardvéru do strojového kódu spustiteľný súbor optimalizovaný pre konkrétne hardvérové ​​platformy. Cranelift podporuje paralelizáciu kompilácie funkcií pre veľmi rýchle generovanie výstupu, čo vám umožňuje používať ju na vytváranie kompilátorov JIT (JIT na báze Cranelift sa používa vo virtuálnom stroji Wasmtime).
  • BOL SOM: una samostatná implementácia WASI API (Web Assembly System Interface) na usporiadanie interakcie s operačným systémom.
  • cargo wasi: un modul pre správcu balíkov nákladu ktorý implementuje príkaz na kompiláciu Rust kódu do bytecode WebAssembly pomocou rozhrania WASI na použitie WebAssembly mimo prehliadača.
  • wat a wasmparser: jeho analyzátory na analýzu textu (WAT, WAST) a binárne reprezentácie bajtového kódu WebAssembly.

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   01101001b dijo

    „Na rozdiel od oddelenia procesov sú obslužné rutiny WebAssembly ľahké a nevyžadujú takmer žiadne ďalšie zdroje.“ ...
    Vďaka kombináciám Mozilla a Red Hat bude toto pozorovanie „svetla a nevyžaduje takmer žiadne ďalšie zdroje“ fenomenálnym žartom.