Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
493.doc
Скачиваний:
18
Добавлен:
30.04.2022
Размер:
8.68 Mб
Скачать

5.2.3.2.1 Минимальная скорость DoS-атаки

Допустим, что атакующий ограничен максимальной скоростью Rmax, существованием второго «бутылочного горлышка» или пропускной способностью своего канала. В интересах атакующего, скрыть факт атаки от механизмов IDS и роутеров. Для минимизации объема трафика в моменты создания перебоев в канале атакующий может использовать двухступенчатые импульсы, как показано на рисисунке 5.18. Для заполнения буфера без участия нормального трафика атакующему нужно L1=B/( Rmax -C) секунд. Заметим, что максимальная скорость Rmax минимизирует время L1 и, как следствие, количество отправляемых байт. После заполнения буфера, атакующий снижает скорость до емкости «бутылочного горлышка» С для гарантированной потери пакетов, но при этом используется существенно меньшая скорость.

Поэтому двухуровневый (или двухскоростной) импульс уменьшает объем трафика, который необходимо передать для гарантированного вывода из строя канала на период T (для заданных B — размер очереди в «бутылочном горлышке», С — емкость «бутылочного горлышка» и диапазона возможных скоростей от 0 до Rmax).

Для воспроизведения двухскоростной атаки в реальных сетях, атакующий может воспользоваться следующими инструментами для обнаружения емкости «бутылочного горлышка», для измерения размера очереди «бутылочного горлышка» и для вычисления второй скорости «бутылочного горлышка».

Рисунок 5.18 - Двухуровневый импульс атаки

Несмотря на оптимальность двухуровневых импульсов для проведения атаки, в дальнейшем будем использовать простые одиночные импульсы (см. рисунок 5.15). Причин тому несколько: во-первых, необязательно (и даже не нужно) знать о других параметрах удаленной сети, кроме как емкости «бутылочного горлышка»; во-вторых, одиночные импульсы выделяют эффект от периодической атаки на отдельной временной шкале. Сравним эффекты от атаки одиночными импульсами и двойными, проведя соответствующее моделирование. В качестве примера возьмем следующие исходные данные: одиночный импульс со скоростью 3.75 Мб/с и длительностью L=50 мс и двухуровневый импульс с Rmax =10 Мб/с. Для двухскоростного потока L1=B/(Rmax -C) вычисляется, а L2 определено таким образом, что количество пакетов отправленных атакованному одинаково. Остальные параметры взяты из примеров выше. Результаты моделирования в виде графиков примерно идентичны, следовательно, одиночные импульсы DoS-атаки в приближении можно считать идентичными двухуровневым, и они не требуют знания параметров удаленной сети.

5.2.3.3 Многопоточность и синхронизация потоков

Эксперименты показали, что DoS-атака сильно снижает полосу пропускания канала с одним потоком. Для сильно нагруженного канала с постоянным потоком однородного TCP-трафика такая DoS-атака тоже эффективна

Рисунок 5.19 - DoS-атака и множество потоков

На рисунке 5.19 показана нормализованная пропускная способность множества потоков трафика от периода атаки T. Ситуация наблюдается аналогичная, как и при одиночном потоке, следовательно формула (2) также может использоваться для моделирования многопоточных каналов. Однако следует обратить внимание, что при T=L/minRTO, пропускная способность не равна нулю (как было в случае с одним потоком), так как максимальное RTT составляет 132 мс, что больше периода атаки 100 мс, и некоторые потоки все же смогли «прорваться» в канале. Так же, стоит отметить, что при частоте 2/minRTO пропускная способность практически сводится к нулю. Причиной этого могут быть две вещи: одинаковость RTO (по причине существования minRTO) предоставляет единственную временную шкалу для уязвимости; вынужденная синхронизация DoS-потоком случается при получении таймаута всеми потоками сразу. Из-за одинаковости RTO потоки пытаются «выйти» из таймаута одновременно. Синхронизация TCP-потоков служит причиной использования алгоритма RED, в задачи которого входит избежание синхронизации множества потоков. Но совершенно различен подход к проблеме, то есть избежать синхронизации при обычном трафике, а не при атаках. Как следствие механизм RED абсолютно не приспособлен к отражению таких атак.

5.2.3.4 RTT-фильтрация

Проведенный выше эксперимент показал, что атака способна существенно снизить пропускную способность канала с множеством потоков трафика, путем введения в цикл таймаутов всех потоков одновременно. Уязвимость потоков сильно отличается при разных RTT, то есть чем меньше RTT у потока, тем более он уязвим к низкоскоростным атакам.

Проведем эксперимент над 20 стабильными потоками на 10 Мб/с канале, диапазон RTT которых от 20 до 460 мс, интервал взят на основе измерений в Интернете. Измерения были использованы для установления зависимостей задержек потоков от RTT (были взяты точки, равномерно распределенные по всему диапазону).

На рисунке 5.20 показана нормализованная пропускная способность для каждого из 20 потоков. Кривая, отмеченная «обычный режим» (нет атаки), показывает пропускную способность каждого потока без атаки. Следует заметить, что через каждый 1/RTT интервал, пропускная способность перераспределяется, так как потоки с малым RTT занимают большую полосу пропускания. Кривая «в условиях атаки», показывает пропускную способность каждого потока в сумме с атакующим импульсом скоростью 10 Мб/с, длительностью 100 мс и периодом 1.1 сек. Отметим, что DoS-поток фильтрует потоки с коротким RTT вплоть до 180 мс, в то время как потоки с большим RTT практически не подвержены атаке. Еще одна вещь, стоящая внимания: потоки с большим RTT не могут полностью утилизировать канал даже в отсутствие атаки.

Рисунок 5.20 - RTT-фильтрация

Однако в варианте с большим количеством TCP-потоков с разными RTT количество нефильтрованных с большим RTT увеличится, что неизбежно приведет к занятию полосы пропускания, которая раньше была занята потоками с малым RTT. В конечном результате пропускная способность увеличится (как это ни парадоксально) за счет потоков с сильно различающимися RTT, как показано на рисунке 5.21. К сожалению, большая эффективность занятости канала большим количеством потоков (больше 90% в случае 80 потоков) довольно спорный аргумент, т.к. потоки с малым RTT будут "придушены" атакой (рисунок 5.20).

Так, с одной стороны, получается более полное использование канала, а с другой — DoS-атака для потоков с малым и средним RTT.

Рисунок 5.21 - Большое количество потоков с разными RTT

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]