Цикл безопасной разработки sdl
DESCRIPTION
Описание циклов безопасной разработки - Microsoft SDL, Cisco SDL, PA-DSS, РС ЦБ РФ. Моделирование угроз STRIDE.TRANSCRIPT
![Page 1: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/1.jpg)
Цикл безопасной разработки
Алексей Бабенкоруководитель направления, PA&PCI QSA
Мастер-класс для RISC, www.risc.today
![Page 2: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/2.jpg)
Я
• Руководитель направления в Информзащите;• 12 PA-DSS проектов, больше 30 PCI DSS + анализ ИС, ISO27001, аудиты ИБ;• Занимался анализом web-приложений, 2007-
2012 играл в CTF в SiBears;• Люблю поговорить и что-нибудь написать.
![Page 3: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/3.jpg)
• Цикл – совокупность явлений, процессов, составляющая кругооборот в течение известного промежутка времени (БЭС)
• Безопасный – не угрожающий опасностью, лишённый какой либо угрозы (Толковый словарь)
• Разработка – процесс создания программного обеспечения (я)
• «SDLC = Systems/ Software Development Life Cycle»Разработчик ПО
• «SDLC = Security Development Life Cycle»ИБ-ник
Цикл безопасной разработки
![Page 4: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/4.jpg)
Зачем?
–
• Большинство обнаруживаемых уязвимостей – типовые, общеизвестные, хорошо описанные.
Источник: Global Security Report 2013, Trustwave
![Page 5: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/5.jpg)
Зачем? Наши реалии
Источник: внутренняя статистика Информзащиты по проведенным тестам на проникновение (только уязвимости ПО)
![Page 6: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/6.jpg)
В фокусе внимания• Microsoft Security Development Lifecycle
• Cisco Secure Development Lifecycle
• PCI Security Standards (рекомендации к процессам разработки на примере PA-DSS 3.0)
• Обеспечение ИБ на стадиях ЖЦ АБС (РС БР ИББС-2.6-2014)
• Бонус – моделирование угроз STRIDE
![Page 7: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/7.jpg)
Microsoft SDL7 основных фаз:•Training (обучение)•Requirements (требования)•Design (проектирование)•Implementation (реализация)•Verification (анализ)•Release (выпуск)•Response (поддержка)
В каждой фазе свои практики.
![Page 8: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/8.jpg)
Microsoft SDL - практикиTraining•Обучение безопасности:
• Все задействованные сотрудники• Не реже 1 раза в год• Знания для выполнение остальных фаз
Requirements•Определение требований ИБ
• Включая назначение ответственных за ИБ
•Оценка рисков•Определение требований к качеству
![Page 9: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/9.jpg)
Microsoft SDL - практикиDesign•Архитектурные требования•Анализ/ сокращение поверхности атаки• Моделирование угрозImplementation•Использование доверенных средств•Практики безопасного программирования• Статический анализ кода
![Page 10: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/10.jpg)
Microsoft SDL - практикиVerification •Динамический анализ• Фаззинг• Проверка поверхности атакиRelease •Планы реагирования на инциденты• Финальный анализ безопасности• Доверенный выпускResponse• Выполнение планов реагирования на
инциденты
![Page 11: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/11.jpg)
Microsoft SDL – ссылки• Раздел Security Development Lifecycle на сайте
Microsoft• Интеграция
процессов обеспечения безопасной разработки (ALM Summit)
![Page 12: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/12.jpg)
Cisco SDL• Требования (Product Security Requirements)• 3rd Party Security• Проектирование (Secure Design)• Реализация (Secure Coding)• Оценка (Secure Analysis)• Тестирование (Vulnerability Testing)
![Page 13: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/13.jpg)
Cisco SDL - стадииProduct Security Requirements:•Внутренние требования ИБ•Внешние требования (Market-Based)3rd Party Security:•Реестр используемого стороннего ПО•Уведомление о уязвимостяхSecure Design:•Проектирование с учетом ИБ (обучение, лучшие практики, безопасные компоненты)•Моделирование угроз (STRIDE)
![Page 14: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/14.jpg)
Cisco SDL - стадииSecure Coding:•Обучение•Принципы безопасного программирования•Проверка кода, статический анализ•Стандарт безопасного программированияSecure Analysis:•Проверки ключевых областей ИБVulnerability Testing:•Тест-кейсы•Тестирование на проникновение
![Page 15: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/15.jpg)
Cisco SDL - ссылкиРаздел Cisco SDL на сайте Cisco
![Page 16: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/16.jpg)
PA-DSS 3.0
Выпуск +
Проектирование
Создание
Анализ
Оценка рисков
Обучение
Отслеживание уязвимостей
![Page 17: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/17.jpg)
PA-DSS 3.0 - Обучение
• Основные темы:• требования PCI DSS• приемы безопасной разработки (OWASP, CWE),
проектирования, тестирования, пр.• лучшие практики отрасли
• Форма обучения:• самостоятельное• внутреннее• внешнее
![Page 18: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/18.jpg)
PA-DSS 3.0 - Проектирование
• Формирование требований:• Требования PCI DSS (ПО = системный компонент)• Учет лучших практик• Учет внутренних требований по ИБ• Учет оценки рисков и информации об уязвимостях
• Проектирование с учетом сформированных требований
![Page 19: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/19.jpg)
PA-DSS 3.0 - Создание
• Требования к разработке:• Использование методов безопасного
программирования• Применение лучших практик• Учет требований PCI DSS• Учет оценки рисков и анализа угроз
• Разделение сред и обязанностей• Корректное использование тестовых данных
![Page 20: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/20.jpg)
PA-DSS 3.0 - Анализ
• Анализ кода (белый ящик)• Использование приемов безопасной разработки• Проводит специалист с опытом в данной сфере не
являющийся автором кода• Анализ для всех изменений на предмет безопасности
• Тестирование безопасности (черный ящик):• Общефункциональное с учетом выявленных
уязвимостей• Тестирование безопасности:
• Реализация требований PCI DSS• Меры по защите от известных уязвимостей• Меры предотвращения недостатков выявленных в модели угроз
и при анализе новых уязвимостей
![Page 21: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/21.jpg)
PA-DSS 3.0 - Выпуск
• Решение за выпуск релиза:• Предыдущие этапы были выполнены успешно• Требования стандарта учтены• Разработаны процедуры «отката»• Оценка воздействия на затрагиваемый процесс
• Ответственный за выпуск релиза – отвечает за факт выполнения процедур, ответственность за качество выполнения на соответствующих специалистах
• Релиз – не конец проекта
![Page 22: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/22.jpg)
PA-DSS 3.0 - Выявление уязвимостей• Выявляем все что может влиять на
безопасность ПО:• Новые уязвимости и слабости в функциях
программирования• Уязвимости компиляторов• Уязвимости используемых сторонних библиотек,
компонент, сервисов, протоколов
• Корректная работа с последними обновлениями системных компонент
• Учет результатов при проектировании, разработке, анализов
![Page 23: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/23.jpg)
PA-DSS 3.0 - Анализ угроз
• Стандарт – минимальный набор требований, каждое ПО уникально и может иметь специфичные угрозы
• Моделирование угроз – STRIDE, OWASP, CERT• Учет результатов анализа при проектировании,
разработке, анализе
![Page 24: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/24.jpg)
PA-DSS 3.0 - Ссылки
• PA-DSS 3.0• PA-DSS 3.0 (рус)• PCI DSS 2.0 eCommerce Guidelines• Requirement 6.6 Application Reviews and Web A
pplication Firewalls Clarified v1.2• Mobile Payment Acceptance Security Guidelines f
or Developers v1.0
![Page 25: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/25.jpg)
РС БР ИББС-2.6-2014 - Стадии
• разработки технического задания • проектирования АБС • создания и тестирования АБС • приемки и ввода в действие • эксплуатации • сопровождение и модернизация АБС • снятия с эксплуатации
![Page 26: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/26.jpg)
РС БР ИББС-2.6-2014 - Стадии
Разработка технического задания •определение требований по ИБ•предварительный анализ угроз (рекомендуемое)
Проектирование•разработка архитектуры•функциональные требования ИБ•стандарты конфигурации
![Page 27: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/27.jpg)
РС БР ИББС-2.6-2014 - Стадии
Создание и тестирование •управление версиями и изменениями•обеспечение ИБ сред разработки и тестирования•тестирование компонентов (в ходе разработки, перед релизом, на предварительных испытаниях)•анализ кода (рекомендуемое)
•эксплуатационная документацияПрием и ввод в действие•проведение опытной эксплуатации•тестирование на проникновение (рекомендуемое)
•приемочные испытания
![Page 28: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/28.jpg)
РС БР ИББС-2.6-2014 - Стадии
Эксплуатация:•контроль корректного использования•оценка защищенности (рекомендуемое)
•мониторинг уязвимостейСопровождение и модернизация:•безопасное обновление/ модернизацияСнятие с эксплуатации:•архивирование информации•гарантированное уничтожение информации
![Page 29: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/29.jpg)
РС БР ИББС-2.6-2014 - Приложения• Типовые недостатки в реализации функций
безопасности автоматизированных систем• Рекомендации к проведению контроля
исходного кода• Рекомендации к проведению оценки
защищенности• Рекомендации к проведению контроля
параметров настроек технических защитных мер
![Page 30: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/30.jpg)
РС БР ИББС-2.6-2014 - Ссылки
• Рекомендации в области стандартизации БР Обеспечение ИБ на стадиях ЖЦ АБС
• Раздел по информационной безопасности на сайте Банка России
![Page 31: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/31.jpg)
Сравнение SDLCisco SDL Microsoft SDL PA-DSS SDL РС БР ИББС-2.6-2014)
Обучение разработчиков Secure Design, Secure Coding Training Обучение -
Отслеживание уязвимостей 3rd Party Security Implementation (частично) Выявление уязвимостей Эксплуатация
Определение требований к ИБ Product Security Requirements Requirements Проектирование Проектирование
Создание модели угроз Secure Design Design Оценка рисков Разработка технического задания (рекомендательно)
Практики безопасной разработки Secure Coding Implementation Создание -
Анализ кода Secure Analysis Implementation Анализ кода Создание и тестирование (рекомендательно)
Тестирование безопасности Vulnerability Testing Verification, Release Тестирование безопасности Создание и тестирование
Выпуск релиза - Release Выпуск Прием и ввод в действие
Поддержка - Response Поддержка Сопровождение и модернизация
Вывод из эксплуатации - Снятие с эксплуатации
![Page 32: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/32.jpg)
Внедрение SDL
1. Обучение2. Практики безопасного программирования3. Тестирование безопасности и анализ кода4. Процедуры выпуска и поддержки5. Отслеживание уязвимостей, реестр ПО6. Формальное определение требований к ИБ7. Планы реагирования на инциденты8. Моделирование угроз, анализ поверхности атак9. Внешний анализ
![Page 33: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/33.jpg)
Моделирование угроз
STRIDE =•Spoofing (подмена субъекта)•Tampering (нарушение целостности)•Repudiation (отказ от авторства)•Information disclosure (нарушение конфиденциальности)•Denial of service (отказ в обслуживании)•Elevation of privilege (повышение привилегий)
Data Flow Diagrams — диаграммы потоков данных
![Page 34: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/34.jpg)
Моделирование угроз
1. Построение DFD:1. Процесс (множественный процесс)2. Хранилище3. Информационный поток4. Внешний элемент (посредник, интерактор)5. Граница доверия
2. Декомпозиция элементов (1-4)3. Повторение 1 и 24. Формирование перечня угроз5. Оценка применимости
![Page 35: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/35.jpg)
Моделирование угроз
Spoofing Tampering Repudiation
Information disclosure
Denial of service
Elevation of privilege
Поток
Хранилище
Процесс
Посредник
![Page 36: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/36.jpg)
Моделирование угроз
Источник: https://www.owasp.org/index.php/Application_Threat_Modeling
![Page 37: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/37.jpg)
Моделирование угроз
Источник: https://www.owasp.org/index.php/Application_Threat_Modeling
![Page 38: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/38.jpg)
Моделирование угроз – TMT
![Page 39: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/39.jpg)
Моделирование угроз – Ссылки
• Application Threat Modeling на сайте OWASP• Статья с описанием подхода на Хабре• Обнаружение недостатков
безопасности при помощи STRIDE (MSDN Magazine)
• The STRIDE Threat Model на сайте Microsoft• Microsoft Threat Modeling Tool 2014
![Page 40: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/40.jpg)
ВОПРОСЫ? Алексей Бабенко руководитель направления, PA&PCI QSA
[email protected]+ 7 (495) 980-23-45 #458+ 7 905 991-99-19 skype: arekusux arekusux.blogspot.com
www.infosec.ru
![Page 41: Цикл безопасной разработки SDL](https://reader036.vdocuments.mx/reader036/viewer/2022081502/557f5275d8b42a42328b4765/html5/thumbnails/41.jpg)
Полезные ссылки• Безопасное программирование
• http://cwe.mitre.org • http://owasp.org
• Общие базы данных уязвимостей• http://www.securityfocus.com • http://nvd.nist.gov • http://secunia.com
• Информация по внешнему обучению• http://itsecurity.ru/catalog/kp75 • http://www.sans.org/security-training.php • https://www.owasp.org/index.php/Category:OWASP_AppSec_Conference • http://www.giac.org/certification/gssp-java
• Материалы для организации внутреннего обучения:• https://www.owasp.org/index.php/Category:OWASP_Code_Review_Project • https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project • http://www.sans.org/top25-software-errors • http://projects.webappsec.org/w/page/13246978/Threat-Classification • http://www.cert.org/secure-coding • http://cwe.mitre.org/data/graphs/699.html