SlideShare ist ein Scribd-Unternehmen logo
1 von 45
ПРАКТИЧЕСКИЕ АСПЕКТЫ
РАЗРАБОТКИ БЕЗОПАСНОГО КОДА
С ПОМОЩЬЮ MICROSOFT SDL

Андрей Бешков
Менеджер программы информационной безопасности
Microsoft Россия
abeshkov@microsoft.com
http://beshkov.ru
http://twitter.com/abeshkov
Содержание

• Зачем вам разработка безопасного
  ПО?
• Текущая ситуация с безопасностью ПО
• Практика применения SDL
• Программы безопасности Microsoft
Почему ПО не безопасно?

               • Сроки запуска проекта горят
               • Нет ресурсов на
                 обеспечение безопасных
                 практик
               • Мы стартап – нам нужно
                 быстрее стать популярными
                 и заработать много денег
Зачем вам разработка безопасного ПО?

• Новейшие исследования показывают однозначную связь между
  разработкой безопасного ПО и бизнес эффективностью компании:

   – Исследование Aberdeen:
      • Предотвращение одной уязвимости почти полностью покрывает годовые затраты
        на повышение безопасности разработки
      • Предотвратить проблему с безопасностью в 4 раза дешевле чем разбираться с
        ее последствиями


   – Исследование Forrester:
      • Разработка безопасного ПО еще не стала широко распространенной практикой
      • Компании применяющие методы SDL демонстрируют гораздо более быстрый
        возврат инвестиций
Стоимость устранения уязвимостей
                          после выпуска дороже в 30 раз


                   Относительная стоимость устранения ошибок
30

                                                                 Выпуск
25


20


15


10


5


0
     Требования/                  Интеграция/    Финальное                            После
                   Кодирование
     Архитектура                 Тестирование   тестирование                         выпуска
                                   компонент
                                                  Источник: National Institute of Standards and Technology
Microsoft SDL и Windows
Количество уязвимостей, обнаруженных в течение года после выпуска

                                                       400



                                                                                        242

                                                                                                                          157
     119
                        66



 Windows XP        Windows Vista                       ОС I                             ОС II                           ОС III
 До введения SDL      После введения SDL


 Количество уязвимостей сократилось на 45 %
                             Источник: доклад «Windows Vista One Year Vulnerability Report», блог Microsoft Security, 23 января 2008 г.
SDL и SQL Server
(исследование компании NGS Software)

                          Количество обнаруженных и исправленных уязвимостей
                                       по кварталам, 2000-2006 гг.

                                                     20                           Пакет обновления 3
                                     17                                           (SP3) для SQL Server
                                                                                     2000 – первый
                                                                                 выпуск, разработанн
                                                                                   ый с применением
                                                                                      процесса SDL
8




                                                                             3
                                                                                                                              1
Q4    Q1     Q2     Q3     Q4     Q1      Q2    Q3     Q4     Q1     Q2     Q3     Q4     Q1     Q2     Q3     Q4     Q1     Q2     Q3     Q4     Q1     Q2     Q3   Q4


Источник: Which database is more secure? Oracle vs. Microsoft (Чья СУБД безопаснее? Oracle или Microsoft?), David Litchfield, NGS Software, 21 ноября-2006 г.
Уязвимости в ПО

4,000
        3450   3474
3,500                               3188
                      2919   2962
3,000                                      2707
                                                  2546
2,500                                                    2360

2,000
1,500
1,000
 500
   0
        2H06   1H07   2H07   1H08   2H08   1H09   2H09   1H10
2,000               1882
1,800    1562                                   1677
                            1587
1,600                                 1447
1,400     1693                                                    1266
                     1494                                                     1144
1,200                                            1402   1289
1,000                       1208                                  1191
                                                                              1090
  800
  600
  400
          195
  200                 98    124        83        109     98         89        126
    0
         2H06       1H07    2H07     1H08        2H08   1H09      2H09       1H10
    Критическая (7 - 10)           Средняя (4 - 6.9)           Низкая (0 - 3.9)
Доля уязвимостей Microsoft 3-6%
3,500   3,280     3,322
                                            3,042
3,000                       2,822   2,869
                                                      2,594
                                                               2,417
2,500                                                                    2,215
2,000

1,500

1,000

 500    170        152       97      93     146        113         129   145
   0
        2H06      1H07      2H07    1H08    2H08      1H09     2H09      1H10
                Microsoft                           Не Microsoft
3,500
        3079        3110
3,000                                         2807
                            2547     2573
2,500                                                2351
                                                              2161
                                                                         1943
2,000
1,500

1,000

 500    259         242     276      310      256    207       237       196
              112             96      79
   0                  122
        2H06        1H07    2H07     1H08     2H08   1H09     2H09       1H10

          ОС                       Браузеры                 Приложения
Уязвимости основных производителей ПО в 2010 году




http://secunia.com/gfx/pdf/Secunia_Half_Year_Report_2010.pdf
Уязвимости Microsoft Office и OpenOffice



                  Категория 4


                   Категория 3
                                                                             Ряд 3
                   Категория 2                                               Ряд 2
                                                                             Ряд 1
                   Категория 1


                                  0
                                            2
                                                       4
                                                                  6
http://www.h-online.com/security/news/item/Vulnerabilities-in-Microsoft-Office-and-OpenOffice-
compared-1230956.html
Основные заблуждения об SDL
SDL предназначен только для   SDL независим от платформы и языка разработки
Windows® ОС

SDL применим только к         SDL подходит для разных сценариев разработки
коробочным продуктам            включая бизнес приложения (LOB) и онлайн
                                сервисы

SDL предназначен для модели   SDL применим к разным методам разработки
водопад или спираль             таким как водопад, спираль и agile


Для SDL нужны инструменты     Успешная реализация SDL предполагает
разработки Microsoft            автоматизацию с помощью инструментов. Вы
                                можете использовать инструменты от других
                                компаний.
Чтобы реализовать SDL         SDL подходит организациям любого размера. От
нужно много ресурсов.           разработчика одиночки до огромных
                                корпораций.
История развития SDL




Процесс безопасной разработки прошел многолетнее
тестирование и шлифовку в рамках Microsoft и других
компаний.
Введение: процесс Microsoft SDL
                     Цели
         Концепция   Защита пользователей:
                          сокращение количества
                            уязвимостей;
                          сокращение опасности
                            уязвимостей.




Выпуск
                     Основные принципы
                       Практический подход
                       Упреждение угроз - это
                       не просто поиск ошибок
                       Решение проблем
                       безопасности
                       на ранних стадиях
                       Безопасность при разработке
                       Безопасность после выпуска ПО
Этапы применения SDL
              SDL – обязательная политика в Майкрософт с 2004 г.


   Обуче         Требо          Проектир         Реали         Провер                          Реагиро
                                                                                Выпуск
    ние          вания           ование           зация          ка                             вание

Начальное    Определение      Моделировани   Выбор          Динамическое     План           Выполнение
             владельца от     е угроз        инструментов   тестирование и   реагирования   плана
обучение     бизнеса                                        fuzzing                         реагирования
                              Анализ         Блокирование                    Заключитель-
по основам   Анализ рисков    опасных        запрещенных    Проверка         ный анализ     на инциденты
безопаснос   безопасности     областей       функций        моделей угроз    безопасности
ти           и конфиден-                     Статический    и опасных        Архив
             циальности                      анализ         областей         выпусков
             Определение
             требований к
             качеству




Обучение                      Технология и процесс                              Ответственность



                             Постоянные улучшения процессов
Фаза: Обучение
                                   Проекти           Реали                                      Реагирова
Обучение
 Training        Requirements
                 Требования         Design       Implementation    Verification
                                                                   Проверка       Release
                                                                                  Выпуск         Response
                                   рование           зация                                         ние




Обследовать подготовленность организации по темам безопасности и защиты
   приватных данных.

При необходимости создать стандартные курсы обучения.

    – Разработать критерии качества программы обучения
            •   Содержимое должно покрывать темы, безопасного дизайна, разработки, тестирования и защиты
                приватных данных
    – Определить частоту тренингов
            •   Разработчик должен пройти не менее n тренингов в год
    – Определить минимальный приемлемый порог тренингов в группе
      разработки
            •   80% процентов технического персонала должны пройти минимальные обязательные тренинги до
                выпуска RTM версии продукта
Чему учить?
 • Минимизация поверхности атаки:
   – Безопасный дизайн (уменьшение
     поверхности атаки, наименьшие
     привилегии, многослойная
     защита, безопасные настройки по
     умолчанию)
   – Моделирование угроз
   – Безопасное кодирование (переполнение
     буфера, XSS, SQL
     инъекции, криптография)
   – Тестирование безопасности
   – Соответствие ФЗ 152
Источники для обучение

     Как написать безопасный код на С++, Java, Perl, PHP, ASP.
     NET

     Защищенный код для Windows Vista

     Игра «Spot the vuln»

     10 уязвимостей веб проектов - OWASP Top Ten

     Курсы SANS

     Книга по SDL

     Упрощенный SDL
Фаза: Требования
                            Проекти       Реали                                 Реагирова
 Обучение
  Training   Requirements
             Требования      Design   Implementation   Verification
                                                       Проверка       Release
                                                                      Выпуск     Response
                            рование       зация                                    ние




Возможность заложить безопасный фундамент для проекта

     – Команда разработки определяет лидеров и
       консультантов по темам безопасности
     – Назначается ответственный за безопасность
     – Ответственный проверяет план разработки
       продукта, рекомендует изменения или устанавливает
       дополнительные требования к безопасности продукта
     – Определить приоритет, процедуру отслеживания и
       исправления ошибок (bug tracking/job assignment system)
     – Определить и задокументировать порог отбраковки
       продукта по ошибкам связанным с безопасностью и
       защитой данных
Шаблоны SDL для VSTS (Spiral)
                                    • Включает
                                      –   SDL требования как задачи
                                      –   SDL-based check-in policies
                                      –   Создание отчета Final Security
                                          Review
                                      –   Интеграция с инструментами
                                          сторонних производителей
                                      –   Библиотека пошаговых указаний SDL
                                          how-to


                                    • Интегрируется с
                                      бесплатными SDL
                                      инструментами
                                      – SDL Threat Modeling
                                        Tool
                                      – Binscope Binary
Шаблоны SDL процессов интегрируют       Analyzer
SDL 4.1 со средой разработки VSTS
                                      – Minifuzz File Fuzzer
MSF Agile + SDL шаблоны для VSTS
                  • Автоматически создает
                    процессы соблюдения SDL в
                    момент создания нового
                    спринта или выполнения
                    check in.

                  • Контролирует выполнение
                    всех необходимых
                    процессов безопасности

                  • Интегрируется с
                    бесплатными SDL
                    инструментами
                     – SDL Threat Modeling Tool
                     – Binscope Binary Analyzer
                     – Minifuzz File Fuzzer
Фаза: Проектирование
                             Проекти         Реали                                  Реагирова
Обучение
 Training     Requirements
              Требования      Design     Implementation   Verification
                                                          Проверка       Release
                                                                         Выпуск      Response
                             рование         зация                                     ние




Определить и задокументировать архитектуру безопасности и идентифицировать
   критические компоненты безопасности

            Задокументировать поверхность атаки продукта. Ограничить ее
            установками по умолчанию
            Определить критерии выпуска обновления продукта в связи с
            изменением в безопасности продукта
               Результаты автоматизированного тестирования кроссайт скриптинг атак
               Устаревание криптографических алгоритмов или замена слабых алгоритмов
            Моделирование угроз
               Систематический ревью свойств продукта и его архитектуры с точки зрения
               безопасности
               Определить угрозы и меры снижения угроз
Процесс моделирования угроз
                   • Продумать
                     требования к
                     безопасности
                     продукта, сценари
                     и использования.
                        Spoofing
                   • Идентифицироват
                     ь классы
                        Tampering
                     пользователей.
                        Repudiation
                   • Ожидаемое
                     поведение.

                        Denial of Service
                        Elevation of
                        privilege
SDL Threat Modeling Tool
                                – Обучает созданию
                                  диаграмм угроз
                                – Анализ угроз и мер
                                  защиты
                                – Интеграция с
                                  багтреккером
                                – Отчеты по угрозам и
                                  уязвимостям



Формализует и упрощает
моделирование угроз так чтобы
им мог заниматься архитектор
Демо
SDL Threat Modeling Tool
Фаза: Реализация
                               Проекти       Реали                                 Реагирова
Обучение
 Training      Requirements
               Требования       Design   Implementation   Verification
                                                          Проверка       Release
                                                                         Выпуск     Response
                               рование       зация                                    ние




Разработка кода и ревью процессов, документации и инструментов необходимых
для безопасного развертывания и эксплуатации разрабатываемого продукта

            Спецификация утвержденных инструментов и их аналогов
            Статический анализ (/analyze (PREfast), FXCop, CAT.NET)
            Поиск случаев использования запрещенных API
            Применение механизмов защиты предоставляемых ОС (NX, ASLR и
            HeapTermination)
            Соблюдение специфических требований безопасности для сетевых
            сервисов (крос сайт скриптинг , SQL иньекции и.т.д)
            Использование безопасных версий библиотек и фреймворков
            Прочие рекомендации ( Standard Annotation Language (SAL))
Фаза: Проверка
                              Проекти        Реали                                 Реагирова
Обучение
 Training      Requirements
               Требования      Design    Implementation   Verification
                                                          Проверка       Release
                                                                         Выпуск     Response
                              рование        зация                                    ние




Начните проверки как можно раньше. В идеале сразу же после стадии “code complete”.

            Начните планирование процесса реагирования на обнаружение уязвимостей в
            выпущенном продукте
            Повторно проверьте поверхность атаки. Все ли вы учли?
            MiniFuzz тестирование – файлами, вводом данных в интерфейсные элементы и код
            сетевой подсистемы
            При необходимости выполнить “security push” (с каждым разом все реже)
                Не является заменой работе над безопасностью в процессе разработки продукта
                Ревью кода
                Тестирование на проникновение
                Ревью дизайна и архитектуры в свете вновь обнаруженных угроз
Фаза: Проверка - Инструменты
• BinScope Binary Analyzer
  – Убедиться что SDL соблюден при компиляции и
    сборке
• MiniFuzz File Fuzzer
  – !exploitable
• RegexFuzer
• Attack Surface Analyzer
  – Анализ снимков системы
• AppVerifier
  – Динамический анализ системы
Демо
CAT.NET и Anti-XSS
MiniFuzz File Fuzzer
                       • MiniFuzz основной
                         инструмент тестирования для
                         поиска уязвимостей которые
                         могут привести к удачным
                         атакам на код
                         обрабатывающий файлы и
                         ввод данных.
                          – Создает и отправляет в
                            приложение поврежденные
                            данные
                          – Выявляет не
                            декларированное поведение
                            приложения
                          – Используется отдельно или в
                            составе Visual Studio и Team
                            Foundation Server
Демо MiniFuzz
Attack Surface Analyzer
                  •   Измеряет потенциальную поверхность
                      атаки на приложение и ОС
                  •   Может использоваться
                      разработчиками, тестировщиками, ИТ
                      специалистами.

                  •   Отображает изменения вносимые в
                      чистую копию Windows ОС после
                      установки приложения.

                  •   Проверяет
                       –   Новые или измененные файлы
                       –   Ключи реестра
                       –   Сервисы
                       –   ActiveX
                       –   Открытые сетевые порты
                       –   Списки доступа ACL
                       –   Browser Helper Objects
                       –   И.т.д
Фаза: Выпуск и план реагирования
                              Проекти       Реали                                 Реагирова
Обучение
 Training      Requirements
               Требования      Design   Implementation   Verification
                                                         Проверка       Release
                                                                        Выпуск     Response
                              рование       зация                                    ние




Создать политики поддержки продукта

            Создать план реагирования на инциденты безопасности -
            Software Security Incident Response Plan (SSIRP)
               Контакты и ресурсы внутри организации для адекватной реакции
               на обнаружение уязвимостей и защиту от атак
               24x7x365 контакт с 3-5 инженерами, 3-5 специалистами
               маркетинга, и 1-2 менеджеров верхнего уровня
            Обратите внимание на необходимость выпуска экстренных
            обновлений вашего продукта из за уязвимостей в коде
            сторонних производителей включенном в ваш продукт. Так же
            может быть необходимость обновлять продукт после
            обновления ОС.
Фаза: Выпуск – Final Security Review (FSR)
                             Проекти       Реали                                 Реагирова
 Обучение
  Training    Requirements
              Требования      Design   Implementation   Verification
                                                        Проверка       Release
                                                                       Выпуск     Response
                             рование       зация                                    ние




  Проверить продукт на соответствие требованиям SDL и отсутствие известных
  уязвимостей

             Получаем независимое заключение готовности продукта к выпуску
             FSR не является:
                 Тестом на проникновение. Запрещено ломать и обновлять продукт.
                 Первой проверкой безопасности продукта
                 Процессом финальной подписи продукта и отправки его в тираж

        Ключевая концепция: Эта фаза не используется как точка для
        завершения всех задач пропущенных на предыдущих стадиях
Механизмы защиты ОС от атак
                                                        SEHOP             SEHOP
                     Включено по умолчанию              Heap terminate    Heap terminate
   Win7
                     Выключено по умолчанию             DEP               DEP
                                                        ASLR              ASLR
                                      SEHOP             SEHOP             SEHOP
  Vista                               Heap terminate    Heap terminate    Heap terminate
 SP1, SP2                             DEP               DEP               DEP
                                      ASLR              ASLR              ASLR
                                      SEHOP             SEHOP
                                      Heap terminate    Heap terminate
 Vista RTM
                                      DEP               DEP
                                      ASLR              ASLR
             SEHOP                    SEHOP             SEHOP
             Heap terminate           Heap terminate    Heap terminate
  XP SP3
             DEP                      DEP               DEP
             ASLR                     ASLR              ASLR
             SEHOP                    SEHOP             SEHOP
             Heap terminate           Heap terminate    Heap terminate
  XP SP2
             DEP                      DEP               DEP
             ASLR                     ASLR              ASLR

                        IE 6                     IE 7              IE 8              IE 9
EMET: Защита от типовых уязвимостей
• Командная строка и
  GUI

• Настройка системных
  защит от уязвимостей

• Включение защиты
  для конкретных
  приложений

• Проверка настроек
  защиты
EMET: Защита приложений
• Защищает
  приложения с
  известными
  уязвимостями

• Защищает от атак 0-
  day

• Тонкий контроль
  применяемых защит
Фаза: Выпуск – Архив
                            Проекти       Реали                                 Реагирова
Обучение
 Training    Requirements
             Требования      Design   Implementation   Verification
                                                       Проверка       Release
                                                                      Выпуск     Response
                            рование       зация                                    ние




План реагирования на инциденты безопасности создан

            Документация для клиентов обновлена
            Создан централизованный архив исходного
            кода, символов, моделей атак RTM версии
            продукта
Фаза: Реагирование
                            Проекти       Реали                                 Реагирова
Обучение
 Training    Requirements
             Требования      Design   Implementation   Verification
                                                       Проверка       Release
                                                                      Выпуск     Response
                            рование       зация                                    ние




Инцидент случился? Идем по заранее созданному
  плану.

            Выполняем активности по плану реагирования
            на инциденты безопасности и выпускаем
            обновления в соответствии с графиком релизов
Реагирование на инциденты
                                                            Выгоды
                                                            планового
   Watch
           Alert and Mobilize
               Resources
                                   Assess and
                                    Stabilize
                                                  Resolve   реагирования
       Reporting                                            • Понятно что
                   Analysis and Mitigation
                                                              происходит
                                                            • Есть
                            Provide Guidance                  ответственные
                                                            • Удовлетворенност
                                  Create Fix
                                                              ь клиента растет
                                Update Models               • Собираем данные
                                                              для будущих
                                   Test Fix                   разработок
                                                Выпуск
                                                            • Проводим
                                                              тренинги
                         Lessons Learned

http://www.microsoft.com/security/msrc/whatwedo/responding.aspx
Атаки переходят на уровень приложений

Разработка безопасного кода с помощью SDL – экономия
                   денег компании


    SDL cсущественно улучшил продукты Microsoft


    Microsoft сделал процесс SDL доступным всем


                Пора применять SDL
Ресурсы
  www.microsoft.com/sdl

  www.Secunia.org

  The Simplified Implementation of the SDL

  Блог об SDL
Ресурсы
•   [HOLMES 2010]. Holmes, Graham. (2010, April 05). Cisco CSDL Announcement –
    http://blogs.cisco.com/security/the_cisco_secure_development_lifecycle_an_overvie
    w/
•   [LANE 2010]. Lane, Adrian. (2010, May 10). FireStarter: Secure Development
    Lifecycle – You’re Doing It Wrong. Securosis. Retrieved December 29 2010, from
    http://securosis.com/blog/firestarter-secure-development-lifecycle-your-doing-it-wrong
•   [LADD 2010]. Ladd, David. (2010, May 11). “Do what Microsoft did, not what they do”.
    Retrieved December 29 2010, from
    http://blogs.msdn.com/b/sdl/archive/2010/05/11/do-what-microsoft-did-not-what-they-
    do.aspx
•   [LARSON_LADD 2010]. Larson, Larry. Ladd, David. (2010, May 14). Security Talk:
    Simplified SDL with David Ladd. Channel 9. Retrieved December 29 2010, from
    http://channel9.msdn.com/Blogs/LarryLarsen/Security-Talk-Simplified-SDL-with-
    David-Ladd

Weitere ähnliche Inhalte

Ähnlich wie Практические аспекты разработки безопасного кода с помощью Microsoft SDL

Security trends for Russian CISO
Security trends for Russian CISOSecurity trends for Russian CISO
Security trends for Russian CISOAleksey Lukatskiy
 
KEA20 - Сергей Титков - Анализ частотных диаграмм
KEA20 - Сергей Титков - Анализ частотных диаграммKEA20 - Сергей Титков - Анализ частотных диаграмм
KEA20 - Сергей Титков - Анализ частотных диаграммRealResult
 
Haker062015-myjurnal.ru
Haker062015-myjurnal.ruHaker062015-myjurnal.ru
Haker062015-myjurnal.ruVasya Pupkin
 
Yandex keynote 2014 metrica for apps
Yandex keynote 2014 metrica for appsYandex keynote 2014 metrica for apps
Yandex keynote 2014 metrica for appsAlexander Kochubey
 
SKAZKA: Как не потерять самое важное?
 SKAZKA: Как не потерять самое важное? SKAZKA: Как не потерять самое важное?
SKAZKA: Как не потерять самое важное?DevGAMM Conference
 
Каковы перспективы перехода к модели публичных облаков в российском контексте?
Каковы перспективы перехода к модели публичных облаков в российском контексте?Каковы перспективы перехода к модели публичных облаков в российском контексте?
Каковы перспективы перехода к модели публичных облаков в российском контексте?Michael Kozloff
 
Архитектура Cisco Unified Communication Manager. Базовый анализ SDI/SDL трейсов
Архитектура Cisco Unified Communication Manager. Базовый анализ SDI/SDL трейсовАрхитектура Cisco Unified Communication Manager. Базовый анализ SDI/SDL трейсов
Архитектура Cisco Unified Communication Manager. Базовый анализ SDI/SDL трейсовCisco Russia
 
Microsoft: Миграция как возможность для трансформации ИТ
Microsoft: Миграция как возможность для трансформации ИТMicrosoft: Миграция как возможность для трансформации ИТ
Microsoft: Миграция как возможность для трансформации ИТDell_Russia
 
Oracle & 1C - нагрузочное тестирование и сайзинг
Oracle & 1C - нагрузочное тестирование и сайзингOracle & 1C - нагрузочное тестирование и сайзинг
Oracle & 1C - нагрузочное тестирование и сайзингMUK
 
Александр Лямин, QratorLabs/HLL
Александр Лямин, QratorLabs/HLLАлександр Лямин, QratorLabs/HLL
Александр Лямин, QratorLabs/HLLOntico
 
Антон Петров "ЦОД во "времена перемен"
Антон Петров "ЦОД во "времена перемен"Антон Петров "ЦОД во "времена перемен"
Антон Петров "ЦОД во "времена перемен"Anton Petrov
 
ESN solutions market. Facts & Predictions.
ESN solutions market. Facts & Predictions.ESN solutions market. Facts & Predictions.
ESN solutions market. Facts & Predictions.Roman Skrupnyk
 
Desktop virtualization
Desktop virtualizationDesktop virtualization
Desktop virtualizationArmen Gazarov
 

Ähnlich wie Практические аспекты разработки безопасного кода с помощью Microsoft SDL (20)

Security trends for Russian CISO
Security trends for Russian CISOSecurity trends for Russian CISO
Security trends for Russian CISO
 
KEA20 - Сергей Титков - Анализ частотных диаграмм
KEA20 - Сергей Титков - Анализ частотных диаграммKEA20 - Сергей Титков - Анализ частотных диаграмм
KEA20 - Сергей Титков - Анализ частотных диаграмм
 
Haker062015-myjurnal.ru
Haker062015-myjurnal.ruHaker062015-myjurnal.ru
Haker062015-myjurnal.ru
 
Yandex keynote 2014 metrica for apps
Yandex keynote 2014 metrica for appsYandex keynote 2014 metrica for apps
Yandex keynote 2014 metrica for apps
 
Ray tracing systems_msu
Ray tracing systems_msuRay tracing systems_msu
Ray tracing systems_msu
 
Ray tracing systems_msu
Ray tracing systems_msuRay tracing systems_msu
Ray tracing systems_msu
 
SKAZKA: Как не потерять самое важное?
 SKAZKA: Как не потерять самое важное? SKAZKA: Как не потерять самое важное?
SKAZKA: Как не потерять самое важное?
 
Каковы перспективы перехода к модели публичных облаков в российском контексте?
Каковы перспективы перехода к модели публичных облаков в российском контексте?Каковы перспективы перехода к модели публичных облаков в российском контексте?
Каковы перспективы перехода к модели публичных облаков в российском контексте?
 
Архитектура Cisco Unified Communication Manager. Базовый анализ SDI/SDL трейсов
Архитектура Cisco Unified Communication Manager. Базовый анализ SDI/SDL трейсовАрхитектура Cisco Unified Communication Manager. Базовый анализ SDI/SDL трейсов
Архитектура Cisco Unified Communication Manager. Базовый анализ SDI/SDL трейсов
 
Microsoft: Миграция как возможность для трансформации ИТ
Microsoft: Миграция как возможность для трансформации ИТMicrosoft: Миграция как возможность для трансформации ИТ
Microsoft: Миграция как возможность для трансформации ИТ
 
10200
1020010200
10200
 
Oracle & 1C - нагрузочное тестирование и сайзинг
Oracle & 1C - нагрузочное тестирование и сайзингOracle & 1C - нагрузочное тестирование и сайзинг
Oracle & 1C - нагрузочное тестирование и сайзинг
 
Интернет Контроль Сервер
Интернет Контроль СерверИнтернет Контроль Сервер
Интернет Контроль Сервер
 
Александр Лямин, QratorLabs/HLL
Александр Лямин, QratorLabs/HLLАлександр Лямин, QratorLabs/HLL
Александр Лямин, QratorLabs/HLL
 
Антон Петров "ЦОД во "времена перемен"
Антон Петров "ЦОД во "времена перемен"Антон Петров "ЦОД во "времена перемен"
Антон Петров "ЦОД во "времена перемен"
 
ESN solutions market. Facts & Predictions.
ESN solutions market. Facts & Predictions.ESN solutions market. Facts & Predictions.
ESN solutions market. Facts & Predictions.
 
Ics presentations v2
Ics presentations v2Ics presentations v2
Ics presentations v2
 
Ics presentations
Ics presentationsIcs presentations
Ics presentations
 
Ics presentations
Ics presentationsIcs presentations
Ics presentations
 
Desktop virtualization
Desktop virtualizationDesktop virtualization
Desktop virtualization
 

Mehr von Andrey Beshkov

Биометрическая аутентификация Windows Hello и Microsoft Passport в гибридных ...
Биометрическая аутентификация Windows Hello и Microsoft Passport в гибридных ...Биометрическая аутентификация Windows Hello и Microsoft Passport в гибридных ...
Биометрическая аутентификация Windows Hello и Microsoft Passport в гибридных ...Andrey Beshkov
 
Как разработчику обеспечить безопасность пользователей и данных в мобильном м...
Как разработчику обеспечить безопасность пользователей и данных в мобильном м...Как разработчику обеспечить безопасность пользователей и данных в мобильном м...
Как разработчику обеспечить безопасность пользователей и данных в мобильном м...Andrey Beshkov
 
Windows 8 и Windows server 2012. Что нового с точки зрения безопасности?
Windows 8 и Windows server 2012. Что нового с точки зрения безопасности?Windows 8 и Windows server 2012. Что нового с точки зрения безопасности?
Windows 8 и Windows server 2012. Что нового с точки зрения безопасности?Andrey Beshkov
 
Слепая вера в безопасность или инженерная практика?
Слепая вера в безопасность или инженерная практика?Слепая вера в безопасность или инженерная практика?
Слепая вера в безопасность или инженерная практика?Andrey Beshkov
 
Защита от вредоносного кода бесплатно.
Защита от вредоносного кода бесплатно. Защита от вредоносного кода бесплатно.
Защита от вредоносного кода бесплатно. Andrey Beshkov
 
Безопасность гибридных облаков
Безопасность гибридных облаковБезопасность гибридных облаков
Безопасность гибридных облаковAndrey Beshkov
 
Как донести идею до миллионов?
Как донести идею до миллионов?Как донести идею до миллионов?
Как донести идею до миллионов?Andrey Beshkov
 
Безопасность филиальных офисов
Безопасность филиальных офисов Безопасность филиальных офисов
Безопасность филиальных офисов Andrey Beshkov
 
Современные методы борьбы с ботнетами
Современные методы борьбы с ботнетамиСовременные методы борьбы с ботнетами
Современные методы борьбы с ботнетамиAndrey Beshkov
 
За кулисами Windows Update. От уязвимости к обновлению.
За кулисами Windows Update. От уязвимости к обновлению.За кулисами Windows Update. От уязвимости к обновлению.
За кулисами Windows Update. От уязвимости к обновлению.Andrey Beshkov
 
Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003
Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003
Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003Andrey Beshkov
 
Защита данных с помощью System Center Data Protection Manager 2007
Защита данных с помощью System Center Data Protection Manager 2007Защита данных с помощью System Center Data Protection Manager 2007
Защита данных с помощью System Center Data Protection Manager 2007Andrey Beshkov
 
Управление гетерогенной инфраструктурой с помощью System Center Operations Ma...
Управление гетерогенной инфраструктурой с помощью System Center Operations Ma...Управление гетерогенной инфраструктурой с помощью System Center Operations Ma...
Управление гетерогенной инфраструктурой с помощью System Center Operations Ma...Andrey Beshkov
 
DirectAccess - безопасный и прозрачный доступ к корпоративной сети
DirectAccess - безопасный и прозрачный доступ к корпоративной сетиDirectAccess - безопасный и прозрачный доступ к корпоративной сети
DirectAccess - безопасный и прозрачный доступ к корпоративной сетиAndrey Beshkov
 
Технологии обеспечения безопасности Windows 7
Технологии обеспечения безопасности Windows 7Технологии обеспечения безопасности Windows 7
Технологии обеспечения безопасности Windows 7Andrey Beshkov
 
Реализации политик здоровья  и защиты доступа в гетерогенной среде с помощью ...
Реализации политик здоровья  и защиты доступа в гетерогенной среде с помощью ...Реализации политик здоровья  и защиты доступа в гетерогенной среде с помощью ...
Реализации политик здоровья  и защиты доступа в гетерогенной среде с помощью ...Andrey Beshkov
 
Построение систем виртуализации высокой надежности с помощью Windows server 2...
Построение систем виртуализации высокой надежности с помощью Windows server 2...Построение систем виртуализации высокой надежности с помощью Windows server 2...
Построение систем виртуализации высокой надежности с помощью Windows server 2...Andrey Beshkov
 
Новые возможности Windows Server 2008 R2 SP1
Новые возможности Windows Server 2008 R2 SP1Новые возможности Windows Server 2008 R2 SP1
Новые возможности Windows Server 2008 R2 SP1Andrey Beshkov
 
Dynamic Memory в Windows Server 2008 R2 SP1
Dynamic Memory в Windows Server 2008 R2 SP1Dynamic Memory в Windows Server 2008 R2 SP1
Dynamic Memory в Windows Server 2008 R2 SP1Andrey Beshkov
 
Защита инфраструктуры предприятия с помощью Forefront Endpoint Protection и S...
Защита инфраструктуры предприятия с помощью Forefront Endpoint Protection и S...Защита инфраструктуры предприятия с помощью Forefront Endpoint Protection и S...
Защита инфраструктуры предприятия с помощью Forefront Endpoint Protection и S...Andrey Beshkov
 

Mehr von Andrey Beshkov (20)

Биометрическая аутентификация Windows Hello и Microsoft Passport в гибридных ...
Биометрическая аутентификация Windows Hello и Microsoft Passport в гибридных ...Биометрическая аутентификация Windows Hello и Microsoft Passport в гибридных ...
Биометрическая аутентификация Windows Hello и Microsoft Passport в гибридных ...
 
Как разработчику обеспечить безопасность пользователей и данных в мобильном м...
Как разработчику обеспечить безопасность пользователей и данных в мобильном м...Как разработчику обеспечить безопасность пользователей и данных в мобильном м...
Как разработчику обеспечить безопасность пользователей и данных в мобильном м...
 
Windows 8 и Windows server 2012. Что нового с точки зрения безопасности?
Windows 8 и Windows server 2012. Что нового с точки зрения безопасности?Windows 8 и Windows server 2012. Что нового с точки зрения безопасности?
Windows 8 и Windows server 2012. Что нового с точки зрения безопасности?
 
Слепая вера в безопасность или инженерная практика?
Слепая вера в безопасность или инженерная практика?Слепая вера в безопасность или инженерная практика?
Слепая вера в безопасность или инженерная практика?
 
Защита от вредоносного кода бесплатно.
Защита от вредоносного кода бесплатно. Защита от вредоносного кода бесплатно.
Защита от вредоносного кода бесплатно.
 
Безопасность гибридных облаков
Безопасность гибридных облаковБезопасность гибридных облаков
Безопасность гибридных облаков
 
Как донести идею до миллионов?
Как донести идею до миллионов?Как донести идею до миллионов?
Как донести идею до миллионов?
 
Безопасность филиальных офисов
Безопасность филиальных офисов Безопасность филиальных офисов
Безопасность филиальных офисов
 
Современные методы борьбы с ботнетами
Современные методы борьбы с ботнетамиСовременные методы борьбы с ботнетами
Современные методы борьбы с ботнетами
 
За кулисами Windows Update. От уязвимости к обновлению.
За кулисами Windows Update. От уязвимости к обновлению.За кулисами Windows Update. От уязвимости к обновлению.
За кулисами Windows Update. От уязвимости к обновлению.
 
Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003
Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003
Сравнение TCP/IP стека Windows Vista / Server 2008 и Windows XP / Server 2003
 
Защита данных с помощью System Center Data Protection Manager 2007
Защита данных с помощью System Center Data Protection Manager 2007Защита данных с помощью System Center Data Protection Manager 2007
Защита данных с помощью System Center Data Protection Manager 2007
 
Управление гетерогенной инфраструктурой с помощью System Center Operations Ma...
Управление гетерогенной инфраструктурой с помощью System Center Operations Ma...Управление гетерогенной инфраструктурой с помощью System Center Operations Ma...
Управление гетерогенной инфраструктурой с помощью System Center Operations Ma...
 
DirectAccess - безопасный и прозрачный доступ к корпоративной сети
DirectAccess - безопасный и прозрачный доступ к корпоративной сетиDirectAccess - безопасный и прозрачный доступ к корпоративной сети
DirectAccess - безопасный и прозрачный доступ к корпоративной сети
 
Технологии обеспечения безопасности Windows 7
Технологии обеспечения безопасности Windows 7Технологии обеспечения безопасности Windows 7
Технологии обеспечения безопасности Windows 7
 
Реализации политик здоровья  и защиты доступа в гетерогенной среде с помощью ...
Реализации политик здоровья  и защиты доступа в гетерогенной среде с помощью ...Реализации политик здоровья  и защиты доступа в гетерогенной среде с помощью ...
Реализации политик здоровья  и защиты доступа в гетерогенной среде с помощью ...
 
Построение систем виртуализации высокой надежности с помощью Windows server 2...
Построение систем виртуализации высокой надежности с помощью Windows server 2...Построение систем виртуализации высокой надежности с помощью Windows server 2...
Построение систем виртуализации высокой надежности с помощью Windows server 2...
 
Новые возможности Windows Server 2008 R2 SP1
Новые возможности Windows Server 2008 R2 SP1Новые возможности Windows Server 2008 R2 SP1
Новые возможности Windows Server 2008 R2 SP1
 
Dynamic Memory в Windows Server 2008 R2 SP1
Dynamic Memory в Windows Server 2008 R2 SP1Dynamic Memory в Windows Server 2008 R2 SP1
Dynamic Memory в Windows Server 2008 R2 SP1
 
Защита инфраструктуры предприятия с помощью Forefront Endpoint Protection и S...
Защита инфраструктуры предприятия с помощью Forefront Endpoint Protection и S...Защита инфраструктуры предприятия с помощью Forefront Endpoint Protection и S...
Защита инфраструктуры предприятия с помощью Forefront Endpoint Protection и S...
 

Практические аспекты разработки безопасного кода с помощью Microsoft SDL

  • 1. ПРАКТИЧЕСКИЕ АСПЕКТЫ РАЗРАБОТКИ БЕЗОПАСНОГО КОДА С ПОМОЩЬЮ MICROSOFT SDL Андрей Бешков Менеджер программы информационной безопасности Microsoft Россия abeshkov@microsoft.com http://beshkov.ru http://twitter.com/abeshkov
  • 2. Содержание • Зачем вам разработка безопасного ПО? • Текущая ситуация с безопасностью ПО • Практика применения SDL • Программы безопасности Microsoft
  • 3. Почему ПО не безопасно? • Сроки запуска проекта горят • Нет ресурсов на обеспечение безопасных практик • Мы стартап – нам нужно быстрее стать популярными и заработать много денег
  • 4. Зачем вам разработка безопасного ПО? • Новейшие исследования показывают однозначную связь между разработкой безопасного ПО и бизнес эффективностью компании: – Исследование Aberdeen: • Предотвращение одной уязвимости почти полностью покрывает годовые затраты на повышение безопасности разработки • Предотвратить проблему с безопасностью в 4 раза дешевле чем разбираться с ее последствиями – Исследование Forrester: • Разработка безопасного ПО еще не стала широко распространенной практикой • Компании применяющие методы SDL демонстрируют гораздо более быстрый возврат инвестиций
  • 5. Стоимость устранения уязвимостей после выпуска дороже в 30 раз Относительная стоимость устранения ошибок 30 Выпуск 25 20 15 10 5 0 Требования/ Интеграция/ Финальное После Кодирование Архитектура Тестирование тестирование выпуска компонент Источник: National Institute of Standards and Technology
  • 6. Microsoft SDL и Windows Количество уязвимостей, обнаруженных в течение года после выпуска 400 242 157 119 66 Windows XP Windows Vista ОС I ОС II ОС III До введения SDL После введения SDL Количество уязвимостей сократилось на 45 % Источник: доклад «Windows Vista One Year Vulnerability Report», блог Microsoft Security, 23 января 2008 г.
  • 7. SDL и SQL Server (исследование компании NGS Software) Количество обнаруженных и исправленных уязвимостей по кварталам, 2000-2006 гг. 20 Пакет обновления 3 17 (SP3) для SQL Server 2000 – первый выпуск, разработанн ый с применением процесса SDL 8 3 1 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Источник: Which database is more secure? Oracle vs. Microsoft (Чья СУБД безопаснее? Oracle или Microsoft?), David Litchfield, NGS Software, 21 ноября-2006 г.
  • 8. Уязвимости в ПО 4,000 3450 3474 3,500 3188 2919 2962 3,000 2707 2546 2,500 2360 2,000 1,500 1,000 500 0 2H06 1H07 2H07 1H08 2H08 1H09 2H09 1H10
  • 9. 2,000 1882 1,800 1562 1677 1587 1,600 1447 1,400 1693 1266 1494 1144 1,200 1402 1289 1,000 1208 1191 1090 800 600 400 195 200 98 124 83 109 98 89 126 0 2H06 1H07 2H07 1H08 2H08 1H09 2H09 1H10 Критическая (7 - 10) Средняя (4 - 6.9) Низкая (0 - 3.9)
  • 10. Доля уязвимостей Microsoft 3-6% 3,500 3,280 3,322 3,042 3,000 2,822 2,869 2,594 2,417 2,500 2,215 2,000 1,500 1,000 500 170 152 97 93 146 113 129 145 0 2H06 1H07 2H07 1H08 2H08 1H09 2H09 1H10 Microsoft Не Microsoft
  • 11. 3,500 3079 3110 3,000 2807 2547 2573 2,500 2351 2161 1943 2,000 1,500 1,000 500 259 242 276 310 256 207 237 196 112 96 79 0 122 2H06 1H07 2H07 1H08 2H08 1H09 2H09 1H10 ОС Браузеры Приложения
  • 12. Уязвимости основных производителей ПО в 2010 году http://secunia.com/gfx/pdf/Secunia_Half_Year_Report_2010.pdf
  • 13. Уязвимости Microsoft Office и OpenOffice Категория 4 Категория 3 Ряд 3 Категория 2 Ряд 2 Ряд 1 Категория 1 0 2 4 6 http://www.h-online.com/security/news/item/Vulnerabilities-in-Microsoft-Office-and-OpenOffice- compared-1230956.html
  • 14. Основные заблуждения об SDL SDL предназначен только для SDL независим от платформы и языка разработки Windows® ОС SDL применим только к SDL подходит для разных сценариев разработки коробочным продуктам включая бизнес приложения (LOB) и онлайн сервисы SDL предназначен для модели SDL применим к разным методам разработки водопад или спираль таким как водопад, спираль и agile Для SDL нужны инструменты Успешная реализация SDL предполагает разработки Microsoft автоматизацию с помощью инструментов. Вы можете использовать инструменты от других компаний. Чтобы реализовать SDL SDL подходит организациям любого размера. От нужно много ресурсов. разработчика одиночки до огромных корпораций.
  • 15. История развития SDL Процесс безопасной разработки прошел многолетнее тестирование и шлифовку в рамках Microsoft и других компаний.
  • 16. Введение: процесс Microsoft SDL Цели Концепция Защита пользователей:  сокращение количества уязвимостей;  сокращение опасности уязвимостей. Выпуск Основные принципы Практический подход Упреждение угроз - это не просто поиск ошибок Решение проблем безопасности на ранних стадиях Безопасность при разработке Безопасность после выпуска ПО
  • 17. Этапы применения SDL SDL – обязательная политика в Майкрософт с 2004 г. Обуче Требо Проектир Реали Провер Реагиро Выпуск ние вания ование зация ка вание Начальное Определение Моделировани Выбор Динамическое План Выполнение владельца от е угроз инструментов тестирование и реагирования плана обучение бизнеса fuzzing реагирования Анализ Блокирование Заключитель- по основам Анализ рисков опасных запрещенных Проверка ный анализ на инциденты безопаснос безопасности областей функций моделей угроз безопасности ти и конфиден- Статический и опасных Архив циальности анализ областей выпусков Определение требований к качеству Обучение Технология и процесс Ответственность Постоянные улучшения процессов
  • 18. Фаза: Обучение Проекти Реали Реагирова Обучение Training Requirements Требования Design Implementation Verification Проверка Release Выпуск Response рование зация ние Обследовать подготовленность организации по темам безопасности и защиты приватных данных. При необходимости создать стандартные курсы обучения. – Разработать критерии качества программы обучения • Содержимое должно покрывать темы, безопасного дизайна, разработки, тестирования и защиты приватных данных – Определить частоту тренингов • Разработчик должен пройти не менее n тренингов в год – Определить минимальный приемлемый порог тренингов в группе разработки • 80% процентов технического персонала должны пройти минимальные обязательные тренинги до выпуска RTM версии продукта
  • 19. Чему учить? • Минимизация поверхности атаки: – Безопасный дизайн (уменьшение поверхности атаки, наименьшие привилегии, многослойная защита, безопасные настройки по умолчанию) – Моделирование угроз – Безопасное кодирование (переполнение буфера, XSS, SQL инъекции, криптография) – Тестирование безопасности – Соответствие ФЗ 152
  • 20. Источники для обучение Как написать безопасный код на С++, Java, Perl, PHP, ASP. NET Защищенный код для Windows Vista Игра «Spot the vuln» 10 уязвимостей веб проектов - OWASP Top Ten Курсы SANS Книга по SDL Упрощенный SDL
  • 21. Фаза: Требования Проекти Реали Реагирова Обучение Training Requirements Требования Design Implementation Verification Проверка Release Выпуск Response рование зация ние Возможность заложить безопасный фундамент для проекта – Команда разработки определяет лидеров и консультантов по темам безопасности – Назначается ответственный за безопасность – Ответственный проверяет план разработки продукта, рекомендует изменения или устанавливает дополнительные требования к безопасности продукта – Определить приоритет, процедуру отслеживания и исправления ошибок (bug tracking/job assignment system) – Определить и задокументировать порог отбраковки продукта по ошибкам связанным с безопасностью и защитой данных
  • 22. Шаблоны SDL для VSTS (Spiral) • Включает – SDL требования как задачи – SDL-based check-in policies – Создание отчета Final Security Review – Интеграция с инструментами сторонних производителей – Библиотека пошаговых указаний SDL how-to • Интегрируется с бесплатными SDL инструментами – SDL Threat Modeling Tool – Binscope Binary Шаблоны SDL процессов интегрируют Analyzer SDL 4.1 со средой разработки VSTS – Minifuzz File Fuzzer
  • 23. MSF Agile + SDL шаблоны для VSTS • Автоматически создает процессы соблюдения SDL в момент создания нового спринта или выполнения check in. • Контролирует выполнение всех необходимых процессов безопасности • Интегрируется с бесплатными SDL инструментами – SDL Threat Modeling Tool – Binscope Binary Analyzer – Minifuzz File Fuzzer
  • 24. Фаза: Проектирование Проекти Реали Реагирова Обучение Training Requirements Требования Design Implementation Verification Проверка Release Выпуск Response рование зация ние Определить и задокументировать архитектуру безопасности и идентифицировать критические компоненты безопасности Задокументировать поверхность атаки продукта. Ограничить ее установками по умолчанию Определить критерии выпуска обновления продукта в связи с изменением в безопасности продукта Результаты автоматизированного тестирования кроссайт скриптинг атак Устаревание криптографических алгоритмов или замена слабых алгоритмов Моделирование угроз Систематический ревью свойств продукта и его архитектуры с точки зрения безопасности Определить угрозы и меры снижения угроз
  • 25. Процесс моделирования угроз • Продумать требования к безопасности продукта, сценари и использования. Spoofing • Идентифицироват ь классы Tampering пользователей. Repudiation • Ожидаемое поведение. Denial of Service Elevation of privilege
  • 26. SDL Threat Modeling Tool – Обучает созданию диаграмм угроз – Анализ угроз и мер защиты – Интеграция с багтреккером – Отчеты по угрозам и уязвимостям Формализует и упрощает моделирование угроз так чтобы им мог заниматься архитектор
  • 28. Фаза: Реализация Проекти Реали Реагирова Обучение Training Requirements Требования Design Implementation Verification Проверка Release Выпуск Response рование зация ние Разработка кода и ревью процессов, документации и инструментов необходимых для безопасного развертывания и эксплуатации разрабатываемого продукта Спецификация утвержденных инструментов и их аналогов Статический анализ (/analyze (PREfast), FXCop, CAT.NET) Поиск случаев использования запрещенных API Применение механизмов защиты предоставляемых ОС (NX, ASLR и HeapTermination) Соблюдение специфических требований безопасности для сетевых сервисов (крос сайт скриптинг , SQL иньекции и.т.д) Использование безопасных версий библиотек и фреймворков Прочие рекомендации ( Standard Annotation Language (SAL))
  • 29. Фаза: Проверка Проекти Реали Реагирова Обучение Training Requirements Требования Design Implementation Verification Проверка Release Выпуск Response рование зация ние Начните проверки как можно раньше. В идеале сразу же после стадии “code complete”. Начните планирование процесса реагирования на обнаружение уязвимостей в выпущенном продукте Повторно проверьте поверхность атаки. Все ли вы учли? MiniFuzz тестирование – файлами, вводом данных в интерфейсные элементы и код сетевой подсистемы При необходимости выполнить “security push” (с каждым разом все реже) Не является заменой работе над безопасностью в процессе разработки продукта Ревью кода Тестирование на проникновение Ревью дизайна и архитектуры в свете вновь обнаруженных угроз
  • 30. Фаза: Проверка - Инструменты • BinScope Binary Analyzer – Убедиться что SDL соблюден при компиляции и сборке • MiniFuzz File Fuzzer – !exploitable • RegexFuzer • Attack Surface Analyzer – Анализ снимков системы • AppVerifier – Динамический анализ системы
  • 32. MiniFuzz File Fuzzer • MiniFuzz основной инструмент тестирования для поиска уязвимостей которые могут привести к удачным атакам на код обрабатывающий файлы и ввод данных. – Создает и отправляет в приложение поврежденные данные – Выявляет не декларированное поведение приложения – Используется отдельно или в составе Visual Studio и Team Foundation Server
  • 34. Attack Surface Analyzer • Измеряет потенциальную поверхность атаки на приложение и ОС • Может использоваться разработчиками, тестировщиками, ИТ специалистами. • Отображает изменения вносимые в чистую копию Windows ОС после установки приложения. • Проверяет – Новые или измененные файлы – Ключи реестра – Сервисы – ActiveX – Открытые сетевые порты – Списки доступа ACL – Browser Helper Objects – И.т.д
  • 35. Фаза: Выпуск и план реагирования Проекти Реали Реагирова Обучение Training Requirements Требования Design Implementation Verification Проверка Release Выпуск Response рование зация ние Создать политики поддержки продукта Создать план реагирования на инциденты безопасности - Software Security Incident Response Plan (SSIRP) Контакты и ресурсы внутри организации для адекватной реакции на обнаружение уязвимостей и защиту от атак 24x7x365 контакт с 3-5 инженерами, 3-5 специалистами маркетинга, и 1-2 менеджеров верхнего уровня Обратите внимание на необходимость выпуска экстренных обновлений вашего продукта из за уязвимостей в коде сторонних производителей включенном в ваш продукт. Так же может быть необходимость обновлять продукт после обновления ОС.
  • 36. Фаза: Выпуск – Final Security Review (FSR) Проекти Реали Реагирова Обучение Training Requirements Требования Design Implementation Verification Проверка Release Выпуск Response рование зация ние Проверить продукт на соответствие требованиям SDL и отсутствие известных уязвимостей Получаем независимое заключение готовности продукта к выпуску FSR не является: Тестом на проникновение. Запрещено ломать и обновлять продукт. Первой проверкой безопасности продукта Процессом финальной подписи продукта и отправки его в тираж Ключевая концепция: Эта фаза не используется как точка для завершения всех задач пропущенных на предыдущих стадиях
  • 37. Механизмы защиты ОС от атак SEHOP SEHOP Включено по умолчанию Heap terminate Heap terminate Win7 Выключено по умолчанию DEP DEP ASLR ASLR SEHOP SEHOP SEHOP Vista Heap terminate Heap terminate Heap terminate SP1, SP2 DEP DEP DEP ASLR ASLR ASLR SEHOP SEHOP Heap terminate Heap terminate Vista RTM DEP DEP ASLR ASLR SEHOP SEHOP SEHOP Heap terminate Heap terminate Heap terminate XP SP3 DEP DEP DEP ASLR ASLR ASLR SEHOP SEHOP SEHOP Heap terminate Heap terminate Heap terminate XP SP2 DEP DEP DEP ASLR ASLR ASLR IE 6 IE 7 IE 8 IE 9
  • 38. EMET: Защита от типовых уязвимостей • Командная строка и GUI • Настройка системных защит от уязвимостей • Включение защиты для конкретных приложений • Проверка настроек защиты
  • 39. EMET: Защита приложений • Защищает приложения с известными уязвимостями • Защищает от атак 0- day • Тонкий контроль применяемых защит
  • 40. Фаза: Выпуск – Архив Проекти Реали Реагирова Обучение Training Requirements Требования Design Implementation Verification Проверка Release Выпуск Response рование зация ние План реагирования на инциденты безопасности создан Документация для клиентов обновлена Создан централизованный архив исходного кода, символов, моделей атак RTM версии продукта
  • 41. Фаза: Реагирование Проекти Реали Реагирова Обучение Training Requirements Требования Design Implementation Verification Проверка Release Выпуск Response рование зация ние Инцидент случился? Идем по заранее созданному плану. Выполняем активности по плану реагирования на инциденты безопасности и выпускаем обновления в соответствии с графиком релизов
  • 42. Реагирование на инциденты Выгоды планового Watch Alert and Mobilize Resources Assess and Stabilize Resolve реагирования Reporting • Понятно что Analysis and Mitigation происходит • Есть Provide Guidance ответственные • Удовлетворенност Create Fix ь клиента растет Update Models • Собираем данные для будущих Test Fix разработок Выпуск • Проводим тренинги Lessons Learned http://www.microsoft.com/security/msrc/whatwedo/responding.aspx
  • 43. Атаки переходят на уровень приложений Разработка безопасного кода с помощью SDL – экономия денег компании SDL cсущественно улучшил продукты Microsoft Microsoft сделал процесс SDL доступным всем Пора применять SDL
  • 44. Ресурсы www.microsoft.com/sdl www.Secunia.org The Simplified Implementation of the SDL Блог об SDL
  • 45. Ресурсы • [HOLMES 2010]. Holmes, Graham. (2010, April 05). Cisco CSDL Announcement – http://blogs.cisco.com/security/the_cisco_secure_development_lifecycle_an_overvie w/ • [LANE 2010]. Lane, Adrian. (2010, May 10). FireStarter: Secure Development Lifecycle – You’re Doing It Wrong. Securosis. Retrieved December 29 2010, from http://securosis.com/blog/firestarter-secure-development-lifecycle-your-doing-it-wrong • [LADD 2010]. Ladd, David. (2010, May 11). “Do what Microsoft did, not what they do”. Retrieved December 29 2010, from http://blogs.msdn.com/b/sdl/archive/2010/05/11/do-what-microsoft-did-not-what-they- do.aspx • [LARSON_LADD 2010]. Larson, Larry. Ladd, David. (2010, May 14). Security Talk: Simplified SDL with David Ladd. Channel 9. Retrieved December 29 2010, from http://channel9.msdn.com/Blogs/LarryLarsen/Security-Talk-Simplified-SDL-with- David-Ladd