IDS: Системы обнаружения атак

Xakep, номер #038, стр. 038-050-1


Продвинутая альтернатива фаерволам

Автор: Stalsen (stalsen@mail.ru)

Ты, наверное, не раз читал статьи о крутых взломах. И каждый раз на лицо одна и та же особенность: почти в каждой из этих статей присутствуют фразы типа "Я использовал классический баг, там была старейшая версия, админ полный кретин" ну и т.д. В общем, все сводилось к известной реализации атаки с уже готовыми эксплоитами и всякими классическими вещами. И админам это очень не нравилось. Ясное дело - лезут тут всякие, мешают расслабиться, побездельничать. И начали они (ну и сторонние разработчики) думать о принципиально новой системе защиты. Так и появился IDS (Intrusion Detective System) - система обнаружения атак в реальном времени. Хотя первые работы по этой теме появлялись еще в 80-х годах, реально эта технология заработала только сейчас. Принцип ее действия довольно прост: в систему вложена база известных багов различного типа (берется все из X-Force, CVE, etc). При коннекте хакера IDS просматривает входящий траффик на предмет вредоносных действий (кода, команд и т.д.). Если она находит такие действия, то сразу же сообщает об этом администратору или лицу, ответственному за безопасность (выводит сообщение на консоль, шлет почту, пишет в лог, шлет на пейджер/SMS, в общем, возможности безграничны :). А также самостоятельно предпринимает какие-то действия. Как ты уже, наверное, понял, использование стандартных/классических багов и прочей лабуды в таких условиях становится неприемлемым (я опускаю случаи типа IDS не настроен, база стерта и т.д. :).

Добро пожаловать!

Прежде чем перейти к обзору IDS, хочу заметить, что есть множество систем-гибридов типа IDS-Firewall. Особенно много их под WINDOWS (например, AtGuard, LockDOWN, NPF, McAfee Firewall и т.д.). Но не стоит думать, что в них реализована хорошая база. В основном это блок портов 139, 12345 и 31337 :).

UNIX IDS

HostSentry

Эта прога - часть проекта Abacus. Создана для отражения сетевых атак. Требует Python (язык такой :), устанавливается командой make install и python hostsentry.py. При удачной установке в /var/log/messages (или где он у тебя находится?) должна появиться запись «HostSentry is active and monitoring logins».

Прога установлена, пора заняться конфигурацией... Лезем в hostsentry.conf и первым делом проверяем установку путей к IGNORE_FILE, ACTION_FILE и WTMP_FILE. Затем указываем формат WTMP файла, потом лезем в hostsentry.ignore и добавляем игнорируемых юзеров (например, ftp, чтобы не было ложных тревог). Теперь желательно посмотреть

hostsentry.modules и удалить ненужные модули. Вот пример логов HostSentry на обычное telnet соединение:

securityalert: LOGIN User: hacker TTY: pst/0 Host: skip

securityalert: First time login for user: hacker

securityalert: Action being taken for user: hacker

securityalert: Foreign domain login detected for user: hacker from: skip

В основном защита построена по интеллектуальной схеме. Например, обращает внимание на нетипичное время и место регистрации, странное поведение пользователя, запуск нестандартных команд (например, обычный пользователь, ранее пользовавшийся только vi, вдруг начинает компилировать код, изменять свое окружение и т.д.).

Содержание  Вперед на стр. 038-050-2