Слайд 1Создание безопасных приложений с использованием средств разработки Microsoft
Константин Юштин
Microsoft
IT Academy Program
при Киевском Национальном университете имени Тараса Шевченко
канд.
физ.-мат. наук
Слайд 2Типичные методы обеспечения безопасности
Моделирование угроз
Статические анализаторы кода
Автоматическое тестирование кода
Code review
Ежедневная
сборка с проверкой всех тестов
Минимизация «поверхности атаки»
Слайд 3Статические анализаторы кода
Находят дополнительные ошибки во время компиляции
Приведения типов
Быстродействия
Безопасности
Операций с
памятью
Утилиты:
PREfast, Viva64
Ключи студии Visual Studio 2005 Team Edition for
Software Developers
/analyze
/GS
/Wp64
Слайд 4Моделирование угроз
Диаграммы потоков данных (data flow diagram, DFD).
Списки всех
сценариев использования приложения, списки уровней привилегий пользователей, списки защищаемых ценностей
(assets)
Возможные сценарии взлома
классификация по STRIDE
оценка по шкале опасности DREAD
Утилиты доступные с сайта www.microsoft.com:
Microsoft Threat Analysis & Modeling tool
Threat Modeling Tool
Слайд 5Stride: Категоризация Угроз
Систематический обзор архитектуры с точки зрения атакующего
Определение ресурсов,
угроз, уязвимостей, механизмов защиты и рисков
Имеет большое значение для тестирования
безопасности
Слайд 6Dread: оценка риска уязвимости
Damage potential: Какова величина ущерба при использовании
уязвимости?
Reproducibility: Насколько легко повторить атаку?
Exploitability: Насколько легко запустить
атаку?
Affected users: Какой ориентировочный процент пользователей затрагивается?
Discoverability: Насколько легко найти эту уязвимость?
Слайд 7Расширенное тестирование
Visual Studio 2005 Team Edition for Testers
Visual Studio 2005
Team Edition for Database Professionals
Виды тестов
Модульные (Unit) тесты
Web
тесты
Нагрузочные (Load) тесты
Ручные (Manual) тесты
Внешние (Generic) тесты
Упорядоченные (Ordered) тесты
Слайд 8Новые средства безопасности в Visual Studio 2005
Улучшенная защита от переполнения
буфера (/GS)
Статический анализ исходного кода (/analyze)
Динамический анализ (AppVerifier)
Безопасные стандартные библиотеки
(SafeCRT)
Встроенный FxCop
Отладка в зонах (Debug in Zones)
Улучшенная работы с исключениями
PermCalc – анализ требований безопасности
Слайд 9Встроенный FxCop
FxCop - часть Visual Studio
Статический анализ управляемого кода
Можно выбрать
желаемые проверки в свойствах проекта
Находит проблемы
Безопасности
Быстродействия
Надежности
Слайд 10Категории возможных проблем с кодом
Input validation
Authentication
Authorization
Configuration management
Sensitive data
Session management
Cryptography
Parameter manipulation
Exception management
Auditing and logging
Слайд 11Input Validation: Безопасные строковые функции
Содержатся в
Visual Studio 2005
Windows SDK
начиная с Microsoft Windows XP SP1
Windows Driver Kit (WDK)
Driver Development
Kit (DDK)
Слайд 13Code access security .NET Framework
Права доступа код к системе с
фильтрацией:
Simple assembly name
Code location (URL)
Zone of origin
Strong assembly name
Cryptographic hash
Authenticode
signature
Декларативный запроса приложения прав для своей сборки
assembly: FileIOPermission(SecurityAction.RequestMinimum, Unrestricted=true)]
Слайд 15Аутентификация в .NET
Типы аутентификации в .NET Framework:
Windows
Generic
Custom
Слайд 16Cryptography:
криптографические функции
SQL Server 2005 - первая версия SQL сервера, в
которой появилась серьезная поддержка криптографии.
.NET Framework использует цифровую подпись для
сборок и специальные классы, реализующие симметричное и асимметричное шифрование в пространстве имен System.Security.Cryptography
Слайд 17Достижения
Согласно внутренним исследованиям корпорации 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)
Слайд 18
Вопросы ?
Константин Юштин
Microsoft IT Academy Program
при Киевском Национальном
университете имени Тараса Шевченко