Антируткит-программы
Какую программу вы используете для обнаружения руткитов? Откуда ты знаешь, чему доверять?
6 ответов
В системах на основе Unix Tripwire - это хорошее общее "что изменилось на этой машине сегодня?" решение. Есть и другие, более специфические детекторы руткитов, но я всегда думал, что это вопрос игры в догонялки с плохими парнями; Вы никогда не будете уверены, что ваш детектор руткитов достаточно актуален, чтобы поймать их всех.
Ни один из доступных бесплатных контроллеров руткитов для Linux не очень хорош. Они даже не могут обнаружить все общедоступные (чаще всего на многие годы) руткиты, исходный код которых вы можете найти на таких сайтах, как packettorm. Мало того, что они не выполняют хорошую работу с известными угрозами, но есть веские основания ожидать, что они будут хуже работать против любого интеллектуального злоумышленника, у которого есть возможность проверить детекторы до использования его руткита.
Кроме того, нет оснований предполагать, что руткит будет иметь место на диске, которое можно обнаружить с помощью такого инструмента, как Tripwire. Руткиты ядра могут обмануть любое программное обеспечение, работающее на зараженной системе; даже если вы используете доверенный двоичный файл с носителя только для чтения, он может получать ложную информацию из операционной системы. Кроме того, вредоносное ПО, предназначенное только для памяти, больше не является теоретическим беспокойством; его использование было задокументировано охранными фирмами, такими как Mandiant. Против такого руткита даже автономный анализ будет неэффективным, хотя, с другой стороны, вредоносная программа может не пережить перезагрузку.
Есть некоторые решения, но не бесплатные и не дешевые. Крупная корпорация или государственное учреждение могут приобрести такой инструмент для криминалистической экспертизы памяти, как Second Look от Pikewerks, или нанять консультанта по безопасности, который может использовать такой инструмент в своем арсенале. Другие, продолжайте и используйте доступные программы антируткита. Они не на 100% бесполезны. Просто делайте все возможное, чтобы избежать рутирования кем-то с настроенным, не публичным руткитом. Насколько велик риск? К сожалению, я не знаю статистических данных, по которым можно было бы пройти. Очевидно, что Linux не страдает от огромного количества "массовых вредоносных программ", которые делает Windows, но насколько распространены скрытые целевые атаки?
(Раскрытие информации: я являюсь автором продукта Second Look, упомянутого выше.)
Rootkit Checker не должен быть установлен на вашей целевой машине. Я не знаю ни chrootkit, ни rkjunter, но если их необходимо установить на конечный компьютер, они не сильно вас защищают. Программное обеспечение rootkitcheck, которое запускается на целевой машине, рискует, что руткит (или человек, который его установил) скомпрометирует его и, следовательно, не обеспечит вам защиту, которую вы ищете.
Лично я хожу с Tripwire. То, что делает Tripwire, - это взять хеш (отпечаток пальца) всего файла в вашей системе, и он сообщает вам, когда файл изменяется. Это позволяет удаленному хосту быть вашим "доверенным" компьютером и заставлять его сканировать ваши целевые машины на предмет любых изменений файлов. Если изменение обнаружено, то вы знаете, что что-то пошло не так. Конечно, вам нужно иметь некоторый контроль над изменениями, чтобы регулярные обновления в вашей системе не были помечены как вторжение.
Чтобы быть в безопасности, через регулярные промежутки времени вы хотите пойти и внести изменения на вашей целевой машине, чтобы убедиться, что tripwire сообщит об этом. Вы также хотите разорвать соединение между целью и доверенным компьютером, на котором работает tripwire, чтобы убедиться, что он будет обнаружен. Это так же важно, как и восстановление резервных копий.
Я думаю, что стандарты chkrootkit и rkhunter.
Я бы использовал оба и запускал их ежедневно. Я знаю, что у chkrootkit есть возможность только уведомлять вас о любых изменениях (избегая ежедневных ложных предупреждений).
Запуск обоих помогает: 1) не нужно "доверять" и 2) защищает от атак, которые пытаются специально скрыться от одного или другого.
Я обычно запускаю сканирование на наличие вирусов и руткитов с живого диска Linux. Это единственное, чему ты действительно можешь доверять. Это все еще вовлекает идти в ногу со временем с программами обнаружения все же.