Mozilla, Fastly, Intel og Red Hat fremmer WebAssemble som en universel platform

WebAssembly

Mozilla, Fastly, Intel og Red Hat er gået sammen om udvikle teknologier, der laver WebAssembly en universel platform at køre kode sikkert på enhver infrastruktur, operativsystem og enhed. Til fælles udvikling af runtime og compilere, som gør det muligt at bruge WebAssembly ikke kun i webbrowsere, er Bytecode Alliance-fællesskabet blevet dannet.

At lave bærbare programmer leveres i WebAssembly format som kan udføres uden for browseren, foreslås det at bruge WASI API (WebAssembly System Interface), som giver programgrænseflader til direkte interaktion med operativsystemet (POSIX API til at arbejde med filer, sockets osv.).

Et særpræg af eksekveringsmodellen for applikationer, der bruger WASJeg starter i et sandkassemiljø For at isolere fra hovedsystemet og bruge en sikkerhedsmekanisme baseret på kapacitetsstyring skal applikationen til handlinger med hver af ressourcerne (filer, mapper, sockets, systemkald osv.) have den tilsvarende autorisation (kun adgang til den deklarerede funktionalitet er sørget for).

A af alliancens mål oprettet er at løse problemet med udbredelsen af ​​moderne modulære applikationer med et stort antal afhængigheder. I sådanne applikationer kan hver afhængighed være en potentiel kilde til sårbarheder eller angreb. At opnå afhængighedskontrol giver dig mulighed for at få kontrol over alle applikationer, der er forbundet med det.

Medlemmer af Bytecode Alliance har til hensigt at udarbejde en komplet løsning til sikker udførelse af oprindeligt upålidelige WebAssembly-applikationer.

Til beskyttelse, Det foreslås at bruge begrebet nanoprocess, hvor hvert afhængighedsmodul er adskilt i et separat isoleret WebAssembly-modul, hvis autoritet er konfigureret til kun at binde til dette modul (for eksempel kan et bibliotek til behandling af strenge ikke åbne en netværkssocket eller fil).

I modsætning til procesadskillelse, WebAssembly handlere er lette og kræver næsten ingen yderligere ressourcer Derudover er interaktionen mellem handlere ikke meget langsommere end at kalde almindelige funktioner.

Til fælles udvikling blev adskillige WebAssembly-relaterede projekter, tidligere udviklet separat af alliancens stiftende virksomheder, overført under Bytecode Alliancens fløj:

  • wasmtime: A runtime til at køre WebAssembly-applikationer med WASI-udvidelser som almindelige selvstændige applikationer. Understøtter lancering af WebAssembly bytecode ved hjælp af et særligt kommandolinjeværktøj og design af eksekverbare filer, der er klar (wasmtime er indbygget i applikationen som et bibliotek).
  • Lucet: er en compiler og en runtime til at udføre programmer i WebAssembly-format. Et karakteristisk træk ved Lucet er brugen af ​​fuld præemptiv (AOT) kompilering på maskinkode, der er egnet til direkte eksekvering i stedet for JIT. Projektet er udviklet af Fastly og optimeret til at forbruge minimale ressourcer og hurtigt lancere nye instanser.Som en del af et fælles projekt er det planlagt at ændre Lucet-kompileren til at bruge Wasmtime som base.
  • WAMR (WebAssembly Micro Runtime): es en anden kørselstid til at udføre WebAssembly, Oprindeligt udviklet af Intel til brug i IoT-enheder. WAMR Den er optimeret til minimalt ressourceforbrug og kan bruges på enheder med en lille mængde RAM. Projektet omfatter en fortolker og virtuel maskine til at køre WebAssembly bytecode, en API (en undergruppe af Libc) og værktøjer til dynamisk at administrere applikationer.
  • Kranløft: es en kodegenerator, der oversætter en hardwareuafhængig mellemrepræsentation til maskinkode eksekverbar optimeret til specifikke hardwareplatforme. Cranelift understøtter parallelisering af funktionskompilering for meget hurtig generering af resultater, så du kan bruge det til at oprette JIT-kompilere (Cranelift-baseret JIT bruges i Wasmtime virtuelle maskine).
  • VAR JEG: en selvstændig implementering af WASI API (Web Assembly System Interface) til at organisere interaktion med operativsystemet.
  • last-wasi: un modul til cargo package manager som implementerer en kommando til at kompilere Rust-kode i WebAssembly bytecode ved hjælp af WASI-grænsefladen til at bruge WebAssembly uden for browseren.
  • wat og wasmparser: dens parsere til at analysere tekst (WAT, WAST) og binære repræsentationer af WebAssembly bytecode.

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   01101001b sagde han

    "I modsætning til procesadskillelse er WebAssembly-behandlere lette og kræver næsten ingen ekstra ressourcer"...
    Med Mozilla og Red Hat i blandingen er denne "letvægt og næsten ingen ekstra ressourcer" observation på vej til at blive en fænomenal joke xD