SlideShare uma empresa Scribd logo
1 de 62
Compatibilidad de Aplicaciones con Windows 7 Windows 7 SuperHero Technical Readiness Michał Morciniec , micham@microsoft.com Microsoft Ibérica
Windows 7 Comparte Base con Windows Vistase mantiene la inversión en Windows Vista Pocos cambios:  la mayoría de software para Windows Vista funcionará en Windows 7 – las excepciones posibles – código de bajo nivel (AV, Cortafuegos, Aplicaciones de procesamiento de Imágenes, etc).   Hardware que funciona bien en Windows Vista funcionará bien en Windows 7 . Windows 7 Pocos Cambios: Enfoque en rendimiento y estabilidad Profundos Cambios: Nuevos modelos de seguridad, drivers, despliegue, y red
Etapas de Compatibilidad de Aplicaciones con SS.OO. ,[object Object],	conocimiento de problemáticas de SS.OO. ,[object Object],	ejecutar aplicación en el nuevo SS.OO. 	utilizar herramientas de pruebas ,[object Object],	cambio de diseño del código 	parches de compatibilidad (shimming) 	Windows XP Mode en W7	 ,[object Object],	obtener Windows 7 Logo ,[object Object],Publicar aplicación en Windows 7 Compatibility Center
Cambios: Vista -> Windows 7 Windows Vista es muy compatible con Windows 7 pero se han introducido cambios en: Versión de Sistema Operativo Cambio en Binarios de Bajo Nivel Alta Resolución de Pantalla (DPI) Cadena de Agente de Usuario en Internet Explorer 8 Otras Regresiones: Eliminación de Windows Mail Eliminación de Windows MovieMaker NationalLanguageSupport (NLS) – Cambio del Orden Eliminación de Reflexión de Registro Windows Eliminación de Driver WPDUSB.SYS para Windows Portable Devices Microsoft MessageQueuing (MSMQ) - SHA-2 es un algoritmo por defecto para el calculo de Hash 4
Cambios: XP->Windows 7 ,[object Object]
UserAccount Control (UAC) – medidas de seguridad y protección de SS.OO.
Aislamiento de Servicios
Virtualización de registro y sistema de ficherosAdemás ,[object Object],[object Object]
Vista, XP - Windows 7 Cambio de Versión de Sistema Operativo
Números de Versión de SS.OO. Windows
Versión de Sistema Operativo Número de Versión Interno de Windows 7 es 6.1.  dwMajorVersion igual como en Vista dwMinorVersion es diferente Problema Cualquier aplicación que comprueba el número de versión obtiene valor más alto que quizás no puede procesar. Instaladores de Aplicaciones pueden fallar  Lógica de aplicación puede prevenir el arranque de la misma.  Sugerencia de Solución Comprueba funcionalidad en vez de versión Aplique Parche de Compatibilidad “version lie” ( layer o shim) Compara para SS.OO. posteriores (>) a la versión compatible 9
Porque Versión 6.1? Muchas aplicaciones solo comprueban dwMajorVersion – Compatibilidad con Vista Algunas aplicaciones han intentado la comprobación pero la han implementado INCORRECTAMENTE: if (majorVersion >= 5 && minorVersion >= 1)
Mejores Prácticas para Comprobaciones de Versión de SS.OO No hacer comprobaciones para igualdad (=) Comprobar para versión XP o posterior (>=5.1) Comprobar funcionalidad en vez de versión Seguir ejemplos de código (managed/C++) de  Windows 7 Training Kit forDeveloper Puede haber excepciones – certificación para versión de SS.OO determinada
XP - Windows 7 UAC
Tipos de Cuentas de Usuario Built-in (local machine) Administrator Deshabilitado por defecto Ejecuta con “Full token” de Administrador ProtectedAdministrator Usuario en grupo de Administradores  Ejecuta con “Split token” Standard UserorLimitedUserAccount Ninguno de los previamente mencionados No tiene privilegios administrativos 13
Control de Cuenta de Usuario (UAC)– Why? ,[object Object]
Que puede hacer Standard User?No Permitido ,[object Object]
Cambiar componentes de SS.OO
Cambiar configuración de máquina (machine settings)
Privilegios de administradorPermitido ,[object Object]
 Cambiar configuración de usuario 	(per usersettings)
Abby UAC -Arquitectura Admin Token Admin Token App Child App Admin Token Standard User Token “Standard User” Token Standard User Token App Child App Standard User Token
Token Partido (“Split-Token”) Tiene menos privilegios la mayoría del tiempo Permite “elevar” proceso para conseguir privilegios cuando son necesarios Aplica a logons interactivos
Token “partido” demo
Dialogo de Consentimiento (“Consent UI”) Componente de SS.OO. Aplicación sin Firma Aplicación Firmada
Dialogo de Credencial (“Over The Shoulder”)
Control de Configuración de Windows 7 UAC Configuración: Como en Vista Excluye binarios de SS.OO. Como 2 + control aparece en Escritorio del Usuario UAC deshabilitado 20
Windows 7 UAC y “Auto-Elevation” Configuración 2 y 3 hace uso de “auto elevación” Binarios firnados con Windows Publishing Certificate En ubicación “segura” %SystemRoot%ystem32  Algunas subcarpetas de %ProgramFiles% (Windows Defender, Windows Journal) Un Listado “especial” de ejecutables (Pkgmgr.exe, Migwiz.exe) 21
UAC y Política de Seguridad (W7 y Vista) Cierta funcionalidad de UAC puede ser controlada con Políticas de Seguridad Si Diálogos de UAC se muestran para Admins/Standard Users Si funciona heurística de detección de Instalador Si Diálogos de UAC aparecerán en  Escritorio Seguro  Virtualización de Registro y Sistema de Ficheros  Ex. : Deshabilitar Diálogo OTC  para Usuario Estandard 	(las peticiones de “elevación será automáticamente denegadas) 22
XP - Windows 7 UAC Interfaz de Usuario -UI Shield
Objetivo del Interfaz de Usuario: Sencillo y Predecible 1	Diseña la aplicación para “Standard User” 2	Claramente identifica tareas administrativas Asegura que usuarios estándar puedes ser productivos Identifica las tareas administrativas con “shield”
Interfaz de Usuario: Escudo Se adjunta a los controles para indicar “elevación” es imprescindible para utilizar la funcionalidad No tiene estado ( “hover”, “disabled” etc.) No memoriza/causa “elevación” de proceso Programada mediante: IDI_SHIELD recurso de icono BCM_SETSHIELD mensaje de Windows para botones Másinformación: Enabling UAC Elevation in .Net applications
Ejemplo de Uso del Escudo
XP - Windows 7 UAC Interfaz de Usuario -UI Shield MIC
Mandatory Integrity Control (MIC) Modelo tradicional de seguridad desde NT se basa en el “token” del proceso Windows Vista/Win7 mejora seguridad con MIC: Cada proceso tiene “nivel MIC” Todos los recursos de SS.OO tienen “nivel MIC” (“Medium” por defecto) Los cuatro niveles: 0: Low 	(IE with Protected Mode On) 1: Medium 	(Standard User)	 2: High	(Elevated User) 3: System  	(System Services)
MIC y Recursos Niveles MIC aplican a: Procesos Objetos Componentes COM Servicios Sistema de ficheros Claves de registro Para visualizar nivel MIC utiliza “accesschk –i” (Sysinternals) IE actualmente es la única aplicación con Nivel MIC Bajo Todos los recursos de IE también tienen Nivel Bajo
Resumen MIC Simplificado Objetos pueden tener Nivel MIC Almacenado en el descriptor de seguridad (Security Descriptor) Procesos ejecutan con cierto Nivel MIC (IL – IntegrityLevel) Almacenado en el “token” de acceso (Access Token) Un proceso no puede acceder al objeto si su Nivel MIC < Nivel MIC del objeto Forma parte de comprobación del acceso
MIC en más Detalle - Politicas Cada objeto securizable tiene Nivel y Política MIC Tipos de Políticas: “No-Write-Up”:	 Nivel más bajo no puede escribir al objeto “No-Read-Up”:	 Nivel más bajo no puede leer el objeto “No-Execute-Up”:	 Nivel más bajo no puede ejecutar el objeto Niveles no especificados = “Medium” + “No-Write-Up” Procesos son “No-Write-Up” + “No-Read-Up”
MIC y Pruebas de Acceso Nivel de Proceso y típo de accesso solicitado se comprueban con Nivel del Objeto If Nivel de Proceso  >= Nivel de Objeto, realiza prueba DACL (access control list) If Nivel de Proceso < Nivel de Objeto ENTONCES Y política de objeto es… Si el tipo de acceso solicitado incluye
Ejemplo de Comprobación de Acceso con MIC R+W Request Access: Read + Write Internet Explorer [LOW IL] Toby’s  Startup  Folder Medium (NW) Request Access: Read + Write MS Money [Medium IL]
MIC demo
User Interface Privilege Isolation (UIPI) UIPI- proceso con Nivel MIC más bajo no puede Validar “windowhandle” creado por el proceso con nivel más alto Hacer llamadas SendMessage o PostMessage a las ventanas creadas por el proceso con nivel más alto Utilizar “threadhooks” para attachar a los procesos más privilegiados Utilizar “journalhooks” (SetWindowsHookEx) para monitorizar dichos procesos Para permitir que Windows Message pasa entre Niveles distintos MIC levels utiliza ChangeWindowMessageFilter(message, SGFLT_ADD); o  marca UIAccess=true en el manifest (vease manifiesto de osk.exe) Consulta Windows 7 Training Kit for Developer para el código de ejemplo.
XP - Windows 7 UAC Interfaz de Usuario -UI Shield MIC Virtualización
Virtualización de Sistema de Ficheros y Claves de Registro Facilita compatibilidad de aplicaciones “legacy” No hay garantía de que exista en futuros SS.OO. Funciona con aplicaciones interactivas de 32-bit (no “elevadas” acceden a recursos protegidos Con claves/ficheros donde Admin tiene acceso HKLMoftware;  %SystemDrive%rogram Files %WinDir%ystem32 Serán redirecionados a: HKCUoftwarelassesirtualStore %LocalAppData%irtualStorebr />Virtualización elimina necesidad de “elevar” Escrituras a HKLM van a HKCU Escrituras a carpetas de SS.OO re-direccionados a repositorio “per-usuario” Diferente de redirección de registro para 32-bit en máquinas x64, (WOW64…)
Virtualización de Sistema de Ficheros y de Registro Virtualización de Claves de Registro NO FUNCIONA Para procesos 64 bits Procesos que impersonan usuarios Procesos que especifican requestedExecutionLevel en sus manifiestos Procesos no interactivos (servicios Windows) Virtualización de ficheros no funciona para ejecutables aspx, .bin,.cmd,.exe, .hlp, .msi, .ocx, .sys, .tlb, .wsh
Virtualización y Windows Explorer
Virtualización demo
XP - Windows 7 UAC Interfaz de Usuario -UI Shield MIC Virtualización WRP
WRP (Windows ResourceProtection) Mecanismo general que protege ciertos recursos de SS.OO.,  e.g. Windowsystem32ernel32.dll NT SERVICErustedInstaller tiene Full Access  SfcIsFileProtected() permite detectar clave de registro protegida por WRP SfcIsFileProtected() permite detectar fichero protegido por WRP Windows Module Installer (TrustedInstaller.exe) es utilizado para actualizar componentes de SS.OO. ISV no disponen del interfaz para interactuar con el Local Administrator puede tomar “ownership” del recurso protegido eliminando WRP WRP no es medida de seguridad Aplicaciones /Instaladores No deberían modificar recursos protegidos por WRP.
XP - Windows 7 UAC Interfaz de Usuario -UI Shield MIC Virtualización WRP Ubicación de Carpetas
Ubicación de Carpetas Datos de Usuario se almacenan en : sersusername%br />Carpetas Pictures, Music, Documents, Desktop, y Favorites están debajo Prefijo “My“ eliminado (en Windows 7 Explorerlo muestra…) “AllUsers”  “Public” o “rogramData”
Dónde Debería Almacenar mis Datos? ConstantesSHGetKnownFolderPath See: Where Should I Write Program Data Instead of Program Files?
Mejores Prácticas para Ubicación de Carpetas No utilizar rutas absolutas AppVerifier incluye una prueba Script: utilizar variables de entorno Código “Unmanaged” (C, C++) ShGetFolderPathfunction (CLSID_...) SHGetKnownFolderPath (FOLDERID_...) Código “Managed” (C#, VB.NET) System.Environment.GetFolderPath()  Microsoft.VisualBasic.FileIO.SpecialDirectories My.Computer.FileSystem.SpecialDirectories
XP - Windows 7 UAC Interfaz de Usuario -UI Shield MIC Virtualización WRP Ubicación de Carpetas Manifiesto de Aplicación
Aplicaciones diseñadas para Vista /Windows 7 Aplicaciones diseñadas para Vista/W7 embeben un “XML manifest” Elemento estándar de Proyecto de VS 2008 Deshabilita “mitigaciones” como Virtualización Manifiesto declara RequestedExecutionLevel:
Ejemplo de Manifiesto XML  MyAdminApp.Exe.Manifest <?xmlversion="1.0" encoding="UTF-8" standalone="yes"?> <assemblyxmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">    <assemblyIdentityversion="1.0.0.0" processorArchitecture="X86"name="MyAdminApp" type="win32"/>    <!-- Identify the application security requirements. -->    <trustInfoxmlns="urn:schemas-microsoft-com:asm.v3">       <security>          <requestedPrivileges>             <requestedExecutionLevellevel="requireAdministrator“  uiAccess=“false"/>          </requestedPrivileges>       </security>    </trustInfo> </assembly>
Comprobación/solución de Problemática UAC Si haces lo siguiente… Escribes a  Program Files, Windows, System32, HKLM/Software, o Root (c:)? Creas objetos “globalmente” (a nivel de sistema) Utilizas Mensajes Windows entre Niveles MIC distintos de procesos  Haz una prueba Ejecuta la aplicación como Admin Prueba la aplicación con UAC deshabilitado Herramientas de utilizad Process Monitor Standard User Analyzer
XP - Windows 7 UAC Interfaz de Usuario -UI Shield MIC Virtualización Ubicación de Carpetas Aislamiento de Servicios Windows (Session 0)
Servicios Windows y Sesión 0 En Windows® XP, servicios de Windows y Aplicaciones de usuarios ejecutaban conjuntamente en Sesión 0. Desde Windows Vista®, servicios Windows están aislados en Sesión 0 Aplicaciones de usuarios ejecutan en Sesión 1, Sesión 2, etc.  (“fastuserswitching” y Terminal Services)
Separación de Sesiones Session 0 in Windows XP / Windows Server 2003 Session 0 / Session 1 in Windows Vista+
Problemática Relacionada Mensajes de Windows no pueden cruzar límites del Desktop (y por lo tanto sessión) Servicios Windows no pueden mostrar Interfaz de Usuario en el Desktop de Usuario(está en la sesión distinta!) Control de acceso (MIC) añade complejidad a posibles soluciones.
Como mostrar Interfaz de Usuario desde Servicio Windows Mecanismo de “mitigación” avisa al usuario(si el servicio es “interactivo”) ,[object Object]

Mais conteúdo relacionado

Destaque

Sistema de Salud Chileno
Sistema de Salud ChilenoSistema de Salud Chileno
Sistema de Salud Chilenoguest703df2
 
Techdencias windows 10 diseño de aplicaciones universales
Techdencias windows 10 diseño de aplicaciones universalesTechdencias windows 10 diseño de aplicaciones universales
Techdencias windows 10 diseño de aplicaciones universalesMartin Vega Caballero
 
Desarrollando Apps para Windows Store
Desarrollando Apps para Windows StoreDesarrollando Apps para Windows Store
Desarrollando Apps para Windows StoreJose R Jara
 
10 aplicaciones favoritas
10 aplicaciones favoritas10 aplicaciones favoritas
10 aplicaciones favoritasjorgesimpos
 
Ficha de Aprendizaje N°2
Ficha de Aprendizaje N°2Ficha de Aprendizaje N°2
Ficha de Aprendizaje N°2Martha Horna
 
Desarrollo de aplicaciones para Windows 8 y Windows Phone
Desarrollo de aplicaciones para Windows 8 y Windows PhoneDesarrollo de aplicaciones para Windows 8 y Windows Phone
Desarrollo de aplicaciones para Windows 8 y Windows PhoneRoberto Luis Bisbé
 
Presentación de recuperación de datos
Presentación de recuperación de datosPresentación de recuperación de datos
Presentación de recuperación de datosverdugo90
 
Interfaces Adaptativas en Windows 10
Interfaces Adaptativas en Windows 10Interfaces Adaptativas en Windows 10
Interfaces Adaptativas en Windows 10Javier Suárez Ruiz
 
Introducción al desarrollo de Apps en Windows 10
Introducción al desarrollo de Apps en Windows 10Introducción al desarrollo de Apps en Windows 10
Introducción al desarrollo de Apps en Windows 10Javier Suárez Ruiz
 
Herramientas Profesionales de Recuperación de Datos
Herramientas Profesionales de Recuperación de DatosHerramientas Profesionales de Recuperación de Datos
Herramientas Profesionales de Recuperación de DatosChez Ludovic
 
Ubuntu Mac y Windows 7
Ubuntu Mac  y Windows 7Ubuntu Mac  y Windows 7
Ubuntu Mac y Windows 7Aprende Viendo
 
Introducción al desarrollo de Apps en Windows 10
Introducción al desarrollo de Apps en  Windows 10Introducción al desarrollo de Apps en  Windows 10
Introducción al desarrollo de Apps en Windows 10Javier Suárez Ruiz
 
Respaldo y recuperacion de informacion
Respaldo y recuperacion de informacionRespaldo y recuperacion de informacion
Respaldo y recuperacion de informacionAsael Martínez
 
Respaldo y Recuperación de Datos.
Respaldo y Recuperación de Datos.Respaldo y Recuperación de Datos.
Respaldo y Recuperación de Datos.Mariana Picasso
 

Destaque (20)

Yakult
YakultYakult
Yakult
 
Sistema de Salud Chileno
Sistema de Salud ChilenoSistema de Salud Chileno
Sistema de Salud Chileno
 
Techdencias windows 10 diseño de aplicaciones universales
Techdencias windows 10 diseño de aplicaciones universalesTechdencias windows 10 diseño de aplicaciones universales
Techdencias windows 10 diseño de aplicaciones universales
 
Desarrollando Apps para Windows Store
Desarrollando Apps para Windows StoreDesarrollando Apps para Windows Store
Desarrollando Apps para Windows Store
 
10 aplicaciones favoritas
10 aplicaciones favoritas10 aplicaciones favoritas
10 aplicaciones favoritas
 
Windows 10
Windows 10Windows 10
Windows 10
 
Ficha de Aprendizaje N°2
Ficha de Aprendizaje N°2Ficha de Aprendizaje N°2
Ficha de Aprendizaje N°2
 
Windows 10
Windows 10Windows 10
Windows 10
 
Desarrollo de aplicaciones para Windows 8 y Windows Phone
Desarrollo de aplicaciones para Windows 8 y Windows PhoneDesarrollo de aplicaciones para Windows 8 y Windows Phone
Desarrollo de aplicaciones para Windows 8 y Windows Phone
 
Presentación de recuperación de datos
Presentación de recuperación de datosPresentación de recuperación de datos
Presentación de recuperación de datos
 
Interfaces Adaptativas en Windows 10
Interfaces Adaptativas en Windows 10Interfaces Adaptativas en Windows 10
Interfaces Adaptativas en Windows 10
 
Introducción al desarrollo de Apps en Windows 10
Introducción al desarrollo de Apps en Windows 10Introducción al desarrollo de Apps en Windows 10
Introducción al desarrollo de Apps en Windows 10
 
Herramientas Profesionales de Recuperación de Datos
Herramientas Profesionales de Recuperación de DatosHerramientas Profesionales de Recuperación de Datos
Herramientas Profesionales de Recuperación de Datos
 
Ubuntu Mac y Windows 7
Ubuntu Mac  y Windows 7Ubuntu Mac  y Windows 7
Ubuntu Mac y Windows 7
 
Introducción al desarrollo de Apps en Windows 10
Introducción al desarrollo de Apps en  Windows 10Introducción al desarrollo de Apps en  Windows 10
Introducción al desarrollo de Apps en Windows 10
 
Windows 7 la guia de bolsillo
Windows 7 la guia de bolsilloWindows 7 la guia de bolsillo
Windows 7 la guia de bolsillo
 
Respaldo y recuperacion de informacion
Respaldo y recuperacion de informacionRespaldo y recuperacion de informacion
Respaldo y recuperacion de informacion
 
Respaldo y Recuperación de Datos.
Respaldo y Recuperación de Datos.Respaldo y Recuperación de Datos.
Respaldo y Recuperación de Datos.
 
Windows7
Windows7Windows7
Windows7
 
PROCESO DE ENSAMBLE Y DESENSAMBLE DE UN EQUIPO DE CÓMPUTO
PROCESO DE ENSAMBLE Y DESENSAMBLE DE UN EQUIPO DE CÓMPUTOPROCESO DE ENSAMBLE Y DESENSAMBLE DE UN EQUIPO DE CÓMPUTO
PROCESO DE ENSAMBLE Y DESENSAMBLE DE UN EQUIPO DE CÓMPUTO
 

Semelhante a Windows 7, Compatibilidad De Aplicaciones

Windows 7 Client Software Logo Certification
Windows 7 Client Software Logo CertificationWindows 7 Client Software Logo Certification
Windows 7 Client Software Logo CertificationMicrosoft
 
Oportunidad de negocio con Windows 7
Oportunidad de negocio con Windows 7Oportunidad de negocio con Windows 7
Oportunidad de negocio con Windows 7MICProductivity
 
Sistemas Microsoft Windows
Sistemas Microsoft WindowsSistemas Microsoft Windows
Sistemas Microsoft WindowsAsier Marqués
 
Migracion de xp a windows 7
Migracion de xp a windows 7Migracion de xp a windows 7
Migracion de xp a windows 7Pablo Campos
 
Windows 7 para desarrolladores
Windows 7 para desarrolladoresWindows 7 para desarrolladores
Windows 7 para desarrolladoresquimbs
 
Deletreando Android
Deletreando AndroidDeletreando Android
Deletreando Androidjezabelink
 
Fortificación de MS SharePon
Fortificación de MS SharePonFortificación de MS SharePon
Fortificación de MS SharePonChema Alonso
 
TechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team SystemsTechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team Systemsfmmeson
 
trabajo de sistemas operativos, conceptos para aprender sistemas.pptx
trabajo de sistemas operativos, conceptos para aprender sistemas.pptxtrabajo de sistemas operativos, conceptos para aprender sistemas.pptx
trabajo de sistemas operativos, conceptos para aprender sistemas.pptxWilmarRamos3
 
Enchula tus aplicaciones con Windows 7
Enchula tus aplicaciones con Windows 7Enchula tus aplicaciones con Windows 7
Enchula tus aplicaciones con Windows 7Software Guru
 
Power point para tarea
Power point para tareaPower point para tarea
Power point para tareajosbam
 
1440 sistemaoperativo fc_gs3
1440 sistemaoperativo fc_gs31440 sistemaoperativo fc_gs3
1440 sistemaoperativo fc_gs3darneygalicia17
 

Semelhante a Windows 7, Compatibilidad De Aplicaciones (20)

Windows 7 Client Software Logo Certification
Windows 7 Client Software Logo CertificationWindows 7 Client Software Logo Certification
Windows 7 Client Software Logo Certification
 
Oportunidad de negocio con Windows 7
Oportunidad de negocio con Windows 7Oportunidad de negocio con Windows 7
Oportunidad de negocio con Windows 7
 
Sistemas Microsoft Windows
Sistemas Microsoft WindowsSistemas Microsoft Windows
Sistemas Microsoft Windows
 
Migracion de xp a windows 7
Migracion de xp a windows 7Migracion de xp a windows 7
Migracion de xp a windows 7
 
Windows 7 para desarrolladores
Windows 7 para desarrolladoresWindows 7 para desarrolladores
Windows 7 para desarrolladores
 
PRESENTACION Windows server 2008
PRESENTACION  Windows server 2008PRESENTACION  Windows server 2008
PRESENTACION Windows server 2008
 
Windows server 2008
Windows server 2008Windows server 2008
Windows server 2008
 
Windows server 2008
Windows server 2008Windows server 2008
Windows server 2008
 
Ponencia W2K8
Ponencia W2K8Ponencia W2K8
Ponencia W2K8
 
Sistema Operativo
Sistema OperativoSistema Operativo
Sistema Operativo
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Deletreando Android
Deletreando AndroidDeletreando Android
Deletreando Android
 
Fortificación de MS SharePon
Fortificación de MS SharePonFortificación de MS SharePon
Fortificación de MS SharePon
 
TechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team SystemsTechNoa 2007 - Visual Studio Team Systems
TechNoa 2007 - Visual Studio Team Systems
 
trabajo de sistemas operativos, conceptos para aprender sistemas.pptx
trabajo de sistemas operativos, conceptos para aprender sistemas.pptxtrabajo de sistemas operativos, conceptos para aprender sistemas.pptx
trabajo de sistemas operativos, conceptos para aprender sistemas.pptx
 
Enchula tus aplicaciones con Windows 7
Enchula tus aplicaciones con Windows 7Enchula tus aplicaciones con Windows 7
Enchula tus aplicaciones con Windows 7
 
Power point para tarea
Power point para tareaPower point para tarea
Power point para tarea
 
Característica descripción ventaja
Característica descripción ventajaCaracterística descripción ventaja
Característica descripción ventaja
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
1440 sistemaoperativo fc_gs3
1440 sistemaoperativo fc_gs31440 sistemaoperativo fc_gs3
1440 sistemaoperativo fc_gs3
 

Último

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 

Último (20)

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 

Windows 7, Compatibilidad De Aplicaciones

  • 1. Compatibilidad de Aplicaciones con Windows 7 Windows 7 SuperHero Technical Readiness Michał Morciniec , micham@microsoft.com Microsoft Ibérica
  • 2. Windows 7 Comparte Base con Windows Vistase mantiene la inversión en Windows Vista Pocos cambios: la mayoría de software para Windows Vista funcionará en Windows 7 – las excepciones posibles – código de bajo nivel (AV, Cortafuegos, Aplicaciones de procesamiento de Imágenes, etc). Hardware que funciona bien en Windows Vista funcionará bien en Windows 7 . Windows 7 Pocos Cambios: Enfoque en rendimiento y estabilidad Profundos Cambios: Nuevos modelos de seguridad, drivers, despliegue, y red
  • 3.
  • 4. Cambios: Vista -> Windows 7 Windows Vista es muy compatible con Windows 7 pero se han introducido cambios en: Versión de Sistema Operativo Cambio en Binarios de Bajo Nivel Alta Resolución de Pantalla (DPI) Cadena de Agente de Usuario en Internet Explorer 8 Otras Regresiones: Eliminación de Windows Mail Eliminación de Windows MovieMaker NationalLanguageSupport (NLS) – Cambio del Orden Eliminación de Reflexión de Registro Windows Eliminación de Driver WPDUSB.SYS para Windows Portable Devices Microsoft MessageQueuing (MSMQ) - SHA-2 es un algoritmo por defecto para el calculo de Hash 4
  • 5.
  • 6. UserAccount Control (UAC) – medidas de seguridad y protección de SS.OO.
  • 8.
  • 9. Vista, XP - Windows 7 Cambio de Versión de Sistema Operativo
  • 10. Números de Versión de SS.OO. Windows
  • 11. Versión de Sistema Operativo Número de Versión Interno de Windows 7 es 6.1. dwMajorVersion igual como en Vista dwMinorVersion es diferente Problema Cualquier aplicación que comprueba el número de versión obtiene valor más alto que quizás no puede procesar. Instaladores de Aplicaciones pueden fallar Lógica de aplicación puede prevenir el arranque de la misma. Sugerencia de Solución Comprueba funcionalidad en vez de versión Aplique Parche de Compatibilidad “version lie” ( layer o shim) Compara para SS.OO. posteriores (>) a la versión compatible 9
  • 12. Porque Versión 6.1? Muchas aplicaciones solo comprueban dwMajorVersion – Compatibilidad con Vista Algunas aplicaciones han intentado la comprobación pero la han implementado INCORRECTAMENTE: if (majorVersion >= 5 && minorVersion >= 1)
  • 13. Mejores Prácticas para Comprobaciones de Versión de SS.OO No hacer comprobaciones para igualdad (=) Comprobar para versión XP o posterior (>=5.1) Comprobar funcionalidad en vez de versión Seguir ejemplos de código (managed/C++) de Windows 7 Training Kit forDeveloper Puede haber excepciones – certificación para versión de SS.OO determinada
  • 14. XP - Windows 7 UAC
  • 15. Tipos de Cuentas de Usuario Built-in (local machine) Administrator Deshabilitado por defecto Ejecuta con “Full token” de Administrador ProtectedAdministrator Usuario en grupo de Administradores Ejecuta con “Split token” Standard UserorLimitedUserAccount Ninguno de los previamente mencionados No tiene privilegios administrativos 13
  • 16.
  • 17.
  • 19. Cambiar configuración de máquina (machine settings)
  • 20.
  • 21. Cambiar configuración de usuario (per usersettings)
  • 22. Abby UAC -Arquitectura Admin Token Admin Token App Child App Admin Token Standard User Token “Standard User” Token Standard User Token App Child App Standard User Token
  • 23. Token Partido (“Split-Token”) Tiene menos privilegios la mayoría del tiempo Permite “elevar” proceso para conseguir privilegios cuando son necesarios Aplica a logons interactivos
  • 25. Dialogo de Consentimiento (“Consent UI”) Componente de SS.OO. Aplicación sin Firma Aplicación Firmada
  • 26. Dialogo de Credencial (“Over The Shoulder”)
  • 27. Control de Configuración de Windows 7 UAC Configuración: Como en Vista Excluye binarios de SS.OO. Como 2 + control aparece en Escritorio del Usuario UAC deshabilitado 20
  • 28. Windows 7 UAC y “Auto-Elevation” Configuración 2 y 3 hace uso de “auto elevación” Binarios firnados con Windows Publishing Certificate En ubicación “segura” %SystemRoot%ystem32 Algunas subcarpetas de %ProgramFiles% (Windows Defender, Windows Journal) Un Listado “especial” de ejecutables (Pkgmgr.exe, Migwiz.exe) 21
  • 29. UAC y Política de Seguridad (W7 y Vista) Cierta funcionalidad de UAC puede ser controlada con Políticas de Seguridad Si Diálogos de UAC se muestran para Admins/Standard Users Si funciona heurística de detección de Instalador Si Diálogos de UAC aparecerán en Escritorio Seguro Virtualización de Registro y Sistema de Ficheros Ex. : Deshabilitar Diálogo OTC para Usuario Estandard (las peticiones de “elevación será automáticamente denegadas) 22
  • 30. XP - Windows 7 UAC Interfaz de Usuario -UI Shield
  • 31. Objetivo del Interfaz de Usuario: Sencillo y Predecible 1 Diseña la aplicación para “Standard User” 2 Claramente identifica tareas administrativas Asegura que usuarios estándar puedes ser productivos Identifica las tareas administrativas con “shield”
  • 32. Interfaz de Usuario: Escudo Se adjunta a los controles para indicar “elevación” es imprescindible para utilizar la funcionalidad No tiene estado ( “hover”, “disabled” etc.) No memoriza/causa “elevación” de proceso Programada mediante: IDI_SHIELD recurso de icono BCM_SETSHIELD mensaje de Windows para botones Másinformación: Enabling UAC Elevation in .Net applications
  • 33. Ejemplo de Uso del Escudo
  • 34. XP - Windows 7 UAC Interfaz de Usuario -UI Shield MIC
  • 35. Mandatory Integrity Control (MIC) Modelo tradicional de seguridad desde NT se basa en el “token” del proceso Windows Vista/Win7 mejora seguridad con MIC: Cada proceso tiene “nivel MIC” Todos los recursos de SS.OO tienen “nivel MIC” (“Medium” por defecto) Los cuatro niveles: 0: Low (IE with Protected Mode On) 1: Medium (Standard User) 2: High (Elevated User) 3: System (System Services)
  • 36. MIC y Recursos Niveles MIC aplican a: Procesos Objetos Componentes COM Servicios Sistema de ficheros Claves de registro Para visualizar nivel MIC utiliza “accesschk –i” (Sysinternals) IE actualmente es la única aplicación con Nivel MIC Bajo Todos los recursos de IE también tienen Nivel Bajo
  • 37. Resumen MIC Simplificado Objetos pueden tener Nivel MIC Almacenado en el descriptor de seguridad (Security Descriptor) Procesos ejecutan con cierto Nivel MIC (IL – IntegrityLevel) Almacenado en el “token” de acceso (Access Token) Un proceso no puede acceder al objeto si su Nivel MIC < Nivel MIC del objeto Forma parte de comprobación del acceso
  • 38. MIC en más Detalle - Politicas Cada objeto securizable tiene Nivel y Política MIC Tipos de Políticas: “No-Write-Up”: Nivel más bajo no puede escribir al objeto “No-Read-Up”: Nivel más bajo no puede leer el objeto “No-Execute-Up”: Nivel más bajo no puede ejecutar el objeto Niveles no especificados = “Medium” + “No-Write-Up” Procesos son “No-Write-Up” + “No-Read-Up”
  • 39. MIC y Pruebas de Acceso Nivel de Proceso y típo de accesso solicitado se comprueban con Nivel del Objeto If Nivel de Proceso >= Nivel de Objeto, realiza prueba DACL (access control list) If Nivel de Proceso < Nivel de Objeto ENTONCES Y política de objeto es… Si el tipo de acceso solicitado incluye
  • 40. Ejemplo de Comprobación de Acceso con MIC R+W Request Access: Read + Write Internet Explorer [LOW IL] Toby’s Startup Folder Medium (NW) Request Access: Read + Write MS Money [Medium IL]
  • 42. User Interface Privilege Isolation (UIPI) UIPI- proceso con Nivel MIC más bajo no puede Validar “windowhandle” creado por el proceso con nivel más alto Hacer llamadas SendMessage o PostMessage a las ventanas creadas por el proceso con nivel más alto Utilizar “threadhooks” para attachar a los procesos más privilegiados Utilizar “journalhooks” (SetWindowsHookEx) para monitorizar dichos procesos Para permitir que Windows Message pasa entre Niveles distintos MIC levels utiliza ChangeWindowMessageFilter(message, SGFLT_ADD); o marca UIAccess=true en el manifest (vease manifiesto de osk.exe) Consulta Windows 7 Training Kit for Developer para el código de ejemplo.
  • 43. XP - Windows 7 UAC Interfaz de Usuario -UI Shield MIC Virtualización
  • 44. Virtualización de Sistema de Ficheros y Claves de Registro Facilita compatibilidad de aplicaciones “legacy” No hay garantía de que exista en futuros SS.OO. Funciona con aplicaciones interactivas de 32-bit (no “elevadas” acceden a recursos protegidos Con claves/ficheros donde Admin tiene acceso HKLMoftware; %SystemDrive%rogram Files %WinDir%ystem32 Serán redirecionados a: HKCUoftwarelassesirtualStore %LocalAppData%irtualStorebr />Virtualización elimina necesidad de “elevar” Escrituras a HKLM van a HKCU Escrituras a carpetas de SS.OO re-direccionados a repositorio “per-usuario” Diferente de redirección de registro para 32-bit en máquinas x64, (WOW64…)
  • 45. Virtualización de Sistema de Ficheros y de Registro Virtualización de Claves de Registro NO FUNCIONA Para procesos 64 bits Procesos que impersonan usuarios Procesos que especifican requestedExecutionLevel en sus manifiestos Procesos no interactivos (servicios Windows) Virtualización de ficheros no funciona para ejecutables aspx, .bin,.cmd,.exe, .hlp, .msi, .ocx, .sys, .tlb, .wsh
  • 48. XP - Windows 7 UAC Interfaz de Usuario -UI Shield MIC Virtualización WRP
  • 49. WRP (Windows ResourceProtection) Mecanismo general que protege ciertos recursos de SS.OO., e.g. Windowsystem32ernel32.dll NT SERVICErustedInstaller tiene Full Access SfcIsFileProtected() permite detectar clave de registro protegida por WRP SfcIsFileProtected() permite detectar fichero protegido por WRP Windows Module Installer (TrustedInstaller.exe) es utilizado para actualizar componentes de SS.OO. ISV no disponen del interfaz para interactuar con el Local Administrator puede tomar “ownership” del recurso protegido eliminando WRP WRP no es medida de seguridad Aplicaciones /Instaladores No deberían modificar recursos protegidos por WRP.
  • 50. XP - Windows 7 UAC Interfaz de Usuario -UI Shield MIC Virtualización WRP Ubicación de Carpetas
  • 51. Ubicación de Carpetas Datos de Usuario se almacenan en : sersusername%br />Carpetas Pictures, Music, Documents, Desktop, y Favorites están debajo Prefijo “My“ eliminado (en Windows 7 Explorerlo muestra…) “AllUsers”  “Public” o “rogramData”
  • 52. Dónde Debería Almacenar mis Datos? ConstantesSHGetKnownFolderPath See: Where Should I Write Program Data Instead of Program Files?
  • 53. Mejores Prácticas para Ubicación de Carpetas No utilizar rutas absolutas AppVerifier incluye una prueba Script: utilizar variables de entorno Código “Unmanaged” (C, C++) ShGetFolderPathfunction (CLSID_...) SHGetKnownFolderPath (FOLDERID_...) Código “Managed” (C#, VB.NET) System.Environment.GetFolderPath() Microsoft.VisualBasic.FileIO.SpecialDirectories My.Computer.FileSystem.SpecialDirectories
  • 54. XP - Windows 7 UAC Interfaz de Usuario -UI Shield MIC Virtualización WRP Ubicación de Carpetas Manifiesto de Aplicación
  • 55. Aplicaciones diseñadas para Vista /Windows 7 Aplicaciones diseñadas para Vista/W7 embeben un “XML manifest” Elemento estándar de Proyecto de VS 2008 Deshabilita “mitigaciones” como Virtualización Manifiesto declara RequestedExecutionLevel:
  • 56. Ejemplo de Manifiesto XML MyAdminApp.Exe.Manifest <?xmlversion="1.0" encoding="UTF-8" standalone="yes"?> <assemblyxmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentityversion="1.0.0.0" processorArchitecture="X86"name="MyAdminApp" type="win32"/> <!-- Identify the application security requirements. --> <trustInfoxmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevellevel="requireAdministrator“ uiAccess=“false"/> </requestedPrivileges> </security> </trustInfo> </assembly>
  • 57. Comprobación/solución de Problemática UAC Si haces lo siguiente… Escribes a Program Files, Windows, System32, HKLM/Software, o Root (c:)? Creas objetos “globalmente” (a nivel de sistema) Utilizas Mensajes Windows entre Niveles MIC distintos de procesos Haz una prueba Ejecuta la aplicación como Admin Prueba la aplicación con UAC deshabilitado Herramientas de utilizad Process Monitor Standard User Analyzer
  • 58. XP - Windows 7 UAC Interfaz de Usuario -UI Shield MIC Virtualización Ubicación de Carpetas Aislamiento de Servicios Windows (Session 0)
  • 59. Servicios Windows y Sesión 0 En Windows® XP, servicios de Windows y Aplicaciones de usuarios ejecutaban conjuntamente en Sesión 0. Desde Windows Vista®, servicios Windows están aislados en Sesión 0 Aplicaciones de usuarios ejecutan en Sesión 1, Sesión 2, etc. (“fastuserswitching” y Terminal Services)
  • 60. Separación de Sesiones Session 0 in Windows XP / Windows Server 2003 Session 0 / Session 1 in Windows Vista+
  • 61. Problemática Relacionada Mensajes de Windows no pueden cruzar límites del Desktop (y por lo tanto sessión) Servicios Windows no pueden mostrar Interfaz de Usuario en el Desktop de Usuario(está en la sesión distinta!) Control de acceso (MIC) añade complejidad a posibles soluciones.
  • 62.
  • 63.
  • 64. Recursos para Partners ACF Recursos de Ayuda en temas de Compatibilidad Curso de formación para Partners Otros recursos
  • 65. ApplicationCompatibilityFactory (ACF) 5 Partners ya formados Tienen conocimiento profundo en pruebas de compatibilidad Contacto: Wipro, Infosys, TCS (Tata), Satyam, HP, Sogeti http://technet.microsoft.com/en-us/windows/bb510132.aspx ACF Training Site Material de formación para Partners que quieren participar en ACF ACT 5.5 + Documentación+ Webcasts + Presentaciones 58
  • 66. Application Compatibility – Formación para Partners Programa de formación de 12 horas en inglés a nivel 300 que incluye UAC Overview Advanced UAC and Windows ResourceProtection IE in ProtectedMode Versioning, Folder Locations, Session 0 Isolation ACT 5.5 Internals Shims and CompatibilityAdministration LUA Tools and Solutions Sysinternals Tools and IE Compatibility Test Tool Exam 59
  • 67. Ayuda en Resolución de Problemas de Compatiblidad de Aplicaciónes Partner Online Technical Communities (OTC) Windows 7 Application Compatibility OTC https://partner.microsoft.com/US/40014662 Primera respuesta en 8 horas Disponible en Castellano Foros de Discusión Públicos MSDN Application Compatibilityfor Windows Development Technet Windows 7 Application CompatibilityForum W7 ISV RemediationWorkshops DPE Aplica en https://www.isvappcompat.com/Default.aspx Evento presencial 2-3 días Se puede traer la aplicación para remediarla 60
  • 68. Ejemplos de código - Windows 7 Training Kit forDevelopers Developer Kit contiene laboratorios “hands-on”+ ejemplos de código (managed /unmanaged) sobre siguiente problemática OS VersionChecks Session 0 Isolation User Interface ProcessIsolation (MIC) InstallerDetection High DPI Data Redirection(File and RegistryVirtualization) 61
  • 69. Otros Recursos Públicos Cookbooks – detallanproblemas de compatibilidad “Application Compatibility Cookbook” “Windows 7 Application Quality Cookbook” MSDN Application Compatibility: http://msdn.microsoft.com/en-us/windows/aa904987.aspx TechNet Windows Application Compatibility: http://technet.microsoft.com/en-us/desktopdeployment/bb414773.aspx Sysinternalshttp://technet.microsoft.com/en-us/sysinternals/bb842062.aspx Developer Guides – guías de programacióngenéricas Windows 7 UX Guide Windows 7 Developer Guide 62
  • 70. Contacto: micham@microsoft.com Tel. 902 197 198 sptas@microsoft.com (buzón de serviciopara Partners)

Notas do Editor

  1. Auto-ElevationThe reason that elevation of (most) Windows executables in the two middle settings doesn't result in a prompt is that the system "auto elevates" Windows executables. First, what does Windows define as a Windows executable in this context? The answer depends on several factors, but two things must hold: it must be digitally signed by the Windows publisher, which is the certificate used to sign all code included with Windows (it's not sufficient to be signed by Microsoft, so Microsoft software that's not shipped in Windows isn't included); and it must be located in one of a handful of "secure" directories. A secure directory is one that standard users can't modify and they include %SystemRoot%System32 (e.g., WindowsSystem32) and most of its subdirectories, %SystemRoot%Ehome, as well as a handful of directories under %ProgramFiles% that include Windows Defender and Windows Journal.There is also a hardcoded list of Windows executables that get the auto-elevate treatment. These Windows executables also ship external to Windows 7 and so must be able to run on down-level systems where the presence of the autoexecute property would result in an error. The list includes Migwiz.exe, the migration wizard, Pkgmgr.exe, the package manager, and Spinstall.exe, the Service Pack installer.
  2. static internal void AddShieldToButton(Button b) { b.FlatStyle = FlatStyle.System; SendMessage(b.Handle, BCM_SETSHIELD, 0, 0xFFFFFFFF); }
  3. The term UIPI was coined to describe the impact that MIC mechanism has in User Interface
  4. http://blogs.technet.com/askperf/archive/2007/04/27/application-compatibility-session-0-isolation.aspxService IsolationMany services require access to certain objects that are available only to high-privilege accounts. For example, a service might have to write to a registry key that provides write access only to administrators. Earlier than Windows Vista, services typically gained access to such objects by running in a high-privilege account such as LocalSystem. An alternative approach was to weaken the security on the objects to allow access by services that are running in a generic lower-privilege account.Both approaches increased the risk that an attacker or malware could gain control of the system. The only way for an administrator to mitigate this risk was to create an account specifically for the service and allow access to the objects only for that account. However, this approach created manageability problems, most notably password management, because the administrator no longer had the advantages of using built-in operating system accounts.To mitigate this problem, Windows Vista introduces service isolation, which provides services a way to access specific objects without having to either run in a high-privilege account or weaken the objects' security protection. For example, service isolation allows an antivirus service to run in a lower-privilege account than LocalSystem, but still maintain complete access to its signature definition files or registry keys that would normally be accessible only to administrators.A service isolates an object for its exclusive use by securing the resource—such as file or registry key access—with an access control entry that contains a service security ID (SID). This ID is referred to as a per-service SID. A per-service SID is derived from the service's name and is unique to that service.After a SID has been assigned to a service, the service owner can then modify the required objects' access control lists (ACLs) to allow access to the SID. For example, a registry key in HKEY_LOCAL_MACHINESOFTWARE would normally be accessible only to services with administrative privileges. By adding the per-service SID to the key's ACL, the service can run in a lower-privilege account, but still have access to the key.Windows services commonly run in the LocalSystem account, the most powerful account on the system. This makes such services attractive targets for virus writers. Ideally, services should limit their damage potential by running in a lower-privilege account such as LocalService or NetworkService. However, many services require at least some privileges that only LocalSystem supports. The all-or-nothing model that was used earlier than Windows Vista meant that a service that required any LocalSystem privileges had to also include all other LocalSystem privileges. This often meant including privileges that the service did not require, creating an unnecessarily high damage potential.Windows Vista addresses this issue by allowing services to run with least privilege. Services are no longer restricted to the default set of privileges that are supported by a standard account. Instead, services can select an account that has the privileges that they require and then remove all other unnecessary privileges. This feature can be used for any type of service account: LocalService, NetworkService, LocalSystem, a domain, or a local account.
  5. TheseserviceswillbeofferedtoPartners