¿Se puede confiar en el UAC de Windows Vista?
Por Sergio de los Santos
Ollie Whitehouse de Symantec ha descubierto una forma de burlar el
código de colores que utiliza UAC (User Account Control) de Windows
Vista. Esta nueva funcionalidad en Vista, destinada a reforzar el
control de los privilegios de los usuarios y por tanto las aplicaciones
que ejecutan, ha sido duramente criticada en las últimas semanas.
El sistema de ventanas de aviso que utiliza UAC está basado en la toma
de decisiones según la firma del ejecutable, reforzada con un código de
colores. Si Vista pide permiso para ejecutar en modo privilegiado una
aplicación cuyo firmante está bloqueado, aparecerá un aviso en color
rojo alertando sobre la potencial peligrosidad de la ejecución. Si la
aplicación está firmada por Microsoft, el aviso aparece en un tono
verde. Si es de terceros en un tono gris neutro y si la aplicación no
está firmada por nadie aparece en un amarillo chillón. Esto,
visualmente, ayuda al usuario a identificar de forma rápida la firma de
una aplicación que pretende elevar privilegios y supone una cierta
garantía de que la aplicación ha pasado unos mínimos controles (la firma
no indica nada sobre su actividad pero sí sobre su integridad y
autoría). En definitiva, el usuario podrá decidir mejor quién quiere
elevar privilegios en Vista.
Lo que ha descubierto Ollie Whitehouse es que ayudándose del ejecutable
RunLegacyCPLElevated.exe (y posiblemente otros en Windows Vista) se
podría hacer aparecer una alerta "verde" ante cualquier programa, lo que
indicaría visualmente (y de forma errónea) al usuario que lo que
pretende elevar privilegios está firmado por Microsoft.
RunLegacyCPLElevated.exe tiene la función de proporcionar compatibilidad
hacia atrás para los antiguos plug-in de Windows Control Panel (archivos
CPL) para que funcionen con privilegios de administrador. Este programa
admite una librería (DLL) arbitraria como parámetro. Según Whitehouse,
el siguiente escenario es posible:
* Un usuario sin privilegios se infecta por código dañino que es
ejecutado también sin privilegios.
* Este código descarga un fichero CPL especialmente manipulado en
cualquier parte del disco donde este usuario pueda escribir.
* El código llama a RunLegacyCPLElevated.exe con el archivo CPL
especialmente manipulado como parámetro.
* Se le presenta al usuario la advertencia (verde) de que intenta
ejecutar código firmado por Microsoft. Lo admite y el código dañino
obtiene privilegios de administrador.
La confusión se basa en que mientras que RunLegacyCPLElevated.exe sí que
es una aplicación firmada por Microsoft, la librería que carga y ejecuta
por parámetros puede no estar firmada e incluso localizarse en un lugar
no confiable del sistema operativo. Con esta "técnica" también se puede
burlar la directiva "User Account Control: Sólo elevar privilegios de
ejecutables que estén firmados y validados".
La respuesta a esto por parte de Microsoft ha sido que según sus
"Security Best Practice Guidance for Consumers", es necesario recordar
que los cuadros de diálogo UAC no suponen una frontera de seguridad, no
ofrecen seguridad directa, sino que dan la oportunidad de verificar una
acción en el sistema antes de que ocurra.
Whitehouse advierte que si la información presentada por la UAC no es de
fiar, se presenta un verdadero dilema. Según él, Microsoft habla de UAC
y "confianza" y también de tomar decisiones por parte del usuario antes
de que sea tarde, lo que se convierte en el problema del huevo y la
gallina. Confiar en la información de la UAC para tomar una decisión o
tomar una decisión basada en una falsa sensación de "confianza" ante una
advertencia de UAC.
Aunque para Microsoft no suponga una "vulnerabilidad" en sí misma, esta
técnica descrita por Whitehouse será quizás una de las primeras
"fórmulas" que aparecerán para burlar los nuevos sistemas de seguridad y
prevención introducidos en Windows Vista, que si bien mejoran la
seguridad, suponen quizás un todavía tímido acercamiento a un serio
problema.
Windows es víctima una vez más de su antigua filosofía. Hasta 2001 con
XP no implementó un sistema multiusuario real en su sistema operativo de
sobremesa. Aun así, esta propiedad fue tristemente desaprovechada,
incentivando siempre para las tareas cotidianas "la cultura del
administrador por defecto" (por parte de los programadores y del propio
sistema al incluir la cuenta inicial en el grupo de administradores).
Esta "cultura" que no se preocupa por los permisos en la máquina ha
calado demasiado hondo en usuarios Windows, y superar ahora ese
"obstáculo" no va a ser fácil ni para sus clientes ni para la propia
Microsoft. Mucho menos con tácticas que inducen a confusión de por
medio.
Más información:
An Example of Why UAC Prompts in Vista Can’t Always Be Trusted
http://www.symantec.com/enterprise/security_response/weblog/2007/02/an_example_of_why_uac_prompts.html
Understanding and Configuring User Account Control in Windows Vista
http://technet2.microsoft.com/WindowsVista/en/library/00d04415-2b2f-422c-b70e-b18ff918c2811033.mspx
Fuente: http://www.hispasec.com/unaaldia/3042/
Ollie Whitehouse de Symantec ha descubierto una forma de burlar el
código de colores que utiliza UAC (User Account Control) de Windows
Vista. Esta nueva funcionalidad en Vista, destinada a reforzar el
control de los privilegios de los usuarios y por tanto las aplicaciones
que ejecutan, ha sido duramente criticada en las últimas semanas.
El sistema de ventanas de aviso que utiliza UAC está basado en la toma
de decisiones según la firma del ejecutable, reforzada con un código de
colores. Si Vista pide permiso para ejecutar en modo privilegiado una
aplicación cuyo firmante está bloqueado, aparecerá un aviso en color
rojo alertando sobre la potencial peligrosidad de la ejecución. Si la
aplicación está firmada por Microsoft, el aviso aparece en un tono
verde. Si es de terceros en un tono gris neutro y si la aplicación no
está firmada por nadie aparece en un amarillo chillón. Esto,
visualmente, ayuda al usuario a identificar de forma rápida la firma de
una aplicación que pretende elevar privilegios y supone una cierta
garantía de que la aplicación ha pasado unos mínimos controles (la firma
no indica nada sobre su actividad pero sí sobre su integridad y
autoría). En definitiva, el usuario podrá decidir mejor quién quiere
elevar privilegios en Vista.
Lo que ha descubierto Ollie Whitehouse es que ayudándose del ejecutable
RunLegacyCPLElevated.exe (y posiblemente otros en Windows Vista) se
podría hacer aparecer una alerta "verde" ante cualquier programa, lo que
indicaría visualmente (y de forma errónea) al usuario que lo que
pretende elevar privilegios está firmado por Microsoft.
RunLegacyCPLElevated.exe tiene la función de proporcionar compatibilidad
hacia atrás para los antiguos plug-in de Windows Control Panel (archivos
CPL) para que funcionen con privilegios de administrador. Este programa
admite una librería (DLL) arbitraria como parámetro. Según Whitehouse,
el siguiente escenario es posible:
* Un usuario sin privilegios se infecta por código dañino que es
ejecutado también sin privilegios.
* Este código descarga un fichero CPL especialmente manipulado en
cualquier parte del disco donde este usuario pueda escribir.
* El código llama a RunLegacyCPLElevated.exe con el archivo CPL
especialmente manipulado como parámetro.
* Se le presenta al usuario la advertencia (verde) de que intenta
ejecutar código firmado por Microsoft. Lo admite y el código dañino
obtiene privilegios de administrador.
La confusión se basa en que mientras que RunLegacyCPLElevated.exe sí que
es una aplicación firmada por Microsoft, la librería que carga y ejecuta
por parámetros puede no estar firmada e incluso localizarse en un lugar
no confiable del sistema operativo. Con esta "técnica" también se puede
burlar la directiva "User Account Control: Sólo elevar privilegios de
ejecutables que estén firmados y validados".
La respuesta a esto por parte de Microsoft ha sido que según sus
"Security Best Practice Guidance for Consumers", es necesario recordar
que los cuadros de diálogo UAC no suponen una frontera de seguridad, no
ofrecen seguridad directa, sino que dan la oportunidad de verificar una
acción en el sistema antes de que ocurra.
Whitehouse advierte que si la información presentada por la UAC no es de
fiar, se presenta un verdadero dilema. Según él, Microsoft habla de UAC
y "confianza" y también de tomar decisiones por parte del usuario antes
de que sea tarde, lo que se convierte en el problema del huevo y la
gallina. Confiar en la información de la UAC para tomar una decisión o
tomar una decisión basada en una falsa sensación de "confianza" ante una
advertencia de UAC.
Aunque para Microsoft no suponga una "vulnerabilidad" en sí misma, esta
técnica descrita por Whitehouse será quizás una de las primeras
"fórmulas" que aparecerán para burlar los nuevos sistemas de seguridad y
prevención introducidos en Windows Vista, que si bien mejoran la
seguridad, suponen quizás un todavía tímido acercamiento a un serio
problema.
Windows es víctima una vez más de su antigua filosofía. Hasta 2001 con
XP no implementó un sistema multiusuario real en su sistema operativo de
sobremesa. Aun así, esta propiedad fue tristemente desaprovechada,
incentivando siempre para las tareas cotidianas "la cultura del
administrador por defecto" (por parte de los programadores y del propio
sistema al incluir la cuenta inicial en el grupo de administradores).
Esta "cultura" que no se preocupa por los permisos en la máquina ha
calado demasiado hondo en usuarios Windows, y superar ahora ese
"obstáculo" no va a ser fácil ni para sus clientes ni para la propia
Microsoft. Mucho menos con tácticas que inducen a confusión de por
medio.
Más información:
An Example of Why UAC Prompts in Vista Can’t Always Be Trusted
http://www.symantec.com/enterprise/security_response/weblog/2007/02/an_example_of_why_uac_prompts.html
Understanding and Configuring User Account Control in Windows Vista
http://technet2.microsoft.com/WindowsVista/en/library/00d04415-2b2f-422c-b70e-b18ff918c2811033.mspx
Fuente: http://www.hispasec.com/unaaldia/3042/


0 Comments:
Publicar un comentario
Gracias por dejar un comentario en Segu-Info.
Gracias por comentar!