Код
#новости

Новая песочница в Firefox 95 защищает браузер от компонентов с уязвимостью нулевого дня

Тем, кто найдёт в ней серьёзные баги, Mozilla заплатит до 10 тысяч долларов.

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

Конвертация кода в WebAssembly и С замедляет браузер, поэтому в песочнице пока трудно изолировать ресурсоёмкие компоненты.

Технология RLBox появится в Firefox 95 для ПК и мобильных устройств. Первые изолированные модули — это шрифтовой движок Graphite, инструмент для проверки орфографии Hunspell, медиаконтейнер Ogg, XML-парсер Expat и модуль сжатия шрифтов Woff2.

Исходный код проекта выложили в Github. Его создатели надеются, что технологию внедрят и в другие браузеры. Если кто-то найдёт в RLBox серьёзные баги, Mozilla обещает награду от 1 тысячи до 10 тысяч долларов.

Вот что об этой новости думают пользователи Reddit:

«Это прозвучит так, будто мне 72 года, но что такое RLBox?»

«Похоже, он создаёт песочницу, чтобы запустить сторонний код и проверить, нет ли там чего-то опасного: „RLBox отделяет уязвимые сторонние библиотеки от основного кода браузера и делает его безопаснее“».

Скриншот: Reddit

«Звучит интересно. Но как это повлияет на производительность?»

«Думаю, снизить не должно, потому что они просто используют WebAssembly как промежуточный этап — в нём только проверяют, к каким областям памяти обращается модуль. А потом они компилируют готовый код обратно в C, а после него — в машинный код».

«Вы потеряете оптимизации, которые были в исходном модуле. Не говорю уже о том, что если код на С сгенерировали из WebAssembly, то компилятору будет труднее его оптимизировать».

Скриншот: Reddit

«Я увидел текст „Firefox 95“ и на секунду подумал, что кто-то портировал браузер под Windows 95. Пока не понял, мне радостно или грустно».

Скриншот: Reddit

«Они говорят, что скомпилированные в WebAssembly модули не смогут обращаться к чужой памяти. Но всё равно это звучит как костыльное решение. Не понимаю, почему песочницу нельзя реализовать прямо в компиляторе и не устраивать такие танцы с бубном».

Скриншот: Reddit


Жизнь можно сделать лучше!
Освойте востребованную профессию, зарабатывайте больше и получайте от работы удовольствие.
Каталог возможностей
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована