¿Por qué el sistema operativo no le da a cada aplicación una contraseña secreta?

-1

Según tengo entendido, si Dropbox quiere ejecutarse automáticamente en segundo plano sin pedirle al usuario una contraseña, tiene que almacenar la contraseña en algún lugar del disco duro y actualmente no tiene forma de cifrar esa contraseña de una manera que otras aplicaciones puedan No lo lea.

Como resultado, algunas aplicaciones conscientes de la seguridad le piden al usuario cada vez que ejecuta una contraseña para evitar el almacenamiento de la contraseña.

Podría imaginar un sistema en el que el sistema operativo tenga un área segura que esté encriptada con la contraseña que el usuario utiliza para iniciar sesión en su cuenta de usuario y que esté configurada de manera que solo el dropbox.exe pueda acceder. El dropbox.exe puede identificarse a través de la ruta donde se encuentra en el disco y un hash. Cuando Dropbox se actualice, deberá enviar un aviso al sistema operativo para calcular un nuevo hash.

Esto no solo se aplica a aplicaciones como Dropbox sino también a aplicaciones como KeePass que almacenan muchas contraseñas. Me parece que incluso un malware que puede leer todo el disco y capturar claves a través de un keylogger no podría robar contraseñas en una configuración como esta, siempre que el keylogger no esté activo cuando el usuario inicie sesión en su cuenta de usuario.

¿Hay algún error en mi pensamiento?

    
pregunta Christian 16.08.2014 - 16:50
fuente

1 respuesta

3

Este es un artefacto con la forma en que Windows hace los permisos: no puede actuar como un usuario sin conocer la contraseña del usuario porque ciertos bits clave de información se cifran usando la contraseña del usuario. Por lo tanto, esto no se aplica a ningún otro sistema operativo.

Pero la clave aquí es que usuarios tienen permisos y derechos de propiedad, programas no. Así que cada aplicación es solo una actividad que el usuario puede realizar. Dropbox no puede poseer cosas porque es un programa, no un usuario.

Y la otra clave es que el programador de tareas se ejecuta como el usuario del "sistema". Así que cada tarea que realiza se desempeña como "sistema". Un programa puede tomar la identidad de otro usuario, pero para eso necesita la contraseña de la identidad. Lo que significa que el usuario del programador de tareas ("sistema") necesita acceso a esa contraseña, que a su vez le da esa contraseña a CUALQUIER programa que se ejecute como "sistema". Porque la propiedad solo se puede asignar a los usuarios.

Es un poco complicado, pero TL; DR es que las reglas que Microsoft creó para Windows los obligaron a entrar en esta esquina. Sí, hay soluciones que evitan este problema y, de hecho, todos los demás sistemas operativos han resuelto este problema. Pero no Windows. Siéntase libre de quejarse a Microsoft.

    
respondido por el tylerl 16.08.2014 - 21:26
fuente

Lea otras preguntas en las etiquetas