Almacenamiento de contraseña en los scripts de contenido de Google Chrome

1

Estoy planeando almacenar las credenciales de inicio de sesión en los scripts de contenido de Google Chrome. Los scripts de contenido utilizarán estas credenciales para iniciar sesión en un sitio web cuando lo abra en Chrome.

¿Quería entender los riesgos / problemas al almacenar las credenciales de inicio de sesión en un script de contenido? Además, si este no es el camino a seguir, ¿existe algún mecanismo de cifrado para almacenar las credenciales y estas pueden ser accedidas por mi script de contenido?

    
pregunta Sam 10.05.2013 - 11:41
fuente

1 respuesta

1

Cualquier persona con acceso de lectura a su computadora puede obtener acceso a la contraseña. Incluso si la base de datos ( localStorage / lo que sea) está encriptada. Todo lo que un atacante debe hacer es copiar sobre el directorio de datos del usuario ( ~/.config/google-chrome en Linux; en algún lugar en AppData en Windows), iniciar Chrome en su propia PC con la marca --user-data-dir establecida en el directorio copiado y usar la aplicación - las credenciales almacenadas se utilizarán para iniciar sesión en cualquier sitio que estés usando (y se pueden rastrear fácilmente a través de las herramientas para desarrolladores).

En su lugar, sugiero que vea si el servicio tiene una API de autorización. Por ejemplo, puede tener su extensión solicitar permisos parciales a la cuenta de Google . Por supuesto, si el directorio de datos es robado, entonces el atacante tiene acceso a estos permisos. Muchos sitios (como Twitter) admiten OAuth , eso es otra cosa que puedes probar. La mayoría de los sitios habilitados para OAuth solo otorgan permisos limitados a través de OAuth.

De lo contrario, almacene la contraseña en su servidor y haga que el servidor lo haga todo; solo use su extensión para comunicarse con el servidor y mostrar el resultado. De esta manera, un atacante solo puede trabajar dentro de los límites de lo que puede hacer su extensión.

Al final, sea cual sea el método que utilices para protegerlo, un atacante que robe el directorio de datos podrá hacer algún daño. Todo lo que puedes hacer es ayudar a restringir las posibilidades: con la contraseña directa, y el atacante puede hacer todo tipo de cosas como cambiar la contraseña. Con una clave API de permisos restringidos, el atacante solo puede trabajar dentro de los límites de esos permisos. Si hace todo en el servidor, el atacante no puede hacer mucho más allá de las capacidades de su extensión, ya que el servidor solo sabe cómo realizar ciertos tipos de solicitudes a la página.

    
respondido por el Manishearth 15.05.2013 - 23:43
fuente

Lea otras preguntas en las etiquetas