В ночные сборки Firefox добавлена начальная поддержка sandbox-изоляции

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

0_1417517445.png В настоящее время, пока режим изоляции добавлен только для платформы Windows, для Linux и OS X, поддержка sandbox будет представлена позднее, так как она существенно отличается в плане системных механизмов, задействованных для изоляции (в Linux применяется ограничение доступа к системным вызовам при помощи Seccomp-bpf, также для изоляции используются PID namespace и выполнение chroot в пустую директорию). Изоляция применяется только при использовании сборок со включенным режимом e10s, который уже активирован по умолчанию в ночных сборках.

Проверить включение можно в about: config, опция browser.tabs.remote.autostart должна иметь значение true, непосредственно sandbox включается опцией browser.tabs.remote.sandbox. На первой стадии sandbox функционирует в оценочном режиме, позволяющем оценить общую работоспособность кода без фактического применения блокировок. Из ограничений задествовано только изменение прав доступа процесса с USER_RESTRICTED_SAME_ACCESS на USER_NON_ADMIN.

©  OpenNet