Esto depende del sistema operativo y del método usado para escalar privilegios al administrador. Por lo general, la respuesta es afirmativa: proteger un diálogo de escalada de privilegios de la manipulación y la suplantación de identidad es un desafío técnico.
Para proteger una solicitud de contraseña de administrador contra el malware que ha infectado su cuenta pero no la cuenta de administrador, la solicitud de contraseña debe estar suficientemente aislada de la interfaz de usuario normal:
- Cuando se muestra un cuadro de diálogo de solicitud de contraseña, el software sin privilegios no debe poder espiar las teclas presionadas en ese cuadro de diálogo.
- El software sin privilegios tampoco debe poder cambiar el foco fuera de ese diálogo a escondidas.
- Por supuesto, el software sin privilegios no debe poder husmear en la memoria del proceso que proporciona la solicitud de contraseña, ni afectar su ejecución de ninguna manera.
- Además, el software no privilegiado no debe poder mostrar una solicitud de contraseña convincente, donde el usuario creería que estaba ingresando su contraseña en el diálogo de solicitud de contraseña legítima, pero de hecho estaba escribiendo en un cuadro de diálogo de aspecto similar provisto por el malware .
X11 (la GUI de Linux) no proporciona un aislamiento fuerte entre las ventanas de las aplicaciones, lo que hace que sea imposible proporcionar una solicitud de contraseña que no pueda ser buscada. Es una característica que en X11, por ejemplo, puede definir métodos de entrada y macros que funcionan en todas partes.
Creo que Windows es un poco más restrictivo, pero no sé si la solicitud de contraseña del administrador del sistema está de hecho protegida contra el registro de teclas. La solicitud de escalada de privilegios de Windows no está protegida contra el phishing: cualquier programa puede mostrar una pantalla en gris con una solicitud de contraseña en el centro.
Para lograr un diálogo de escalado de privilegios seguro, no solo la interfaz de usuario debe proporcionar componentes aislados (por ejemplo, una ventana donde no es posible macros o reencuadernación de clave), sino que también debe proporcionar una manera para que el diálogo no sea Spoofable, como:
- Una forma confiable para que el usuario solicite la escalada de privilegios: una secuencia de entrada mágica que no se puede redirigir. En principio, Ctrl + Alt + Del de Windows podría hacer esto, excepto que creo que puede volver a enlazar el teclado (y mover las teclas relevantes) sin privilegios de administrador.
- Un diálogo convincente que no puede provenir del malware: el diálogo muestra una frase secreta o una imagen elegida por el usuario y que nunca es accesible para los programas sin privilegios. Esto tiende a funcionar mal porque la frase o imagen secreta nunca debe filtrarse y el usuario debe prestar atención. Los usuarios tienden a elegir la misma imagen de sus hijos que utilizan como fondo de pantalla y tienden a hacer clic en "ok" sin prestar atención, lo que hace que esta técnica sea de una utilidad limitada.
- Un LED de hardware que significa "la interfaz de usuario está en modo privilegiado" (y que solo se puede cambiar mediante un software privilegiado): las computadoras no tienen esto. Y nuevamente, los usuarios deben estar prestando atención.
En cualquier caso, al final, son sus datos los que son valiosos, no su contraseña de administrador. Para una computadora típica de usuario final, no tiene mucho valor hacer que el sistema operativo y la interfaz de usuario sean mucho más complejos solo para proteger la contraseña del administrador.