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 nativeMessaging
pośrednictwem uprawnienia WebExtension, drugi poprzez uruchomienie okna dialogowego pliku, a trzeci poprzez isAllowedFileSchemeAccess
interfejs 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 nativeMessaging
uprawnienia 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 nativeMessaging
klienta 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) isAllowedFileSchemeAccess
Interfejs 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ć.