Построение Secure
Development Lifecycle
!
Владимир Стыран, БМС Консалтинг
Кто эти люди?..
• БМС Консалтинг
• Мы делаем пентесты, много и часто
• Black Box, Grey Box, социальная инженерия…
• АБС, ДБО, биллинг, инфраструктура, веб- и прочие
приложения
• “Apparently, if you can test pens, you can test
everything.” - H.D. Moore
Что у нас позади
• Мы видим “картинку” снаружи и она нас пугает
• Domain Admin по внешнему вектору: 1 из 5-ти
• Domain Admin по внутреннему вектору: 3 из 5-ти
• В каждом “взрослом” пентесте: root, oracle, 100+
логинов/паролей пользователей, web shells…
Наши впечатления
• Типы граблей (по частоте обнаружения)
• Bad/default/no credentials
• Bad/no patch management
• Passwords for candy
• Application errors
• Bad session management
• Все остальные
17%
4%
13%
9%
22%
35%
Угрозы и стек технологий
Какие варианты?
• Борьба за безопасность “готовой” системы - сизифов труд
• Путь “Penetrate & Patch” ведет в никуда (хотя мы, конечно же, не против)
• Пентесты покрывают чуть больше половины известных угроз
• Infinity Maxim: There are an unlimited number of security vulnerabilities for a
given security device, system, or program, most of which will never be
discovered (by the good guys or bad guys).
• Лучший способ избавиться от уязвимости - не дать ей
возникнуть
• “Идеальный” план: построение полноценного процесса
Secure Development Lifecycle
Secure Development
Lifecycle
• “Изобретен” Microsoft под давлением сообщества
• Включает ряд организационных и технических
процессов
• И средства их автоматизации
Плоды SDL
Плоды SDL
Этапы SDL
• Обучение
• Требования
• Дизайн
• Реализация
• Проверка
• Релиз
• Реагирование
vs. Чик-чик и в продакшн!
Обучение
• Разработка программы обучения
• “Внешние” условия: требования, стандарты, законодательство
• Методики и технологии разработки
• Обучение команды и оценка результатов
• Метрики/критерии обучения
• Минимальная частота тренингов (на реже N раз в год)
• Минимальный групповой порог подготовки (не мнее 80% команды)
• Актуализация программы
Требования
• Утверждение требований безопасности до начала проекта
• Внешние (PCI, PII, HIPPA…) и внутренние (оценка рисков)
факторы
• Требования безопасности (т.н. негативные требования)
устанавливают, документируют (и тестируют) так же, как
позитивные требования к функционалу
• Минимальные требования безопасности (в терминах
пороговых значений качества)
• Назначение аналитика по безопасности
Дизайн
• Определение и документирование архитектуры
безопасности и механизмов защиты
• Использование техник безопасного дизайна:
многослойность защиты, управление версиями, принцип
наименьших привилегий, оценка рисков
• Моделирование угроз в контексте дизайна проекта,
выполняемых функций, обрабатываемых данных,
размещения в инфраструктуре, уникальных особенностей
• Минимизация угроз и рисков путем сужения “поверхности
атаки”
Реализация
• Использование техник безопасного кодирования: проверка ввода,
экранирование символов, параметризация запросов…
• Статический анализ по мере готовности исходного кода
• Реакция на уязвимости: исправление, документирование
• Использование одобренных инструментов и параметров
редактирования, контроля версий, сборки
• Использование средств ОС: ASLR, DEP, SElinux, apparmor…
• Отказ от незащищенных и устаревших библиотек, API,
криптографических алгоритмов
• Особое внимание к онлайн-сервисам: XSS, SQLi…
Проверка
• Переоценка модели угроз с учетом проделанной работы
• Пересмотр дизайна с учетом новых угроз (изменение “поверхности атаки”)
• Тестирование негативных требований
• Динамический анализ по мере готовности объектного кода
• Фаззинг, брут, стресс-тесты и прочее для файлового и пользовательского
ввода, API, сетевых подключений и т.д.
• Упор на анализ защищенности кода и тестирование безопасности
• Специфические тесты для онлайн-сервисов
• Реакция на уязвимости: исправление, документирование
Релиз
• Создание плана реагирования на инциденты и уязвимости,
обнаруживаемые в системе
• Обеспечение возможности выпуска исправлений
безопасности
• Финальная оценка защищенности
• Принятие/отклонение релиза
• Архивирование проекта
• Обновление документации
• Сохранение исходного кода для потомков (code escrow)
Реагирование
• Выполнение плана реагирования на инциденты,
составленного на стадии релиза
SDL для Agile
• Вернемся в реальность: по “классическому” SDLC уже
никто не работает
• В Agile SDL практики классифицированы не по этапам
SDLC, а по частоте выполнения
• Every-sprint: самые важные, повторять для каждого
релиза
• One-time: менее критичные, выполнять одноразово
• Bucket: все остальные, выполнять по мере надобности
One-time
• Из требований
• Требования безопасности
• Оценка рисков
• Из дизайна
• Требования к дизайну
• Сужение поверхности атаки
• Из релиза
• Создание плана реагирования
Every-sprint
• Из дизайна
• Моделирование угроз
• Из реализации
• Использование одобренных инструментов
• Отказ от старого хлама (API, библиотеки и т.д.)
• Статический анализ кода
• Из релиза
• Финальная оценка защищенности, принятие и архивирование
Bucket
• Из требований
• Минимальные требования безопасности
• Из проверки
• Динамический анализ приложения
• Фаззинг и прочие издевательства
• Пересмотр модели угроз и “поверхности” атаки
Ключевые концепции
• Производство защищенного кода требует
усовершенствования процессов разработки
• Один лишь поиск багов не делает софт безопаснее
• Риски это проблема менеджера, а не разработчика
• Постоянный пересмотр процессов SDL
• Непрерывное обучение, культура безопасности
• Инструменты и автоматизация
• Поощрение и последствия
Gartner
AST MQ
Сегмент продуктов
автоматизированного
тестирования
защищенности
приложений в 2013 г.
Подведем итог
• Угрозы двигаются на уровень приложений
• Сегмент инструментов автоматизации созрел
• SDL внедряет безопасность в процессы и
культуру разработки
• Результаты измеримы и впечатляют
• SDL Agile-у не враг
Спасибо за внимание!
!
vladimir_styran@bms-consulting.com
+380(67) 659 1342

More Related Content

PPTX
Наступательная безопасность: шпаргалка заказчика тестов на проникновение
PDF
#root это только начало
PPTX
Umurashka codeib-presentation-v2
PDF
Опасная разработка. Дорожная карта движения к катастрофе
PPTX
2015 02 пм качалин sdl
PPTX
Внедрение безопасной разработки (Infosecurity 2014)
PDF
Безопасность и сертификация банковского ПО
PPTX
Внутреннее качество в процедурах информационной безопасности
Наступательная безопасность: шпаргалка заказчика тестов на проникновение
#root это только начало
Umurashka codeib-presentation-v2
Опасная разработка. Дорожная карта движения к катастрофе
2015 02 пм качалин sdl
Внедрение безопасной разработки (Infosecurity 2014)
Безопасность и сертификация банковского ПО
Внутреннее качество в процедурах информационной безопасности

What's hot (20)

PPTX
лекция безопасная разработка приложений
PPTX
дмитрий кузнецов (2)
PPTX
24may 1200 valday дмитрий кузнецов 'жизненный цикл банковских приложений'
PPTX
Разработка ПО в рамках PCI DSS
PDF
Разработка ПО в рамках PCI DSS, как ее видит жуткий зануда
PPTX
О PCI P2PE в общих чертах
PPT
Цикл безопасной разработки SDL
PDF
Практический опыт реализации собственной антифрод системы
PDF
Microsoft. Никита Трубецкой. "Защита корпоративной информации при доступе из ...
PDF
Практические особенности внедрения систем класса DLP
PPTX
Методические рекомендации по техническому анализу. О. Макарова.
PPTX
Требования по безопасности в архитектуре ПО
PPTX
Безопасная разработка приложений на практике
PPTX
Социальная инженерия
PPTX
Психология внедрения нового. Правила общения с руководителями бизнеса при вне...
PDF
Об угрозах информационной безопасности, актуальных для разработчика СЗИ
PDF
Семь лет поиска. Что, как и зачем мы проверяем
PDF
Целевое управление доступом в сети. Техническое решение для финансовых органи...
PDF
Про аудиты ИБ для студентов фин.академии
PPTX
Кот в мешке: вопросы безопасности при M&A
лекция безопасная разработка приложений
дмитрий кузнецов (2)
24may 1200 valday дмитрий кузнецов 'жизненный цикл банковских приложений'
Разработка ПО в рамках PCI DSS
Разработка ПО в рамках PCI DSS, как ее видит жуткий зануда
О PCI P2PE в общих чертах
Цикл безопасной разработки SDL
Практический опыт реализации собственной антифрод системы
Microsoft. Никита Трубецкой. "Защита корпоративной информации при доступе из ...
Практические особенности внедрения систем класса DLP
Методические рекомендации по техническому анализу. О. Макарова.
Требования по безопасности в архитектуре ПО
Безопасная разработка приложений на практике
Социальная инженерия
Психология внедрения нового. Правила общения с руководителями бизнеса при вне...
Об угрозах информационной безопасности, актуальных для разработчика СЗИ
Семь лет поиска. Что, как и зачем мы проверяем
Целевое управление доступом в сети. Техническое решение для финансовых органи...
Про аудиты ИБ для студентов фин.академии
Кот в мешке: вопросы безопасности при M&A
Ad

Viewers also liked (20)

PDF
Социальные аспекты ИБ
PDF
правда про ложь
PPTX
Путевые заметки социального инженера
PPTX
Социальная инженерия для инженеров
PPTX
SQADays19 - 50 Слайдов для повышения безопасности вашего сервиса
PDF
Secure Code Reviews
PDF
Прелюдия к атаке: практика и автоматизация OSINT
PDF
Recon-Fu @BsidesKyiv 2016
PDF
Построение процесса безопасной разработки - Стачка 2016
PPTX
Процедура внедрения СУИБ в банке: основные шаги и подводные камни
PDF
SECON'2016. Бушмелев Юрий, Два титановых шарика
PDF
Подходы к сигнатурному статическому анализу
PDF
Next generation pentest your company cannot buy
PPTX
Code review psyhology
PDF
Secure code
PDF
Dynamic PHP web-application analysis
PPTX
Этичный хакинг или пентестинг в действии
PDF
Simplified Security Code Review Process
PPTX
Berezha Security
PDF
Secure Code Review 101
Социальные аспекты ИБ
правда про ложь
Путевые заметки социального инженера
Социальная инженерия для инженеров
SQADays19 - 50 Слайдов для повышения безопасности вашего сервиса
Secure Code Reviews
Прелюдия к атаке: практика и автоматизация OSINT
Recon-Fu @BsidesKyiv 2016
Построение процесса безопасной разработки - Стачка 2016
Процедура внедрения СУИБ в банке: основные шаги и подводные камни
SECON'2016. Бушмелев Юрий, Два титановых шарика
Подходы к сигнатурному статическому анализу
Next generation pentest your company cannot buy
Code review psyhology
Secure code
Dynamic PHP web-application analysis
Этичный хакинг или пентестинг в действии
Simplified Security Code Review Process
Berezha Security
Secure Code Review 101
Ad

Similar to Построение Secure Development Lifecycle (20)

PDF
Построение процесса безопасной разработки
PDF
Цикл безопасной разработки
PPTX
Enterprise Developers Conference 2010
PPTX
Сделать безопасно и сертифицировано — ЗАО «ПМ» на DevCon 2015
PDF
Обеспечение качества ПО: международный опыт
PPTX
Безопасная разработка (СТАЧКА 2015)
PPT
Дмитрий Истомин (УЦСБ): думать об элементарной безопасности web-приложений эт...
PPTX
Анализ угроз ИБ компаниям-разработчикам СЗИ
PDF
Жизненный цикл безопасной разработки платежных приложений
PDF
Защита информации. Вводная лекция.
PPTX
ЛОМАТЬ И СТРОИТЬ, И СНОВА ЛОМАТЬ
PPTX
Secure development
PPTX
Ломать и строить. PHDays 2015
PDF
AppSec, ключ на старт! / Юрий Сергеев (Swordfish Security)
PPTX
разработка безопасного кода
PPTX
Msf Dz
PDF
Подходы к безопасности программного обеспечения.
PPTX
Sdlc by Anatoliy Anthony Cox
PPTX
Внедрение систем мониторинга и защиты информации
PDF
Краткий обзор курса: Создание автоматизированных систем в защищенном исполнении.
Построение процесса безопасной разработки
Цикл безопасной разработки
Enterprise Developers Conference 2010
Сделать безопасно и сертифицировано — ЗАО «ПМ» на DevCon 2015
Обеспечение качества ПО: международный опыт
Безопасная разработка (СТАЧКА 2015)
Дмитрий Истомин (УЦСБ): думать об элементарной безопасности web-приложений эт...
Анализ угроз ИБ компаниям-разработчикам СЗИ
Жизненный цикл безопасной разработки платежных приложений
Защита информации. Вводная лекция.
ЛОМАТЬ И СТРОИТЬ, И СНОВА ЛОМАТЬ
Secure development
Ломать и строить. PHDays 2015
AppSec, ключ на старт! / Юрий Сергеев (Swordfish Security)
разработка безопасного кода
Msf Dz
Подходы к безопасности программного обеспечения.
Sdlc by Anatoliy Anthony Cox
Внедрение систем мониторинга и защиты информации
Краткий обзор курса: Создание автоматизированных систем в защищенном исполнении.

More from Vlad Styran (15)

PPTX
В чому різниця між тестами на проникнення, аудитами, та іншими послугами з кі...
PDF
Human is an amateur; the monkey is an expert. How to stop trying to secure yo...
PPTX
The sooner the better but never too late
PPTX
Threat Modeling 101
PPTX
BSides Kharkiv 2018: Social-engineering your quality of work, personal, and s...
PPTX
Application Security Webcast
PDF
Sigma Open Tech Week: Bitter Truth About Software Security
PDF
NoNameCon partnership opportunities
PPTX
BruCON 0x09 Building Security Awareness Programs That Don't Suck
PPTX
Организация, культура, и управление кибер-безопасностью
PDF
Cybersecurity Framework 021214 Final UA
PDF
Fantastic Beasts and where to hide from them
PPTX
Кібер-Шмібер
PPTX
Использование приватных, публичных и гибридных облаков для обеспечения информ...
PDF
Центр оперативного управления информационной безопасностью
В чому різниця між тестами на проникнення, аудитами, та іншими послугами з кі...
Human is an amateur; the monkey is an expert. How to stop trying to secure yo...
The sooner the better but never too late
Threat Modeling 101
BSides Kharkiv 2018: Social-engineering your quality of work, personal, and s...
Application Security Webcast
Sigma Open Tech Week: Bitter Truth About Software Security
NoNameCon partnership opportunities
BruCON 0x09 Building Security Awareness Programs That Don't Suck
Организация, культура, и управление кибер-безопасностью
Cybersecurity Framework 021214 Final UA
Fantastic Beasts and where to hide from them
Кібер-Шмібер
Использование приватных, публичных и гибридных облаков для обеспечения информ...
Центр оперативного управления информационной безопасностью

Построение Secure Development Lifecycle

  • 2. Кто эти люди?.. • БМС Консалтинг • Мы делаем пентесты, много и часто • Black Box, Grey Box, социальная инженерия… • АБС, ДБО, биллинг, инфраструктура, веб- и прочие приложения • “Apparently, if you can test pens, you can test everything.” - H.D. Moore
  • 3. Что у нас позади • Мы видим “картинку” снаружи и она нас пугает • Domain Admin по внешнему вектору: 1 из 5-ти • Domain Admin по внутреннему вектору: 3 из 5-ти • В каждом “взрослом” пентесте: root, oracle, 100+ логинов/паролей пользователей, web shells…
  • 4. Наши впечатления • Типы граблей (по частоте обнаружения) • Bad/default/no credentials • Bad/no patch management • Passwords for candy • Application errors • Bad session management • Все остальные 17% 4% 13% 9% 22% 35%
  • 5. Угрозы и стек технологий
  • 6. Какие варианты? • Борьба за безопасность “готовой” системы - сизифов труд • Путь “Penetrate & Patch” ведет в никуда (хотя мы, конечно же, не против) • Пентесты покрывают чуть больше половины известных угроз • Infinity Maxim: There are an unlimited number of security vulnerabilities for a given security device, system, or program, most of which will never be discovered (by the good guys or bad guys). • Лучший способ избавиться от уязвимости - не дать ей возникнуть • “Идеальный” план: построение полноценного процесса Secure Development Lifecycle
  • 7. Secure Development Lifecycle • “Изобретен” Microsoft под давлением сообщества • Включает ряд организационных и технических процессов • И средства их автоматизации
  • 10. Этапы SDL • Обучение • Требования • Дизайн • Реализация • Проверка • Релиз • Реагирование vs. Чик-чик и в продакшн!
  • 11. Обучение • Разработка программы обучения • “Внешние” условия: требования, стандарты, законодательство • Методики и технологии разработки • Обучение команды и оценка результатов • Метрики/критерии обучения • Минимальная частота тренингов (на реже N раз в год) • Минимальный групповой порог подготовки (не мнее 80% команды) • Актуализация программы
  • 12. Требования • Утверждение требований безопасности до начала проекта • Внешние (PCI, PII, HIPPA…) и внутренние (оценка рисков) факторы • Требования безопасности (т.н. негативные требования) устанавливают, документируют (и тестируют) так же, как позитивные требования к функционалу • Минимальные требования безопасности (в терминах пороговых значений качества) • Назначение аналитика по безопасности
  • 13. Дизайн • Определение и документирование архитектуры безопасности и механизмов защиты • Использование техник безопасного дизайна: многослойность защиты, управление версиями, принцип наименьших привилегий, оценка рисков • Моделирование угроз в контексте дизайна проекта, выполняемых функций, обрабатываемых данных, размещения в инфраструктуре, уникальных особенностей • Минимизация угроз и рисков путем сужения “поверхности атаки”
  • 14. Реализация • Использование техник безопасного кодирования: проверка ввода, экранирование символов, параметризация запросов… • Статический анализ по мере готовности исходного кода • Реакция на уязвимости: исправление, документирование • Использование одобренных инструментов и параметров редактирования, контроля версий, сборки • Использование средств ОС: ASLR, DEP, SElinux, apparmor… • Отказ от незащищенных и устаревших библиотек, API, криптографических алгоритмов • Особое внимание к онлайн-сервисам: XSS, SQLi…
  • 15. Проверка • Переоценка модели угроз с учетом проделанной работы • Пересмотр дизайна с учетом новых угроз (изменение “поверхности атаки”) • Тестирование негативных требований • Динамический анализ по мере готовности объектного кода • Фаззинг, брут, стресс-тесты и прочее для файлового и пользовательского ввода, API, сетевых подключений и т.д. • Упор на анализ защищенности кода и тестирование безопасности • Специфические тесты для онлайн-сервисов • Реакция на уязвимости: исправление, документирование
  • 16. Релиз • Создание плана реагирования на инциденты и уязвимости, обнаруживаемые в системе • Обеспечение возможности выпуска исправлений безопасности • Финальная оценка защищенности • Принятие/отклонение релиза • Архивирование проекта • Обновление документации • Сохранение исходного кода для потомков (code escrow)
  • 17. Реагирование • Выполнение плана реагирования на инциденты, составленного на стадии релиза
  • 18. SDL для Agile • Вернемся в реальность: по “классическому” SDLC уже никто не работает • В Agile SDL практики классифицированы не по этапам SDLC, а по частоте выполнения • Every-sprint: самые важные, повторять для каждого релиза • One-time: менее критичные, выполнять одноразово • Bucket: все остальные, выполнять по мере надобности
  • 19. One-time • Из требований • Требования безопасности • Оценка рисков • Из дизайна • Требования к дизайну • Сужение поверхности атаки • Из релиза • Создание плана реагирования
  • 20. Every-sprint • Из дизайна • Моделирование угроз • Из реализации • Использование одобренных инструментов • Отказ от старого хлама (API, библиотеки и т.д.) • Статический анализ кода • Из релиза • Финальная оценка защищенности, принятие и архивирование
  • 21. Bucket • Из требований • Минимальные требования безопасности • Из проверки • Динамический анализ приложения • Фаззинг и прочие издевательства • Пересмотр модели угроз и “поверхности” атаки
  • 22. Ключевые концепции • Производство защищенного кода требует усовершенствования процессов разработки • Один лишь поиск багов не делает софт безопаснее • Риски это проблема менеджера, а не разработчика • Постоянный пересмотр процессов SDL • Непрерывное обучение, культура безопасности • Инструменты и автоматизация • Поощрение и последствия
  • 24. Подведем итог • Угрозы двигаются на уровень приложений • Сегмент инструментов автоматизации созрел • SDL внедряет безопасность в процессы и культуру разработки • Результаты измеримы и впечатляют • SDL Agile-у не враг