Mozilla wprowadziła możliwość korzystania z WebAssembly poza przeglądarką

Specjaliści z Mozilli zaprezentowali projekt WASI (WebAssembly System Interface), który polega na opracowaniu API umożliwiającego tworzenie zwykłych aplikacji uruchamianych poza przeglądarką. Jednocześnie początkowo mówimy o wieloplatformowości i wysokim poziomie bezpieczeństwa takich aplikacji.

Mozilla wprowadziła możliwość korzystania z WebAssembly poza przeglądarką

Jak wspomniano, działają w specjalnej „piaskownicy” i mają dostęp do plików, systemu plików, gniazd sieciowych, liczników czasu i tak dalej. W takim przypadku program może wykonywać tylko akcje, o których wiadomo, że są dozwolone.

Biorąc pod uwagę, że pseudokod WebAssembly jest niezależnym od platformy wariantem języka asemblera, zastosowanie JIT pozwoli na osiągnięcie wysokiej wydajności kodu na poziomie aplikacji natywnych. W tej chwili dostępna jest implementacja podstawowych API POSIX (pliki, gniazda itp.), ale nie obsługuje ona jeszcze blokad i asynchronicznych wejść/wyjść. W przyszłości mają pojawić się moduły do ​​kryptografii, grafiki 3D, czujników i multimediów.

Warto również zaznaczyć, że w ramach projektu Fastly wprowadzono kompilator Lucet dla aplikacji WebAssembly. Umożliwia bezpieczne uruchamianie programów WebAssembly innych firm w innych aplikacjach, takich jak wtyczki. Sam kompilator napisany jest w języku Rust i obsługuje kod w językach C, Rust i TypeScript.

Oczywiście nadal istnieje wiele pytań dotyczących bezpieczeństwa tego podejścia. Wykonywanie kodu w sandboksie bardzo dziwnie łączy się z dostępem do funkcji głównego systemu, zatem kwestia ta wymaga jeszcze doprecyzowania. Ponadto nie jest jasne, które programy powinny działać w tym trybie i w jaki sposób trzeba będzie monitorować ich zachowanie.




Źródło: 3dnews.ru

Dodaj komentarz