Similar presentations:
SSDLC. Моделирование угроз
1.
SSDLCМоделирование угроз
Иванов Александр Андреевич
2.
•Агенда• Общие вопросы по безопасной разработке
• Что такое Моделирование Угроз и зачем оно нужно?
• Обзор процесса
• Погружение в Моделирование Угроз (модель STRIDE)
• Выводы
3.
•Цели• Повысить осведомлённость о процессах безопасной разработки
• Познакомиться с процессом моделирования угроз
• Узнать о различных типах угроз и уязвимостей в системах
• Стать гуру Моделирования Угроз
4.
Общие вопросыОбщие вопросы
5.
SSDLC6.
Введение в моделирование угрозВведение в моделирование
угроз
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.
«Допрос» - SpoofingHTTPS
Получение результатов
опросов
Портал
администратора
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.
«Допрос» - TamperingHTTPS
Получение результатов
опросов
Портал
администратора
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.
«Допрос» - RepudiationHTTPS
Получение результатов
опросов
Портал
администратора
Production
network
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов
36.
«Допрос» - RepudiationHTTPS
Получение результатов
опросов
Портал
администратора
Production
network
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов
37.
•Information disclosureРаскрытие информации неавторизованному
пользователю
38.
Information disclosureПримеры:
• SQL-injection атака, при которой можно достать данные из БД
• Избыточная информация в логах
• Утечка кода из приватного репозитория из-за инцидента
• Использование небезопасных протоколов (HTTP)
39.
Information disclosureНейтрализация/смягчение угрозы:
• Хранить в системе как можно меньше необходимой для работы
информации
• Шифровать чувствительные данные
• Проверять, что только авторизованные пользователи могут иметь
доступ к данным
40.
«Допрос» - Information disclosureHTTPS
Получение результатов
опросов
Портал
администратора
Production
network
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов
41.
«Допрос» - Information disclosureHTTPS
Получение результатов
опросов
Портал
администратора
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 ServiceHTTPS
Получение результатов
опросов
Портал
администратора
Production
network
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов
46.
«Допрос» - Denial of ServiceHTTPS
Получение результатов
опросов
Портал
администратора
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 privilegeHTTPS
Получение результатов
опросов
Портал
администратора
Production
network
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов
51.
«Допрос» - Elevation of privilegeHTTPS
Получение результатов
опросов
Портал
администратора
Production
network
TCP no-TLS
Получение результатов
опросов
Администратор
«Допроса»
База данных
Анонимные
опрашиваемые
HTTPS
Загрузка результатов
опросов
Сервис опросов
TCP no-TLS
Загрузка результатов
опросов
52.
•ВыводыПовысить осведомлённость о процессах безопасной разработки
Познакомиться с процессом моделирования угроз
Узнать о различных типах угроз и уязвимостей в системах
Стать гуру Моделирования Угроз