Administración de Windows

Juegos en un entorno seguro

Matt Clapham

 

Resumen:

  • Escritura en carpetas protegidas y claves de registro
  • Errores de protección de copia
  • Problemas de firewall
  • Problemas con clientes de empresa

Actualmente trabajo como administrador de programas de seguridad en Microsoft. También escribo sobre seguridad con cierta frecuencia para TechNet Magazine. No hace falta que diga que me tomo la seguridad muy en serio. Sin embargo, también tengo otros

intereses. En mi tiempo libre, me encanta jugar a juegos basados Windows®. En especial, soy muy aficionado a los juegos de tiro, los simuladores, los juegos de rol y los de estrategia en tiempo real. Sin embargo, hay una trampa. Como mis amigos Jesper Johansson y Aaron Margosis, me niego a ejecutarlos con privilegios administrativos, a menos que sea absolutamente necesario. Hago esto en parte para asegurarme de que sólo obtengo 0wn3d en un juego de red debido a mi falta de habilidades y no como resultado de que alguien me bombardee con un rootkit para ralentizar mi puntería (consulte Quake 3 Buffer Overflow Advisory (en inglés) que aparece en la lista de la barra lateral "Recursos").

Soy tan firme en este sentido que a menudo no puedo jugar a un título nuevo recién lanzado (consulte la Figura 1). Si yo no puedo conseguir que el juego se ejecute en mi cuenta de usuario limitado (LUA) en un cliente del dominio de Small Business Server (SBS) después de instalarlo y actualizarlo en una cuenta de administrador, lo elimino de inmediato. No hay ninguna excusa para que la ingeniería sea tan escasa y no me faltan juegos entre los que poder elegir. Admito que quizás puede parecer una posición un tanto extrema, pero soy firme con respecto a este punto. De todos modos, no estoy en contra de dejar a un lado ciertas debilidades para disfrutar de un rato de juego de calidad, y eso es lo que trataré aquí. De modo que permítanme compartir parte de los problemas relacionados con los juegos que he encontrado y las soluciones que he descubierto que funcionan. Para obtener un resumen rápido de recomendaciones, eche un vistazo en la barra lateral a "Sugerencias para jugar como usuario limitado".

Figura 1 Problema de acceso a archivos al realizar una actualización manual

Figura 1** Problema de acceso a archivos al realizar una actualización manual **(Hacer clic en la imagen para ampliarla)

Problemas comunes

Este problema de privilegios no es nada nuevo. Hay numerosos juegos, así como otros tipos de programas, que requieren privilegios administrativos para ejecutarse correctamente. Eche un vistazo al artículo de Knowledge Base "Algunos programas no funcionan correctamente si inicia sesión mediante una cuenta de usuario limitada" (consulte support.microsoft.com/kb/307091). Incluye una lista de casi 200 juegos y aplicaciones que presentan dificultades cuando los ejecuta un usuario limitado, incluidos unos cuantos programas de Microsoft.

Quiero ser claro y no considero que requerir privilegios administrativos para instalar o actualizar (manualmente) un juego sea un problema. Esto es necesario hasta que tengamos la capacidad de realizar instalaciones por usuario rutinarias en Windows. Ese día está cerca, pero aún no ha llegado. Sin embargo, una vez que un juego está instalado y actualizado, debería estar listo para que lo ejecutara cualquier usuario en un sistema, incluso uno con privilegios limitados.

Intento de escritura en carpetas protegidas y claves de registro El problema más común que he visto es que un juego falla en el inicio o durante la partida porque intenta escribir en carpetas protegidas o claves del registro (algo común en muchas aplicaciones basadas en Windows). De forma predeterminada, sólo los administradores (y los usuarios avanzados desaprobados) pueden escribir en ciertas carpetas (como % PROGRAMFILES %) y en los subárboles del registro (como HKEY_LOCAL_MACHINE). Los errores en este caso pueden ser relativamente obvios: "Error 42: No se pueden escribir archivos de registro en C:\Archivos de programa\CoolGamesInc\NewestFPS\Logs\” o "El juego no está instalado correctamente, vuelva a instalarlo y reinicie". También he visto algunos ejemplos durante el juego, como mensajes de error que aparecen al guardar la partida. A veces, los desarrolladores de los juegos al menos avisan al usuario de que el juego necesita privilegios administrativos para funcionar, que es lo que me ocurrió con Age of Mythology®. Los juegos multijugador en línea masivos (MMOG) a menudo chocan con los problemas de privilegios, ya que suelen actualizarse automáticamente y el ángulo de actualización automática es un poco más complicado de resolver desde el punto de vista tecnológico. Cuando ejecuté la versión de prueba de EVE Online, advertí que padecía no sólo por colocar archivos de registro en ubicaciones inadecuadas, sino también por tratar de actualizar automáticamente los datos de contenido del juego en la carpeta de la instalación.

Errores de protección de copia La segunda razón más común que he observado por la que los juegos no se inician es que la protección integrada de copia del juego (u otra característica antipiratería) no funciona como usuario limitado. Podría deberse a que el controlador no se inició correctamente o a que algún servicio en segundo plano no se está ejecutando. La representación más común que he visto de este problema es que el juego pide al usuario que inserte un disco (aún cuando los medios necesarios ya están en la unidad). También me he topado con juegos que indican que los privilegios de administrador son necesarios en la creencia errónea de que sólo los administradores pueden ejecutar correctamente la comprobación de la protección de copia. Los peores casos son los que ofrecen mensajes de error mal construidos y sin sentido, que no tienen ninguna referencia en el sitio de soporte técnico del juego.

Error al solicitar una excepción de firewall Los juegos multijugador que se pueden ejecutar en una red local o en Internet son muy comunes, y Windows XP Service Pack 2 (SP2) agregó un mensaje de advertencia que indica al usuario si hay aplicaciones que intentan escuchar en la red. Esto me lleva al siguiente problema común que he observado: los juegos que necesitan una excepción de firewall pero no piden agregar esta excepción en el momento de instalación. Puesto que los usuarios limitados no pueden modificar la configuración de firewall, esta advertencia (consulte la Figura 2) no puede resolverse sin que un administrador realice algunas tareas de configuración. Y lo que es peor: a veces el problema no es obvio, ya que la advertencia aparece en el shell de Windows, no dentro de la interfaz del juego. De hecho, normalmente no veo el mensaje de error hasta que salgo del juego.

Figura 2 La configuración de firewall detiene el entretenimiento

Figura 2** La configuración de firewall detiene el entretenimiento **(Hacer clic en la imagen para ampliarla)

Problemas con clientes de empresa He descubierto otro problema no relacionado directamente con la ejecución como usuario limitado, pero que vale la pena tratar sin embargo. Mi entorno informático doméstico se ejecuta como una empresa pequeña (no entraré demasiado en detalles aquí, aunque puede leer acerca de ello en el artículo "Master Your Domain: Build a Corporate Network at Home" (en inglés) que Jesper Johansson y yo escribimos para el número de octubre de 2006 de TechNet Magazine. Con SBS 2003 (R2), he configurado un dominio completo de Windows con una carpeta Mis documentos que se redirecciona a un recurso compartido del servidor. Así es como descubrí el último problema más común que voy a tratar: los juegos que no pueden funcionar con clientes de empresa.

Me llevé un doble chasco con Age of Empires® III (AoE3). Como mérito del equipo de desarrollo, el juego se inicia y se reproduce correctamente como usuario limitado. Sin embargo, advertí que los escenarios se cargaban lentamente debido a la gran cantidad de datos de registro que se escriben través de la red. Asimismo, AoE3 perdía mi configuración, los juegos guardados y el progreso siempre que salía del mismo. Los archivos estaban sin duda ahí, en la carpeta Mis documentos, pero, simplemente, el juego no los cargaba. Esto fue toda una decepción, especialmente si tenemos en cuenta que AoE3 es mucho más compatible con LUA si se compara con los títulos anteriores de la serie.

Me he topado con un juego que, al menos, reconoce dichos problemas con clientes de empresa. Cuando probé Fable®: The Lost Chapters™, el juego tuvo la consideración de indicarme que las carpetas remotas de Mis documentos no eran compatibles y, a continuación, se cerró gentilmente. Elogio al equipo de desarrollo por reconocer una situación no compatible y descartarla. Sin embargo, resultaba un poco confuso que el juego se detuviera, ya que sólo quería colocar unos cuantos megabytes de datos en la carpeta Mis documentos.

Soluciones sencillas

He visto estos problemas una y otra vez, en más juegos de los que puedo recordar. Afortunadamente, la mayoría tienen soluciones alternativas adecuadas. Mi solución favorita es abandonar por completo el juego y cambiar a un título que esté preparado para LUA de un publicador diferente. De nuevo, quizás esto suene un poco extremo. Y no es una gran solución si acabo de gastar 60 euros en un título nuevo y no puedo devolverlo porque la caja ya está abierta. De modo que veamos qué formas hay de corregir los juegos que ya tenemos en nuestro poder.Sugerencias para jugar como usuario limitado

  • Realice la actualización a Windows Vista.
  • Pruebe la demostración antes de adquirirlo. De esta forma, verá probablemente cualquier problema de LUA que la versión completa pueda tener.
  • Compruebe la lista de programas que se sabe que tienen problemas de ejecución con LUA ().
  • Busque juegos que lleven el logotipo Diseñado para Windows.
  • Actualice el juego después de la instalación y antes de ejecutarlo como usuario limitado.
  • Cuando encuentre un juego que no funcione como usuario limitado, haga llegar su preocupación al publicador y al servicio de soporte técnico de la empresa.
  • Si es necesario, use una cuenta de usuario avanzado del sistema local.

Corrección de problemas de protección de copia Primero, vamos a tratar el problema del controlador de protección de copia. Los sistemas de protección de copia no tienen por qué desaparecer, pero eso no significa que deban impedir a los que no son administradores ejecutar los juegos. La mayoría de los juegos usan el mecanismo de protección SafeDisc de Macrovision, que instala un controlador que busca un disco de juego original. De forma predeterminada, el controlador está configurado para iniciarse a petición (una función que los usuarios limitados no pueden realizar). Microsoft y Macrovision han distribuido correcciones, pero he encontrado otra solución alternativa:

  1. Abra el Administrador de dispositivos con una cuenta de administrador.
  2. Vaya al menú Ver y seleccione Mostrar dispositivos ocultos.
  3. Expanda el nodo Controladores que no son Plug and Play.
  4. Abra las propiedades del controlador de seguridad o SecDrv (consulte la Figura 3).
  5. Cambie el tipo de inicio a Automático.

Figura 3** Permitir que la ejecución de protección de copia se ejecute correctamente **(Hacer clic en la imagen para ampliarla)

Puesto que el controlador se inicia ahora con el equipo, está listo cuando el usuario inserta el disco para ejecutar el juego.

Corrección de problemas del sistema de archivos y de acceso al registro La suposición de acceso libre a cualquier parte del sistema de archivos o del registro es un problema común de muchos programas actuales y heredados, no sólo de los juegos. El artículo de Aaron Margosis "Problems of Privilege: Find and Fix LUA Bugs" (en inglés) profundiza sobre las soluciones a los distintos problemas que llevan a exigir privilegios de administrador (consulte ).

Los problemas de acceso pueden ser un poco complicados de descubrir, pero una vez que se distingue el conjunto necesario de archivos, carpetas y claves de registro, es bastante fácil aflojar las listas de control de acceso (ACL) para permitir a usuarios limitados reproducir juegos. He obtenido grandes resultados con el método siguiente:

  1. Obtenga las últimas versiones de Filemon y Regmon en microsoft.com/technet/sysinternals.
  2. Ejecute las herramientas como administrador y que éstas recopilen registros.
  3. Ejecute el juego durante unos minutos como administrador, realizando las tareas más comunes (iniciar una misión, guardar un juego, alojar un juego de red, etcétera).
  4. Filtre los resultados de Filemon y Regmon para centrarse en los accesos del juego que se van a analizar.
  5. Afloje las ACL según sea necesario para las carpetas y claves del registro en cuestión.
  6. Ejecute el juego como usuario distinto del administrador para comprobar si ahora funciona.

Una precaución a la hora de aflojar las ACL: no las abra demasiado (por ejemplo, Todos—Control total), ni en un nivel muy alto (como HKEY_CLASSES_ROOT). También es mejor evitar cambios en permisos de carpetas del sistema como %SYSTEMROOT% y %PROGRAMFILES% para evitar romper la estructura de Windows o dejar el sistema en un estado no seguro.

Otra solución alternativa posible es ejecutar el juego como usuario avanzado del sistema local. Ésta no es mi primera elección, pero si se usa una cuenta local del sistema en cuestión, el impacto se limita al menos a una sola estación de trabajo, en caso de que haya algún problema. He descubierto que esta corrección funciona para la mayoría de juegos que parecen funcionar correctamente sólo como administrador.

Como comentario adicional, pienso que ejecutar un juego brevemente como administrador es una forma útil de conseguir que se actualice automáticamente. Yo suelo ejecutar el juego como administrador, invocar la opción de actualización y luego salir del juego y volver a la cuenta de usuario limitado para jugar realmente. Merece la pena mencionar que Windows™ Vista permite a los usuarios limitados actualizar aplicaciones, asumiendo que la revisión está firmada por el publicador original.

Windows Vista también ayuda a juegos y a otras aplicaciones a tratar problemas de acceso a archivos y al registro. De forma predeterminada, los programas ejecutados por usuarios limitados tiene activadas correcciones de compatibilidad (shim) de virtualización que redireccionan los accesos equivocados de archivo y registro a una caché específica del usuario. He visto juegos diseñados para los sistemas Windows 9x, (por ejemplo, The Neverhood) que no se ejecutan correctamente en Windows XP (debido a problemas de permisos) y que funcionan perfectamente en Windows Vista con las correcciones de compatibilidad (shim) predeterminadas. Estoy deseando probar algunos otros juegos problemáticos en Windows Vista, aunque me estoy temiendo que tendré problemas para encontrar un juego cuyas correcciones de compatibilidad (shim) de Windows Vista no sean correctas.

Corrección de problemas de firewall Los problemas de firewall se resuelven mejor al instalar por primera vez el juego. Sin embargo, cuando la instalación del juego no es lo suficientemente hábil como para solicitar y configurar los ajustes de firewall necesarios, he aquí un método que he descubierto que funciona bien:

  1. Inicie la sesión como administrador.
  2. Abra el panel de control Firewall de Windows.
  3. Elija agregar un programa a la lista de excepciones del firewall.
  4. Seleccione el juego de la lista o busque el archivo ejecutable del juego cuando se le solicite.

Al agregar el archivo ejecutable a las excepciones del firewall, me aseguro de que se permitirá el acceso del juego a cualquier puerto que necesite para funcionar correctamente. Seguro que habrá trastornos.

Corrección de problemas con clientes de empresa Los problemas que encuentran los juegos en clientes de empresa desaparecerán con el tiempo. El número de hogares con varios equipos y banda ancha está aumentando y hay una comunidad creciente de usuarios que ejecutan SBS en casa. Pero por ahora, sigue siendo necesaria una solución.

En mi caso particular, descubrí que un valor de LUA local del sistema resolvía el problema de mi carpeta Mis documentos redireccionada. Tanto Age of Empires III como Fable: The Lost Chapters funcionaban correctamente como usuario limitado siempre que la carpeta Mis documentos no se redireccionara a una carpeta de red.Recursos

Conclusión

Recomiendo encarecidamente la ejecución como usuario limitado para que pueda aprovechar las ventajas asociadas de no ser administrador. No es siempre fácil jugar en un entorno con menos privilegios, conectado a una empresa, pero tampoco es imposible. Con el paso de los años, he encontrado muchos juegos de todos los géneros que funcionan correctamente como usuario limitado. Y he descubierto algunas correcciones que hacen que otros títulos funcionen. Mientras tanto, con la virtualización de Windows Vista, los juegos a los que era imposible jugar como usuario limitado en Windows XP, volverán a funcionar.

Matt Clapham, administrador de programas de seguridad de Microsoft, participa de manera activa en la comunidad de Seattle para la seguridad de TI y forma parte del equipo de administración de riesgos en un proyecto de TI que aún se encuentra en ciernes.

© 2008 Microsoft Corporation and CMP Media, LLC. Reservados todos los derechos; queda prohibida la reproducción parcial o total sin previa autorización.