sábado, agosto 11, 2007

En lo que a seguridad se refiere, usar el navegador X en lugar del navegador Y influye más bien poco

En diversos foros de Internet hay abiertos muchos debates sobre si Internet Explorer es menos seguro que cierto navegador X, y se suele acabar recomendando usar ese navegador X en lugar de Internet Explorer. A decir verdad, ante un ataque malicioso, el usar el navegador X o el navegador Y no influye apenas en nada, y sólo genera una sensación de falsa seguridad. Quizá lo más influyente en esa situación de ataque es de qué privilegios disponga el navegador en ese momento. Si dispone de privilegios administrativos, está perdido.

Cuando un usuario ejecuta cierta aplicación -o el propio sistema operativo- con privilegios administrativos, automáticamente está diciendo que confía plenamente en esa aplicación que va a abrir y que le dejará hacer lo que le plazca con el sistema. Cuando se instala y se ejecuta un juego, es de esperar que ese juego se limite a "mover triángulos" y, si acaso, conectarse a Internet para descargar actualizaciones o poder jugar en red. Pero ciertamente ese juego es un potencial vector de ataque, por haber sido ejecutado con privilegios administrativos (cuando no se requieren). Simplemente cualquier usuario malicioso podría tomar el control del sistema al aprovecharse de una vulnerabilidad de ese programa.

El ejecutar un navegador aparentemente muy seguro en un entorno con privilegios administrativos, no sirve casi para nada. Al navegar por algún sitio infectado, si el sistema operativo no está actualizado o el sitio web intenta aprovechar alguna vulnerabilidad no corregida del navegador (cosa que todos tienen), se instalarán, sin que el usuario note nada, ficheros en \system32, tareas programadas, procesos residentes, entre otras cosas. Un navegador es una aplicación muy delicada, pues está en contacto con un mundo -Internet- en el que las amenazas de malware y virus están a la orden del día. De nada sirve haber diseñado el navegador más robusto del mundo cuando sus usuarios lo ejecutan con privilegios administrativos. Y navegar por Internet es una actividad que no requiere privilegios administrativos.

En conclusión, si usa Windows Vista debería tener activado Control de cuentas de usuario (UAC) y Modo protegido de IE7. Hay mucha gente que lo desactiva, por resultar demasiado pesado, pero deben ser conscientes de que si lo hacen estarán navegando con privilegios administrativos, y cualquier desarrollador de un sitio malicioso está ansioso por encontrarse con visitantes que le faciliten la instalación automática de adware. Si usa otro navegador distinto de IE, debería ejecutarlo siempre con privilegios limitados. La seguridad de un sistema no consiste nunca en usar únicamente tal o cual producto, sino en seguir unas pautas para reducir la posibilidad de ataque (usar antivirus, cortafuegos y actualizar el software a menudo, por ejemplo), y mitigar las consecuencias en el caso de que ocurra algo malo (ejecutar la aplicación sin privilegios administrativos, por ejemplo).

domingo, agosto 05, 2007

Sobre el nuevo Monitor de fiabilidad de Windows Vista

Continuando con los artículos referidos a cómo funcionan los nuevos componentes de Windows Vista, he elaborado un pequeño conjunto de preguntas y respuestas sobre el nuevo Monitor de confiabilidad (Reliability Monitor) de Windows Vista, componente que entre otras cosas se encarga de otorgar una puntuación numérica al equipo según el grado de estabilidad del sistema durante un periodo de tiempo.

¿Qué se tiene en cuenta a la hora de calcular la puntuación?

El índice de un día depende del número de "interrupciones" que ha sufrido el usuario en una sesión de trabajo en Windows. Por "interrupción" se refiere a cualquier suceso que esté en alguna de estas categorías: fallos de aplicaciones o "cuelgues" (eventos 1000 y 1002, respectivamente), fallos de hardware y fallos del sistema operativo (errores graves, pantallas azules o "bugchecks"). El número de "interrupciones", una vez filtrado mediante un algoritmo pendiente de patente, se hace corresponder con una puntuación de 1 a 10, ya sea directamente o mediante interpolación lineal.

¿Cuántos días se tienen en cuenta para el cálculo de la estabilidad?

Depende de la versión de Windows. Si es de la rama cliente, 28; si es de la rama servidora, 120.

¿Es cierto que la estabilidad depende de los días anteriores?

Sí, además la suma que se realiza es una suma ponderada, en la que la puntuación de los días más recientes tiene más peso que la puntuación de los días más alejados en el tiempo. Con esto se consigue observar un efecto de recuperación paulatina en la situación de un equipo que haya sufrido problemas de estabilidad durante un periodo determinado, pero que en estos momentos todo funcione correctamente pues se logró dar con el causante.

¿Se cuentan todos y cada uno de los eventos de fallo?

Se cuentan siempre y cuando no puedan ser emparejados, esto es, si son muy cercanos en el tiempo, o bien si tienen relación directa (por ejemplo, un evento que haga referencia a una pantalla azul y otro que explique que el equipo se reinició por un error grave). En estos casos sólo se tiene en cuenta uno de ellos.

¿Quién se encarga de recopilar toda esa información?

Un módulo denominado Racagent.exe y que se ejecuta programadamente en cada inicio del sistema operativo. Se ejecuta con bajas prioridades de CPU, E/S y memoria para tener un impacto mínimo en el arranque del sistema operativo. Su DLL asociada, RacEng.dll, se encarga de calcular un índice de estabilidad para la sesión en curso (si no ha sido calculado ya) y almacenarlo en el correspondiente repositorio.

¿Dónde se almacena toda la información sobre instalación de aplicaciones, desinstalación, errores de software, etc.?

Se almacenan en el directorio C:\ProgramData\Microsoft\RAC\PublishedData\, en los siguientes ficheros:
  • PublishedRacMonIndex.dat: Almacena el índice (puntuación).
  • PublishedRacMonSWITable.dat: Almacena las instalaciones de programas.
  • PublishedRacMonAFLTable.dat: Almacena fallos de aplicaciones.
  • PublishedRacMonHFLTable.dat: Almacena fallos de hardware.
  • PublishedRacMonOSFTable.dat: Almacena fallos del sistema operativo.
  • PublishedRacMonCLKTable.dat: Almacena fallos del sistema operativo.

El Monitor de fiabilidad es un componente muy útil para los administradores de sistemas que quieran observar, de un vistazo, el estado de la estabilidad del equipo, en qué momento surgieron los problemas y cuáles podrían ser sus causantes.