Атака IDS с использованием TTL
В этом случае нападающему необходимо знать топологию сети, сколько роутеров находится между ним и Жертвой. Выяснить это можно, например, утилитой traceroute. Обратимся к картинке: Ясно, что между IDS и Жертвой находится роутер. Атакующий разбивает свою атаку на три части, три фрагмента. Первому устанавливается большое время TTL и он получается как компьютером жертвы, и IDS. Второй (2') является фальшивым и имеет TTL = 1, он приходит на IDS, но дальше роутера не уходит, так как его время жизни уже закончилось. Затем в дело идет фрагмент 3 с правильным временем жизни, IDS собирает все три фрагмента правильно, в то время как Жертва ждет середину цепочки. Наконец в дело идет правильный пакет 2 и атака удачно завершается. Результат - IDS обманута, у нее только 3 фрагмент, а жертва (вероятно) выведена из строя. Обман IDS: модель для сборки №2 //06.12.2005 | -=Jul=- В дополнение к атакам, описанным в предыдущей статье, основанным на разном времени фрагментации, существует еще один класс атак, основанных на подмене фрагментов. Господа Паксон и Шанкар в статье "Active mapping: resisting NIDS Evasion without altering traffic" отметили, что разные операционные системы осуществляют сборку фрагментов по разному. Они выработали пять разных политик сборки. В этой статье мы опишем два из них - называются они First и Last. Ясно, что в первом случае при сборке пакетов из фрагментов предпочтение отдается первым полученным частям, а во втором - последним. Примером первого вида являются ОС семейства Windows 95/ 98/ NT4/ ME/ W2K/ XP/ 2003, а второго - Cisco IOS. Работа продемонстрирована на рисунке. Атакующий начинает атаку с разделения своих данных на 4 фрагмента. Он посылает фрагменты 1, 2 и 3 первыми, они принимаются всеми операционными системами. После этого посылаются фрагменты 2', 3' и 4, где 2' и 3' по смыслу отличаются от реальных фрагментов 2 и 3, однако их смещение, длинна и прочие поля в IP-заголовке остаются теми же самыми. В этом сценарии операционные системы осуществляют сборку фрагментов с соответствии со своими политиками. В случае политики First будут собраны фрагменты 1, 2, 3 и 4, а в политике Last - 1, 2', 3', 4. Более подробное описание различных методов работы с фрагментами можно найти, например, в документации Snort.
|