Создание безопасных приложений с использованием средств разработки Microsoft
Читать

Создание безопасных приложений с использованием средств разработки Microsoft

Презентация на тему Создание безопасных приложений с использованием средств разработки Microsoft к уроку по информатике

Презентация по слайдам:


Слайд #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

Слайд #5

Stride: Категоризация Угроз Систематический обзор архитектуры с точки зрения атакующего Определение ресурсов, угроз, уязвимостей, механизмов защиты и рисков Имеет большое значение для тестирования безопасности Угроза Защита Spoofing Authentication Tampering Integrity Repudiation Non-repudiaton Information Disclosure Confidentiality Denial of Service Availability Elevation of Privilege Authorization

Слайд #6

Dread: оценка риска уязвимости 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

Слайд #11

Input Validation: Безопасные строковые функции Содержатся в Visual Studio 2005 Windows SDK начиная с Microsoft Windows XP SP1 Windows Driver Kit (WDK) Driver Development Kit (DDK)

Слайд #12

Функции Цель Заменяет RtlStringCbCat и др. Склейка двух строк strcat wcscat RtlStringCbCatN и др Склейка 2-байтовых строк strncat wcsncat RtlStringCbCopy и др. Копирование строки из буфера strcpy wcscpy RtlStringCbCopyN и др. Копирование строки в буфер с ограничением длины strncpy wcsncpy RtlStringCbLength и др. Определение длины строки strlen wcslen RtlStringCbPrintf и др. Создание форматированной строки sprintf swprintf _snprintf _snwprintf RtlStringCbVPrintf и др. Создание форматированной строки с 1 доп. параметром vsprintf vswprintf _vsnprintf _vsnwprintf

Слайд #13

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

Слайд #16

Cryptography: криптографические функции 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 при Киевском Национальном университете имени Тараса Шевченко