Как запустить Firefox в защищенном режиме? (т.е. на низком уровне целостности)

9

Я заметил, что Firefox, в отличие от Chrome и Internet Explorer, не работает на низком уровне обязательности (защищенный режим, низкая целостность)

Гугл Хром:

альтернативный текст

Microsoft Internet Explorer:

введите описание изображения здесь

Mozilla Firefox:

альтернативный текст

Следуя инструкциям Microsoft , я могу вручную перевести Firefox в режим низкой целостности, используя:

icacls firefox.exe /setintegritylevel Low 

Однако Firefox плохо реагирует на то, что не работает с достаточными правами:

альтернативный текст

Мне нравится безопасность знания того, что мой браузер работает с меньшими правами, чем у меня. Есть ли способ запустить Firefox в режиме низкого уровня прав? Планирует ли Mozilla добавить «защищенный режим» когда-нибудь? Кто-то нашел обходной путь к Firefox, не поддерживающему режим с низким уровнем прав?


Обновить

Из июльского интервью 2007 года с Майком Шрёпфером , вице-президентом по инженерным разработкам в Mozilla Foundation:

... мы также верим в глубокую защиту и исследуем защищенный режим вместе со многими другими методами для повышения безопасности будущих выпусков.

После трех лет это не кажется приоритетом.

Обновить

  • 9/28/2013
  • 5 лет спустя
  • Firefox 24.0
  • по-прежнему не поддерживает защищенный режим
Ян Бойд
источник
Боже, почему IE получает "плохую безопасность" рэп?
Марк Совул

Ответы:

4

К сожалению, в настоящее время нет способа запустить Firefox в защищенном режиме.

Если вы не используете 64-битную Windows, вы можете получить что-то похожее, используя Sandboxie .

Дэн Уокер
источник
4
Я просто быстро перебрал багтрекер в Mozilla и ничего не нашел относительно уровней целостности. Это говорит о том, что на самом деле сейчас не планируется их поддерживать. Однако, учитывая мой предыдущий опыт работы с их системой отслеживания ошибок и разработчиками, я думаю, что возможны два варианта: (1) Если бы я открыл билет с запросом на поддержку уровня целостности, он был бы закрыт в течение получаса как дубликат другого билета. с именем, которое никто не ищет, и (2) сама идея поддержки специфичных для Windows функций может напугать многих разработчиков.
Джои
я никогда не понимал, что Firefox существует на платформе помимо Windows. Имеет смысл, что есть версия для Mac и Linux, я видел только загрузку Windows.
Ян Бойд
Я думаю, что бесплатные и доступные устройства VM украли гром из песочницы.
kmarsh
Да, и, кстати, ответ «Не могу сделать это» был помечен как ответ, потому что «Не могу сделать это» является действительным ответом.
Ян Бойд
1

Вы можете запустить Firefox в режиме низкой целостности, используя следующие команды:

icacls "C:\Program Files\Mozilla Firefox\Firefox.exe" /setintegritylevel low
icacls "C:\Program Files\Mozilla Firefox" /setintegritylevel(oi)(ci) low /t

icacls "C:\Users\*username*\AppData\Local\Temp" /setintegritylevel(oi)(ci) low /t
icacls "C:\Users\*username*\AppData\Local\Mozilla" /setintegritylevel(oi)(ci) low /t
icacls "C:\Users\*username*\AppData\Roaming\Mozilla" /setintegritylevel(oi)(ci) low /t
icacls "C:\Users\*username*\Downloads" /setintegritylevel(oi)(ci) low /t

Обратите внимание, что вам нужно будет запустить второй пакет для каждого пользователя в вашей системе, настроив имя пользователя , в противном случае он получит сообщение «Firefox уже запущен».

Однако эта настройка вызывает следующие причуды:

  1. Менеджер профилей может вести себя неправильно.
  2. Вы получите предупреждение системы безопасности при каждом запуске Firefox.
  3. Загрузки могут быть размещены только в каталогах с низкой целостностью (следовательно, Загрузки помечены как с низкой целостностью выше).
  4. Открытие загрузок непосредственно из Firefox, как правило, не удастся.
Саймон Кейпвелл
источник
Следует отметить, что для всех, кто придет, выполнение этих шагов по существу победит цель «защищенного режима Firefox». Позволяя FireFox выполнять запись в другие местоположения (Temp, Mozilla, Downloads), вы устраняете цель запуска FF с низким уровнем обязательной целостности. Что еще хуже, теперь все приложения с низкими привилегиями (например, Chrome, мой медиаплеер) могут писать в эти места. Другими словами: вы не только ничего здесь не получаете, вы фактически теряете безопасность. Вам лучше запустить FF как обычный пользователь и оставить другие папки в покое.
Ян Бойд
Но, сказав все это, я все же даю статье +1, потому что это помогает проиллюстрировать, как приложения с низким уровнем привилегий могут писать только в определенные места. Но еще раз: не то, что говорит этот ответ. Это пример плохого решения - например, изменение разрешений для папки Windows и программных файлов, чтобы предоставить всем полный доступ, потому что одна программа хочет иметь возможность писать туда. Ты делаешь все хуже.
Ян Бойд
0

Ян, ты не понимаешь, как работает защищенный режим. Решение Саймона Кейпвелла - это верный способ повысить безопасность Firefox. Вы пример, утверждающий, что его решение каким-то образом отключает всю защиту от низкого уровня целостности, полностью ложен. Chrome и IE используют одни и те же методы, поскольку загрузки записываются в папку загрузки даже в защищенном режиме IE. В противном случае вы не сможете ничего скачать. Хотя IE может использовать обертку рода, таким образом, выделение основного процесса от тех, которые обрабатывают данные ненадежные для дополнительной безопасности, как делает хром, это спорный вопрос, как и в описанных выше способов, все компоненты Firefox изолированы от несанкционированного доступа к системе. Принимая во внимание, что в Chrome основной процесс выполняется со средней целостностью, а процессы рендеринга - с низкой целостностью.

Конфигурирование Firefox таким образом защищает Windows и Program Files от изменений, таким образом изолируя Firefox от остальной части вашей машины. Например, Firefox не может сбрасывать вредоносные программы в вашу папку «Автозагрузка» или добавлять записи реестра, которые автоматически запускают вредоносные программы, сбрасываемые в вашу папку загрузок (в которую Firefox разрешено записывать) при запуске. Кроме того, запуск Firefox с низким уровнем целостности защищает от попыток Firefox обойти списки контроля доступа, навязанные ему такими методами, как создание потока в удаленном процессе, для запуска кода в контексте безопасности этого процесса. Firefox по-прежнему разрешено помещать файлы во временные папки и, возможно, в исполняемые файлы, как Chrome и IE. Таким образом, уровни целостности должны быть объединены с SRP или AppLocker, чтобы предотвратить выполнение любых исполняемых файлов, помещенных в каталоги, в которые Firefox разрешено записывать. Это требование также присутствует в IE и Chrome.

После этого Firefox будет защищен от загрузок с диска и будет защищен в большей степени, чем IE, поскольку IE в защищенном режиме не обеспечивает достаточную защиту, если не сочетается с SRP или Applocker. Firefox никоим образом не может записывать в свой собственный каталог и временные папки какие-либо данные, отличные от того, что разрешено делать в защищенном режиме Chrome и защищенном режиме IE.

Единственная ловушка из этого решения: у меня плохая привычка оставлять исполняемые файлы внутри папки «Загрузки», которую я позже запускаю. Эти исполняемые файлы могут потенциально быть подделаны, если Firefox используется после их загрузки. Таким образом, после загрузки файла переместите его из папки «Downloads». Существует также очень небольшой риск использования уязвимости в Firefox для изменения временного файла в разрешенной временной папке, который затем использует уязвимость в процессе с более высоким уровнем целостности при использовании этого временного файла. Однако этого никогда не произойдет, и это только теоретическая уязвимость.

Дальнейшее чтение / Источники:

Windows 7 SRP (работает на Home Premium, хотя у вас нет AppLocker):

http://www.wilderssecurity.com/showthread.php?t=262686

Уровни целостности:

http://www.symantec.com/connect/articles/introduction-windows-integrity-control

Защищенный режим IE:

http://msdn.microsoft.com/en-us/library/bb250462(VS.85).aspx

Основная информация о «Загрузках с диска»:

http://www.wilderssecurity.com/showthread.php?t=241732

Подробная информация о Chrome на Windows Sandboxing (это больше, чем просто уровни целостности):

http://www.chromium.org/developers/design-documents/sandbox

багор
источник
1
Не имеет значения, в каких местах вы удалили защиту от низкой целостности. Добавление определенных местоположений, которые больше не защищены , наносит ущерб цели защищенного режима. Вы сделали вызов суждения в своем собственном уме , что пишет Temp, и Mozilla AppData папка является приемлемым компромиссом; потому что мы все знаем, что на самом деле мы хотим запретить программам доступ к Windows и ProgramFiles. Проблема в том, что я не знаю, что хранит FF AppData\Mozilla, но я точно не хочу, чтобы вредоносные программы отравляли URL-адреса обновлений или модифицировали мои расширения. Это точка безопасности.
Ян Бойд
Таким образом, вы не верите, что стоит использовать Firefox в защищенном режиме, потому что сам Firefox может быть скомпрометирован? Сам IE может быть теоретически скомпрометирован даже при работе в защищенном режиме. Целью защищенного режима является изоляция системы от процессов, которые взаимодействуют с ненадежными данными, и, таким образом, могут использоваться для взлома остальной системы, а не защиты программы от самой себя. При средней целостности Firefox уже может записывать в Temp и AppData, таким образом, ограничение прав на все остальные местоположения, несомненно, является значительным выигрышем в безопасности.
Тем не менее, если вы беспокоитесь о целостности своих расширений, что понятно, если вы пытаетесь защитить пароли, вам просто нужно уточнить правила уровня целостности. Уровни целостности не мешают чтению или выполнению операций выше уровня целостности приложения. Отметьте только временную папку как разрешенную и все местоположения файла конфигурации, в которые вы хотите, чтобы Firefox записывал, обязательно исключая папку расширения, найденную в AppData. URL-адреса обновлений не сохраняются в доступной для пользователя конфигурации: kb.mozillazine.org/… .
ProcessMonitor может быть полезен для определения операций, которые приложение пытается выполнить, и которым отказывают из-за уровня целостности. Просто установите фильтры для Application name = theappinquestion.exe и Result = ACCESS DENIED, и вы сможете легко улучшить уровни целостности любых необходимых файлов или разделов реестра. Файлы с icacls, reg ключи с regil ( minasi.com/apps ). Используя этот метод, я смог настроить бета-версию SC2 для работы в режиме низкой целостности менее чем за 5 минут.
я думаю, что всем не хватает того факта, что я запускаю другое программное обеспечение на уровне Low Mandatory Integrity; программы помимо ie и Chrome (или FireFox). Примером является медиаплеер; я хочу, чтобы выполнение кода из-за переполнения буфера в кодеке не позволяло записывать что-либо, кроме двух разрешенных местоположений. И я определенно не хочу, чтобы код мог записывать в мою Downloadsпапку, мою Tempпапку или иметь возможность изменять настройки, связанные с Firefox. я не должен поднимать барьеры безопасности на моем компьютере, чтобы заставить работать одну программу, программа должна сгибаться до барьеров безопасности.
Ян Бойд
-1

SRP не является необходимым, поскольку процессы, выполняемые процессом с низким уровнем целостности, сами наследуют низкий уровень целостности. Тем не менее, это еще один уровень защиты, и, следовательно, все еще хорошая идея!


источник