Eludir la protección de Vista, o programar como se debe

Los autores de iReboot, un programa que permite establecer con que sistema operativo reiniciar, pensaron que eran realmente inteligentes cuando rescribieron su programa para que los usuarios de Vista no tuvieran que pasar por el UAC (User Access Control), cada vez que el programa se ejecutaba.

El problema en si mismo, se basa en un mal concepto al que muchos se han acostumbrado. Aquél de que cualquiera que ejecute algo en Windows debe tener permisos de administrador. Al menos hasta Windows XP, cualquiera podía hacerlo así, muchas veces sin siquiera ser consciente de ello (y no vamos a mencionar lo peligroso que es navegar por Internet con estos privilegios).

En Windows Vista, por defecto esto es diferente, e incluso los administradores deben hacer clic en un botón para continuar cuando se ejecutan acciones que requieren mayores privilegios que los de un usuario común y corriente. Esto incluso es una protección extra cuando navegamos por sitios maliciosos que pueden intentar instalarnos algo sin nuestro conocimiento.

Haciendo hincapié en lo molesto del UAC, los programadores del iReboot, dividieron su programa en dos partes. Una es la interfase que se comunica con el usuario, la otra es un servicio de Windows que se ejecuta en el contexto de un usuario privilegiado, como SYSTEM.

Las dos partes se comunican utilizando un proceso estándar de Windows llamado IPC (InterProcess Communications). La solución es buena. Lo malo es que en su blog, se vanaglorian que de ese modo, lograron eludir el UAC, y por lo tanto “ser más inteligentes” que Vista. Incluso comentan que el UAC no es el mecanismo de seguridad “perfecto” que tanto afirma Microsoft.

Sin embargo, se equivocan. Ni Microsoft ha dicho que este sistema es la panacea a todos los problema de seguridad, ni los programadores del programa han eludido ninguna protección.

De hecho, el instalador de ese programa, requiere acceso de administrador, y el usuario ha de dar su consentimiento a través del UAC para la instalación del servicio.

Esto significa que el usuario tiene que confiar en el programa que va a instalar, tanto si fuera un servicio legítimo o un malware. Esta es la forma correcta de programar un programa, y así lo han hecho los creadores del iReboot. Aunque no lo admitan, han hecho lo que pretendía Microsoft, que los programadores programaran pensando en la seguridad.

Hay quienes critican la “interferencia” del UAC de Vista cuando ejecutan un programa. Pero lo cierto, es que cuando los programas están bien escritos, esta interferencia no ocurre, o solo ocurre, como es lógico, cuando usted instala el programa.

Nadie que utilice Windows Vista de forma correcta, entendiendo que el UAC está allí para protegerlo, debería preocuparse por darle permisos a aquellos programas que realmente desea instalar. Si esos programas están bien programados, el UAC no los volverá a molestar.

Eso no es una desventaja de Windows Vista, sino todo lo contrario.

Relacionados:

Want UAC-Free iReboot? You got it: iReboot 1.1 released!
http://neosmart.net/blog/2008/ireboot-and-working-around-uac-limitations/

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: