для системы Linux версии 5, в который входит несколько модифицированных версий
основных утилит, включая su, ssh и несколько анализаторов сетевых пакетов.
Чтобы не отставать, операционная система Windows NT/2000 в 1999 году тоже
"обзавелась" своим собственным набором аналогичных средств. Это случилось благо-
даря группе хакеров Грега
Хогланда
(Greg Hoglund)
(http:
//www.rootkit.com).
Грег
застал врасплох сообщество Windows, продемонстрировав рабочий прототип таких
инструментов, который способен выполнять сокрытие параметров системного реестра
и "подмену" исполняемых файлов. Этот набор можно использовать в исполняемых
файлах типа "троянский конь" без изменения их содержимого. Все эти трюки
основываются на использовании перехвата функций (function hooking). Таким образом
можно "модифицировать" ядро NT, в результате чего будут захвачены системные
вызовы. С помощью "набора отмычек" можно скрыть процесс, параметр системного
реестра или
файл,
а также перенаправить перехваченный вызов функциям программ
типа "троянский конь". Полученный результат способен превзойти ожидания от
внедрения обычных "троянских коней": пользователь не может быть уверен даже в
целостности исполняемого кода.
О Контрмеры: "наборы отмычек"
Если оказалось, что нельзя доверять даже командам
Is
или
dir,
значит, пришло
время признать себя побежденным: создайте резервные копии важных данных (но толь-
ко не двоичных
файлов!),
удалите все программное обеспечение, а затем переустановите
его с проверенных носителей. Не следует особо надеяться на резервные копии, посколь-
ку абсолютно неизвестно, когда именно взломщик пробрался в систему. После восста-
новления программное обеспечение также может оказаться
"троянизированным".
Важно не забывать одно из золотых правил обеспечения безопасности и восстанов-
ления после сбоев: известные состояния (known states) и повторяемость (repeatability).
Производственные системы зачастую должны быть быстро переустановлены, так что хо-
рошо документированная и достаточно автоматизированная процедура установки позво-
лит сэкономить много времени. Наличие проверенных носителей, готовых для выпол-
нения процедуры восстановления, также достаточно важно. Если под рукой имеется
компакт-диск с полностью сконфигурированным образом Web-сервера, то выигрыш во
времени окажется еще более значительным. Другим хорошим приемом является доку-
ментирование процесса настройки производственного режима эксплуатации, а не про-
межуточного режима, поскольку в процессе построения системы или ее обслуживания
могут появиться изъяны в системе защиты (появление новых совместно используемых
ресурсов и т.д.). Убедитесь, что в вашем распоряжении имеется контрольный список
или автоматизированный сценарий возврата в производственный режим.
Подсчет контрольных сумм также оказывается хорошей защитой от использования
"наборов отмычек", однако этот прием нужно применять к системе в исходном со-
стоянии. Средства, подобные свободно распространяемой утилите
MDSsum
или про-
грамме Tripwire, которая рассматривалась выше, способны "снимать" образы файлов
и уведомлять о нарушении их целостности при возникновении изменений. Перена-
правление исполняемых файлов с помощью "набора отмычек" системы NT/2000, тео-
ретически может нейтрализовать подсчет контрольных сумм. Однако поскольку код
при этом не изменяется, но в то же время "захватывается" и передается через другую
программу, то такой прецедент все же можно выявить.
В момент написания этой книги "набор отмычек" систем NT/2000 по-прежнему
оставался на стадии альфа-версии и в основном предназначался для демонстрации
наиболее важных особенностей, а не для реального применения. Так что его легко
обнаружить. Просто проверьте наличие файлов
deploy.exe
и
_root_.syg.
Запуск и
остановку этих средств можно выполнить с помощью команды net.
592 Часть IV. Хакинг программного обеспечения