¿Las extensiones de Chrome para un usuario tienen acceso a otros usuarios?

6

Estoy tratando de aislar cualquier extensión instalada de Google Chrome / Chromium de mi actividad de navegación web más privada. Mi idea era tener dos "Usuarios" de Chrome, con más navegación privada en uno y menos navegación privada con extensiones en el otro. Quiero saber si esto es "razonablemente" seguro (* ver más abajo).

Supongamos que tengo la siguiente configuración:

  • Configuré Chrome / Chromium para tener dos "Usuarios" (a través de la Página de configuración de Chrome ). Llámalos UserAlice y UserBob .
  • UserAlice tiene no Extensiones instaladas.
  • UserBob Instala algunas extensiones instaladas. Cuando se instalan, algunos de ellos tienen permisos otorgados.

Dado este escenario, el pregunta principal es:

  • Hacer las extensiones para UserBob tener alguna posibilidad de tener acceso incluso a un poquito de la actividad y el contenido de UserAlice ?
    • Si la respuesta es "sí", ¿qué permisos permiten este acceso entre usuarios?

* Por "razonable", quiero decir que quiero protegerme contra lo siguiente: Supongamos UserBob tiene una extensión maliciosa instalada que de alguna manera puede leer los nombres de usuario y las contraseñas de los sitios web en los que se navega, como el correo electrónico o un banco. UserAlice Navega a sitios web de correo electrónico y bancarios. "Razonablemente seguro" significa que UserAlice El nombre de usuario y las contraseñas, correo electrónico, banca, etc. no pueden ser accedidos por ninguna de las extensiones maliciosas instaladas por UserBob .

user29020
fuente

Respuestas:

1

Siempre que estos usuarios sean usuarios completamente separados dentro de Windows, en lugar de ser simplemente perfiles separados dentro de Chrome, y si ninguno de los dos tiene derechos de administrador, sus extensiones y datos deben estar completamente separados y un usuario no podrá acceder al Datos del otro usuario.

Chrome se instala en el Program Files directorio. Este directorio no es de escritura mundial y los usuarios deben almacenar sus datos personales en sus propios C:\Users\myProfile directorio. Cuando se ejecuta Chrome con Alicia iniciada, se creará un perfil en algún lugar debajo de C:\Users\Alice\appdata y cuando Bob ejecuta Chrome, se creará un nuevo perfil bajo C:\Users\Bob\appdata.

Estos perfiles de Chrome almacenarán extensiones para ese usuario, sus marcadores y cachés. Es el propio Windows y los permisos del sistema de archivos lo que determina si un usuario puede acceder a los datos de otro usuario. Por defecto, un usuario que no sea administrador no podrá acceder a los datos de ningún otro usuario.

Si alguna de esas extensiones requirió acceso de administrador para instalar, entonces es completamente posible que hayan cambiado los permisos del sistema de archivos o que hayan instalado un servicio auxiliar administrativo o incluso que copien el perfil de usuario de otro usuario. Tenga en cuenta que después de esta instalación inicial, la extensión perderá la capacidad de cambiar los permisos o ver el perfil de otro usuario, excepto en el caso de que haya instalado un servicio de ayuda de administrador.

Fuera de Alice, que explícitamente le da acceso a Bob, o que Bob logre que el administrador permita la instalación de un complemento que requiera la instalación fuera del perfil de usuario de Chrome, entonces Bob no debería poder acceder a los datos de Alice.

Si Bob o Alice son administradores, ambos tendrán acceso casi gratuito a los datos de otros usuarios.

Por supuesto, hay escenarios alternativos en los que Bob compromete la máquina y se las arregla para instalar un rootkit utilizando las vulnerabilidades conocidas del sistema, pero esa es una historia para otro día ...


Me perdí la parte de la pregunta en la que mencionó que estos son perfiles dentro de Chrome en lugar de Windows y debo decir que es totalmente posible que las extensiones dentro de un perfil de Chrome accedan a los datos dentro del otro perfil ya que no hay protección del sistema de archivos en Coloque y Chrome no aplicará ninguna protección para evitar que acceda a archivos entre los perfiles, ya que es el trabajo de usuarios independientes dentro del sistema operativo.

Como ejemplo, anteriormente he usado Firefox y lo desinstalé, luego pude lanzar una copia portátil de Firefox en la que instalé un navegador sqlite (FF almacena datos en bases de datos sqlite) y busco mi perfil anterior y veo mi historial, el Lo mismo sería casi seguro en Chrome.

Si realmente quiere usuarios múltiples, debe usar las funciones del sistema operativo en lugar de las funciones del programa para hacer cumplir la seguridad. Si Bob y Alice comparten el mismo perfil de usuario de Windows, entonces uno podría simplemente buscar los datos del otro usuario fuera de Chrome y no necesitar las extensiones.

Mokubai
fuente
0

Respuesta corta : Siempre que instale una extensión de Chrome desde Chrome Web Store y no instale explícitamente un binario independiente, la extensión está, de forma predeterminada, atrapada en el perfil del navegador y no puede acceder ni modificar a otros usuarios de Chrome. Decir que "no hay protección del sistema de archivos en su lugar" es inexacto, ya que Chrome nunca ha admitido extensiones de tipo XUL.


Trataré las dos formas en que la otra respuesta menciona como rutas que una extensión puede aprovechar para escapar del confinamiento de un perfil del navegador y acceder a otras partes del sistema de archivos, más un extra. El primero es a través de la nativeMessaging Permiso WebExtension, el segundo a través de la activación de un cuadro de diálogo de archivo, y el tercero es a través de la isAllowedFileSchemeAccess API. Ninguno es automático (en segundo plano o de otro tipo) y todos requieren que el usuario acepte explícitamente dicho acceso.

1) Una extensión web utilizando la nativeMessaging permiso no puede tirar en la aplicación nativa privilegiada por su cuenta. Hasta que el usuario decide explícitamente instalar la aplicación nativa, WebExtension queda atrapada en el perfil del navegador en el que se instaló.

En la otra respuesta, "[i] f any ... extensio [n] requiere [s] acceso de administrador para instalar", dicho software comprende más que solo una extensión de Chrome pura, por ejemplo, la extensión se integra de forma independiente. nativeMessaging el cliente instalado fuera de Chrome, y al instalar el cliente externo (fuera de Chrome) también se podría haber instalado un binario de keylogger independiente en todo el sistema que afecta mucho más que solo el navegador. Se acabó el juego, pero es culpa del usuario, ya que ha anulado la seguridad provista por el navegador.

2) De la otra respuesta: "Pude ... lanzar una copia portátil de Firefox en la que instalé un navegador sqlite ... y buscar mi antiguo perfil y ver mi historial". Los cuadros de diálogo de archivos requieren la interacción explícita del usuario, por lo tanto, esto no es un error de seguridad. Si el usuario carga explícitamente los archivos en el perfil del navegador para que la extensión los manipule, entonces el usuario ha expresado su acuerdo de que sus datos se compartan con la extensión. De lo contrario, la extensión no puede hacer más que esperar que el usuario seleccione un archivo en el cuadro de diálogo Abrir archivo, que el usuario (recordando que el perfil está destinado a capturar extensiones potencialmente no confiables) puede simplemente cerrar.

3) El isAllowedFileSchemeAccess API en Chrome permite el acceso de solo lectura al sistema de archivos a través del archivo: // protocolo. Sin embargo, "un usuario debe permitir explícitamente este comportamiento para una extensión dada a través del panel de preferencias de Chrome en chrome: // extensions" y desde principios de 2017 solo 55 extensiones en el CWS lo solicitan. (Fuente: Mozilla Wiki ) No solo la probabilidad de encontrar una extensión que abusa de este privilegio para fisgonear en el sistema de archivos es muy improbable, sino que el privilegio también requiere que el usuario la otorgue manualmente a una extensión del navegador.


El uso de perfiles de navegador separados para aislar extensiones potencialmente peligrosas es más que suficiente, ya que las cuentas de usuario separadas a nivel de sistema operativo son excesivas, a menos que se esté defendiendo contra las vulnerabilidades del navegador de día cero que destruyen completamente el modelo de permisos de la API de WebExtension de Chrome, en cuyo caso el nivel de VM Las protecciones están en orden. Si jugamos con un software que aprovecha las vulnerabilidades, las cuentas de usuario a nivel de sistema operativo no brindan suficiente protección, ya que ahora estamos jugando con malware.

Las aplicaciones de Chrome son un hervidor de peces completamente diferente, ya que disfrutan de más permisos que las extensiones de Chrome estándar, pero son una tecnología obsoleta y, lo que es más importante, están fuera del alcance de la pregunta del OP, ya que se refiere a las extensiones de Chrome. Por lo tanto, las aplicaciones de Chrome no están cubiertas en esta respuesta.

En conclusión, una extensión de Chrome no puede saltar a través de los perfiles del navegador a menos que 1) el usuario haya instalado manualmente un ejecutable independiente externo a Chrome, en cuyo caso todas las apuestas están desactivadas 2) el usuario selecciona un archivo en un cuadro de diálogo de apertura de archivo generado por una extensión, en cuyo caso el usuario ha otorgado explícitamente el permiso de extensión para el acceso de archivos arbitrarios 3) el usuario marca manualmente una casilla en chrome: // extensiones que las extensiones no pueden modificar por sí mismas.

dsstorefile1
fuente