Mozilla, Fastly, Intel та Red Hat просувають WebAssembly як універсальну платформу

WebAssembly

Mozilla, Fastly, Intel та Red Hat об'єдналися розвиватися технології, які роблять WebAssembly універсальна платформа для безпечного запуску коду на будь-якій інфраструктурі, операційна система та пристрій. Для спільної розробки середовища виконання та компіляторів, що дозволяє використовувати WebAssembly не лише у веб-браузерах, було сформовано спільноту Bytecode Alliance.

Для створення портативних програм доставляється у форматі WebAssembly які можна запустити поза браузером, пропонується використовувати WASI API (Інтерфейс системи WebAssembly), який надає програмні інтерфейси для безпосередньої взаємодії з операційною системою (API POSIX для роботи з файлами, сокетами тощо).

Відмітна риса моделі виконання програм, що використовують WASЯ запускаю в середовищі пісочниці для ізоляції від основної системи та використання механізму безпеки, заснованого на керуванні ємністю, для дій із кожним із ресурсів (файли, каталоги, сокети, системні дзвінки тощо) програма повинна мати відповідну авторизацію (доступ надається лише до заявленої функціональності).

Uno цілей альянсу створений полягає у вирішенні проблеми дифузії сучасних модульних додатків з великою кількістю залежностей. У таких додатках кожна залежність може бути потенційним джерелом вразливостей або атак. Отримання контролю залежності дозволяє отримати контроль над усіма пов'язаними з ним програмами.

Учасники альянсу Bytecode мають намір підготувати цілісне рішення для безпечного виконання програм WebAssembly, яким спочатку не довіряють.

Для захисту, пропонується використовувати поняття нанопроцесуs, в яких кожен модуль залежностей відокремлений в окремому ізольованому модулі WebAssembly, авторитет якого налаштований на прив’язку лише до цього модуля (наприклад, бібліотека для обробки рядків не може відкрити мережевий сокет або файл).

На відміну від процесу поділу, Обробники WebAssembly легкі і майже не вимагають додаткових ресурсів Крім того, взаємодія між обробниками не набагато повільніша, ніж виклик звичайних функцій.

Для спільної розробки кілька проектів, пов'язаних з WebAssembly, раніше розроблених окремо компаніями-засновниками альянсу, були передані під крило Альянсу байт-кодів:

  • Бурі: час виконання програм WebAssembly із розширеннями WASI як звичайні автономні програми. Він підтримує запуск байт-коду WebAssembly за допомогою спеціальної утиліти командного рядка та проектування готових виконуваних файлів (wasmtime вбудований у програму як бібліотека).
  • Люсет: є компілятор та час виконання програм для формату WebAssembly. Відмінною особливістю Lucet є використання повної профілактичної компіляції (AOT, заздалегідь) на машинному коді, придатному для безпосереднього виконання замість JIT. Проект був розроблений Fastly та оптимізований для споживання мінімальних ресурсів та швидкого запуску нових екземплярів.У рамках спільного проекту планується змінити компілятор Lucet на використання Wasmtime як основи.
  • WAMR (Micro Runtime WebAssembly): es інший час виконання WebAssembly, спочатку розроблений компанією Intel для використання в пристроях IoT. WAMR він оптимізований для мінімального споживання ресурсів і може використовуватися на пристроях з невеликою кількістю оперативної пам'яті. Проект включає інтерпретатор та віртуальну машину для запуску байт-коду WebAssembly, API (підмножина Libc) та інструменти для динамічного управління програмами.
  • Кранліфт: ес генератор коду, який перетворює апаратно-незалежне проміжне представлення у машинний код виконуваний файл, оптимізований для конкретних апаратних платформ. Cranelift підтримує розпаралелювання компіляції функцій для дуже швидкого генерування вихідних даних, що дозволяє використовувати його для створення компіляторів JIT (JIT на основі Cranelift використовується у віртуальній машині Wasmtime).
  • WASI: u автономна реалізація API WASI (Інтерфейс веб-асамблеї системи) для організації взаємодії з операційною системою.
  • вантаж-васі: un модуль для менеджера вантажних пакетів яка реалізує команду для компіляції коду Rust в байт-код WebAssembly за допомогою інтерфейсу WASI для використання WebAssembly поза браузером.
  • ват і демпфер: її парсери для аналізу тексту (WAT, WAST) та двійкові подання байтового коду WebAssembly.

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   01101001b - сказав він

    "На відміну від поділу процесів, обробники WebAssembly легкі і майже не вимагають додаткових ресурсів" ...
    З Mozilla та Red Hat в поєднанні, це спостереження "світла і майже не вимагає додаткових ресурсів" стане феноменальним жартом xD