Mozilla розвиває WASI для використання WebAssembly поза браузером

2 хв. читання

Розробники Mozilla представили проект WASI (WebAssembly System Interface), що визначає програмні інтерфейси для організації взаємодії з ОС у форматі WebAssembly. Мета цього проекту — надання API, що розширить використання WebAssembly, і створення на базі цієї технології звичайних програм. Таких, що працюють поза браузером, можуть переноситись на будь-які платформи та мають високий рівень безпеки.

WASI дає можливість отримати доступ до функцій ОС, таких як файли, файлова система, мережеві сокети, таймери й генератори випадкових чисел. Розвиток API WASI передбачає незалежність від браузера, JavaScript і WebAPI. При цьому проект забезпечує належний рівень ізоляції від основної системи (застосунки запускаються у sandbox) і дозволяє визначати повноваження застосунку в стилі CloudABI й Capsicum.

Модель безпеки WASI базується на управлінні можливостями, тобто програма може виконувати тільки заздалегідь схвалені дії. За аналогією з тим, як WebAssembly обмежує доступ на рівні імпорту функцій, у WASI є контроль доступу до системних можливостей.

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

У межах проекту також розвивається JavaScript-бібліотека polyfill з реалізацією WASI для роботи застосунків всередині браузера. Вона дає застосувати до коду в браузері модель розмежування доступу на основі «capabilities». З планів згадується створення на базі WASI системи модулів для інтеграції в застосунки ізольованих плагінів з додатковою функціональністю в форматі WebAssembly.

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Codeguida 6.6K
Приєднався: 6 місяців тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація