Обеспечение доступности — это сложная задача, которая требует совместной работы специалистов по проектированию и администрированию сетей, разработчиков приложений, тестировщиков и специалистов по IT-безопасности.
В этом докладе мы поговорим о том, какие области науки о данных применимы при защите от DDoS, взглянем на машинное обучение с позиций злоумышленников, специалистов по обеспечению доступности и по защите информации.
Рассмотрим в этом контексте обучение с обратной связью:
+ от окружающей среды (теория управления/control theory),
+ от данных (кластеризация, unsupervised learning),
+ от внешнего источника (обучение с учителем/supervised learning — классификация и регрессия).
Сделаем акцент на сложности алгоритмов и времени, необходимом для обучения. Машинное обучение нельзя просто включить по щелчку пальцев: чтобы всё работало хорошо, нужно заблаговременно подготовить данные, настроить и обучить механизмы защиты.
Report
Share
Report
Share
1 of 55
Download to read offline
More Related Content
Как подготовиться к гигабитной DDoS-атаке при помощи машинного обучения / Игнатов Константин (Qrator Labs)
1. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Как подготовиться к гигабитной DDoS-атаке
при помощи машинного обучения
Константин Игнатов
Qrator Labs
3.11.2015
@podshumok Qrator
Machine learning for DDoS mitigation
4. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
План
Процессы информационной безопасности
Информационная безопасность
Процесс DDoS mitigation
Machine learning
Объяснимость и устойчивость к манипуляциям
Что захочет сделать злоумышленник
Сбор данных
Откуда брать данные для обучения?
Чему учиться, что искать?
Примеры задач
Предсказание нагрузки
Поиск групп запросов
@podshumok Qrator
Machine learning for DDoS mitigation
5. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Информационная безопасность
План
Процессы информационной безопасности
Информационная безопасность
Процесс DDoS mitigation
Machine learning
Объяснимость и устойчивость к манипуляциям
Что захочет сделать злоумышленник
Сбор данных
Откуда брать данные для обучения?
Чему учиться, что искать?
Примеры задач
Предсказание нагрузки
Поиск групп запросов
@podshumok Qrator
Machine learning for DDoS mitigation
6. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Информационная безопасность
Обеспечение доступности
Процесс противодействия злоумышленнику
наша цель — 100% доступность
цель злоумышленника — наш даунтайм
Основные принципы:
"мыслить как преступник"
спрашивать (не только) себя: "что здесь может пойти
не так?"
@podshumok Qrator
Machine learning for DDoS mitigation
7. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Информационная безопасность
Обеспечение доступности
Процесс противодействия злоумышленнику
наша цель — 100% доступность
цель злоумышленника — наш даунтайм
Основные принципы:
"мыслить как преступник"
спрашивать (не только) себя: "что здесь может пойти
не так?"
@podshumok Qrator
Machine learning for DDoS mitigation
8. Если что-то плохое может произойти, оно произойдёт...
по чьей-то злой воле
9. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Процесс DDoS mitigation
План
Процессы информационной безопасности
Информационная безопасность
Процесс DDoS mitigation
Machine learning
Объяснимость и устойчивость к манипуляциям
Что захочет сделать злоумышленник
Сбор данных
Откуда брать данные для обучения?
Чему учиться, что искать?
Примеры задач
Предсказание нагрузки
Поиск групп запросов
@podshumok Qrator
Machine learning for DDoS mitigation
10. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Процесс DDoS mitigation
Защищаем ограниченные ресурсы
DDoS атака, как правило, направлена на их исчерпывание
Требуется совместная работа многих отделов
сетевые инженеры, архитекторы: канал
разработчики приложения: память, CPU, IOPS
специалисты по ИБ: защищаемый IP
@podshumok Qrator
Machine learning for DDoS mitigation
12. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Объяснимость и устойчивость к манипуляциям
План
Процессы информационной безопасности
Информационная безопасность
Процесс DDoS mitigation
Machine learning
Объяснимость и устойчивость к манипуляциям
Что захочет сделать злоумышленник
Сбор данных
Откуда брать данные для обучения?
Чему учиться, что искать?
Примеры задач
Предсказание нагрузки
Поиск групп запросов
@podshumok Qrator
Machine learning for DDoS mitigation
13. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Объяснимость и устойчивость к манипуляциям
Machine learning для автоматизации
Machine learning — это просто набор алгоритмов
Два этапа работы алгоритмов:
подготовка (настройка, выбор модели, обучение)
предсказание
Три типа алгоритмов:
с обратной связью от среды
теория управления (control systems)
с обратной связью от человека
обучение с учителем (supervised learning)
с обратной связью от данных
обучение без учителя (unsupervised learning)
@podshumok Qrator
Machine learning for DDoS mitigation
15. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Объяснимость и устойчивость к манипуляциям
Требования к алгоритмам
Алгоритмы дают оценку, например, матожидания E [ω|X]
ω — случайная величина (что мы хотим «предсказать»)
X — известные данные
Мы хотим:
На первом этапе работы: игнорировать аномалии при
обучении (в обратной связи)
На втором: иметь возможность понять, почему было принято
именно такое решение
@podshumok Qrator
Machine learning for DDoS mitigation
16. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Что захочет сделать злоумышленник
План
Процессы информационной безопасности
Информационная безопасность
Процесс DDoS mitigation
Machine learning
Объяснимость и устойчивость к манипуляциям
Что захочет сделать злоумышленник
Сбор данных
Откуда брать данные для обучения?
Чему учиться, что искать?
Примеры задач
Предсказание нагрузки
Поиск групп запросов
@podshumok Qrator
Machine learning for DDoS mitigation
17. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Что захочет сделать злоумышленник
Кто учит машину?
Данные для
обучения = поведение
пользователей
То есть частично
контролируемы
злоумышленником
И тут у злоумышленника появляется одна идея...
научить наш алгоритм «вместо нас»
Это плохо. И может случиться. Что делать?
@podshumok Qrator
Machine learning for DDoS mitigation
18. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Что захочет сделать злоумышленник
Кто учит машину?
Данные для
обучения = поведение
пользователей
То есть частично
контролируемы
злоумышленником
И тут у злоумышленника появляется одна идея...
научить наш алгоритм «вместо нас»
Это плохо. И может случиться. Что делать?
@podshumok Qrator
Machine learning for DDoS mitigation
19. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Что захочет сделать злоумышленник
Кто учит машину?
Данные для
обучения = поведение
пользователей
То есть частично
контролируемы
злоумышленником
И тут у злоумышленника появляется одна идея...
научить наш алгоритм «вместо нас»
Это плохо. И может случиться. Что делать?
@podshumok Qrator
Machine learning for DDoS mitigation
20. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Что захочет сделать злоумышленник
Кто учит машину?
Данные для
обучения = поведение
пользователей
То есть частично
контролируемы
злоумышленником
И тут у злоумышленника появляется одна идея...
научить наш алгоритм «вместо нас»
Это плохо. И может случиться. Что делать?
@podshumok Qrator
Machine learning for DDoS mitigation
22. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Что захочет сделать злоумышленник
Робастная оценка
Робастность — мера того, насколько просто повлиять на
предсказываемую оценку
Breaking point — количество образцов в обучающей выборке,
достаточное для того, чтобы исказить оценку
Чем выше Breaking Point, тем сложнее злоумышленнику
повлиять на работу алгоритма ML
Что означает «сложнее»?
@podshumok Qrator
Machine learning for DDoS mitigation
23. Деталь, которая не ломается, отличается от детали,
которая ломается, тем, что, если деталь, которая не
ломается, сломается, то её нельзя будет починить.
24. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Что захочет сделать злоумышленник
Объяснимость
Помогает «приглядывать» за автоматизированным
процессом.
Как иначе понять, что что-то пошло не так?
Помогает при тестировании и отладке.
Помогает при расследовании инцидентов.
@podshumok Qrator
Machine learning for DDoS mitigation
26. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Откуда брать данные для обучения?
План
Процессы информационной безопасности
Информационная безопасность
Процесс DDoS mitigation
Machine learning
Объяснимость и устойчивость к манипуляциям
Что захочет сделать злоумышленник
Сбор данных
Откуда брать данные для обучения?
Чему учиться, что искать?
Примеры задач
Предсказание нагрузки
Поиск групп запросов
@podshumok Qrator
Machine learning for DDoS mitigation
27. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Откуда брать данные для обучения?
Что хранить
Необходимо (и легко)
Данные о состояния
сервера
(«телеметрию»):
статистика
соединений
объём трафика
свободная память
загрузка ЦПУ
прочие замеры
исчерпываемых
ресурсов
Полезно (но тяжело)
Логи
желательно,
подробные
в основном, access.log
в более-менее
удобном для машины
формате
@podshumok Qrator
Machine learning for DDoS mitigation
28. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Откуда брать данные для обучения?
Что хранить
Необходимо (и легко)
Данные о состояния
сервера
(«телеметрию»):
статистика
соединений
объём трафика
свободная память
загрузка ЦПУ
прочие замеры
исчерпываемых
ресурсов
Полезно (но тяжело)
Логи
желательно,
подробные
в основном, access.log
в более-менее
удобном для машины
формате
@podshumok Qrator
Machine learning for DDoS mitigation
29. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Откуда брать данные для обучения?
Логи
Нужен хотя бы небольшой образец логов «чистого
поведения»
Нужно иметь возможность сохранить хотя бы часть логов
за время атаки
Что здесь может пойти не так?
Можно хранить только подмножество логов
Важно: правильно организовать выборку
например, можно хранить только запросы с
MurmurHash(IP) mod 1024 ∈ B, где B ⊂ 0, 1023
@podshumok Qrator
Machine learning for DDoS mitigation
30. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Откуда брать данные для обучения?
Логи
Нужен хотя бы небольшой образец логов «чистого
поведения»
Нужно иметь возможность сохранить хотя бы часть логов
за время атаки
Что здесь может пойти не так?
Можно хранить только подмножество логов
Важно: правильно организовать выборку
например, можно хранить только запросы с
MurmurHash(IP) mod 1024 ∈ B, где B ⊂ 0, 1023
@podshumok Qrator
Machine learning for DDoS mitigation
31. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Откуда брать данные для обучения?
Логи
Нужен хотя бы небольшой образец логов «чистого
поведения»
Нужно иметь возможность сохранить хотя бы часть логов
за время атаки
Что здесь может пойти не так?
Можно хранить только подмножество логов
Важно: правильно организовать выборку
например, можно хранить только запросы с
MurmurHash(IP) mod 1024 ∈ B, где B ⊂ 0, 1023
@podshumok Qrator
Machine learning for DDoS mitigation
32. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Откуда брать данные для обучения?
Логи
Нужен хотя бы небольшой образец логов «чистого
поведения»
Нужно иметь возможность сохранить хотя бы часть логов
за время атаки
Что здесь может пойти не так?
Можно хранить только подмножество логов
Важно: правильно организовать выборку
например, можно хранить только запросы с
MurmurHash(IP) mod 1024 ∈ B, где B ⊂ 0, 1023
@podshumok Qrator
Machine learning for DDoS mitigation
33. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Чему учиться, что искать?
План
Процессы информационной безопасности
Информационная безопасность
Процесс DDoS mitigation
Machine learning
Объяснимость и устойчивость к манипуляциям
Что захочет сделать злоумышленник
Сбор данных
Откуда брать данные для обучения?
Чему учиться, что искать?
Примеры задач
Предсказание нагрузки
Поиск групп запросов
@podshumok Qrator
Machine learning for DDoS mitigation
34. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Чему учиться, что искать?
Что даёт сбор данных?
«Телеметрия»
Фиксируем, когда
серверу «плохо»
Прогнозируем
проблемы
Логи
Чем отличается
зловредное поведение,
от
«доброкачественного»?
Какая группа
пользователей вызывает
основную нагрузку?
@podshumok Qrator
Machine learning for DDoS mitigation
35. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Чему учиться, что искать?
Что даёт сбор данных?
«Телеметрия»
Фиксируем, когда
серверу «плохо»
Прогнозируем
проблемы
Логи
Чем отличается
зловредное поведение,
от
«доброкачественного»?
Какая группа
пользователей вызывает
основную нагрузку?
@podshumok Qrator
Machine learning for DDoS mitigation
36. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Предсказание нагрузки
План
Процессы информационной безопасности
Информационная безопасность
Процесс DDoS mitigation
Machine learning
Объяснимость и устойчивость к манипуляциям
Что захочет сделать злоумышленник
Сбор данных
Откуда брать данные для обучения?
Чему учиться, что искать?
Примеры задач
Предсказание нагрузки
Поиск групп запросов
@podshumok Qrator
Machine learning for DDoS mitigation
37. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Предсказание нагрузки
Цепочки задач
1. Какая ожидается нагрузка?
1.1 А какая бывает?
1.2 На что похоже то, что наблюдаем сейчас?
2. Нужно ли что-то делать?
2.1 Какое количество запросов приводит к сбоям сервера?
2.2 Сколько нужно «зарезать» запросов, чтобы стало легче
жить?
2.3 Нужно ли заблокировать часть легитимных запросов?
3. Какие запросы более важны?
@podshumok Qrator
Machine learning for DDoS mitigation
38. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Предсказание нагрузки
Исходные данные
@podshumok Qrator
Machine learning for DDoS mitigation
39. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Предсказание нагрузки
Общие замечания
Использование абсолютных отклонений (L1)
Робастная нормализация
Нелинейные обратимые преобразования (sigmoid)
"Тяжёлые хвосты", когда нужно предположение о
распределении
Сэмплирование уменьшает вероятность попадания
Как правило, можно принять:
В алгоритмах, основанных на деревьях,
breaking point<минимальный размер листка
При кластеризации breaking point<минимальный размер
кластера
@podshumok Qrator
Machine learning for DDoS mitigation
40. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Предсказание нагрузки
Подготовка
@podshumok Qrator
Machine learning for DDoS mitigation
43. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Предсказание нагрузки
Кластеризация
@podshumok Qrator
Machine learning for DDoS mitigation
44. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Предсказание нагрузки
Классификация + регрессия
@podshumok Qrator
Machine learning for DDoS mitigation
45. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Поиск групп запросов
План
Процессы информационной безопасности
Информационная безопасность
Процесс DDoS mitigation
Machine learning
Объяснимость и устойчивость к манипуляциям
Что захочет сделать злоумышленник
Сбор данных
Откуда брать данные для обучения?
Чему учиться, что искать?
Примеры задач
Предсказание нагрузки
Поиск групп запросов
@podshumok Qrator
Machine learning for DDoS mitigation
46. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Поиск групп запросов
Примеры признаков запросов/сессий
Пользуется ли посетитель последней версией браузера?
Читает ли на там же языке, который используется в его
системной локали?
Загружает ли статику? Сколько раз запросил
favicon.ico?
Заходил ли на страницу /buy?
@podshumok Qrator
Machine learning for DDoS mitigation
47. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Поиск групп запросов
Pattern discovery
Как выделить признаки запросов/сессий
Дано: всплеск на 50k запросов.
Преобразуем запрос в набор элементарных признаков
@podshumok Qrator
Machine learning for DDoS mitigation
49. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Поиск групп запросов
Pattern discovery
Наиболее популярные:
подмножества (элементарных признаков)
подпоследовательности (запросов)
подграфы (переходов)
@podshumok Qrator
Machine learning for DDoS mitigation
50. Процессы ИБ Machine learning Сбор данных Примеры задач Самое важное
Итого: готовиться нужно заранее
Защита как процесс
Нужно время на поиск и/или подготовку специалистов
Нужно время на сбор данных
Нужно время на ручной анализ, выбор и настройку
алгоритмов
Нужно время на обучение алгоритмов
К размышлению:
Документирование процесса защиты.
Связь с бизнес-аналитикой.
Стандартизация собираемой информации.
@podshumok Qrator
Machine learning for DDoS mitigation
52. Запасные слайды
Защита, прозрачная для пользователей
Почему нельзя просто...
Full browser stack
Completely Automated Public Turing test to tell Computers
and Humans Apart
простые — взломаны
сложные — вызывают боль у пользователей
automated humans
@podshumok Qrator
Machine learning for DDoS mitigation
53. Запасные слайды
Схема защиты
Availability network
Подключение по DNS
клиент получает IP, пользователи используют его,
reverse-proxy перенаправляет чистые запросы на старый
адрес
самый простой и быстрый, но конфиденциальность
защищаемого IP нужно беречь как зеницу ока
Выделенный VPN канал
BGP анонс
@podshumok Qrator
Machine learning for DDoS mitigation