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 3ª Parte.

Presentaciones similares


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

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

2 Agenda Ejecución de aplicaciones en Windows Problemas frecuentes- Mejoras de Seguridad 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 Problemas no tan frecuentes HerramientasPCAAppHelp

3 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

4 Ubicación nueva de Carpetas Se ha cambiado la ubicación de “Mis Documentos” y otras carpetas de usuario para proporcionar una mejor experiencia de usuario Los datos del usuario se almacenan ahora en: ‘\users\%username%\’ estructura de Capetas Imagenes, Musica, Documentos, Escritorio y Favoritos son carpetas nuevas bajo esta estructura El prefijo “Mis” se ha eliminado “Todos los Usuarios” se ha convertido en “Acceso Público” y “\Datos de Programa”

5 Ubicación nueva de Carpetas Cambios en las Localizaciones Los nombres localizados de las carpetas eran los nombres verdaderos (ejem., “C:\Archivos de Programa”) y no existía el nombre en Ingles En Vista, todas las carpetas tienen nombre en Ingles (ejem., “C:\Program Files”) y un punto de encuentro (ejem., “C:\Archivos de programa”) El Explorador de archivos muestra el nombre localizado para los directorios

6 Ubicación nueva de Carpetas: Mitigaciones Puntos de Encuentro de Directorios (Junctions Points) Proporcionan compatibilidad hacia atrás para paths codificados. ‘Documents and Settings’  ‘Users’ ‘Mis Documentos’  ‘Documents’ ‘Archivos de Programa  ‘Program Files’ Se deniega el acceso de lectura para ‘Todos’ en la unión del directorio Previene Backups múltiples del directorio No muestra nada desde la línea de comando Únicamente se permite el acceso con el path completo ejem., ‘\Documents and Settings\%username%\ My Documents\Test.doc‘

7 Ubicación nueva de Carpetas: Soluciones Nunca codificar paths absolutos AppVerifier incluye un test Script: variables de entorno Código no manejado (C++/C) Función ShGetFolderPath (CLSID_...) SHGetKnownFolderPath (FOLDERID_...) Vista y posterior Código Manejado (C#, VB.NET) System.Environment.GetFolderPath Enum System.Environment.SpecialFolder Microsoft.VisualBasic.FileIO.SpecialDirectoriesMy.Computer.FileSystem.SpecialDirectories

8 Ubicación nueva de Carpetas: Donde Diferenciación entre Usuario y Datos de Aplicación El usuario no interacciona directamente con los Datos de la Aplicación Datos Compartidos de Usuario (Documents) C:\Users\Public\Documents CSIDL_COMMON_DOCUMENTSFOLDERID_PublicDocuments

9 Ubicación nueva de Carpetas: Donde Datos compartidos de Aplicación C:\ProgramData\MyAppName%AllUsersProfile%\MyAppNameCSIDL_COMMON_APPDATAFOLDERID_ProgramDataSpecialFolder.CommonApplicationData Establecer permisos (ACL) para las carpetas que comparten datos de aplicación durante la instalaicón

10 Ubicación nueva de Carpetas: Donde Datos de Aplicación por usuario (roaming) C:\Users\%username%\AppData\Roaming%APPDATA%CSIDL_APPDATAFOLDERID_RoamingAppDataSpecialFolder.ApplicationData

11 Ubicación nueva de Carpetas: Donde Datos de aplicación por usuario Local C:\Users\%username%\AppData\Local%LOCALAPPDATA%CSIDL_LOCAL_APPDATAFOLDERID_LocalAppDataSpecialFolder.LocalApplicationData

12 Ubicación nueva de Carpetas: Donde Datos de Usuario(Documents) C:\Users\%username%\DocumentsCSIDL_MYDOCUMENTSFOLDERID_DocumentsSpecialFolder.MyDocuments

13 Ubicación nueva de Mis Documentos

14 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

15 Sesión 0 Window Station Escritorio Salva Panta Login Sesiones en Windows XP/2003 Servicios Ventana Usuario1 Ventana Usuario1 Ventana Usuario1 Ataque

16 Aislamiento de la Sesión 0: Porque Ejecutar Servicios y aplicaciones de usuario en la misma sesión en un riesgo de seguridad Explotación potencial enviando mensajes entre las aplicaciones y los servicios Agentes maliciosos que buscan la manera de elevar sus privilegios utilizan los servicios Al ejecutar los servicios y las aplicaciones de usuario en sesiones separadas se evitan estos ataques

17 Sesiones en Windows Vista Sesión 0 Window Station Escritorio Servicio Sesión 1 Window Station Escritorio Salva Panta Login Ventana Usuario 1 Ventana Usuario 1 Ventana Usuario 1 Seguridad

18 Sesión 0: Impacto Compatibillidad Drivers en modo usuario y servicios que funcionan con múltiples usuarios en XP (Fast User Switching) funcionan casi siempre Un servicio y una aplicación de usuario que utilice para comunicarse funciones de mensajería de Windows (e.g. SendMessage, PostMessage) fallara silenciosamente Un servicio y una aplicación de usuario que utilice para comunicarse objetos locales Un servicio que utiliza la IU para interactuar con el usuario, mostrara la IU en un escritorio especial que es inaccesible

19 Sesión 0: Mitigaciones Automáticas Síntomas: El IU que muestra el servicio no es visible: Windows Vista permite que el usuario interaccione con la IU de la sesión 0 en un escritorio especial Detecta el problema de que la IU no se muestra Da la opción al usuario para que elija si mostrar el mensaje ahora y mas tarde Cambia el Display a un escritorio especial donde la IU es visible

20 Sesión 0: Soluciones Problema: Los servicios y las aplicaciones de usuario se comunican entre si utilizando las funciones de mensajería de Windows o objetos locales Solución: Rediseñar la aplicación y el servicio para que usen mecanismos cliente servidor para comunicarse remote procedure call (RPC) named pipes named pipes

21 Sesión 0: Soluciones Problema: El Servicio muestra una IU para interactuar con el usuario Solución: Rediseñar el servicion para que no interactue directamente con el usuario Usar la función WTSSendMessage para crear un mensaje simple en el escritorio del usuario (No recomendado)

22 Problemas No tan Frecuentes Dibujado de la Pantalla Componentes descontinuados Pila IPv6 Cambios Críticos en el Código Código Manejado para.NET 1.x Vista 64-bit

23 Problemas No tan Frecuentes Dibujado de la Pantalla Componentes descontinuados Pila IPv6 Cambios Críticos en el Código Código Manejado para.NET 1.x Vista 64-bit

24 Dibujado de la Pantalla Porque: Para mejorar la experiencia de usuario Como: Todas las ventanas de windows se renderizan en un Buffer antes de mostrarse el monitor; Desktop Window Manager combina esas imagenes para pintar el escritorio Impact: Algunas aplicaciones se renderizan incorrectamente Mitigación: Desabilitar la Composición del Escritorio Aplicar el shim “DisableDWM” Propiedades  Etiqueta Compatibility  Soluciones: Rediseñar la aplicación para que no piense que esta renderizando la pantalla

25 Deshabilitar la Composición del Escritorio

26 Problemas No tan Frecuentes Dibujado de la Pantalla Componentes descontinuados Pila IPv6 Cambios Críticos en el Código Código Manejado para.NET 1.x Vista 64-bit

27 Componentes Discontinuados Soporte a Ficheros de ayuda Win(.HLP) El visor No esta incluido en Windows Vista Descarga disponible para soporte a.HLP http://www.microsoft.com/downloads/details.aspx?FamilyID=6e bcfad9-d3f5-4365-8070-334cd175d4bb http://www.microsoft.com/downloads/details.aspx?FamilyID=6e bcfad9-d3f5-4365-8070-334cd175d4bb http://www.microsoft.com/downloads/details.aspx?FamilyID=6e bcfad9-d3f5-4365-8070-334cd175d4bb Se prefiere CHM Módulos GINA (Graphical Indentification and Network Authentication) Notificaciones de Inicio de Sesión (Logon Notifications)

28 Componentes Discontinuados Drivers de Impresión en modo Kernel Han de ser en modo Usuario Extensiones de servidor Microsoft® FrontPage® Publicar en la Web desde VS Servicios para Macintosh D3DRM Asistente de Pubicación Web NetDDE (opcional en XP)

29 Componentes Discontinuados PCA monitoriza la API CoCreateInstance API y el Loader (NTDLL) Detecta fallos de carga en objetos COM y DLL discontinuados Usa el Windows Error Reporting (WER) para obtener: Articulo de la Knowledge Base o Vinculo a la descarga del componente discontinuado

30 Componentes Discontinuados

31 Problemas No tan Frecuentes Dibujado de la Pantalla Componentes descontinuados Pila IPv6 Cambios Críticos en el Código Código Manejado para.NET 1.x Vista 64-bit

32 Why: IPv6 La demanda de IPv6 es debida a: Arquitectura Flexible Seguridad avanzada Redes transparentes Todo sobre IP RFC 3484 http://www.ietf.org/rfc/rfc3484.txt IPv6 nos provee de: SeguridadMobilidad Plan de transición IPv4  IPv4 con IPv6 nativo  Solo IPv6

33 Como: IPv6 La pila TCP/IP en Windows Vista tiene IPv4 e IPv6 habilitados por defecto Se envía trafico IPv6 por defecto Independientemente de si la red lo soporta o no ejem. Solicitud de ruter, descubrimiento de vecinos,.. Pila y API únicas para IPv4 e IPv6 La API de IPv4 se discontinua, aunque se soporta

34 Como: IPv6 34 FTPWWWNFS TCPUDP SNMPTelnet IPv4IPv6 802.5802.11PPPATM802.3

35 IPv6: Impacto La APIs únicas para IPv4 deben de funcionar Modo de pila Dual (por defecto) Modo único IPv4 APIs solo de IPv4 fallaran cuando se ejecuten en redes IPv6 nativas Actualmente las redes son de pila IPv4 única o de pila doble (IPv4 eIPv6). Se recomienda reescribir las aplicaciones para que con la nueva API independiente de la pila.

36 IPv6: Impacto APIs independientes de la versión IP La herramienta Checkv4.exe facilita la portabilidad del código http://msdn2.microsoft.com/en- us/library/ms740624.aspx http://msdn2.microsoft.com/en- us/library/ms740624.aspx Se desaconseja el uso de funciones indocumentadas pues al ser la pila completamente nueva, ya no funcionan Problema para algunos clientes VPN

37 Problemas No tan Frecuentes Dibujado de la Pantalla Componentes descontinuados Pila IPv6 Secciones Críticas Código Manejado para.NET 1.x Vista 64-bit

38 Secciones Críticas Porque: Implementación mejorada de las secciones criticas Como : El comportamiento al entrar en una Sección critica siempre ha estado indefinido y continua indefinido en Vista Síntomas: Aplicaciones que no comprueban la entrada en una Sección critica pueden tener un error de Violación de acceso Mitigación: El Shim “EnterUninitializedCriticalSection” soluciona algunos entornos Solución: Modificar el código para: Inicializar la Sección Critica antes de entrar en ella No entrar en una Sección Crítica eliminada

39 Problemas No tan Frecuentes Dibujado de la Pantalla Componentes descontinuados Pila IPv6 Secciones Críticas Código Manejado para.NET 1.x Vista 64-bit

40 Codigo Manejado.NET 1.x Síntoma Código Manejado escrito para.NET 1.x falla (mensaje de error o cuelgue) Causa La aplicación depende de alguna funcionalidad exclusiva de.NET 1.x & La aplicación no especificas en el fichero de configuración el o el La aplicación no especificas en el fichero de configuración el o el Nota:.NET 1.0 no soportaba Nota:.NET 1.0 no soportaba Solución Añadir en.exe.config

41 Problemas No tan Frecuentes Dibujado de la Pantalla Componentes descontinuados Pila IPv6 Secciones Críticas Código Manejado para.NET 1.x Vista 64-bit

42 64-bit Vista: Supported Ejecuta aplicaciones de 32-bit con la ayuda del emulador WOW64 Pueden existir otros problemas de compatibilidad Algunos drivers de 32-bit en modo usuario Excepciones: Hospedados en procesos de 64-bit ejem.,Spooler (64-bit) y drivers de impresión de 32-bit

43 Vista 64-bit: No Soporta Aplicaciones e instaladores de 16-bit Drivers en modo Kernel de 32-bit Drivers de impresora de 32-bit en modo usuario Parcheo del Kernel (x64 only) Patchguard previene que las aplicaciones parcheen el kernel. Si lo detecta inicia un apagado del equipo

44 Vista 64-bit: Drivers en Modo Kernel Drivers de 64-bit en modo kernel necesitan una firma digital en Windows Vista El chequeo de la firma digital se realiza durante la instalación y durante cada carga del driver PCA detecta estos problemas y muestra un mensaje de aviso

45 Vista 64-bit: Drivers en Modo Kernel PCA monitoriza los cambios en la clave del registro para monitorizar la instalación de nuevos drivers HKLM\System\CurrentControlSet\Services Detecta drivers no firmados en modo kernel Solución Disabilitar el driver Avisar al usuriao

46 Vista 64-bit: Drivers en Modo Kernel

47 Detalles del “Program Compatibility Assistan” (PCA) Gestión de PCA Mensajes de Ayuda para Aplicaciones

48 Detalles del “Program Compatibility Assistan” (PCA) Gestión de PCA Mensajes de Ayuda para Aplicaciones

49 Gestión de PCA El almacén de los modos de Compatibilidad esta en: ‘HKLM\Software\Microsoft\Windows NT\ CurrentVersion\AppCompatFlags\Layers’ Nombre de la clave= ‘Camino completo del ejecutable’ Valor de cadena = Valor de cadena = Excepción: ElevateCreateProcess se almacena en HKCU (aplica al usuario únicamente)

50 Gestión de PCA PCA almacena una lista de programas que encuentra ‘HKCU\Software\Microsoft\Windows NT \CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted’ Nombre de la clave= ‘Camino completo del ejecutable’ Valor DWord = Valor DWord = No almacena nada si elegimos “Cancelar”

51 Gestión de PCA Excluir Aplicaciones de PCA La intención de PCA es detectar problemas con aplicaciones diseñadas ara versiones previas de Windows. Si no lo queremos: Aplicaciones con el manifiesto están excluidas Añadir una lista de.exes con su dirección completo en el registro Clave: HKLM\ Software\Microsoft\Windows NT\ CurrentVersion\AppCompatFlags\Compatibility Assistant Valor con nombre “ExecutablesToExclude” de tipo REG_MULTI_SZ

52 Gestión de PCA Deshabilitar PCA para todos los programas Políticas de Grupo ‘Desactivar el Asistente para la Compatibilidad de Aplicaciones’ in ‘Plantillas Administrativas  Componentes de Windows  Compatibilidad de Aplicaciones’ Durante el desarrollo de una aplicación Para evitar errores en lo test de compatibilidad Para evitar la solicitud de elevación cuando todos los Usuarios son estándar

53 Gestión de PCA Deshabilitar PCA en escenarios específicos Políticas de grupo ‘Plantillas Administrativas  Sistema  Solución de problemas y Diagnostico  Diagnostico de Compatibilidad de Aplicaciones’ Para diagnosticar problemas específicos Log de eventos Cada acción se registra (después de la respuesta del usuario) ‘Registro de Aplicaciones y Servicios  Microsoft  Windows  Program Compatibility Assistant  Operational’

54 Detalles del “Program Compatibility Assistan” (PCA) Gestión de PCA Mensajes de Ayuda para Aplicaciones

55 Mensajes de Ayuda de la Aplicación El sistema tiene una lista con los programas que sabe que tienen problemas de compatibilidad Los mensajes se conocen como Ayuda de la Aplicación (mensajes ‘apphelp’)

56 AppHelp: Bloqueo Duro Si se sabe el que la aplicación es incompatible y permiter que se ejecute resultara en un impacto severo para el sistema (for example, a stop error or unable to boot after the install, etc.) se mostrará el siguiente mensaje de bloqueo

57 AppHelp: Bloqueo Suave Este tipo de mensaje de aviso se muestra cuando se sabe que la aplicación tiene problemas de compatibilidad, pero el impacto no es severo con el sistema

58 AppHelp: Buscar Soluciones La respuesta suele ser de alguno de estos tres tipos: Redirigir al usuario hacia una actualización de la aplicación publicada por el fabricante de Software Redirigir al usuario hacia la Web del fabricante para obtener mas información Redirigir al usuario hacia un articulo de al Base de conocimiento de Microsoft

59 59 Conclusiones

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.


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

Presentaciones similares


Anuncios Google