Compartir a través de


Información general sobre la seguridad de UI Automation

NotaNota

Esta documentación está dirigida a desarrolladores de .NET Framework que desean usar las clases administradas de UI Automation definidas en el espacio de nombres System.Windows.Automation.Para obtener información actualizada sobre UI Automation, vea Windows Automation API: UI Automation.

En esta introducción se describe el modelo de seguridad para Microsoft UI Automation en Windows Vista.

Este tema contiene las secciones siguientes.

  • Control de cuentas de usuario
  • Tareas que requieren privilegios de mayor nivel
  • Archivos de manifiesto

Control de cuentas de usuario

La seguridad constituye una de las prioridades de Windows Vista. Entre las innovaciones que presenta, se encuentra la capacidad de que los usuarios se ejecuten como usuarios estándar (no como administradores) sin que ello les impida necesariamente ejecutar aplicaciones y servicios que requieren mayores privilegios.

En Windows Vista, la mayoría de las aplicaciones se proporcionan con un símbolo (token) estándar o administrativo. Si una aplicación no se puede identificar como administrativa, se inicia como aplicación estándar de forma predeterminada. Para que se pueda iniciar una aplicación que se ha identificado como administrativa, Windows Vista solicita al usuario su consentimiento para ejecutarla con permisos elevados. Esta solicitud de consentimiento se muestra de forma predeterminada, aunque el usuario sea miembro del grupo local Administradores, ya que los administradores se ejecutan como usuarios estándar hasta que una aplicación o un componente del sistema que requiere credenciales administrativas solicita permiso para ejecutarse.

Tareas que requieren privilegios de mayor nivel

Cuando un usuario intenta realizar una tarea que requiere privilegios administrativos, Windows Vista presenta un cuadro de diálogo que pide al usuario su consentimiento para continuar. Este cuadro de diálogo está protegido contra la comunicación entre procesos, para que el software malintencionado no pueda simular los datos proporcionados por el usuario. De forma similar, los demás procesos tampoco pueden tener acceso a la pantalla de inicio de sesión del escritorio.

Los clientes de Automatización de la interfaz de usuario deben comunicarse con otros procesos, algunos de los cuales podrían ejecutarse con mayores privilegios. También puede suceder que los clientes necesiten tener acceso a cuadros de diálogo del sistema que normalmente no son visibles para otros procesos. Por consiguiente, el sistema debe confiar en los clientes de UI Automation y éstos se deben ejecutar con privilegios especiales.

Para que las aplicaciones se consideren de confianza y se permita su comunicación con otras que se ejecutan con mayores privilegios, se deben firmar.

Archivos de manifiesto

Para obtener acceso a la UI del sistema protegido, las aplicaciones se deben generar con un archivo de manifiesto que incluya un atributo especial. Este atributo uiAccess se incluye en la etiqueta requestedExecutionLevel, de la siguiente forma:

<trustInfo xmlns="urn:0073chemas-microsoft-com:asm.v3">

    <security>

        <requestedPrivileges>

        <requestedExecutionLevel

            level="highestAvailable"

            UIAccess="true" />

        </requestedPrivileges>

    </security>

</trustInfo>

El valor del atributo level en este código únicamente es un ejemplo.

El valor predeterminado de UIAccess es "false"; es decir, si se omite el atributo o si no hay ningún manifiesto para el ensamblado, la aplicación no podrá obtener acceso a la UI protegida.

Para obtener más información sobre la seguridad de Windows Vista, la firma de aplicaciones y la creación de manifiestos de ensamblado, vea "Developer Best Practices and Guidelines for Applications in a Least Privileged Environment" en MSDN.