miércoles, diciembre 05, 2007

¿Dos procesos residentes Csrss.exe en Windows Vista?

Un usuario de Windows Vista tenía la siguiente inquietud: Al abrir Administrador de tareas, pestaña Procesos, observaba que había dos procesos Csrss.exe residentes en su sistema, ambos ejecutados desde la cuenta SYSTEM. Automáticamente el usuario relacionó esto con que alguna de las dos copias podría tratarse de un virus, ya que suelen aprovechar nombres de ficheros del sistema operativo para pasar desapercibidos.

En Windows Vista esta situación es normal, y se debe a una nueva característica de seguridad denominada "Session 0 isolation". En Windows 2000/XP/Server 2003, el usuario puede iniciar sesión en la llamada "sesión 0", una sesión que comparte con el resto de servicios críticos del sistema operativo. Esto supone que un atacante podría aprovechar alguna vulnerabilidad en alguno de esos servicios del sistema y hacerse con el control total de la máquina. Para evitar este potencial problema, el arranque de Windows Vista ha sido totalmente rediseñado. El primer proceso de usuario que se inicia en Windows es Smss.exe. En Windows Vista se crean dos copias de este proceso, y una de ellas se encarga de configurar la sesión 0 (Smss es el acrónimo de "Session Manager System Service"). El proceso Smss.exe crea a su vez una instancia de Csrss.exe en la sesión 0 y luego finaliza. Por este motivo, al observar la jerarquía de procesos en Process Explorer, verá que Csrss.exe está situado lo más a la izquierda (Process Explorer muestra procesos lo más a la izquierda cuando su "padre" ha finalizado).

Así pues, quedan configurados dos procesos Csrss.exe, uno para la sesión 0 y otro para la sesión del usuario, lo que aclaró la duda del usuario.

Nota: Puede observar esta diferencia en el propio Administrador de tareas si hace clic sobre Ver, Seleccionar columnas y agrega la casilla correspondiente al identificador de sesión. Necesitará haber iniciado Administrador de tareas con privilegios administrativos, o haber hecho clic sobre el botón Mostrar procesos de todos los usuarios y haber confirmado la operación.