Jak uruchomić Firefox w trybie chronionym? (tj. na niskim poziomie integralności)

9

Zauważyłem, że Firefox, w przeciwieństwie do Chrome i Internet Explorera, nie działa na niskim poziomie obowiązkowym (inaczej tryb chroniony, niska integralność)

Google Chrome:

alternatywny tekst

Microsoft Internet Explorer:

wprowadź opis zdjęcia tutaj

Mozilla Firefox:

alternatywny tekst

Postępując zgodnie z instrukcjami Microsoft , mogę ręcznie zmusić Firefoksa do przejścia w tryb niskiej integralności, używając:

icacls firefox.exe /setintegritylevel Low 

Jednak Firefox nie reaguje dobrze na niewystarczające uprawnienia:

alternatywny tekst

Podoba mi się pewność, że moja przeglądarka działa z mniejszymi uprawnieniami niż ja. Czy istnieje sposób, aby uruchomić Firefoksa w trybie niskich praw? Czy Mozilla planuje kiedyś dodać „tryb chroniony”? Czy ktoś znalazł obejście dla Firefoksa, które nie obsługuje trybu niskich praw?


Aktualizacja

Z wywiadu przeprowadzonego w lipcu 2007 r. Przez Mike'a Schroepfera , wiceprezesa ds. Technicznych w Mozilla Foundation:

... wierzymy również w dogłębną obronę i badamy tryb chroniony wraz z wieloma innymi technikami, aby poprawić bezpieczeństwo przyszłych wydań.

Po trzech latach nie wydaje się to priorytetem.

Aktualizacja

  • 9/28/2013
  • 5 lat później
  • Firefox 24.0
  • nadal nie obsługuje trybu chronionego
Ian Boyd
źródło
Jezu, dlaczego IE dostaje rap „złego bezpieczeństwa”?
Mark Sowul,

Odpowiedzi:

4

Niestety obecnie nie ma możliwości uruchomienia Firefoksa w trybie chronionym.

Jeśli nie korzystasz z 64-bitowego systemu Windows, możesz uzyskać coś podobnego za pomocą Sandboxie .

Dan Walker
źródło
4
Po prostu szybko przeszukałem moduł śledzenia błędów Mozilli i nie znalazłem nic dotyczącego poziomów integralności. Sugeruje to, że faktycznie nie jest planowane ich wspieranie. Biorąc pod uwagę moje wcześniejsze doświadczenia z systemem śledzenia błędów i programistami, uważam, że dwie opcje są prawdopodobne: (1) Gdybym otworzył bilet z prośbą o wsparcie na poziomie integralności, zamknąłby się w ciągu pół godziny jako duplikat innego biletu o nazwie, której nikt nie mógłby odgadnąć i (2) sam pomysł obsługi funkcji specyficznych dla systemu Windows wystraszyłby wielu programistów.
Joey
nigdy nie zdawałem sobie sprawy, że Firefox istnieje na platformie innej niż Windows. Ma sens, że jest wersja na Maca i Linuksa, widziałem tylko pobieranie Windows.
Ian Boyd
Myślę, że darmowe i dostępne urządzenia VM ukradły grzmoty z piaskownicy.
kmarsh
Aha i tak przy okazji, odpowiedź „nie można tego zrobić” została oznaczona jako odpowiedź, ponieważ „nie można tego zrobić” jest prawidłową odpowiedzią.
Ian Boyd
1

Możesz uruchomić Firefoksa w trybie niskiej integralności, używając następujących poleceń:

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

Pamiętaj, że musisz uruchomić drugą partię dla każdego użytkownika w systemie, dostosowując nazwę użytkownika , w przeciwnym razie pojawi się okno komunikatu „Firefox już działa”.

Jednak ta konfiguracja powoduje następujące dziwactwa:

  1. Menedżer profili może nie działać poprawnie.
  2. Otrzymasz ostrzeżenie dotyczące bezpieczeństwa przy każdym uruchomieniu Firefoksa.
  3. Pliki do pobrania można umieszczać tylko w katalogach o niskiej integralności (stąd Pliki do pobrania są oznaczone jako niska integralność powyżej).
  4. Otwieranie plików do pobrania bezpośrednio z przeglądarki Firefox zazwyczaj nie powiedzie się.
Simon Capewell
źródło
Należy zauważyć, że dla każdego, kto się pojawi, wykonanie tych kroków zasadniczo zniweczy cel „trybu chronionego Firefox”. Zezwalając FireFoxowi na pisanie w innych lokalizacjach (Temp, Mozilla, Pobieranie), usuwasz cel działania FF na niskim poziomie integralności obowiązkowej. Co gorsza, teraz wszystkie aplikacje o niskich uprawnieniach (tj. Chrome, mój odtwarzacz multimedialny) mogą zapisywać w tych lokalizacjach. Innymi słowy: nie tylko nic tu nie zyskujesz, ale faktycznie tracisz bezpieczeństwo. Lepiej jest uruchomić FF jako standardowy użytkownik i zostawić pozostałe foldery w spokoju.
Ian Boyd
Ale powiedziawszy to wszystko, nadal daję artykułowi +1, ponieważ pomaga to zilustrować, w jaki sposób aplikacje o niskim poziomie prywatności mogą pisać tylko w określonych lokalizacjach. Ale jeszcze raz: nie rób tego, co mówi ta odpowiedź. Jest to przykład złego rozwiązania - takiego jak zmiana uprawnień do folderu Windows i Program Files, aby umożliwić wszystkim pełny dostęp, ponieważ jeden program chce mieć możliwość pisania w tym miejscu. Pogarszasz sytuację.
Ian Boyd
0

Ian, nie rozumiesz, jak działa tryb chroniony. Rozwiązanie Simona Capewella jest ważnym sposobem na zwiększenie bezpieczeństwa Firefoksa. Przykład: twierdzenie, że jego rozwiązanie w jakiś sposób wyłącza całość ochrony niskiego poziomu integralności, jest całkowicie fałszywe. Chrome i IE używają tych samych metod, ponieważ pliki do pobrania są zapisywane w folderze pobierania nawet w trybie chronionym IE. W przeciwnym razie nie będziesz w stanie niczego pobrać. Chociaż IE może używać pewnego rodzaju opakowania, izolując w ten sposób główny proces od tych, które przetwarzają niezaufane dane w celu zwiększenia bezpieczeństwa, tak jak robi to Chrome, jest to dyskusyjne, ponieważ w opisanych wyżej metodach wszystkie komponenty Firefoksa są odizolowane od manipulowania systemem. Natomiast w Chrome główny proces przebiega przy średniej integralności, a procesy renderowania przy niskiej integralności.

Skonfigurowanie Firefoksa w ten sposób chroni pliki Windows i Program przed modyfikacją, izolując w ten sposób Firefoksa od reszty komputera. Firefox nie może na przykład upuścić złośliwego oprogramowania do folderu Autostart ani dodać wpisu rejestru, który automatycznie uruchamia złośliwe oprogramowanie upuszczone w folderze pobranych plików (do którego Firefox może pisać) podczas uruchamiania. Ponadto uruchomienie Firefoksa jako niskiego poziomu integralności chroni przed próbą obejścia przez ACL wymuszonych na nim list ACL metodami takimi jak tworzenie wątku w zdalnym procesie w celu uruchomienia kodu w kontekście bezpieczeństwa tego procesu. Firefox nadal może upuszczać pliki do folderów tymczasowych i potencjalnie plików wykonywalnych, podobnie jak Chrome i IE. Dlatego poziomy integralności muszą być łączone z SRP lub AppLocker, aby zapobiec wykonaniu jakichkolwiek plików wykonywalnych upuszczonych w katalogach, do których Firefox może pisać. To wymaganie występuje również w IE i Chrome.

Po zakończeniu Firefox zostanie zabezpieczony przed pobieraniem z napędu i będzie chroniony bardziej niż IE, ponieważ tryb chroniony IE nie zapewnia wystarczającej ochrony, gdy nie jest połączony z SRP lub Applocker. W żaden sposób nie zezwala Firefoksowi na pisanie do własnego katalogu i folderów tymczasowych inaczej niż w trybie chronionym Chrome i tryb chroniony IE.

Jedyną pułapką tego rozwiązania: mam zły nawyk pozostawiania plików wykonywalnych w folderze Pobrane, które później uruchamiam. Pliki wykonywalne mogą zostać potencjalnie zmodyfikowane, jeśli Firefox zostanie wykorzystany po ich pobraniu. Dlatego po pobraniu pliku przenieś go z folderu Pobrane. Istnieje również bardzo małe ryzyko wykorzystania luki w zabezpieczeniach Firefoksa w celu zmodyfikowania pliku tymczasowego w dozwolonym folderze tymczasowym, który następnie wykorzystuje lukę w procesie wyższego poziomu integralności, gdy korzysta z tego pliku tymczasowego. Jednak tak się nigdy nie stanie i jest to tylko teoretyczna luka.

Dalsza lektura / źródła:

Windows 7 SRP (działa na Home Premium, chociaż nie masz AppLocker):

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

Poziomy integralności:

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

Tryb chroniony IE:

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

Podstawowe informacje o „Drive-by Downloads”:

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

Szczegóły Chrome w Windows Sandboxing (to więcej niż poziomy integralności):

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

Gafel
źródło
1
Nie ma znaczenia liczba typowych lokalizacji, z których usunięto ochronę niskiej integralności. Dodanie niektórych lokalizacjach być dłużej chroniony jest sprzeczne z celem trybie chronionym. W swoim umyśle podjąłeś decyzję, że pisanie do Temp, a folder Mozilla AppData jest akceptowalnym kompromisem; ponieważ wszyscy wiemy, że naprawdę chcemy uniemożliwić programom dostęp do Windows i ProgramFiles. Problem polega na tym, że nie wiem, co zawiera FF AppData\Mozilla, ale na pewno nie chcę, aby złośliwe oprogramowanie zatruwało adresy URL aktualizacji lub modyfikowało moje rozszerzenia. To jest kwestia bezpieczeństwa.
Ian Boyd
Więc nie uważasz, że warto używać Firefoksa w trybie chronionym, ponieważ sam Firefox może być zagrożony? Sam IE może być teoretycznie zagrożony, nawet jeśli działa w trybie chronionym. Tryb chroniony ma na celu izolację systemu od procesów, które łączą się z niezaufanymi danymi, a zatem może zostać wykorzystany do naruszenia reszty systemu, a nie do ochrony programu przed samym sobą. Przy średniej integralności Firefox może już pisać do Temp i AppData, dlatego zapobieganie prawom do wszystkich innych lokalizacji jest wyraźnie znaczącym wzrostem bezpieczeństwa.
To powiedziawszy, jeśli martwisz się integralnością swoich rozszerzeń, co jest zrozumiałe, jeśli chcesz chronić hasła, po prostu musisz udoskonalić reguły poziomu integralności. poziomy integralności nie uniemożliwiają odczytu lub wykonywania operacji powyżej poziomu integralności aplikacji. Zaznacz tylko folder Temporary jako dozwolony i wszystkie lokalizacje plików konfiguracyjnych, w których Firefox ma pisać, pamiętając o wykluczeniu folderu rozszerzenia znalezionego w AppData. adresy URL aktualizacji nie są przechowywane w konfiguracji dostępnej dla użytkownika: kb.mozillazine.org/… .
ProcessMonitor może być pomocny w określeniu, które operacje próbuje wykonać aplikacja, które są odrzucane z powodu poziomu integralności. Wystarczy ustawić filtry dla Nazwa aplikacji = theappinquestion.exe i Wynik = DOSTĘP ZABLOKOWANY, a można w łatwy sposób zawęzić poziomy integralności dowolnych potrzebnych plików lub kluczy rejestru. Pliki z icaclami, klucze reg z regilem ( minasi.com/apps ). Korzystając z tej metody, byłem w stanie skonfigurować SC2 beta do działania w trybie niskiej integralności w mniej niż 5 minut.
myślę, że wszystkim brakuje faktu, że uruchamiam inne oprogramowanie na poziomie niskiej integralności obowiązkowej; programy oprócz ie i Chrome (lub FireFox). Przykładem jest odtwarzacz multimedialny; Chcę, aby wykonanie kodu z przepełnienia bufora w kodeku nie było dozwolone do zapisu do niczego poza dwoma dozwolonymi lokalizacjami. I zdecydowanie nie chcę, aby kod mógł zapisywać w moim Downloadsfolderze, moim Tempfolderze lub móc modyfikować ustawienia związane z Firefoksem. nie powinienem znosić barier bezpieczeństwa na moim komputerze, aby jeden program działał, program powinien zginać się do barier bezpieczeństwa.
Ian Boyd
-1

SRP nie jest konieczne, ponieważ procesy wykonywane przez proces o niskim poziomie integralności same dziedziczą niski poziom. Jest to jednak kolejna warstwa ochrony, a zatem nadal dobry pomysł!


źródło