La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

José Parada ExEvangelista - ATS Sector Público V 5 Fundamentos de la Compatibilidad de Aplicaciones 1ª Parte.

Presentaciones similares


Presentación del tema: "José Parada ExEvangelista - ATS Sector Público V 5 Fundamentos de la Compatibilidad de Aplicaciones 1ª Parte."— Transcripción de la presentación:

1 José Parada ExEvangelista - ATS Sector Público V 5 Fundamentos de la Compatibilidad de Aplicaciones 1ª Parte

2 Objetivos y enseñanzas de la sesión Los asistentes deberían de: Los asistentes deberían de: Identificar los problemas de compatibilidad de aplicaciones mas comunes y de mayor impacto en Windows Vista Identificar los problemas de compatibilidad de aplicaciones mas comunes y de mayor impacto en Windows Vista Ayudar a diagnosticar y desbloquear los problemas de compatibilidad de Windows Vista antes de desplegar sus aplicaciones Ayudar a diagnosticar y desbloquear los problemas de compatibilidad de Windows Vista antes de desplegar sus aplicaciones Enseñanzas Clave: Enseñanzas Clave: La mayoría de las aplicaciones (85%) que se ejecutan correctamente en Windows XP lo hacen en Windows Vista La mayoría de las aplicaciones (85%) que se ejecutan correctamente en Windows XP lo hacen en Windows Vista Comprendiendo algunas de las nuevas funcionalidades de Windows Vista ayudara a diagnosticar la mayoría de los problemas de compatibilidad de Aplicaciones Comprendiendo algunas de las nuevas funcionalidades de Windows Vista ayudara a diagnosticar la mayoría de los problemas de compatibilidad de Aplicaciones

3 Agenda Ejecución de aplicaciones en Windows Ejecución de aplicaciones en Windows Problemas frecuentes- Mejoras de Seguridad Problemas frecuentes- Mejoras de Seguridad Control de Cuentas de Usuario (UAC) Control de Cuentas de Usuario (UAC) Windows Resource Protection Windows Resource Protection Modo Protegido de Internet Explorer Modo Protegido de Internet Explorer SO y Versión de IE SO y Versión de IE Nueva ubicación de Carpetas Nueva ubicación de Carpetas Aislamiento de la Sesión 0 Aislamiento de la Sesión 0 Problemas no tan frecuentes Problemas no tan frecuentes Herramientas Herramientas PCA PCA AppHelp AppHelp

4 Salto a los 32bits Aparece Windows NT con nuevo modelo de desarrollo Aparece Windows NT con nuevo modelo de desarrollo 16 bits emulados por WOW 16 bits emulados por WOW Aparece el registro como mecanismo para versionar componentes y no duplicarlos Aparece el registro como mecanismo para versionar componentes y no duplicarlos

5 Salto a.NET Windows 2000 Windows 2000 Versiones posteriores de.NET no funcionan sobre 2000 Versiones posteriores de.NET no funcionan sobre 2000 Aplicaciones Manejadas por el CLR de.NET Aplicaciones Manejadas por el CLR de.NET Independientes del registro, funcionan con assemblies (ensamblados) autodescriptivos Independientes del registro, funcionan con assemblies (ensamblados) autodescriptivos Tienen su propio control de seguridad Tienen su propio control de seguridad Solucionamos el infierno de las dlls Solucionamos el infierno de las dlls

6 Salto a Windows Vista Tendencia hacia los 64 Bits. Tendencia hacia los 64 Bits. Ya no se da soporte a WOW de 16 bits Ya no se da soporte a WOW de 16 bits Hay que incluir un archivo de manifiesto indicando el nivel de privilegios necesario para que la aplicación se ejecute correctamente Hay que incluir un archivo de manifiesto indicando el nivel de privilegios necesario para que la aplicación se ejecute correctamente Se virtualiza el Registro y el disco para aplicaciones legadas que no tienen manifiesto Se virtualiza el Registro y el disco para aplicaciones legadas que no tienen manifiesto Las aplicaciones funcionan, pero puede haber resultados inesperados Las aplicaciones funcionan, pero puede haber resultados inesperados

7 Windows Vista ¡El SO mas rico en funcionalidad hasta la fecha! Stacks Network Access Protection Network Location Awareness High Resolution/High DPI Windows Sideshow Windows Vista Display Driver Model People Near Me Windows Defender Power Management Live Icons Windows SideBar Parental Controls Windows Feedback Services Desktop Window Manager Registry/File System Virtualization Protected Mode IE Windows Service Hardening Sync Center Aero Presentation Settings Preview Pane User Account Protection Ad-hoc Meeting Networks Quick Search Windows Imaging Format Windows Resource Protection MMC 3.0 Cancelable I/O Resource Exhaustion Diagnostics Peer Name Resolution Protocol Reading Pane Windows Disk Diagnostics Restart Manager Transactional Registry Single binary Memory Diagnostics Startup Repair Toolkit Transactional File System Eventing and Instrumentation WS-Management InfoCard SuperFetch Segoe UI Font Flip3D New Explorers Taskbar Thumbnails IPv6 XAML Search Folders Ink Analysis Split Tokens Mandatory Integrity Control UI Privilege Isolation Secure Startup Windows Filtering Platform User Mode Driver Framework New Open/Save Dialogs Shell Property System Winlogon Rearchitecture Windows Communication Foundation Windows Presentation Foundation Glass Open Package Specification XML Paper Specification Windows Workflow Foundation Windows Installer 4.0 Monad RSS Platform Function Discovery API Wizard Framework Crypto Next Generation Credential Providers Más Facil Más entretenido Mejor conectado Más Seguro

8 Problemas mas frecuentes causados por las mejoras de Seguridad en Vista Control de Cuentas de Usuario (UAC) Windows Resource Protection Modo Protegido de Internet Explorer SO y Versión de IE Nueva ubicación de Carpetas Aislamiento de la Sesión 0

9 Problemas Frecuentes Control de Cuentas de Usuario (UAC) Windows Resource Protection Modo protegido Internet Explorer Versiones de OS e IE Ubicación nueva de Carpetas Aislamiento de la Sesión 0

10 User Account Control. ¿Por qué? El SO esta en riesgo frente al malware actual cuando se utiliza con privilegios de administrador El SO esta en riesgo frente al malware actual cuando se utiliza con privilegios de administrador Facilidad con la que el Malware se auto-instala Facilidad con la que el Malware se auto-instala Elevación de privilegios a través de los agujeros de seguridad en el software Elevación de privilegios a través de los agujeros de seguridad en el software El daño causado por el malware es potencialmente mayor. El daño causado por el malware es potencialmente mayor. Otros problemas Otros problemas Daños accidentales causados por el usuario Daños accidentales causados por el usuario

11 User Account Control. ¿Como? Con Windows Vista, todos los usuarios ejecutan por defecto su sesión como usuario estandar, incluyendo aquellos del grupo de Administradores. Con Windows Vista, todos los usuarios ejecutan por defecto su sesión como usuario estandar, incluyendo aquellos del grupo de Administradores. Cierto solo para sesiones interactivas; Los servicios continuan ejecutandose como antes en Windows XP. Cierto solo para sesiones interactivas; Los servicios continuan ejecutandose como antes en Windows XP.

12 User Account Control. ¿Como? Se crean dos testigos al iniciar sesión. (split token) Se crean dos testigos al iniciar sesión. (split token) Testigo de Usuario Estándar Testigo de Usuario Estándar El SID del Administrador establecido solo para denegar. (Se usa para denegar el acceso y no para permitirlo) El SID del Administrador establecido solo para denegar. (Se usa para denegar el acceso y no para permitirlo) Se ejecuta con Nivel de Integridad Medio (IL) Se ejecuta con Nivel de Integridad Medio (IL) Se eliminan casi todos los privilegios (e.g. SeDebugPrivilege) Se eliminan casi todos los privilegios (e.g. SeDebugPrivilege) Testigo de Usuario Administrador Testigo de Usuario Administrador El SID del Administrador tiene todos los derechos asignados El SID del Administrador tiene todos los derechos asignados Se ejecuta con Nivel de Integridad Alto(IL) Se ejecuta con Nivel de Integridad Alto(IL) Todos los privilegios están presentes Todos los privilegios están presentes

13 User Account Control winlogon Crear inicio de sesión con testigo completo (LUID1) Crear inicio de sesión con testigo completo (LUID1) Crear inicio de sesión con testigo protegido (LUID2) Crear inicio de sesión con testigo protegido (LUID2) Crear el proceso explorer.exe con testigo protegido Crear el proceso explorer.exe con testigo protegido

14 User Account Control. ¿Como? Se usa el testigo de usuario Estándar hasta que se da consentimiento expreso, vía UI, para usar el testigo de administrador para un proceso particular Se usa el testigo de usuario Estándar hasta que se da consentimiento expreso, vía UI, para usar el testigo de administrador para un proceso particular Funcionalidad Soportada: Se han eliminado Privilegios innecesarios de Administrador existentes en XP Funcionalidad Soportada: Se han eliminado Privilegios innecesarios de Administrador existentes en XP Ejemplo: Cambiar la zona horaria, instalar impresora, etc… Ejemplo: Cambiar la zona horaria, instalar impresora, etc…

15 UAC: Detalles de Elevación Usuario Estándar o Administrador Protegido SistemaSistemaAdministradorAdministrador explorer.exe Servicio AppInfo consent.exe elevatedapp.exe RPC EmparentarEmparentar ShellExecute(elevatedapp.exe) CreateProcessAsUser(elevatedapp.exe)

16 UAC: Dialogos (OTS)

17 UAC Testigo fraccionado.

18 UAC: Ejecutar Aplicaciones Elevadas Botón derecho sobre el programa Ejecutar como administrador Botón derecho sobre el programa Ejecutar como administrador Modo Compatibilidad (shim) Modo Compatibilidad (shim) Propiedades del Programa Etiqueta de Compatibilidad Ejecutar como Administrador Propiedades del Programa Etiqueta de Compatibilidad Ejecutar como Administrador Shim RunAsAdmin en la BD de shim del Sistema Shim RunAsAdmin en la BD de shim del Sistema Detector de Instalaciones Detector de Instalaciones Heurístico tal como la cadena Setup en: Heurístico tal como la cadena Setup en: Nombre Nombre Cadena de Recursos Resource strings Cadena de Recursos Resource strings Los MSIs siempre se detectan como instaladores Los MSIs siempre se detectan como instaladores

19 UAC: Ejecutar Aplicalciones Elevadas Aplicaciones diseñadas para Windows Vista Aplicaciones diseñadas para Windows Vista Manifiesto con Manifiesto con Las aplicaciones nuevas deberían de llevar uno Las aplicaciones nuevas deberían de llevar uno Elimina carga de trabajo con la compatibilidad de aplicaciones en tiempo de ejecución (Shims, PCA, virtualización) Elimina carga de trabajo con la compatibilidad de aplicaciones en tiempo de ejecución (Shims, PCA, virtualización) Manifiesto Interno (compilado dentro de la aplicación) Manifiesto Interno (compilado dentro de la aplicación) Manifiesto incluido en los binarios de la aplicación Manifiesto incluido en los binarios de la aplicación Preferido Preferido Manifiesto Externo (añadido como un fichero separado) Manifiesto Externo (añadido como un fichero separado) Tratar de evitar! Tratar de evitar!

20 Ejecutar como Administrador (elevado) Detección de un Instalador

21 UAC: Manifiesto Interno Puede que la aplicación ya tenga un manifiesto interno – Se puede extraer usando la herramienta mt.exe: Puede que la aplicación ya tenga un manifiesto interno – Se puede extraer usando la herramienta mt.exe: mt.exe -inputresource:myApp.exe - out:myApp.exe.manifest mt.exe -inputresource:myApp.exe - out:myApp.exe.manifest

22 UAC: Manifiesto Interno Modificar el manifiesto pra añadir la petición de UAC Modificar el manifiesto pra añadir la petición de UAC Insertar el manifiesto modificado en el ejecutable Insertar el manifiesto modificado en el ejecutable mt.exe -manifest myApp.exe.manifest -updateresource:myApp.exe:1 mt.exe -manifest myApp.exe.manifest -updateresource:myApp.exe:1

23 UAC: Manifiesto Interno requireAdministrator requireAdministrator La aplicación requiere ser lanzada con el testigo completo de un administrador La aplicación requiere ser lanzada con el testigo completo de un administrador asInvoker asInvoker La aplicación se ejecuta con el mismo testigo que el proceso padre desde el que se invoca La aplicación se ejecuta con el mismo testigo que el proceso padre desde el que se invoca Utilizar en escenarios donde no se desea OTS Utilizar en escenarios donde no se desea OTS highestAvailable highestAvailable La aplicación se ejecuta con el privilegio mas alto que el usuario actual puede obtener. El comodín. La aplicación se ejecuta con el privilegio mas alto que el usuario actual puede obtener. El comodín.

24 UAC: Manifiesto Interno Para aprender mas consutar los siguientes recursos: Para aprender mas consutar los siguientes recursos: 2006/09/08/ aspx 2006/09/08/ aspx 2006/09/08/ aspx 2006/09/08/ aspx 08/24/ aspx 08/24/ aspx 08/24/ aspx 08/24/ aspx

25 UAC: Recomendaciones de Diseño para desarrolladores Seguir el principio de LUA (Least privileged user access) Seguir el principio de LUA (Least privileged user access) Eliminar la necesidad de privilegios completamente Eliminar la necesidad de privilegios completamente Program Files Program Files HKLM y HKCR HKLM y HKCR Windows Windows Raiz Raiz Separar las funciones adminitrativas de las operaciones regurlares (multiples ejecutables) Separar las funciones adminitrativas de las operaciones regurlares (multiples ejecutables) Icono del Escudo en botones y menus Icono del Escudo en botones y menus

26 Uso del escudo de elevación

27 UAC: Soluciones Automaticas Program Compatibility Assistant (PCA) automatiza la solución de algunos problemas con UAC. Program Compatibility Assistant (PCA) automatiza la solución de algunos problemas con UAC. Nuevo, funcionalidad en cliente Nuevo, funcionalidad en cliente PCA monitoriza el comportamiento de las aplicaciones. PCA monitoriza el comportamiento de las aplicaciones. Si PCA detecta un problema de compatibilidad en un programa: Si PCA detecta un problema de compatibilidad en un programa: Notifica al usuario Y Notifica al usuario Y Aplica una solución (confianza alta) O Aplica una solución (confianza alta) O Ofrece aplicar una solución (confianza media) Ofrece aplicar una solución (confianza media)

28 UAC: Soluciones Automáticas Shims y capas en la BD de Shims Shims y capas en la BD de Shims Virtualización Virtualización Redirige los accesos privilegiados a ficheros a: C:\Users\%username%\AppData\Local\ VirtualStore Redirige los accesos privilegiados a ficheros a: C:\Users\%username%\AppData\Local\ VirtualStore C:\Program Files C:\Program Files C:\ProgramData C:\ProgramData C:\Windows C:\Windows Redirige el acceso al registro de HKLM a HKCU\Software\Classes\VirtualStore\MACHINE Redirige el acceso al registro de HKLM a HKCU\Software\Classes\VirtualStore\MACHINE

29 UAC: Soluciones Automáticas Virtualización- Es transparente para los procesos y se implementa a nivel de Filter Driver Virtualización- Es transparente para los procesos y se implementa a nivel de Filter Driver La redirección es resistente La redirección es resistente Procesos elevados no están afectados Procesos elevados no están afectados Ejecutables con manifiesto no participan Ejecutables con manifiesto no participan Efectos colaterales: múltiples copias virtuales (una por usuario y una para todos los procesos elevados) Efectos colaterales: múltiples copias virtuales (una por usuario y una para todos los procesos elevados)

30 UAC: Soluciones Automáticas Virtualización (cont.) Virtualización (cont.) Boton de Archivos de Compatibilidad para ficheros virtuales Boton de Archivos de Compatibilidad para ficheros virtuales Abre la ubicación virtual Abre la ubicación virtual

31 Redireción de Acceso Privilegiado a Ficheros

32 UAC: Síntomas Generales Mensaje de error sobre permisos de acceso Explicito Mensaje de error sobre permisos de acceso Explicito El Log de eventos contiene mensajes de seguridad o aplicaciones indicando un problema de seguridad El Log de eventos contiene mensajes de seguridad o aplicaciones indicando un problema de seguridad La aplicación falla o no se instala La aplicación falla o no se instala La aplicación no se actualiza automáticamente La aplicación no se actualiza automáticamente La aplicación no recuerda configuraciones guardadas La aplicación no recuerda configuraciones guardadas Los síntomas varían y son difíciles de diagnosticar Los síntomas varían y son difíciles de diagnosticar

33 UAC: Investigación Determinar si se diseño para ejecutarse como administrador Determinar si se diseño para ejecutarse como administrador Ejecutar como administrador – Funciona? Ejecutar como administrador – Funciona? Ejecutar como usuario estándar – Chequear la localización de las redirecciones Ejecutar como usuario estándar – Chequear la localización de las redirecciones C:\Users\%username%\AppData\Local\ VirtualStore C:\Users\%username%\AppData\Local\ VirtualStore HKCU\Software\Classes\VirtualStore\MACHINE HKCU\Software\Classes\VirtualStore\MACHINE Visor de Eventos – logs sobre UAC Visor de Eventos – logs sobre UAC Process Monitor (Procmon) accesos fallidos Process Monitor (Procmon) accesos fallidos hreads/processmonitor.mspx hreads/processmonitor.mspx hreads/processmonitor.mspx hreads/processmonitor.mspx

34 UAC: Investigación (cont.) Herramientas especificas de compatibilidad de aplicaciones Herramientas especificas de compatibilidad de aplicaciones Empresas: UAC Compatibility Evaluator en ACT 5.0 Empresas: UAC Compatibility Evaluator en ACT 5.0 Standard User Analyzer (SUA) Standard User Analyzer (SUA) LUA Buglight LUA Buglight Depuradores (Si el resto falla) Depuradores (Si el resto falla) Visual Studio (si se tiene el código) Visual Studio (si se tiene el código) Herramientas de Depuración para Windows (e.g. Windbg). Comparar una máquina con XP y otra con Vista y analizar diferencias en la ejecución del código. Herramientas de Depuración para Windows (e.g. Windbg). Comparar una máquina con XP y otra con Vista y analizar diferencias en la ejecución del código.

35 Eventlog Procmon

36 UAC: Lista de problemas específicos La lista de problemas contiene La lista de problemas contiene Síntomas Síntomas Causa Causa Mitigación y/o solución Mitigación y/o solución Comportamiento de PCA (opcional) Comportamiento de PCA (opcional) Categorías Categorías Fallos de Instalación Fallos de Instalación Fallos de Actualización Fallos de Actualización Fallos de Aplicación Fallos de Aplicación

37 UAC: Fallos de instalación Síntoma Síntoma No hay promt de UAC No hay promt de UAC Fallos del instalador Fallos del instalador Causa Causa El instalador no se detecta por heuristica y por lo tanto no se eleva. El instalador no se detecta por heuristica y por lo tanto no se eleva. Mitigacion y Soluciones Mitigacion y Soluciones PCA contiene una soluicón automática PCA contiene una soluicón automática Renombrar a setup.exe Renombrar a setup.exe Marcar el ejecutable para que se ejecute elevado Marcar el ejecutable para que se ejecute elevado

38 UAC: Fallos de instalación #1 PCA monitoriza intentos fallidos de: PCA monitoriza intentos fallidos de: Crear una Sub carpeta en Archivos de Programa Crear una Sub carpeta en Archivos de Programa Copiar exes o dlls en la nueva carpeta Copiar exes o dlls en la nueva carpeta Usa eventos de virtualización para detectarlo Usa eventos de virtualización para detectarlo PCA entiende que el programa no se ha detectado como un instalador PCA entiende que el programa no se ha detectado como un instalador

39 UAC: Fallos de instalación #1 Reinicia el programa como Administrador Reinicia el programa como Administrador Aplica el modo de compatibilidad RunAsAdmin y reinicia el programa. Aplica el modo de compatibilidad RunAsAdmin y reinicia el programa. La solución es efectiva para todos los usuarios. (Almacenada en HKLM). La solución es efectiva para todos los usuarios. (Almacenada en HKLM). Este programa se instalo correctamente' Este programa se instalo correctamente' En algunas ocasiones PCA aparece aunque el programa se instalará correctamente. Se grava en el registro. En algunas ocasiones PCA aparece aunque el programa se instalará correctamente. Se grava en el registro. 'Cancel- PCA no hará nada y se volverá a mostrar 'Cancel- PCA no hará nada y se volverá a mostrar

40 PCA detecta un instalador

41 UAC: Fallos de instalación #2 Síntomas Síntomas MSI con alguna acción personalizada falla con un error de UAC a pesar de la elevación MSI con alguna acción personalizada falla con un error de UAC a pesar de la elevación Causa Causa MSI contiene acciones personalizadas que impersonan al usuario (por defecto) MSI contiene acciones personalizadas que impersonan al usuario (por defecto) Ejemplo: ActionType=1025 Ejemplo: ActionType=1025 msidbCustomActionTypeInScript (0x400) delayed msidbCustomActionTypeInScript (0x400) delayed msidbCustomActionTypeDll (0x1) = 0x401 msidbCustomActionTypeDll (0x1) = 0x401 msidbCustomActionNoImpersonate (0x800) not set msidbCustomActionNoImpersonate (0x800) not set

42 UAC: Fallos de instalación #1 Solución Solución Modificar el MSI y seleccionar que no impersone al usuario Modificar el MSI y seleccionar que no impersone al usuario Establecer el bit msidbCustomActionNoImpersonate (0x800) Establecer el bit msidbCustomActionNoImpersonate (0x800) Ejemplo : ActionType 1025 (0x401) becomes 3073 (0xC01) Ejemplo : ActionType 1025 (0x401) becomes 3073 (0xC01) Editar el MSI con Orca.exe para cambiar los campos correspondientes Editar el MSI con Orca.exe para cambiar los campos correspondientes A veces es necesario una ejecución desde una línea de comando elevada. A veces es necesario una ejecución desde una línea de comando elevada.

43 Cambiar el Tipod de Acción en un MSI usando ORCA

44 UAC: Fallos de instalación #3 Síntoma Síntoma Ejecutable auto des-comprimible o compresor personal, se ejecuta elevado y lanza un script pero este falla Ejecutable auto des-comprimible o compresor personal, se ejecuta elevado y lanza un script pero este falla Causa Causa La elevación UAC se produce para el ejecutable pero los privilegios de elevación no son transferidos al script La elevación UAC se produce para el ejecutable pero los privilegios de elevación no son transferidos al script Soluciones Soluciones Rediseñar para usar MSI Rediseñar para usar MSI Ejecutar desde una línea de comando elevada Ejecutar desde una línea de comando elevada Crea un motor de Scripts elevado Crea un motor de Scripts elevado

45 UAC: Fallos al Actualizar #1 Síntomas Síntomas La actualización falla cuando una aplicación con su propio actualizador trata de actualizarse La actualización falla cuando una aplicación con su propio actualizador trata de actualizarse Manifestaciones Varias: silencio, mensaje de error, cuelgues, etc. Manifestaciones Varias: silencio, mensaje de error, cuelgues, etc. Causas Causas La aplicación no se ejecuta elevada La aplicación no se ejecuta elevada La aplicación no esta diseñada para mostrar la solicitud de elevación La aplicación no esta diseñada para mostrar la solicitud de elevación Soluciones Soluciones Utilizar tecnologías de despliegue alternativas Utilizar tecnologías de despliegue alternativas ClickOnce (VisualStudio) ClickOnce (VisualStudio) Parcheo mediante MSI Parcheo mediante MSI Rediseñar para separar las funciones con privilegios Rediseñar para separar las funciones con privilegios Ejecutar la aplicación elevada (no recomendado) Ejecutar la aplicación elevada (no recomendado)

46 UAC: Fallos al Actualizar #2 PCA lo detecta PCA lo detecta PCA detecta un código de error (ERROR_ELEVATION_REQUIRED) que indica el requerimiento de ejecutarse elevado PCA detecta un código de error (ERROR_ELEVATION_REQUIRED) que indica el requerimiento de ejecutarse elevado Solución PCA Solución PCA Aplica automáticamente ElevateCreateProcess (debido a la gran confianza en la detección del problema) Aplica automáticamente ElevateCreateProcess (debido a la gran confianza en la detección del problema) La solución solo aplica al usuario actual (Se almacena en HKCU) La solución solo aplica al usuario actual (Se almacena en HKCU)

47 UAC: Fallos al Actualizar #2

48 UAC: Fallos al Actualizar #3 Síntomas Síntomas La actualización falla cuando una aplicación con su propio actualizador independiente trata de actualizarse La actualización falla cuando una aplicación con su propio actualizador independiente trata de actualizarse Manifestaciones Varias: silencio, mensaje de error, crash, etc. Manifestaciones Varias: silencio, mensaje de error, crash, etc. Causas Causas El actualizador esta separado y no se detecta o eleva con PCA El actualizador esta separado y no se detecta o eleva con PCA Soluciones Soluciones Utilizar tecnologías de despliegue alternativas Utilizar tecnologías de despliegue alternativas ClickOnce (VisualStudio) ClickOnce (VisualStudio) Parcheo mediante MSI Parcheo mediante MSI Marcar el Actualizador para que se ejecute elevado. Marcar el Actualizador para que se ejecute elevado.

49 UAC: Fallos de Aplicación #1 Síntomas Síntomas Muchos – desde comportamientos fallidos en alguna funcionalidad hasta cuelgues. Muchos – desde comportamientos fallidos en alguna funcionalidad hasta cuelgues. Causas Causas Usos de la Aplicación Usos de la Aplicación IsUserAnAdmin, CheckTokenMembership BUILTIN\Administrators y APIs similares IsUserAnAdmin, CheckTokenMembership BUILTIN\Administrators y APIs similares APIs devuelven un error si no se esta elevado APIs devuelven un error si no se esta elevado Mitigación Mitigación Shim ForceAdminAccess o ProtectedAdminCheck Shim ForceAdminAccess o ProtectedAdminCheck Solución Solución GetTokenInformation API GetTokenInformation API TokenElevation (elevado o no) TokenElevation (elevado o no) TokenElevationType (Defecto, Total o limitado) TokenElevationType (Defecto, Total o limitado)

50 UAC: Fallos de Aplicación #2 Síntomas Síntomas Aplicaciones elevadas no pueden instanciar objetos COM Aplicaciones elevadas no pueden instanciar objetos COM Sin elevar, si pueden instanciar el mismo objeto COM Sin elevar, si pueden instanciar el mismo objeto COM Causa Causa El objeto COM esta registrado por usuario El objeto COM esta registrado por usuario HKEY_CLASSES_ROOT es una rama virtual de HKCU y HKLM HKEY_CLASSES_ROOT es una rama virtual de HKCU y HKLM HKCU\Software\Classes se usa primero en XP y para procesos con IL medio o bajo en Vista HKCU\Software\Classes se usa primero en XP y para procesos con IL medio o bajo en Vista HKCU\Software\Classes NUNCA se usa para procesos con alto IL (elevados) en Windows Vista HKCU\Software\Classes NUNCA se usa para procesos con alto IL (elevados) en Windows Vista Previene que objetos COM maliciosos a nivel de usuario se ejecuten desde procesos elevados Previene que objetos COM maliciosos a nivel de usuario se ejecuten desde procesos elevados Solución Solución Las aplicaciones que usen objetos COM y necesiten privilegios de administrador deben registrar estos durante la instalación en HKLM\Software\Classes. (Importar y Exportar) Las aplicaciones que usen objetos COM y necesiten privilegios de administrador deben registrar estos durante la instalación en HKLM\Software\Classes. (Importar y Exportar)

51 UAC: Fallos de Aplicación #3 Síntomas Síntomas Unidades de red mapeadas (y SUBST) no son visibles para aplicaciones elevadas. Unidades de red mapeadas (y SUBST) no son visibles para aplicaciones elevadas. Las unidades mapeadas desde una línea de comando elevada no son visibles para procesos estándares (incluidos Explorer) Las unidades mapeadas desde una línea de comando elevada no son visibles para procesos estándares (incluidos Explorer) Causas Causas Los Mapeos se adjuntan al Inicio de Sesión (LUID) Los Mapeos se adjuntan al Inicio de Sesión (LUID) Las unidades mapeadas solo son validas en el contexto del testigo de usuario que las mapeo Las unidades mapeadas solo son validas en el contexto del testigo de usuario que las mapeo Se necesitan dos conjuntos de mapeos para situaciones con testigo duplicado Se necesitan dos conjuntos de mapeos para situaciones con testigo duplicado

52 UAC: Fallos de Aplicación #3 Solución Solución Automática- Vista mapea para ambos testigos si descubre que el instalador de una aplicación mapea discos Automática- Vista mapea para ambos testigos si descubre que el instalador de una aplicación mapea discos Mapear los discos en el contexto de ambos testigos Mapear los discos en el contexto de ambos testigos Entrad del Registro Entrad del Registro HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ Policies\System\EnableLinkedConnections = (dword)1 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ Policies\System\EnableLinkedConnections = (dword)1 Atención: Se puede comprometer la seguridad Atención: Se puede comprometer la seguridad

53 Mapeo de Discos

54 UAC: Fallos de Aplicación #4 Síntomas Síntomas Muchos – desde comportamientos fallidos en alguna funcionalidad hasta cuelgues Muchos – desde comportamientos fallidos en alguna funcionalidad hasta cuelgues Causas Causas La Aplicación intenta ejecutar una operación que necesita privilegios y obtiene un Acceso Denegado porque no esta elevada. La Aplicación intenta ejecutar una operación que necesita privilegios y obtiene un Acceso Denegado porque no esta elevada.

55 UAC: Fallos de Aplicación #4 Soluciones y Mitigaciones Soluciones y Mitigaciones Rediseñar la aplicación para que funcione con el principio de menor privilegio Rediseñar la aplicación para que funcione con el principio de menor privilegio Eliminar completamente la necesidad de privilegios Eliminar completamente la necesidad de privilegios Separar las funciones de administración de las funciones de operación normales Separar las funciones de administración de las funciones de operación normales Aplicar una Capa (Shim) de redirección (ejem. CorrectFilePaths y VirtualRegistry) Aplicar una Capa (Shim) de redirección (ejem. CorrectFilePaths y VirtualRegistry) Virtualización Virtualización Mapeo de Ficheros INI en los que no se puede escribir a HKCU Mapeo de Ficheros INI en los que no se puede escribir a HKCU Mapeo de HKCR (Objetos COM) Mapeo de HKCR (Objetos COM)

56 UAC: Fallos de Aplicación #4 Soluciones y Mitigaciones Soluciones y Mitigaciones Cambiar las ACL para los ficheros y claves del registro necesarios. Cambiar las ACL para los ficheros y claves del registro necesarios. Usar Scripts y Políticas de Grupo para evitar demoras en el Despliegue. Usar Scripts y Políticas de Grupo para evitar demoras en el Despliegue. Peligro: Realizar antes una revisión de las implicaciones de seguridad Peligro: Realizar antes una revisión de las implicaciones de seguridad Ejecutar Elevado (no recomendado) Ejecutar Elevado (no recomendado) Buena solución si la aplicación solo realiza tareas administrativas (ejem. Desfragmentador de Disco) Buena solución si la aplicación solo realiza tareas administrativas (ejem. Desfragmentador de Disco) Mala solución para aplicaciones mixtas Mala solución para aplicaciones mixtas

57 UAC: Scripts de Relajado ACL En entornos corporativos se pueden usar Scripts para automatizar el cambio de ACLs En entornos corporativos se pueden usar Scripts para automatizar el cambio de ACLs Peligro: Realizar antes una revisión de las implicaciones de seguridad Peligro: Realizar antes una revisión de las implicaciones de seguridad Desplegar con las herramientas estándares de la corporación Desplegar con las herramientas estándares de la corporación Utilidad ICACLS Utilidad ICACLS ICACLS /grant \ :M ICACLS /grant \ :M Empaquetar en un fichero.cmd Empaquetar en un fichero.cmd

58 UAC: Fallos de Aplicación #5 Se invoca el PCA después de la primera ejecución del un Panel de Control legado. Fichero CPL (sin manifiesto). Se invoca el PCA después de la primera ejecución del un Panel de Control legado. Fichero CPL (sin manifiesto).

59 UAC: Fallos de Aplicación #5 Ejecutar el Panel de control usando las configuraciones recomendadas' Ejecutar el Panel de control usando las configuraciones recomendadas' Aplica el modo de compatibilidad 'RunAsAdmin' y reinicia el panel de control como administrador Aplica el modo de compatibilidad 'RunAsAdmin' y reinicia el panel de control como administrador El panel de control funciona correctamente ' El panel de control funciona correctamente ' En casos de que funcione bien con esta opción se evita que se muestre el dialogo PCA la próxima vez En casos de que funcione bien con esta opción se evita que se muestre el dialogo PCA la próxima vez 'Cancelar' 'Cancelar' PCA no hace nada PCA no hace nada

60 © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

61 Más acciones desde TechNet Para ver los webcast grabados sobre éste tema y otros temas, diríjase a: Para ver los webcast grabados sobre éste tema y otros temas, diríjase a: Para información y registro de Futuros Webcast de éste y otros temas diríjase a: Para información y registro de Futuros Webcast de éste y otros temas diríjase a: Para mantenerse informado sobre todos los Eventos, Seminarios y webcast suscríbase a nuestro boletín TechNet Flash en ésta dirección: Para mantenerse informado sobre todos los Eventos, Seminarios y webcast suscríbase a nuestro boletín TechNet Flash en ésta dirección: Descubra los mejores vídeos para TI gratis y a un solo clic: Descubra los mejores vídeos para TI gratis y a un solo clic: Para acceder a toda la información, betas, actualizaciones, recursos, puede suscribirse a Nuestra Suscripción TechNet en: Para acceder a toda la información, betas, actualizaciones, recursos, puede suscribirse a Nuestra Suscripción TechNet en:


Descargar ppt "José Parada ExEvangelista - ATS Sector Público V 5 Fundamentos de la Compatibilidad de Aplicaciones 1ª Parte."

Presentaciones similares


Anuncios Google