¿Por qué el sistema operativo no se autentica ante mí?

1

A veces se me ocurre, al hacer algo como brew install , o realmente cualquier cosa en una CLI (aunque supongo que esto también es cierto en el caso de las GUI en menor medida) que me pide una contraseña, que en realidad no se hace un esfuerzo para autenticar que es el sistema operativo el que tiene el control de la entrada estándar.

Parece, al menos para mí, que uno podría escribir un programa que pareciera razonable para dar acceso a la raíz, aunque en sí mismo imprimiría un mensaje: "Contraseña:", y tal vez nunca sabría que le había dado mi contraseña del SO de texto simple a la aplicación.

Podría pensar que tenía, si la aplicación hacía algo que requería sudo, y el sistema operativo lo solicitó; aunque incluso entonces no podría estar seguro: si generara otro proceso, por ejemplo, creo que sería posible que el sistema operativo realmente se activara dos veces, una para cada niño.

Esto también se aplica a las GUI, solo muy marginalmente (y contra Kirckhoff), menos debido a la necesidad de replicar el indicador del sistema operativo.

¿Por qué no hay alguna forma de autenticación, sea lo que parezca? Demostrando a me , el usuario, que el supuesto sistema operativo, es el sistema operativo, por ejemplo. solicitando mi contraseña?

    
pregunta OJFord 17.05.2015 - 16:55
fuente

1 respuesta

1

Cuando escriba "sudo [software]", siempre asumirá que el software necesita derechos de administrador.

Por lo tanto, el sistema operativo le pedirá la contraseña, antes de que el proceso [software] tenga la oportunidad de ejecutarse en absoluto.

Sin embargo, tiene un riesgo, y es cuando tiene sudo configurado para "recordar" su autorización por un tiempo predeterminado. Este es el comportamiento predeterminado, y creo que el tiempo se establece en 5 minutos. Esto se puede desactivar, por lo que sudo siempre solicitará la contraseña el 100% de las veces.

Luego, si se habilita el "recuerdo de autorización", el software que está iniciando con sudo podría pedirle su contraseña y pensaría que es el indicador de sudo. PERO RECUERDA: Ya ha autorizado que el software se ejecute como root, por lo que puede ejecutar fácilmente "passwd [su nombre de usuario]" y cambiar su contraseña, si el software es malicioso y desea mantener el acceso de root. Otra cosa que el software puede hacer, ya que se ejecuta como root, es agregar una cuenta de usuario propia con derechos sudo, o simplemente cambiar la contraseña de root a algo que el software sepa.

Una vez que autorice a un software para que se ejecute como root a través de sudo, asumirá que este software es completamente legítimo y es 100% confiable, por lo que una autenticación de usuario de sistema operativo no agregaría ningún tipo de seguridad.

Mientras escriba la palabra "sudo", no hay forma de que una aplicación sin derechos de root pueda engañarlo para que ingrese su contraseña para un proceso malicioso.

Si un software se "auto-sudo" cuando necesita derechos elevados, como "brew install" sin sudo, existe la posibilidad de que el software capture su contraseña.

Sin embargo, digamos que el sistema operativo se autentica mediante la autenticación mutua, mostrando una "pregunta de seguridad" que solo usted y el sistema operativo conocen la correcta. Luego, el software malintencionado podría capturar la autenticación del sistema operativo generando el proceso y la Lectura de STDIN, o el software podría colocarse como un "MITM" entre el proceso de solicitud de contraseña del sistema operativo y el usuario, utilizando tuberías, mostrando el sistema operativo correcto. > user auth (incluso si el sistema operativo - > user auth sería un sistema de contraseña de un solo uso) Y también capturando la contraseña.

Windows resolvió este problema al requerir que el usuario presione CTRL + ALT + SUPR antes de iniciar sesión. Si un usuario generó un proceso que parecía un cuadro de diálogo de inicio de sesión y lo puso como pantalla completa en un intento de capturar, por ejemplo, las credenciales del administrador, el administrador notaría que falta el indicador CTRL + ALT + SUPR o O QUE el administrador presionaría CTRL + ALT + DEL hace que el administrador de tareas se inicie en su lugar, revelando instantáneamente que el diálogo de inicio de sesión es falso.

Sin embargo, esto solo es aplicable para el primer diálogo de inicio de sesión. No se puede hacer ninguna protección / autenticación para la solicitud de inicio de sesión mientras una sesión de usuario está Activa, que estaría protegida contra cualquier proceso malicioso que se ejecute como ese usuario.

    
respondido por el sebastian nielsen 18.05.2015 - 03:18
fuente

Lea otras preguntas en las etiquetas