Mozilla, Fastly, Intel och Red Hat marknadsför WebAssemble som en universell plattform

WebAssembly

Mozilla, Fastly, Intel och Red Hat har gått ihop till utveckla teknik som gör WebAssembly en universell plattform för att köra kod säkert på vilken infrastruktur som helst, operativsystem och enhet. För den gemensamma utvecklingen av runtime och kompilatorer, som gör det möjligt att använda WebAssembly inte bara i webbläsare, har Bytecode Alliance-communityn bildats.

Att skapa bärbara program levereras i WebAssembly-format som kan köras utanför webbläsaren föreslås att du använder WASI API (WebAssembly systemgränssnitt), som tillhandahåller programgränssnitt för direkt interaktion med operativsystemet (POSIX API för att arbeta med filer, uttag etc.).

En särdrag av exekveringsmodellen för applikationer som använder WASJag lanserar i en sandlåda miljö för att isolera från huvudsystemet och användningen av en säkerhetsmekanism baserad på kapacitetshantering, för åtgärder med var och en av resurserna (filer, kataloger, uttag, systemanrop osv.) måste applikationen ha motsvarande auktorisering (åtkomst tillhandahålls endast till deklarerad funktionalitet).

EN av alliansens mål skapad är att lösa problemet med att sprida moderna modulära applikationer med många beroenden. I sådana applikationer kan varje beroende vara en potentiell källa till sårbarheter eller attacker. Gain Dependency Control låter dig få kontroll över alla applikationer som är associerade med den.

Bytecode Alliance-medlemmar tänker förbereda en komplett lösning för säkert körning av WebAssembly-applikationer som ursprungligen inte är betrodda.

För skydd, det föreslås att begreppet nanoprocess användss, där varje beroendemodul är separerad i en separat isolerad WebAssembly-modul, vars behörighet är konfigurerad att endast binda till den här modulen (till exempel kan ett bibliotek för bearbetning av strängar inte öppna ett nätverksuttag eller en fil).

Till skillnad från processeparation, WebAssemble-hanterare är lätta och kräver nästan inga ytterligare resurser Dessutom är interaktionen mellan hanterarna inte mycket långsammare än att ringa vanliga funktioner.

För gemensam utveckling överfördes flera WebAssembly-relaterade projekt, som tidigare utvecklats separat av de grundande företagen i alliansen, under vingen av Bytecode Alliance:

  • varmtid: En runtime för att köra WebAssembly-applikationer med WASI-tillägg som vanliga fristående appar. Den stöder lansering av WebAssembly bytecode med hjälp av ett speciellt kommandoradsverktyg och design av färdiga körbara filer (wasmtime är inbyggt i applikationen som ett bibliotek).
  • Lucette: är en kompilator och en körtid för att köra program i WebAssembly-format. En särskiljande egenskap hos Lucet är användningen av en fullständig förebyggande sammanställning (AOT, upfront) på maskinkod som är lämplig för direkt körning istället för JIT. Projektet utvecklades av Fastly och optimerades för att förbruka minimala resurser och snabbt starta nya instanser. Som en del av ett gemensamt projekt är det planerat att ändra Lucet-kompilatorn för att använda Wasmtime som bas.
  • WAMR (WebAssemble Micro Runtime): es en annan körtid för att köra WebAssembly, ursprungligen utvecklad av Intel för användning i IoT-enheter. WAMR den är optimerad för minimal resursförbrukning och kan användas på enheter med en liten mängd RAM. Projektet innehåller en tolk och en virtuell maskin för att köra WebAssembly bytecode, ett API (en delmängd av Libc) och verktyg för att dynamiskt hantera applikationer.
  • Kranlyft: Är en kodgenerator som översätter en hårdvaruoberoende mellanrepresentation till maskinkod körbar optimerad för specifika hårdvaruplattformar. Cranelift stöder parallellisering av funktionskompilering för mycket snabb produktion, så att du kan använda den för att skapa JIT-kompilatorer (Cranelift-baserad JIT används i Wasmtime virtuell maskin).
  • VAR JAG: una fristående implementering av WASI API (Web Assembly System Interface) för att organisera interaktion med operativsystemet.
  • last-wasi: un modul för lastpaketchef som implementerar ett kommando för att kompilera Rust-kod till WebAssembly bytecode med hjälp av WASI-gränssnittet för att använda WebAssembly utanför webbläsaren.
  • wat och wasmparser: dess analysatorer för att analysera text (WAT, WAST) och binära representationer av WebAssembly byte-koden.

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   01101001b sade

    "Till skillnad från processeparation är WebAssemble-hanterare lätta och kräver nästan inga ytterligare resurser" ...
    Med Mozilla och Red Hat i mixen kommer den observationen av "ljus och kräver nästan inga ytterligare resurser" att vara ett fenomenalt skämt xD