Создание безопасных приложений с использованием средств разработки 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). Списки всех

Моделирование угроз

Диаграммы потоков данных (data flow diagram, DFD).
Списки всех сценариев

использования приложения, списки уровней привилегий пользователей, списки защищаемых ценностей (assets)
Возможные сценарии взлома
классификация по STRIDE
оценка по шкале опасности DREAD
Утилиты доступные с сайта www.microsoft.com:
Microsoft Threat Analysis & Modeling tool
Threat Modeling Tool
Слайд 5

Stride: Категоризация Угроз Систематический обзор архитектуры с точки зрения атакующего Определение

Stride: Категоризация Угроз

Систематический обзор архитектуры с точки зрения атакующего
Определение ресурсов, угроз,

уязвимостей, механизмов защиты и рисков
Имеет большое значение для тестирования безопасности
Слайд 6

Dread: оценка риска уязвимости Damage potential: Какова величина ущерба при использовании

Dread: оценка риска уязвимости

Damage potential: Какова величина ущерба при использовании уязвимости?


Reproducibility: Насколько легко повторить атаку?
Exploitability: Насколько легко запустить атаку?
Affected users: Какой ориентировочный процент пользователей затрагивается?
Discoverability: Насколько легко найти эту уязвимость?
Слайд 7

Расширенное тестирование Visual Studio 2005 Team Edition for Testers Visual Studio

Расширенное тестирование

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 Улучшенная защита от переполнения

Новые средства безопасности в Visual Studio 2005

Улучшенная защита от переполнения буфера

(/GS)
Статический анализ исходного кода (/analyze)
Динамический анализ (AppVerifier)
Безопасные стандартные библиотеки (SafeCRT)
Встроенный FxCop
Отладка в зонах (Debug in Zones)
Улучшенная работы с исключениями
PermCalc – анализ требований безопасности
Слайд 9

Встроенный FxCop FxCop - часть Visual Studio Статический анализ управляемого кода

Встроенный FxCop

FxCop - часть Visual Studio
Статический анализ управляемого кода
Можно выбрать желаемые

проверки в свойствах проекта
Находит проблемы
Безопасности
Быстродействия
Надежности
Слайд 10

Категории возможных проблем с кодом Input validation Authentication Authorization Configuration management

Категории возможных проблем с кодом

Input validation
Authentication
Authorization
Configuration management
Sensitive data
Session management
Cryptography
Parameter

manipulation
Exception management
Auditing and logging
Слайд 11

Input Validation: Безопасные строковые функции Содержатся в Visual Studio 2005 Windows

Input Validation: Безопасные строковые функции

Содержатся в
Visual Studio 2005
Windows SDK начиная

с Microsoft Windows XP SP1
Windows Driver Kit (WDK)
Driver Development Kit (DDK)
Слайд 12

Слайд 13

Code access security .NET Framework Права доступа код к системе с

Code 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)]
Слайд 14

Слайд 15

Аутентификация в .NET Типы аутентификации в .NET Framework: Windows Generic Custom

Аутентификация в .NET

Типы аутентификации в .NET Framework:
Windows
Generic
Custom

Слайд 16

Cryptography: криптографические функции SQL Server 2005 - первая версия SQL сервера,

Cryptography: криптографические функции

SQL Server 2005 - первая версия SQL сервера, в которой

появилась серьезная поддержка криптографии.
.NET Framework использует цифровую подпись для сборок и специальные классы, реализующие симметричное и асимметричное шифрование в пространстве имен System.Security.Cryptography
Слайд 17

Достижения Согласно внутренним исследованиям корпорации Microsoft, компьютеры с ОС Windows XP

Достижения

Согласно внутренним исследованиям корпорации 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)