WebAssembly - это конец Интернета, каким мы его знаем

WebAssembly - это конец Интернета, каким мы его знаем

Каким Интернетом вы пользуетесь? Мне, например, нравится приватный и безопасный.

К сожалению, неважно, что думает кто-то из нас. WebAssembly, захватывающая новая технология, которая позволяет браузерам запускать родной, низкоуровневый код, может положить конец конфиденциальности и безопасности в Интернете в том виде, в котором мы его знаем.

Что такое WebAssembly?

Короче говоря, WebAssembly - это время выполнения, которое позволяет браузерам запускать родной код. Когда я говорю "родной", я имею в виду код, написанный на низкоуровневых языках, таких как C, C++, Rust и др.

Это упрощенная схема принципов работы WebAssembly. Компилятор вводит код на LLVM-совместимом языке и создает бинарный файл .ism.

Этот файл загружается и подключается к существующему JS-коду с помощью JavaScript-интерфейса, после чего файл .wasm выполняется во время выполнения WebAssembly.

WebAssembly сейчас полностью освоена и поддерживается во всех основных браузерах.

Что может WebAssembly?

WebAssembly предлагает исключительную производительность. Это означает, что ваши веб-сайты могут работать почти так же быстро, как обычное программное обеспечение на вашем компьютере вне браузера.

Я не могу не подчеркнуть, насколько это революционно. Она позволяет браузерам запускать программное обеспечение и игры, которые раньше были недоступны из-за проблем с производительностью. Это сделает возможным сложный опыт работы с WebVR. WebAssembly может сделать Chromebooks действительно полезным.

Одним из приложений WebAssembly, которое вы найдете очень интересным, является Blazor от Microsoft. То, что Microsoft сделала, по сути, это портировала всю свою .NET платформу на WebAssembly и добавила библиотеку пользовательского интерфейса сверху.

Это означает, что если вы разработчик .NET, то вы только что научились разрабатывать веб-приложения, ничего не делая.

Как его можно взломать?

Есть много способов. Они стали возможны благодаря нечитаемой природе .ism-файлов. Их еще можно декомпилировать и анализировать, но это не так просто, как претендовать на JavaScript.

Небольшой скрипт отслеживания может быть включен в одну из библиотек, используемых веб-сайтом, и никто об этом не узнает. Таким образом, защита от отслеживания, как для первой стороны (Firefox), так и для третьей стороны (плагины), перестанет работать.

Во-вторых, увеличение производительности означает, что сайты теперь могут лучше использовать ваше оборудование. Крипто-валютный майнинг, например. И опять же, это будет пресловуто трудно заблокировать.

Наконец, есть проблемы с безопасностью. При такой большой мощности и низкоуровневом доступе становятся возможны определенные атаки (brute-force) и уязвимости. Будем надеяться, что сообщество с открытым исходным кодом не отстает.

Заключение

Таким образом, интернет определенно не будет таким же после широкого внедрения WebAssembly.

Тем не менее, еще предстоит увидеть, насколько катастрофическими будут последствия. Спасибо за чтение и дайте мне знать в комментариях, что вы думаете о WebAssembly!

Перевод:Федоров Матвей

Еще больше интересной информации по программированию вы можете найти в нашем Телеграмм-канале по ссылке:

4 комментария

Небольшой скрипт отслеживания может быть включен в одну из библиотек, используемых веб-сайтом, и никто об этом не узнает. Таким образом, защита от отслеживания, как для первой стороны (Firefox), так и для третьей стороны (плагины), перестанет работать.

Чушь, муть и компот (с)
Из WebAssembly нельзья передать данные никуда, минуя браузерный IO

1

Комментарий недоступен

Перевод: Google Translate

Правильно пишут — гугл транслейт. В самом начале: WebAssembly - время выполнения...
Runtime в этом контексте это не время выполнения. Автора перевода это совсем не смущает?