Проведение тестирования
Тестирование реализации стеков операционной системы и IDS проводилось на макете, состоящем из двух компьютеров, объединенных сетью Ethernet. Хост, с которого проводилось тестирование, назывался «атакующей системой», а тестируемый хост — «целевой системой» (рис. 3). На хосте имелся файл с названием PHF. Доступ к данному файлу моделировал доступ к уязвимому сценарию phf (www.infosecurity.com/archive/1). В случае HTTP-запроса с атакующей системы к этому файлу Web-сервер передавал его содержимое атакующему, что говорило об успехе атаки. Совсем необязательно выполнять сам сценарий на Web-сервере: если Web-сервер выдал содержимое файла, можно считать, что атака состоялась. Атакующий мог видеть результат атаки на экране с помощью запущенного сетевого анализатора Snort. В случае успеха Snort перехватывал содержимое файла PHF. Обращение к файлу PHF выбрано не случайно. Во-первых, в [1] рассматривали также обращение к PHF. Во-вторых, данная уязвимость была обнаружена в 1996 году и все рассмотренные IDS имели правила для поиска такой сигнатуры.
Рис. 3. Тестовый макет |
Создание тестирующей последовательности пакетов проводилось при помощи специально разработанной программы NetStuff, которая является расширенным генератором пакетов, позволяющим выполнять следующие действия.
Для посылки данных в виде фрагментов можно выбрать протокол, в рамках которого проводится фрагментация и количество фрагментов. При необходимости можно сделать так, что сигнатура атаки будет разбита и передана в нескольких фрагментах. Разбив данные на фрагменты, можно настроить каждый фрагмент, изменяя при этом поля заголовков. Также можно модифицировать полезные данные, которые несут фрагменты.
Особое внимание уделялось выбору систем для тестирования: необходимо было рассмотреть как коммерческие, так и свободно распространяемые средства IDS.
В качестве исследуемых систем IDS были выбраны Snort 1.8.4. beta for Linux [4], Snort 1.8. for Win32 [4], eTrust Intrusion Detection 1.0 от Computer Associates [5], Dragon 5.0 от Enterasys Networks [6], RealSecure 6.0 от Internet Security Systems. Первые две системы распространяются свободно, для работы остальных понадобился демо-ключ, не ограничивающий функциональные возможности. Операционные системы, защищенные IDS: Windows 98 SE v4.10.2222; Windows 2000 SP2 v5.00.2195; Windows NT 4.0 SP3; Linux Red Hat 7.2 на ядре 2.4.7-10.
Поиск уязвимостей проходил по следующему сценарию.