Назад | Перейти на главную страницу

Программы Anti-Rootkit

Какую программу вы используете для обнаружения руткитов? Как узнать, чему доверять?

Я использовал OSSEC и были действительно впечатлены результатами

В системах на основе Unix Tripwire - хороший пример того, "что изменилось на этой машине сегодня?" решение. Существуют и другие, более специфические детекторы руткитов, но я всегда думал, что это вопрос игры в догонялки с плохими парнями; вы никогда не будете уверены, что ваш детектор руткитов достаточно актуален, чтобы уловить их все.

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

Более того, нет причин предполагать, что руткит будет иметь след на диске, который можно обнаружить с помощью такого инструмента, как Tripwire. Руткиты ядра могут обмануть любое программное обеспечение, работающее в зараженной системе; даже если вы запускаете доверенный двоичный файл с носителя только для чтения, он может получать ложную информацию из операционной системы. Более того, резидентная вредоносная программа больше не является теоретической проблемой; его использование было зарегистрировано охранными фирмами, такими как Mandiant. Против такого руткита даже автономный анализ был бы неэффективен, хотя с одной стороны, вредоносное ПО может не пережить перезагрузку.

Есть некоторые решения, но не бесплатные и не дешевые. Крупная корпорация или государственное учреждение может воспользоваться инструментом криминалистической экспертизы памяти, например Второй взгляд от Pikewerks, или можно было бы нанять консультанта по безопасности, который мог бы использовать такой инструмент как часть своего арсенала. Остальные, используйте доступные антируткит-программы. Они не бесполезны на 100%. Просто сделайте все, что в ваших силах, чтобы вас не рутировал пользователь с настраиваемым, закрытым руткитом. Насколько велик риск? К сожалению, я не знаю статистических данных, которые можно было бы использовать. Очевидно, что Linux не страдает от огромного количества «массовых вредоносных программ», как Windows, но насколько распространены скрытые целевые атаки?

(Раскрытие информации: я являюсь автором упомянутого выше продукта Second Look.)

Я думаю, что стандарты chkrootkit и Rkhunter.

Я бы использовал оба, и запускал их ежедневно. Я знаю, что chkrootkit может уведомлять вас только в случае каких-либо изменений (избегая ежедневных ложных предупреждений).

Выполнение обоих помогает 1) не нужно "доверять" и 2) защищает от атак, которые пытаются специально спрятаться от одного или другого.

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

Лично я иду с Tripwire. Tripwire берет хэш (отпечаток пальца) всех файлов в вашей системе и сообщает вам об изменении файла. Это позволяет удаленному хосту быть вашей «доверенной» машиной и сканировать целевые машины на предмет любых изменений файлов. Если обнаружено изменение, значит, что-то пошло не так. Конечно, вам необходимо иметь некоторый контроль над изменениями, чтобы регулярные обновления вашей системы не были отмечены как вторжение.

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

Обычно я запускаю внешнее сканирование на наличие вирусов / руткитов с живого диска Linux. Это единственное, чему можно действительно доверять. Тем не менее, это по-прежнему связано с обновлением программ обнаружения.