2.20M
Category: internetinternet

SSDLC. Моделирование угроз

1.

SSDLC
Моделирование угроз
Иванов Александр Андреевич

2.

•Агенда
• Общие вопросы по безопасной разработке
• Что такое Моделирование Угроз и зачем оно нужно?
• Обзор процесса
• Погружение в Моделирование Угроз (модель STRIDE)
• Выводы

3.

•Цели
• Повысить осведомлённость о процессах безопасной разработки
• Познакомиться с процессом моделирования угроз
• Узнать о различных типах угроз и уязвимостей в системах
• Стать гуру Моделирования Угроз

4.

Общие вопросы
Общие вопросы

5.

SSDLC

6.

Введение в моделирование угроз
Введение в моделирование
угроз

7.

Что такое Моделирование Угроз?
Основная цель моделирования угроз – определить активы
в информационной системе и то, как мы будем их
защищать

8.

Ты уже моделируешь угрозы!

9.

Преимущества Моделирования Угроз
• Устраняем недостатки до их появления в системе
• Самый дешёвый способ устранить уязвимость
• Все наши предположения/риски задокументированы
• Отличный инструмент для тестирования безопасности и
специалистов по анализу защищённости

10.

Основные шаги Моделирования Угроз
• Описание системы/Декомпозиция
• Поиск угроз
• Приоритизация угроз
• Нейтрализация угроз

11.

Пример
• Вы купили загородный дом.
• Давайте о безопасности Вашего новенького дома.
• Что мы попытаемся защитить?
• Какие проблемные места вы видите?

12.

1. Описание системы
• Что из себя представляет дом?
• Как я могу войти/выйти?
• Что можно улучшить в данной схеме, чего не
хватает?

13.

2. Поиск угроз
• Мы хотим защитить дом и вещи в этом доме. Какие опасности приходят на ум? Давайте
определим угрозы.
• Что нас волнует?
• Как злоумышленник может получить доступ к активу?
• Что может пойти не так?

14.

3. Приоритизация угроз
• Приоритизируйте найденные угрозы
• Взлом замка
• Подкуп охранника
• Проникновение через незапертое окно
• Проникновение в гараж

15.

4. Нейтрализация угроз
• Итак, теперь мы знаем, какие активы есть в
нашем доме и главный нарушитель у нас –
вор. Как мы будем защищать дом?
• Что мы можем сделать, чтобы обезопасить дом?
• Какие контроли внедрим?
• У нас есть какие-либо ограничения?
• Угрозы
• Проникновение через окно
• Взлом замка
• Проникновение через гараж
• Подкуп охранника

16.

We are done!
• Только что вы прошли через процесс моделирования
угроз. Теперь мы можем всё задокументировать и
сформировать модель угроз. Она должна включать:
• Описание системы
• Архитектурные диаграммы
• Сделанные предположения
• Найденные угрозы
• Приоритизация угроз
• Способы нейтрализации непринятых рисков
• Комментарии по принятым рискам

17.

Активы
Активы

18.

Активы
• Актив – это любой элемент в вашей модели угроз, который вы хотите защитить
• Телевизор или мусор?
• Должны ли мы защищать всё?
• О каких данных мы должны заботиться
прежде всего?

19.

Угрозы
Угрозы

20.

Модель STRIDE
•S
Spoofing
•T
Tampering
•R
Repudiation
•I
Information Disclosure
•D
Denial of Service
•E
Elevation of Privilege

21.

•Spoofing
Ситуация, в которой личность или программа
успешно маскируется под другую путём
фальсификации данных и позволяет получить
незаконные преимущества

22.

Spoofing
Примеры:
• Brute force attack – нарушитель знает логин и пытается подобрать пароль к
этой УЗ, чтобы войти под чужой УЗ
• Credential stuffing attack – применение реальных учётных данных,
похищенных на другом ресурсе
• Нарушитель получает доступ к кодовой базе, в которой есть hardcoded
учётные данные

23.

Spoofing
Нейтрализация/смягчение угрозы:
• Надёжные пароли
• Надёжные механизмы аутентификации (например, MFA)
• Временная задержка
• CAPTCHA

24.

Пример – «Допрос»
Для повышения лояльности клиентов, компания разработала
инструмент по созданию опросов, чтобы получать обратную связь от
клиентов по их продуктам – «Допрос»
Инструмент очень простой:
• Веб-сервис, который предоставляет опрос анонимным пользователям
и хранит их результаты опроса;
• Веб-сервис, который показывает результаты опросов
Администраторам компании.
Система находится в изолированном production-контуре сети. Другие
сервисы не имеют доступа к этой системе.

25.

«Допрос» - Spoofing
HTTPS
Получение результатов
опросов
Портал
администратора
Production
network
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов

26.

«Допрос» - Spoofing
Ситуация, в которой личность или программа успешно маскируется под другую путём фальсификации данных и
позволяет получить незаконные преимущества
Production
network
HTTPS
Получение результатов
опросов
Портал
администратора
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов

27.

•Tampering
Вмешательство в систему с целью оказать
ущерб или выполнить неавторизованные
действия

28.

Tampering
Примеры:
• Модификация запросов с использованием инструментов типа Burp Suite для
преодоления защиты на стороне Клиента
• SQL-инъекция, которую атакующий может эксплуатировать для
модификации данных в БД
• Подмена логов аутентификации приложения, чтобы скрыть свои следы

29.

Tampering
Нейтрализация/смягчение угрозы:
• Не доверять данным, пришедшим от клиента
• Валидация на стороне клиента это очень хорошо для UX, но данные
должны валидироваться при проверках на стороне сервера
• Убедиться, что ролевая модель надёжна (принцип наименьших
привилегий)

30.

«Допрос» - Tampering
HTTPS
Получение результатов
опросов
Портал
администратора
Production
network
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов

31.

«Допрос» - Tampering
Ситуация, в которой личность или программа успешно маскируется под другую путём фальсификации данных и
позволяет получить незаконные преимущества
Production
network
HTTPS
Получение результатов
опросов
Портал
администратора
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов

32.

•Repudiation
Способность отрицать факт какого-либо
действия или события

33.

Repudiation
Примеры:
• Если мы не создаём логи доступа или вообще логи приложения, то клиент
может утверждать, что он не выполнял какого-либо действия в системе, хотя
и может быть очевидно обратное
• Запись в лог доступа формируется на основе параметров, передаваемых
клиентом (например, в заголовке Cookie)
• Злоумышленник удаляет сообщения в логе из-за отсутствия надёжного
механизма контроля целостности (Tapmering + Repudiation)

34.

Repudiation
Нейтрализация/смягчение угрозы:
• Логирование действий пользователей в приложении (кто, что, когда)
• Убедиться в безопасности логов, в том что злоумышленник не может
их просто перезаписать
• Регулярно проводить аудит логов

35.

«Допрос» - Repudiation
HTTPS
Получение результатов
опросов
Портал
администратора
Production
network
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов

36.

«Допрос» - Repudiation
HTTPS
Получение результатов
опросов
Портал
администратора
Production
network
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов

37.

•Information disclosure
Раскрытие информации неавторизованному
пользователю

38.

Information disclosure
Примеры:
• SQL-injection атака, при которой можно достать данные из БД
• Избыточная информация в логах
• Утечка кода из приватного репозитория из-за инцидента
• Использование небезопасных протоколов (HTTP)

39.

Information disclosure
Нейтрализация/смягчение угрозы:
• Хранить в системе как можно меньше необходимой для работы
информации
• Шифровать чувствительные данные
• Проверять, что только авторизованные пользователи могут иметь
доступ к данным

40.

«Допрос» - Information disclosure
HTTPS
Получение результатов
опросов
Портал
администратора
Production
network
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов

41.

«Допрос» - Information disclosure
HTTPS
Получение результатов
опросов
Портал
администратора
Production
network
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов

42.

•Denial of Service
Отказ или снижение качества обслуживания
пользователей

43.

Denial of Service
Примеры:
• Переполнение файловой системы
• Несвоевременное закрытие http-соединений. Злоумышленник может
попытаться исчерпать пул потоков
• Распределённая DoS атака: огромное количество запросов может
перегрузить сервер

44.

Denial of Service
Нейтрализация/смягчение угрозы:
• Проверка полномочий
• Ограничения (на кол-во запросов/действий в секунду/минуту)
• Квоты

45.

«Допрос» - Denial of Service
HTTPS
Получение результатов
опросов
Портал
администратора
Production
network
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов

46.

«Допрос» - Denial of Service
HTTPS
Получение результатов
опросов
Портал
администратора
Production
network
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов

47.

•Elevation of Privilege
Повышение привилегий позволяет
получить доступ к тому, к чему доступа
изначально быть не должно

48.

Elevation of privilege
Примеры:
• Непривилегированный пользователь переходит по адресу (/manageusers) и
может выполнять админские действия
• Непривилегированный пользователь отправляет запрос DELETE на API и этот
запрос не валидируется
• Используя SSRF получаем доступ к сервису, который не имеет механизмов
аутентификации

49.

Elevation of privilege
Нейтрализация/смягчение угрозы:
• Проверка прав и полномочий
• Валидация вводимых данных
• Качественное логирование

50.

«Допрос» - Elevation of privilege
HTTPS
Получение результатов
опросов
Портал
администратора
Production
network
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов

51.

«Допрос» - Elevation of privilege
HTTPS
Получение результатов
опросов
Портал
администратора
Production
network
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов

52.

•Выводы
Повысить осведомлённость о процессах безопасной разработки
Познакомиться с процессом моделирования угроз
Узнать о различных типах угроз и уязвимостей в системах
Стать гуру Моделирования Угроз
English     Русский Rules