Создание безопасных приложений с использованием средств разработки Microsoft Константин ЮштинMicrosoft IT Academy Program при Киевском Национальном университете имени Тараса Шевченко
Типичные методы обеспечения безопасности Моделирование угрозСтатические анализаторы кодаАвтоматическое тестирование кодаCode reviewЕжедневная сборка с проверкой всех тестовМинимизация «поверхности атаки»
Статические анализаторы кода Находят дополнительные ошибки во время компиляцииПриведения типовБыстродействияБезопасностиОпераций с памятьюУтилиты:PREfast, Viva64 Ключи студии Visual Studio 2005 Team Edition for Software Developers/analyze/GS/Wp64
Моделирование угроз Диаграммы потоков данных (data flow diagram, DFD). Списки всех сценариев использования приложения, списки уровней привилегий пользователей, списки защищаемых ценностей (assets) Возможные сценарии взлома классификация по STRIDE оценка по шкале опасности DREAD Утилиты доступные с сайта www.microsoft.com:Microsoft Threat Analysis & Modeling tool Threat Modeling Tool
Stride: Категоризация Угроз Систематический обзор архитектуры с точки зрения атакующегоОпределение ресурсов, угроз, уязвимостей, механизмов защиты и рисковИмеет большое значение для тестирования безопасности
Dread: оценка риска уязвимости Damage potential: Какова величина ущерба при использовании уязвимости? Reproducibility: Насколько легко повторить атаку? Exploitability: Насколько легко запустить атаку? Affected users: Какой ориентировочный процент пользователей затрагивается? Discoverability: Насколько легко найти эту уязвимость?
Расширенное тестирование Visual Studio 2005 Team Edition for TestersVisual Studio 2005 Team Edition for Database ProfessionalsВиды тестов Модульные (Unit) тесты Web тесты Нагрузочные (Load) тесты Ручные (Manual) тесты Внешние (Generic) тесты Упорядоченные (Ordered) тесты
Новые средства безопасности в Visual Studio 2005 Улучшенная защита от переполнения буфера (/GS)Статический анализ исходного кода (/analyze)Динамический анализ (AppVerifier)Безопасные стандартные библиотеки (SafeCRT)Встроенный FxCopОтладка в зонах (Debug in Zones)Улучшенная работы с исключениямиPermCalc – анализ требований безопасности
Встроенный FxCop FxCop - часть Visual StudioСтатический анализ управляемого кодаМожно выбрать желаемые проверки в свойствах проектаНаходит проблемыБезопасностиБыстродействияНадежности
Категории возможных проблем с кодом Input validationAuthenticationAuthorizationConfiguration managementSensitive data Session management CryptographyParameter manipulation Exception management Auditing and logging
Input Validation: Безопасные строковые функции Содержатся в Visual Studio 2005Windows SDK начиная с Microsoft Windows XP SP1Windows Driver Kit (WDK) Driver Development Kit (DDK)
Code access security .NET Framework Права доступа код к системе с фильтрацией:Simple assembly nameCode location (URL)Zone of originStrong assembly nameCryptographic hashAuthenticode signatureДекларативный запроса приложения прав для своей сборкиassembly: FileIOPermission(SecurityAction.RequestMinimum, Unrestricted=true)]
Аутентификация в .NET Типы аутентификации в .NET Framework:WindowsGenericCustom
Cryptography:криптографические функции SQL Server 2005 - первая версия SQL сервера, в которой появилась серьезная поддержка криптографии..NET Framework использует цифровую подпись для сборок и специальные классы, реализующие симметричное и асимметричное шифрование в пространстве имен System.Security.Cryptography
Достижения Согласно внутренним исследованиям корпорации Microsoft, компьютеры с ОС Windows XP с пакетом обновления 2 (SP2) в 13—15 раз менее подвержены заражению вредоносным ПО, чем компьютеры под управлением предыдущих версий Windows XP.В Windows Server 2003 было обнаружено на 50 процентов меньше уязвимостей, чем в предыдущей версии, Windows Server 2000.С момента выпуска в 2003 г. последней версии веб-сервера корпорации Microsoft, Internet Information Services 6.0, в нем было обнаружено только два уязвимых места.В SQL Server 2005 не обнаружено ни одного дефекта с момента выпуска этого продукта в ноябре 2005 года. (http://www.microsoft.com/rus/midsizebusiness/security/sdl.mspx)
Вопросы ? Константин ЮштинMicrosoft IT Academy Program при Киевском Национальном университете имени Тараса Шевченко