Czy rozszerzenia Chrome dla jednego użytkownika mają dostęp do innych użytkowników?

7

Próbuję odizolować wszystkie zainstalowane rozszerzenia Google Chrome / Chromium od mojej bardziej prywatnej aktywności związanej z przeglądaniem stron internetowych. Myślałem o tym, by mieć dwóch „użytkowników” Chrome, z jednym przeglądaniem prywatnym i mniejszym przeglądaniem z rozszerzeniami w drugim. Chcę wiedzieć, czy jest to „rozsądnie” (* patrz poniżej) bezpieczne.

Załóżmy, że mam następującą konfigurację:

  • Skonfigurowałem Chrome / Chromium, aby mieć dwóch „użytkowników” (za pośrednictwem strony ustawień Chrome ). Nazywaj je UserAlice i UserBob .
  • UserAlice nie ma zainstalowanych rozszerzeń.
  • UserBob instaluje niektóre zainstalowane rozszerzenia. Po zainstalowaniu niektóre z nich mają przyznane uprawnienia.

Biorąc pod uwagę ten scenariusz, główne pytanie brzmi:

  • Czy rozszerzenia dla UserBob mają jakąkolwiek możliwość dostępu do choćby odrobiny aktywności i treści UserAlice ?
    • Jeśli „tak”, to które uprawnienia zezwalają na ten dostęp dla wielu użytkowników?

* Przez „rozsądne” mam na myśli, że chcę chronić się przed następującymi informacjami: Załóżmy, że UserBob ma zainstalowane złośliwe rozszerzenie, które w jakiś sposób odczytuje nazwy użytkowników i hasła z przeglądanych stron internetowych, takich jak poczta e-mail lub bank. UserAlice przegląda strony e-mailowe i bankowe. „W miarę bezpieczny” oznacza, że żadne z złośliwych rozszerzeń zainstalowanych przez UserBob nie może uzyskać dostępu do nazwy użytkownika i haseł, poczty elektronicznej, bankowości itp . UserAlice .

użytkownik29020
źródło

Odpowiedzi:

2

Krótka odpowiedź : tak długo, jak instalujesz rozszerzenie Chrome z Chrome Web Store i nie instalujesz osobnego oddzielnego pliku binarnego, rozszerzenie jest domyślnie uwięzione w profilu przeglądarki i nie może uzyskiwać dostępu ani modyfikować innych użytkowników Chrome. Stwierdzenie, że „nie ma ochrony systemu plików” jest niedokładne, ponieważ Chrome nigdy nie obsługiwał rozszerzeń typu XUL.


Omówię dwa sposoby, o których wspomniana jest inna odpowiedź, jako trasy, które rozszerzenie może wykorzystać, aby uciec od ograniczenia profilu przeglądarki i uzyskać dostęp do innych części systemu plików, a także dodatkowych. Pierwszy odbywa się za nativeMessagingpośrednictwem uprawnienia WebExtension, drugi poprzez uruchomienie okna dialogowego pliku, a trzeci poprzez isAllowedFileSchemeAccessinterfejs API. Żadne z nich nie jest automatyczne (w tle lub w inny sposób) i wszystkie wymagają wyraźnej zgody użytkownika na taki dostęp.

1) Rozszerzenie WebExture za pomocą tego nativeMessaginguprawnienia nie może samodzielnie pobrać uprzywilejowanej aplikacji natywnej. Dopóki użytkownik nie zdecyduje się na instalację aplikacji natywnej, rozszerzenie WebExtension jest uwięzione w profilu przeglądarki, w którym został zainstalowany.

Z drugiej odpowiedzi: „[i] jeśli dowolne ... rozszerzenie wymaga [n] dostępu administratora] do instalacji”, to oprogramowanie zawiera więcej niż zwykłe rozszerzenie Chrome, np. Rozszerzenie podłącza się do samodzielnego nativeMessagingklienta zainstalowanego na zewnątrz Chrome, a instalując klienta zewnętrznego (poza Chrome) równie dobrze można zainstalować ogólnosystemowy samodzielny plik binarny keyloggera, który wpływa na znacznie więcej niż tylko przeglądarkę. Gra się skończyła, ale wina użytkownika, ponieważ on / ona zastąpił zabezpieczenia zapewniane przez przeglądarkę.

2) Z drugiej odpowiedzi: „Byłem ... w stanie uruchomić przenośną kopię Firefoksa, w której zainstalowałem przeglądarkę sqlite ... i przejść do mojego starego profilu i zobaczyć moją historię”. Okna dialogowe plików wymagają wyraźnej interakcji użytkownika, dlatego nie jest to błąd bezpieczeństwa. Jeśli użytkownik jawnie wczytuje pliki do profilu przeglądarki w celu manipulowania rozszerzeniem, oznacza to, że wyraził zgodę na udostępnienie ich danych rozszerzeniu. W przeciwnym razie rozszerzenie nie może zrobić nic innego, jak tylko nadzieję, że użytkownik wybierze plik w oknie dialogowym Otwórz plik, który użytkownik (przypominając profil ma na celu zatrzymanie potencjalnie niewiarygodnych rozszerzeń) może po prostu zamknąć.

3) isAllowedFileSchemeAccessInterfejs API w Chrome umożliwia dostęp tylko do odczytu do systemu plików za pośrednictwem protokołu file: //. Jednak „użytkownik musi wyraźnie zezwolić na takie zachowanie dla danego rozszerzenia za pomocą panelu preferencji Chrome w rozszerzeniach chrome: //” i na początku 2017 r. Prosi o to tylko 55 rozszerzeń w CWS. (Źródło: Mozilla Wiki ) Prawdopodobieństwo napotkania rozszerzenia nadużywającego tego uprawnienia do szpiegowania w systemie plików jest nie tylko mało prawdopodobne, ale również wymaga, aby użytkownik ręcznie nadał mu rozszerzenie przeglądarki.


Używanie osobnych profili przeglądarki w celu izolowania potencjalnie niebezpiecznych rozszerzeń jest więcej niż wystarczające, ponieważ osobne konta użytkowników na poziomie systemu operacyjnego są nadmierne, chyba że ktoś broni się przed exploitami przeglądarki zero-day, które całkowicie niszczą model uprawnień API WebExtension dla Chrome, w którym to przypadku poziom VM zabezpieczenia są w porządku. Jeśli bawimy się oprogramowaniem wykorzystującym exploity, konta użytkowników na poziomie systemu operacyjnego nie zapewniają wystarczającej ochrony, ponieważ obecnie bawimy się złośliwym oprogramowaniem.

Aplikacje Chrome są zupełnie innym kotłem ryb, ponieważ mają więcej uprawnień niż standardowe rozszerzenia Chrome, ale są przestarzałą technologią i, co ważniejsze, są poza zakresem pytania OP, ponieważ pytają o rozszerzenia Chrome. Dlatego aplikacje Chrome nie są objęte tą odpowiedzią.

Podsumowując, rozszerzenie Chrome nie może przeskakiwać między profilami przeglądarki, chyba że 1) użytkownik ręcznie zainstalował samodzielny plik wykonywalny zewnętrzny dla Chrome, w którym to przypadku wszystkie zakłady są wyłączone 2) użytkownik wybiera plik w otwartym oknie dialogowym pliku wygenerowanym przez rozszerzenie, w takim przypadku użytkownik wyraźnie udzielił zezwolenia na rozszerzenie dla dowolnego dostępu do pliku 3) użytkownik ręcznie zaznacza pole w rozszerzeniach chrome: //, których rozszerzenia nie mogą same modyfikować.

dsstorefile1
źródło
1

Tak długo, jak użytkownicy ci są całkowicie oddzielnymi użytkownikami w systemie Windows, a nie tylko oddzielnymi profilami w Chrome, a także dopóki żaden użytkownik nie ma uprawnień administratora, ich rozszerzenia i dane powinny być całkowicie oddzielne, a jeden użytkownik nie będzie mógł uzyskać dostępu do dane drugiego użytkownika.

Chrome zostanie zainstalowany w Program Fileskatalogu. W tym katalogu nie można zapisywać na całym świecie, a użytkownicy muszą przechowywać swoje dane osobowe we własnym C:\Users\myProfilekatalogu. Gdy Chrome zostanie uruchomiony z zalogowaną Alicją, utworzy gdzieś profil, C:\Users\Alice\appdataa gdy Bob uruchomi Chrome, nowy profil zostanie utworzony C:\Users\Bob\appdata.

Te profile Chrome będą przechowywać rozszerzenia dla tego użytkownika, jego zakładek i pamięci podręcznych. To sam system Windows i uprawnienia systemu plików określają, czy jeden użytkownik może uzyskać dostęp do danych innego użytkownika. Domyślnie użytkownik niebędący administratorem nie będzie mógł uzyskać dostępu do danych żadnego innego użytkownika.

Jeśli którekolwiek z tych rozszerzeń wymagało dostępu administratora, aby zainstalować, to jest całkowicie możliwe, że zmienili uprawnienia systemu plików lub zainstalowali usługę pomocy administracyjnej, a nawet wprost skopiowali profil użytkownika innego użytkownika. Należy pamiętać, że po tej wstępnej instalacji rozszerzenie utraciłoby możliwość zmiany uprawnień lub zobaczenia innego profilu użytkownika, z wyjątkiem przypadku, gdy zainstalował usługę pomocniczą administratora.

Poza Alicią wyraźnie udzielającą dostępu Bobowi lub Bobem zarządzającym, aby administrator zezwolił na instalację dodatku wymagającego instalacji poza profilem użytkownika Chrome, wtedy Bob nie powinien mieć dostępu do danych Alice.

Jeśli Bob lub Alice jest administratorem, oboje będą mieli prawie bezpłatny dostęp do danych innych użytkowników.

Oczywiście istnieją alternatywne scenariusze, w których Bob kompromituje komputer i udaje mu się zainstalować rootkita przy użyciu znanych luk w systemie, ale to historia na kolejny dzień ...


Brakowało mi części twojego pytania, w której wspomniałeś, że są to profile w Chrome, a nie w systemie Windows, i muszę powiedzieć, że rozszerzenia w jednym profilu Chrome mogą uzyskać dostęp do danych w drugim profilu, ponieważ nie ma ochrony systemu plików w miejsce i Chrome nie będą wymuszać żadnych zabezpieczeń uniemożliwiających dostęp do plików między profilami, ponieważ jest to zadanie oddzielnych użytkowników w systemie operacyjnym.

Jako przykład, wcześniej korzystałem z Firefoksa i odinstalowałem go, mogłem następnie uruchomić przenośną kopię Firefoksa, w której zainstalowałem przeglądarkę sqlite (FF przechowuje dane w bazach danych sqlite) oraz przeglądam mój stary profil i widzę moją historię, to prawie na pewno byłoby możliwe w Chrome.

Jeśli naprawdę chcesz wielu użytkowników, powinieneś użyć funkcji systemu operacyjnego, a nie funkcji programu w celu wymuszenia bezpieczeństwa. Jeśli Bob i Alice dzielą ten sam profil użytkownika systemu Windows, można po prostu przeglądać dane drugiego użytkownika poza Chrome i nie potrzebować w ogóle rozszerzeń.

Mokubai
źródło