Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #60, НОЯБРЬ 2005 г.

Компьютерный СМЕРШ

Зайцев Олег (z-oleg.com/secur)

Спецвыпуск: Хакер, номер #060, стр. 060-070-1


Находим и уничтожаем врагов народа без помощи спецслужб

Начиная разговор об охоте на шпионское ПО, сразу откажемся от типовых решений наподобие "проверить антивирусом", "пролечить антиспайвером", поставить заплатки и файрвол, поскольку эта тактика очевидна и нет смысла обсуждать ее. Более того, моя практика показывает, что антивирусы и антишпионы не обеспечивают 100% детектирования и, наверное, никогда не гарантируют чистки. Самый надежный метод чистки - вручную.

Поиск руткитов

Охоту на современные шпионы и трояны необходимо начинать с антируткита. Причина проста: вредоносные перехватчики API делают бессмысленным поиск файлов на диске, процессов в памяти; в плане анализа реестра тот же HackerDefender маскирует и свои процессы, и ключи в реестре, и файлы на диске, и много еще чего. Бороться с руткитом можно либо загрузкой с чистого диска (здесь руткит бессилен), либо применением различных утилит-анализаторов. Идеального и универсального средства против всех возможных руткитов нет и, вероятно, никогда не будет - технологии руткитов тоже не стоят на месте, поэтому чем больше утилит в арсенале, тем лучше. Моя практика дает мне основания рекомендовать три программы: AVZ (он показывает перехваты и дает пищу для размышления), Rootkit Revealer от SysInternals (читает диск/реестр через API и напрямую, сравнивает результаты, находя маскирующихся зверей) и BackLite от F-Secure (есть ряд интересных технологий поиска маскирующихся процессов, в частности, он эффективно ловит FU Rootkit). По всем трем программам можно сказать, что ложные срабатывания неизбежны. Если антируткит умеет выдавать информацию о том, какие функции перехвачены, то можно выделить ряд функций, которые чаще всего перехватываются именно руткитами.

Самым распространенным из UserMode-руткитов является HackDef. Его исходники открыты, поэтому в интернете гуляют сотни его клонов, и их отличия от HackDef минимальны с точки зрения перехватываемых функций. В расшифровке протоколов и изучении самих руткитов хорошим подспорьем является книга Гарри Неббета "Справочник по базовым функциям API Window NT/2000" и отладчик для оперативного изучения машинного кода перехваченных функций.

В процессе охоты на руткиты не следует забывать, что замаскировать процесс можно и без перехвата функций API - для этого достаточно модифицировать системный список EPROCESS, удалив из него запись для маскируемого процесса (сделать это просто: каждая запись EPROCESS содержит ссылки на предыдущую и последующую, поэтому удаление элемента N сводится к модификации ссылок элементов N-1 и N+1). По такой методике работает FU и его аналоги, обнаружение возможно при помощи утилиты BlackLite от F-Secure.

Анализ запущенных процессов

Анализ запущенных процессов является, по сути, самой простой операцией, поэтому рассматривать ее подробно нет смысла. Главная задача - найти все подозрительные процессы и выяснить, что это такое и для чего необходимо. Для выполнения этой задачи удобны утилиты от Sysinternals (они умеют проверять цифровую подпись MS) и AVZ (содержит базу безопасных файлов, упрощающую анализ). Для экспресс-проверки подозрительных файлов можно порекомендовать http://virusscan.jotti.org и www.virustotal.com - это сайты онлайн-проверки файла множеством антивирусов.

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