Совместимость приложений Баркан Георгий gbarkan@microsoft.com.

Презентация:



Advertisements
Похожие презентации
Microsoft Confidential 13:30 – 15:00Windows 7 – Алексей Федоров 15:00 – 15:30Перерыв 15:30 – 16:15SQL 2008 R2 – Алексей Шуленин 16:15 – 17:00Office 2010.
Advertisements

Администрирование информационных систем Начало работы с MS SQL Server 2000.
Новые возможности Windows 8 Новый интерфейс – Metro UI Обзор изменений Windows Знакомство с интересными возможностями Windows.
Версия 2009 Personal Security. Версия 2009 Глава 1. Назначение и установка Kaspersky Internet Security 2009 Personal Security.
Платформа 2010 Windows 7 и модернизация приложений Microsoft Алексей Федоров.
System Center Essentials Планирование развёртывания Присяжный Дмитрий MCP, MCTS.
Windows 7 и Windows 8. Windows 7 В линейке Windows NT система имеет номер версии 6.1. Серверной операционной системой того же семейства выступает Windows.
Антивирус Касперского® Personal Pro. Антивирус Касперского® 5.0 Personal Pro Интерфейс пользователя Простой графический интерфейс с минимально необходимым.
Автор: Гавриченков Юрий Дмитриевич С.н.с. НИИРПО, лаборатории «Информационных технологий в образовании», доцент, к.т.н.
Получение контроля над объектом атаки Местонахождение атакующего В разных сегментах с объектом атаки Используемые уязвимости Цель Ошибки реализации Степень.
Не откладывайте на завтра... Сертификация под Windows Vista гарантирует совместимость с Windows 7 Начните с учета требований к сертифицируемым приложениям.
Slide Title Безопасность Windows NT Server 4.0 Slide Title Корпоративная сеть Уровни информационной инфраструктуры ПРИЛОЖЕНИЯ СУБД ОС СЕТЕВЫЕ СЛУЖБЫ.
АНТИВИРУС КАСПЕРСКОГО PERSONAL PRO. АНТИВИРУС КАСПЕРСКОГО 5.0 PERSONAL PRO ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ ПРОСТОТА НАСТРОЙКИ АНТИВИРУС КАСПЕРСКОГО® 5.0 PERSONAL.
Операционные системы Операцио́нная систе́ма, сокр. ОС (англ. operating system, OS) комплекс управляющих и обрабатывающих программ, которые, с одной стороны,
System Center 2012 SP1 Configuration Manager Установка пакетов Ляшов Евгений
Архитектура операционной системы Microsoft Windows 2000.
Программное обеспечение Классификация, основные функции и составные операционных систем.
Платформа хостинга Windows Server 2008 R2 Internet Information Services 7.5 Гайдар Магдануров t: e:
Handy Backup – простая в использовании программа резервного копирования данных.
RusBroker (RB). Общие сведения Система «RusBroker» была разработана Департаментом ИТ инвестиционной компании OOO «Уником Партнер». Программный комплекс.
Транксрипт:

Совместимость приложений Баркан Георгий

User Account Control (UAC) Windows Resource Protection (WRP) Mandatory Integrity Control (MIC) Версия операционной системы Изоляция сессии 0 Windows Vista, Windows Server 2008 и Windows 7 Ключевые проблемы

Версия операционной системы Внутренний номер версии в Windows Vista/Server 2008/Windows 7 (функция GetVersion) = 6 Версия Internet Explorer - 7.0/8.0 – Версия включена в строку User Agent – Строка User Agent включается в заголовок каждого HTTP запроса Измените код – нужна проверка типа >= 6 GetVersionEx() Windows 2000 Windows XP Windows Server 2003 Windows Vista Windows Server 2008 Windows 7 Версия

Версия операционной системы 54% всех ошибок, связанных с совместимостью

User Account Control Операционная система подвергается существенным рискам когда пользователь работает под учетной записью Administrator – Более простая установка вредоносного кода – Возможность повышения привилегий – Открытость для вредоносного кода Случайные повреждения, вносимые пользователем

User Account Control Manifest Standard User vs. Administrator Virtualization

User Account Control

Windows Resource Protection Ключевые файлы операционной системы и ключи реестра могут быть заменены на предыдущие версии или вредоносный код – ущерб стабильности и безопасности системы Задача Windows Resource Protection – защита ключевых компонентов операционной системы, увеличение стабильности, предсказуемости и надежности системы

Windows Resource Protection Запрещены обновления защищенных ресурсов – Только программы установки, известные ОС (Windows Update) – ACL для ресурсов Распространяется на файлы, папки и ключи реестра – Большинство ключевых модулей ОС (EXE и DLL) – Большинство ключей реестра (HKCR) – Папки, используемые ресурсами ОС Проверка – SfcIsFileProtected() - файлы – SfcIsKeyProtected() – ключи реестра

Mandatory Integrity Control (MIC) Реализовано в Windows Vista, Windows Server 2008 и Windows 7 Процессы выполняются на одном из четырех уровней целостности (Integrity Levels): – Системные процессы - System IL – Приложения с привилегиями администратора - High IL – Стандартные приложения - Medium IL – Приложения с ограничениями - Low IL Защищаемые объекты (файлы, процессы, очереди сообщений и т.п.) задают минимальный уровенб процесса для доступа к ним – Уровень для объектов по умолчанию: Medium

Изоляция привилегий интерфейса UI Privilege Isolation (UIPI) Использует MIC для запрета посылки сообщений между окнами – Приложения не могут посылать сообщения приложениям, выполняющися с более высоким IL – Приложения с более высоким IL могут разрешить прием сообщений – SendMessage() не возвращает ошибок Исправление: функция ChangeWindowsMessageFilter()

Изоляция сессии 0 Session 0 Windows Station Desktop Screen Saver Login Services 1 st Users Window Возможность атаки Сессии в Windows XP/2000/2003

Изоляция сессии 0 Выполнение системных сервисов и пользовательских приложений в сессии 0 может привести к нарушению безопасности – Потенциальная возможность обмена между сервисами и приложениями – Потенциальная возможность повышения привилегий Выполнение сервисов и приложений в различных сессиях существенно снижает возможность атак, повышает стабильность, надежность и защищенность системы

Изоляция сессии 0 Session 0 Windows Station Desktop Service Session 1 Windows Station Desktop Screen Saver Login 1 st Users Window Secure Сессии в Windows Vista и Windows 7

Совместимость Если приложение работает под Windows Vista, оно будет работать и под Windows 7, но есть нюансы...

«Новое» в Windows 7 Версия операционной системы Версия Internet Explorer Библиотеки (File Libraries) Windows Mail Новые компоненты системного уровня IE DEP Windows Server 64 Bit WOW64 on Windows Core

Версия операционной системы Windows 7 == Windows 6.1? – dwMajorVersion = остается прежней – dwMinorVersion = изменена Исправления – Проверяйте не версию, а возможности системы – Используйте операцию >= – Используйте Version lies

Version Lies Win95VersionLie WinNT4SP5VersionLie Win98VersionLie Win2000VersionLie Win2000SP1VersionLie Win2000SP2VersionLie Win2000SP3VersionLie WinXPVersionLie WinXPSP1VersionLie WinXPSP2VersionLie Win2K3RTMVersionLie Win2K3SP1VersionLie VistaRTMVersionLie

Version Lie Layers Win95 NT4SP5 Win98 Win2000 Win2000SP2 Win2000SP3 WinXP WinXPSP1 WinXPSP2 WinXPSP2VersionLie WinSrv03 WinSrv03SP1 VistaRTM

Layers vs. Version Lies VistaRTM : – DelayAppDllMain – ElevateCreateProcess – FailObsoleteShellAPIs – FaultTolerantHeap – GlobalMemoryStatus2GB – HandleBadPtr – NoGhost – RedirectMP3Codec – VirtualRegistry – VistaRTMVersionLie – WRPDllRegister – WRPMitigation

Версия Internet Explorer Без режима совместимости: – Mozilla/4.0 (compatible; MSIE 8.0 ; Windows NT 6.1; WOW64; Trident/4.0; SLCC2;.NET CLR ;.NET CLR ;.NET CLR ; Media Center PC 6.0) С режимом совместимости: – Mozilla/4.0 (compatible; MSIE 7.0 ; Windows NT 6.1; WOW64; Trident/4.0; SLCC2;.NET CLR ;.NET CLR ;.NET CLR ; Media Center PC 6.0)

Библиотеки (File Libraries) По умолчанию для общих диалоговых панелей: Documents Library Библиотеки – это файлы (а не папки) IFileDialog->GetFolder() + IFileDialog->GetFilename() не корректно работают с библиотеками – GetFolder() возвращает файл Исправление – Используйте IFileDialog->GetResult()

Windows Mail Отсутствующий компонент – заменен на Windows Live Mail или почтовый клиент по выбору Все API работают, за исключением API, отображающих интерфейсы Обработчики протоколов и файлов не зарегистрированы Исправления – Не использовать вызовы устаревших API – Установить почтовый клиент

CoStartOutlookExpress msoert2.dll Section.text (0x43D01000) CALL DWORD PTR [KERNEL32.DLL!GetModuleFileNameW] TEST EAX,EAX JZ 0x43D0A613 LEA EAX,[EBP-0x20C] PUSH EAX CALL DWORD PTR [SHLWAPI.DLL!PathFindFileNameW] TEST EAX,EAX JZ 0x43D0A60C PUSH 'WinMail.exe' PUSH EAX CALL DWORD PTR [MSVCRT.DLL!_wcsicmp]

Новые компоненты системного уровня Реорганизация компонентов системы – Пример: функциональность из kernel32.dll и advapi32.dll перенесена в kernelbase.dll Экпортированные функции перенаправляются в соответствующие библиотеки Приложения, использующие внутренние функции и структуры могут не работать

IE DEP Data Execution Prevention (NX) – опция включена по умолчанию Плагины, которые не совместимы с DEP, могут привести к краху браузера Исправления: – Используйте DEP-совместимые библиотеки (ATL) – Используйте опцию компоновщика /NXCOMPAT

Windows Server 64 Bit Драйвера – Перенос и подписание 64-битных драйверов 32-битный код – Должен работать под WOW64 – IsWow64Process 32-битные плагины – Перенос на 64-бита для 64-битных процессов типа Explorer 16-битный код – Перенос на 32- или 64-бита

WOW64 on Windows Core По умолчанию 32-битный код работать не будет – Active Directory – Active Directory Lightweight Directory Services – Web server – Сторонние приложения Исправления: – Перенос на 64-бита – Установка компонента WOW64

Switchback Секция CompatibilityInfo в манифесте приложения – указание на ОС, для которой создано приложение – Windows SxS Нет секции CompatibilityInfo == совместимость с Vista Поддержка компонентов в Windows 7: – APIs: GetOverlappedResult, ReadFileEx – RPC exception handling, thread pool mgmt. – DWM fail/lock bit blitting

Switchback Manifest

Полезные утилиты

Системные утилиты – MSConfig – Новая информация о системе SysInternals – Process Explorer – Process Monitor Средства отладки – Standard User Analyzer – Application Verifier – Debugging Tools for Windows

Системные утилиты MSConfig – Start | Run | MSConfig System Information – Start | Run | MSInfo32.exe Event Viewer – Start | Run | EventVwr.exe

Process Explorer Полезные возможности – Определение сервисов – Отображение загруженных модулей – Отображение используемых ссылок – Поиск модулей/ссылок ProcExp.exe

Process Monitor Новая версия, совместимая с Vista/WS08 Объединяет RegMon и FileMon Новая возможность – создание образов ProcMon.exe

SysInternals sysinternals/

Standard User Analyzer Часть Application Compatibility Toolkit (ACT) Использует AppVerifier APIs Более «удобная» версия тестов LuaPriv

Application Verifier Назначение – Application Verifier – средство проверки неуправляемого кода – Помогает обнаружить ошибки, пропущенные при обычном тестировании приложений Использование – Графический интерфейс (GUI) – Интерфейс командной строки (CUI) – COM-интерфейсы для скриптинга AppVerif.exe

Application Verifier - GUI Включить/Отключить проверки для конкретного приложения Настройка свойств для каждой проверки Просмотр протокола проверки И т.д. 68% падений приложений можно было бы идентифицировать с помощью App Verifier

Отладка Расширения отладчика – Команды Windbg, специфичные для AppVerifier Тесты – LUAPriv – Basic Exceptions Handles Heaps Locks Memory TLS – Low Resource Simulation

Новое в Windows 7 Problem Step Recorder – %windir%\system32\psr.exe – Позволяет выполнить пошаговую запись возникновения проблемы – Создает zip-файл с mht-файлом – Интеграция с Watson

Новое в Windows 7 Windows Troubleshooting – Встроенные средства решения проблем – Доступ через Action Center Control Panel | All Items | Action Center | Troubleshooting – Расширяемость Windows SDK: TSPBuilder.exe Скрипт на PowerShell

ACF – решение проблем совместимости приложений Application Compatibility Factory является лабораторией решения проблем совместимости приложений с клиентскими операционными системами Майкрософт нового поколения – Windows Vista, Windows 7, организованной на базе КОМПАНИИ- ПАРТНЕРА

Ищем партнера в России Цель сотрудничества между Майкрософт и компанией-партнером Application Compatibility Factory – организация профессиональной базы решения проблем совместимости приложений для предприятий, планирующих миграцию на Windows Vista или Windows 7. Если Ваша компания заинтересована в сотрудничестве – просьба отправить короткий на с темой ACF.