В ночные сборки Firefox добавлена начальная поддержка sandbox-изоляции
Интересно, что применяемый для изоляции код основан на наработках, используемых в Chromium и Chrome. Использовать реализацию sandbox от проекта Chromium было решено, так как данная система распространяется под свободной лицензией, уже хорошо проверена и позволит сэкономить значительные ресурсы по сравнению с разработкой собственного аналога, обладающего идентичной функциональностью.
В настоящее время режим изоляции добавлен только для платформы Windows, для Linux и OS X поддержка sandbox будет представлена позднее, так как она существенно отличается в плане системных механизмов, задействованных для изоляции. Для Linux код изоляции уже готов, но пока отключен из-за проблем с некоторыми плагинами (включить можно через пересборку кода с опцией "--enable-content-sandbox"). Для изоляции в Linux применяется ограничение доступа к системным вызовам при помощи Seccomp-bpf, также для изоляции используются PID namespace и выполнение chroot в пустую директорию. В Windows применяются разработанные Google библиотеки sandboxbroker и sandboxtarget.
Изоляция применяется только при использовании сборок со включенным режимом e10s, который уже активирован по умолчанию в ночных сборках. Проверить включение можно в about:config, опция browser.tabs.remote.autostart должна иметь значение true, непосредственно sandbox включается опцией browser.tabs.remote.sandbox. На первой стадии sandbox функционирует в оценочном режиме, позволяющем оценить общую работоспособность кода без фактического применения блокировок. Из ограничений задействовано только изменение прав доступа процесса с USER_RESTRICTED_SAME_ACCESS на USER_NON_ADMIN.
Источник: http://www.opennet.ru/opennews/art.shtml?num=41170
|
0 | Tweet | Нравится |
|