Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

Доклад Владимира Садовского (МВМ (МВидео-Эльдорадо)) для PDUG-секции на форуме PHDays 9.

More Decks by Positive Development User Group

Other Decks in Programming

Transcript

  1. Заголовок ptsecurity.com Построение процесса безопасного программирования Руководитель группы мониторинга и

    реагирования на инциденты информационной безопасности МВидео-Эльдорадо Садовский Владимир Викторович
  2. Заголовок 4 Классический подход к SDLC Обеспечить обучение Выполнить моделирование

    угроз Определить требования безопасности Установить требования к Архитектуре Определить и использовать стандарты криптографии Управление рисками безопасности при использовании сторонних компонентов Используйте утверждённые инструменты Выполнение статического анализа безопасности тестирования (SAST) Провести динамическое тестирование безопасности (DAST) Выполнить тестирование на проникновение Установить стандартный процесс реагирования на инциденты
  3. Заголовок 9 Схема применения средств тестирования безопасности кода Idea Analyse

    Design Implemet Test Deploy Maintain Release Candidate Feature Prod AG DEV Development Code analyze Retest Bugfix Feature 1 Bugfixfrom prod Bugfix Bugfix Bugfix Финальная проверка кода перед выпуском новой функциональности в среду промышленной эксплуатации. Проверка кода по окончанию разработки новой функциональности. Code analyze Retest Bugfix Code analyze Retest Bugfix
  4. Заголовок 15 Software development lifecycle + Incident response and e-froud

    Idea Analyse Design Implemet Test Deploy Maintain Тренинг и политики Защита интеллектуальной собственности и ответственность Обучение Требования Анализ дизайн Модель угроз и риски Архитектура Тесты Статический анализ Динамический анализ Поиск уязвимостей в бизнес логике Поиск закладок Инциденты, аналитика и аудит Тесты безопасности BugBounty Средства защиты Secure BigDate Управление инцидентами и изменениями
  5. Заголовок 16 Обучение Software development lifecycle + Incident response and

    e-froud Защита интеллектуальной собственности и ответственность Требования • Контроль в части управления поставщиками - производить регулярные оценки компетенции разработчиков и уровень компаний с точки зрения ИБ • Предусматривать в договоре пункты по аттестации разработчиков и ответственность за ошибки, которые привели к ущербу • Проведение регулярного обучения для команд разработки • Заключать дополнительные соглашения о конфиденциальности с сотрудниками • Обеспечение комплексной защиты интеллектуальной собственности. Реализация контроля доступа, доверенной среды, настройка средств мониторинга и предотвращения утечкам • Формировать требования и политики по безопасному программированию, фиксировать версионности OpenSource и внешних библиотек
  6. Заголовок 17 Software development lifecycle + Incident response and e-froud

    Модель угроз и риски Архитектура • Построение модели угроз и проведение оценки рисков на нескольких этапах: • Оценка инициатив с точки зрения возможных фрод сценариев на уровни бизнес требований • Архитектурная оценка: • Формирование требований, которые будут применяться при реализации • Процесс по согласованию частных случаев реализации, обеспечить принятие рисков
  7. Заголовок 18 Software development lifecycle + Incident response and e-froud

    Риски Средний баланс БР Количество запросов ботов на сайте за месяц, каждый 10 вредоносный Потенциальный ущерб в год 10 ₽ 10000 1 200 000 ₽
  8. Заголовок 19 Software development lifecycle + Incident response and e-froud

    Риски Средний баланс БР Количество запросов ботов на сайте за месяц, каждый 10 вредоносный Потенциальный ущерб в год 10 ₽ 10000 1 200 000 ₽ Риск Сценарий Параметры Пессимистичный сценарий (90%) (Worst Case - WC) представляет собой наихудший реалистично представимый вариант развития событий, который отождествляется с фактической стоимостью, находящейся под риском. Наилучшая оценка (60%) (Best Estimate - BE) означает наиболее вероятную ситуацию или наиболее ожидаемый исход. Оптимистичный сценарий (30%) (Best Case - BC) представляет собой наиболее оптимистичный и при этом реалистично представимый исход событий. Risk Объединение аккаунтов Потенциальный ущерб, 1 год 1 200 000 ₽ 1 200 000 ₽ 1 200 000 ₽ Простота реализации 30% 30% 30% Потенциальный ущерб 324 000 ₽ 216 000 ₽ 108 000 ₽ Project: Secure application development process implementation 40% 40% 40% Итого с учётом принятых мер 194 400 ₽ 129 600 ₽ 64 800 ₽
  9. Заголовок 20 Software development lifecycle + Incident response and e-froud

    Поиск уязвимостей в бизнес логике Динамический анализ Поиск закладок Статический анализ • Статический анализ • Использование инструментов для подсвечивания потенциальных уязвимостей на стадии разработки, интеграция с IDE инструментами • Непрерывное сканирование доработок автоматизированными средствами выявления уязвимостей в коде • Поиск уязвимостей безопасности в бизнес логике: • Реализация автотестов безопасности при тестировании приложений • Создание костюмных правил для статического анализатора с привязкой к критичным бизнес процессам и интеграциям • Ручной анализ частей изменённого кода, в разрезе функционала, который имеет высокую критичность на основании рисков • Процесс поиска закладок в коде, периодический аудит внешних библиотек
  10. Заголовок 21 Software development lifecycle + Incident response and e-froud

    Тесты безопасности BugBounty Средства защиты Управление инцидентами и изменениями Secure BigDate • Построение процесса управлением уязвимостями и инцидентами: • Реализация Secure BigDate, построение моделей аномального поведения и отклонения от нормы • Поиск уязвимостей на основании аналитики с сервисов аналитики метрик (Google, Yandex) • Мониторинг критичных точек функционала и бизнес-логики • Регулярное проведение тестирования защищённости проекта целиком • Процесс по мониторингу и аудиту JS-скриптов • Использование программы BugBounty для выявления новых уязвимостей • Интеграция WAF для осуществления защиты приложений, и эффективного реагирования на проблемы, обогащение данными для выявления новых аномальных кейсов