Как защитить API от ботнета¶
Эксперимент с защитными мерами · 90 суток
В парке из 10 000 камер и терминалов заражены 100 устройств. Изменим меры защиты и посмотрим, как меняются число вербующих и атакующих ботов, трафик и доступность API.
Задача: подобрать защиту, обеспечивающую за 90 суток 0 часов отказа и не более 240 часов замедления.
Исходные условия¶
| Величина | Значение |
|---|---|
| Размер парка N | 10 000 устройств |
| Горизонт наблюдения | 90 суток |
| Заражено в начале | 100 устройств |
| Пропускная способность канала | 400 Мбит/с |
| Штатный поток | 240 Мбит/с |
| Поток одного активного бота | 2 Мбит/с |
| Замедление без отказа | Атакующий поток от 100 до 160 Мбит/с, не включая 160 |
| Отказ | Атакующий поток от 160 Мбит/с |
Начальные доли состояний:
| S(0) | I(0) | A(0) | D(0) | R(0) |
|---|---|---|---|---|
| 0,99 | 0,01 | 0 | 0 | 0 |
Часы замедления и отказа считаем отдельно, без пересечения. В опытах меняем один параметр или одну меру за раз, сохраняя остальные условия.
Параметры¶
Время измеряется в сутках, состояния — долями парка. Все семь коэффициентов заданы в сут⁻¹.
| β | γ | κ | μ | η | α | δ | |
|---|---|---|---|---|---|---|---|
| Переход | S → I | I → A | I → R | A → D | S → D | D → R | R → S |
| Базовое значение | 0,40 | 0,15 | 0,08 | 0,35 | 0,04 | 0,05 | 0,03 |
Дальше каждый опыт указывает, какой параметр меняем и какие результаты сравниваем.
01 · Сегментация сети¶
Меняем: долю закрытых межсегментных связей, %.
Измеряем: рост заражения, пики I и A, часы замедления и отказа.
Вопросы и опыты
При какой доле закрытых связей I перестаёт расти с начала наблюдения?
Совпадают ли по времени пики I и A?
Как меняются часы замедления и отказа при закрытии связей?
Почему замедления уже нет, хотя показатель S(t)R₀ ещё выше единицы и заражение продолжает расти?
02 · Время блокировки и начальное заражение¶
Меняем:
- Время блокировки (среднее время от начала атаки устройства до блокировки его трафика).
- Начальное число заражённых устройств.
Измеряем: пики числа вербующих I и атакующих A; часы замедления и отказа.
Цель: 0 часов отказа и не более 240 часов замедления за 90 суток.
Вопросы и опыты
Оставьте 100 заражённых. Сравните время блокировки 48 и 36 часов. Как изменились пик атакующих A, часы замедления и отказа?
Как при этом изменился пик вербующих I? Почему изменение времени блокировки действует на I и A по-разному?
Какой из двух режимов позволяет получить 0 часов отказа и не более 240 часов замедления? Выберите более медленный из подходящих.
Оставьте выбранное время блокировки и уменьшите начальное число заражённых до 50. Как изменились часы замедления и отказа?
При том же времени блокировки увеличьте начальное число заражённых до 400. Выполняется ли теперь цель?
Почему один и тот же режим блокировки даёт разные результаты при 50, 100 и 400 заражённых?
Сравните выбранный режим блокировки с сегментацией из задания 01 при 100 заражённых. Какая мера сильнее уменьшает пик I? Что нужно изменить, чтобы сдерживать само заражение?
03 · Сравнение мер¶
Меняем: меру защиты — патчинг, очистку, блокировку или патчинг вместе с очисткой.
Измеряем: R₀, пики I и A, часы замедления и отказа.
Вопросы и опыты
Предположите, какая мера сильнее повлияет на I, а какая — на A. Затем переключите варианты и проверьте.
Какая мера уменьшает пик I, хотя R₀ не меняется?
Какая мера уменьшает преимущественно число атакующих A?
У всех ли вариантов без отказа одинаковая динамика заражения?
Что меняется при совместном патчинге и очистке?
04 · Блокировка команд и очистка ботов¶
Меняем:
- Скорость активации γ (переход заражённого устройства в атаку).
- Скорость очистки κ (удаление заражения с устройства).
Измеряем: R₀, пики вербующих I и атакующих A, часы замедления и отказа.
Вопросы и опыты
Оставьте очистку κ = 0,08 и уменьшайте активацию γ от 0,15 до 0,01. Как меняются часы отказа?
При каком значении γ отказ сильнее всего?
При γ = 0,01 отказа нет. Что при этом происходит с числом вербующих I?
Почему уменьшение скорости перехода I → A может увеличить число вербующих I?
Оставьте γ = 0,01 и увеличивайте скорость очистки κ. При какой предложенной настройке R₀ становится меньше единицы?
Достаточно ли блокировать команды, чтобы избавиться от заражённых устройств?
Браузерная игра¶
Выбор мер защиты и проверка при разном начальном числе заражённых перенесены в отдельную браузерную игру.
05 · Итог — как меры меняют систему¶
На первой диаграмме сравните направление действия мер, на второй — длительность замедления и отказа.
Начальные условия одинаковы: 100 заражённых из 10 000 устройств. Горизонт — 90 суток. Номера вариантов совпадают на обеих диаграммах.
Справка к диаграммам
- Первая диаграмма: одна точка — результат одного варианта за 90 суток. Стрелки сравнивают варианты, а не показывают движение системы во времени.
- Левее вертикали 1 заражение сокращается на старте, правее — растёт на старте. Это не значение S(t)R₀ во все моменты времени.
- Высота точки — максимальный трафик: ниже 100 Мбит/с замедления нет за весь расчёт; от 100 до 160 возможно замедление без отказа; от 160 возможен отказ.
- Вторая диаграмма показывает длительность: жёлтая часть — только замедление, красная — отказ. Эти часы не пересекаются. Ноль означает отсутствие обоих нарушений.
Вопросы для вывода
Какие меры позволяют избежать отказа, но оставляют рост заражения с начала наблюдения?
Какие меры нужно объединить, чтобы убрать и рост заражения с начала наблюдения, и замедление сервиса?