Методики обнаружения вредоносного ПО

Олег Зайцев

Введение

Утилиты для анализа ПК

   FileMon

   RegMon

   Process Explorer

   Autoruns

   Sigcheck

   HijackThis

   a-squared HiJackFree

   TDIMon

   AVZ

Специализированные утилиты для поиска RootKit

   F-Secure BackLite

   SysInternals RootkitRevealer

Полезные On-Line-сервисы

   http://www.hijackthis.de/en

   http://www.virustotal.com/

   http://virusscan.jotti.org/

   http://virusinfo.info/

   http://forum.ixbt.com/

Подготовка к анализу

Анализ

Заключение

Введение

В последнее время разработчики антивирусных и антишпионских программных продуктов не успевают оперативно вносить в свои базы сигнатуры всех разновидностей вредоносных программ. В результате любой пользователь, независимо от применяемого им антивирусного пакета, может столкнуться с тем, что на его компьютер попадет вредоносная программа, которую не сможет обнаружить и удалить антивирус. Хуже всего дело обстоит с AdWare- и SpyWare-программами — далеко не все производители антивирусов включают такие программы в свои базы. Кроме того, ожидать добавления вредоносной программы в базы антивируса можно очень долго, поскольку для этого разработчики антивируса должен быть ее образец. В результате получается замкнутый круг, выйти из которого пользователь может тремя способами: переустановить операционную систему, пригласить специалистов для консультации или попробовать самостоятельно обнаружить вредоносную программу и отправить ее разработчикам антивирусных пакетов.

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

В начало В начало

Утилиты для анализа ПК

FileMon

(производитель — SysInternals)

Утилита позволяет осуществлять мониторинг всех файловых операций в реальном времени и к тому же распространяется бесплатно. Кроме файловых операций, FileMon обеспечивает мониторинг операций с именованными каналами (Named Pipes), каналами передачи сообщений электронной почты Mail Slot и сетевыми ресурсами. FileMon не нуждается в инсталляции и может быть запущена с компакт-диска или из сетевой папки. Необходимо учесть, что внутри исполняемого файла filemon.exe хранятся драйверы, которые извлекаются и устанавливаются в момент запуска.

 

FileMon

Полезной особенностью программы является возможность настраиваемой фильтрации регистрируемых событий.

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

 

FileMon

Протокол утилиты может быть сохранен в текстовый файл для последующего анализа. Разделителем полей протокола является символ табуляции, что позволяет импортировать протокол в Microsoft Excel.

RegMon

(производитель — SysInternals)

RegMon позволяет осуществлять мониторинг всех операций с реестром в реальном времени и распространяется бесплатно. Интерфейс данной утилиты аналогичен FileMon. Исполняемый файл использует для работы драйвер, который хранится внутри исполняемого файла и устанавливается в момент запуска программы. Запись событий можно временно приостановить при помощи пункта меню File=>Capture events.

Двойной щелчок мышью на строке протокола приводит к открытию редактора реестра и к автоматическому позиционированию на соответствующий ключ реестра. Как и в случае с FileMon, протоколы утилиты могут быть сохранены в текстовый файл для анализа.

Process Explorer

(производитель — SysInternals)

Основной задачей Process Explorer является просмотр списка запущенных процессов. Для каждого процесса отображаются потоки, используемые им библиотеки и Handle (с расшифровкой типа Handle и отображением уточняющей информации). Помимо просмотра списка процессов программа может выполнять ряд полезных сервисных функций, в частности осуществлять поиск процесса по его окну и составлять список процессов, использующих указанную библиотеку. Для каждого процесса предусмотрен просмотр детализированной информации, в том числе данных о потоках и прослушиваемых портах TCP/UDP, параметров безопасности, переменных окружения, списка найденных в исполняемом файле (на диске и в памяти процесса) текстовых данных с возможностью поиска и сохранения найденной информации для анализа. Как показывает практика, в памяти подозрительного процесса можно обнаружить много интересных текстовых строк, например адреса в Интернете, по которым программа ведет обмен.

 

Process Explorer

Еще одной заслуживающей внимания возможностью этой утилиты является встроенная поддержка механизма проверки цифровых подписей файлов.

Autoruns

(производитель — SysInternals)

Утилита является диспетчером автозапуска с расширенными возможностями. Она анализирует практически все способы автозапуска, применяемые вредоносными программами.

Одной из наиболее полезных функций программы является поддержка проверки цифровых подписей Microsoft с отображением ее результатов. Кроме визуального отображения результатов проверки, в настройках программы имеется переключатель Hide signed Microsoft entries, включение которого приводит к тому, что все подписанные Microsoft программы и библиотеки автоматически исключаются из списка, что существенно упрощает анализ этого списка.

 

Autoruns

Утилита распространяется в двух вариантах: в виде стандартной программы с диалоговым интерфейсом и в виде консольного приложения, управляемого ключами командной строки.

Утилита анализирует множество ключей реестра, управляющих автозапуском, отображает список служб, модулей расширения проводника, BHO (Browser Helper Object) и панели Internet Explorer, назначенные задания. Любая библиотека или программа может быть временно удалена из автозагрузки, что позволяет на время отключить запуск подозрительных программ и библиотек.

Sigcheck

(производитель — SysInternals)

Эта небольшая консольная утилита позволяет просматривать и проверять цифровые подписи указанного файла. Она очень полезна для идентификации системных файлов, которые имеют цифровую подпись Microsoft.

 

Sigcheck

Утилита поддерживает ряд ключей, однако в простейшем случае достаточно передать ей единственный параметр — полное имя проверяемого файла. В результате проверки отображается информация о найденных цифровых подписях и результатах их проверки. Следует отметить, что поле Publisher в протоколе программы необходимо читать очень внимательно: известны программы, снабженные корректной цифровой подписью от Micrsoft, Mikrosoft, Mirosoft — то есть преднамеренно выбрано очень похожее на «Microsoft» название компании в расчете на то, что пользователь не обратит внимания на небольшие различия в написании.

HijackThis

(http://www.tomcoyote.org/hjt/)

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

 

HijackThis

Пользователь может отметить один или несколько элементов: после нажатия кнопки Fix утилита производит их исправление или удаление. Утилита позволяет сохранять текстовые протоколы с результатами анализа; протокол достаточно легко анализировать вручную или с помощью автоматизированных анализаторов.

a-squared HiJackFree

(http://www.hijackfree.com/en/)

Данная программа представляет собой универсальный анализатор, отображающий элементы автозапуска (включая многие экзотические), модули расширения Explorer, службы и запущенные процессы, открытые порты, содержимое файла Hosts. По результатам анализа формируется XML-протокол, который может быть сохранен или передан для анализа на сайт http://www.hijackfree.com. Результаты анализа отображаются немедленно, полученный в результате анализа HTML-протокол можно сохранить. Однако следует помнить, что для формирования протокола результаты анализа компьютера передаются компании a-squared.

 

a-squared HiJackFree

TDIMon

(производитель — SysInternals)

Утилита TDIMon предназначена для мониторинга сетевой активности приложений. В протоколе утилиты регистрируются обмен приложений по протоколам TCP и UDP. Программа не нуждается в инсталляции и может оказаться весьма полезной для обнаружения приложений, ведущих скрытный обмен с сетью.

AVZ

(http://z-oleg.com/secur/)

Данная утилита, помимо сигнатурного сканера, содержит анализатор запущенных процессов, служб, драйверов, модулей пространства ядра, диспетчер автозапуска и расширений Internet Explorer, анализатор настроек SPI (LSP/NSP/TSP), анализатор открытых портов TCP/UDP и сетевых ресурсов. Утилита имеет встроенные средства поиска данных в реестре и файлов на диске. Все эти функции защищены встроенным антируткитом.

 

AVZ

Встроенное исследование системы позволяет формировать HTML-протоколы, которые можно использовать для экспресс-анализа системы. Анализ запускается из меню «Файл=>Исследование системы», протокол размещается в указанной пользователем папке. Встроенная база безопасных файлов позволяет утилите AVZ опознавать файлы, входящие в состав операционной системы, и файлы распространенных приложений. Опознанные файлы выделяются цветом и могут быть автоматически исключены из протоколов исследования системы, что в ряде случаев значительно упрощает их анализ.

В начало В начало

Специализированные утилиты для поиска RootKit

F-Secure BackLite

(http://www.europe.f-secure.com/exclude/blacklight/)

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

SysInternals RootkitRevealer

(http://www.sysinternals.com/Utilities/RootkitRevealer.html)

Детектор Rootkit от фирмы SysInternals работает без инсталляции. Основной задачей данной утилиты является поиск маскирующихся файлов и ключей реестра. Следует обратить внимание на то, что в случае логических ошибок на диске данная утилита может выдать ложные подозрения. Кроме того, подозрения на маскировку файлов необязательно являются признаком наличия в системе RootKit.

В начало В начало

Полезные On-Line-сервисы

http://www.hijackthis.de/en

Автоматический анализатор протоколов утилиты HijackThis. Работает только с протоколами последней версии данной утилиты, по результатам анализа генерирует протокол с указанием, на какие позиции следует обратить внимание.

http://www.virustotal.com/

Проверка файла несколькими антивирусами. В настоящий момент проверка переданного для анализа файла проводится при помощи 19 антивирусных пакетов.

http://virusscan.jotti.org/

Проверка файла несколькими антивирусами. На этом сайте проверка файла производится при помощи 13 антивирусов, а кроме проверки антивирусами, проводится экспресс-анализ файла — вычисление его контрольной суммы, попытка определения упаковщика и оценка степени опасности файла по некоторым критериям создателей сайта.

http://virusinfo.info/

Русскоязычная конференция, полностью посвященная вирусологии, борьбе с AdWare/SpyWare-программами и защите компьютера. Для начинающего пользователя ценность представляет раздел «Помогите», в котором рассматриваются проблемы пользователей, анализируются полученные от пользователей протоколы и подозрительные файлы.

http://forum.ixbt.com/

Русскоязычная конференция, содержащая подразделы «Системное администрирование, безопасность», «Техподдержка» и «Программы: Интернет», где обсуждаются вопросы безопасности, антивирусные программы, Firewall и методы обнаружения вирусов.

В начало В начало

Подготовка к анализу

Итак, мы перечислили основные инструменты, которые потребуются для анализа компьютера. Теперь можно приступать к анализу. Однако перед тем, как перейти к проведению стоит ответить на ряд вопросов:

  1. В чем заключается проблема с компьютером, в чем конкретно она проявляется? От точности ответа на данный вопрос зависит эффективность дальнейшего анализа — к сожалению, очень часто анализ начинается с туманной формулировки: «Компьютер вроде тормозит…». При наличии внешних проявлений вредоносной программы необходимо установить периодичность их появления и проверить, связаны ли они с наличием доступа в Интернет.
  2. Когда появилась вредоносная программа? Естественно, точно установить это затруднительно, но приблизительный срок с запасом определить необходимо.
  3. Какие действия производились перед предположительным появлением вредоносной программы? Практика показывает, что вредоносные программы, как правило, обнаруживаются после установки какого-либо программного обеспечения, после открытия подозрительных писем или посещения Интернет-сайтов.
В начало В начало

Анализ

Поиск RootKit

Анализ компьютера нужно начинать с поиска программ, применяющих RootKit-механизмы. Это очень важный момент, поскольку многие современные вредоносные программы активно маскируют свое присутствие на компьютере. Однако большинство вышеописанных программ-анализаторов работают через стандартные API, а перехват нескольких функций делает программу невидимой за счет маскировки ее ключей реестра, файлов и процессов.

Желательно применить все рекомендованные программы (RootkitRevealer, BackLite и AVZ), так как они используют различные алгоритмы поиска RootKit.

По протоколу утилиты AVZ можно проанализировать, есть ли перехваты каких-либо функций в user-mode (на уровне пользователя) и kernel-mode (на уровне ядра операционной системы). Сам по себе перехват ни о чем не говорит, поскольку перехватчик может быть установлен антивирусом, Firewall, различными средствами мониторинга системы. Например, утилита FileMon во время работы перехватывает несколько функций KiST, отвечающих за работу с реестром. В случае подозрения на RootKit можно включить противодействие руткитам AVZ — в этом случае делается попытка нейтрализации перехватчиков. Следует учитывать, что нейтрализация перехватчиков user-mode происходит только для процесса AVZ, в то время как нейтрализация перехватчиков kernel-mode оказывает воздействие на всю систему.

Если одна из перечисленных программ обнаружит подозрение на маскировку процессов или файлов, то заподозренные файлы необходимо тщательно исследовать. Для этого можно применить описанные выше on-line-сервисы, позволяющие проверить подозрительный файл десятком антивирусов.

После поиска (и уничтожения в случае обнаружения) RootKit можно продолжить анализ системы. В случае активного противодействия удалению со стороны вредоносной программы самым простым способом ее удаления является подключение HDD к безусловно чистому компьютеру и удаление файлов, обнаруженных в ходе поиска руткита.

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

Анализ списка запущенных процессов сводится к тому, что необходимо идентифицировать каждый из них.

Процессы, которые AVZ определяет как безопасные, можно с высокой степенью вероятности считать таковыми и снять с подозрения. Аналогично можно поступить с файлами, подписанными Microsoft (проверить подпись можно консольной программой Sigcheck).

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

Анализ автозапуска

Анализ автозагружаемых программ и библиотек очень удобно проводить при помощи утилиты Autoruns от SysInternals. Для упрощения анализа рекомендуется включить опции Verify Code Signatures и Hide Signed Microsoft Entries в меню Options. Следует учесть, что анализ элементов автозапуска может длиться несколько минут — это связано с тем, что для каждого файла идет проверка цифровых подписей.

Поиск файлов на диске

Поиск файлов на диске достаточно эффективен в том случае, если известна примерная дата появления вредоносной программы. Тогда можно осуществить поиск по маске «*.exe *.com *.sys *.pif *.com *.lnk *.chm» с фильтрацией по диапазону дат (причем поиск желательно произвести дважды: по дате создания файла и по дате модификации). Для выполнения поиска файлов удобно применять встроенную систему поиска AVZ, где можно исключить из результатов поиска файлы, опознанные по базе безопасных.

Анализ BHO и модулей расширения Internet Explorer

Анализ различных модулей расширения Internet Explorer является важной задачей, поскольку многие SpyWare- и AdWare-программы устанавливаются как BHO (Browser Helper Object). Анализ рекомендуется вести из утилиты Autoruns (закладка Internet Explorer) или из AVZ (Сервис=>Менеджер расширений IE). Все подозрительные модули расширения рекомендуется отключить, причем перед отключением необходимо в обязательном порядке закрыть все экземпляры Internet Explorer. Это связано с тем, что некоторые BHO отслеживают наличие своих ключей в реестре в момент выгрузки и восстанавливают их при необходимости, что затрудняет их удаление.

Папка Downloaded Program Files

Многие шпионские программы и программы класса Trojan-Downloader выполнены в виде библиотек ActiveX, и некоторые их компоненты можно обнаружить в папке Downloaded Program Files. Следует отметить, что просмотр данной папки при помощи проводника Windows неудобен — для просмотра файлов рекомендуется воспользоваться менеджерами файлов типа FAR или Windows Commander. Сама папка Downloaded Program Files размещается в папке Windows и у нее установлен атрибут «системный».

Анализ файла hosts

Файл hosts участвует в процессе определения IP-адреса сервера по его имени. Модификация этого файла может привести к нарушению данного процесса и подмене адреса любого сервера (этот процесс является простейшей формой DNS-спуфинга). Как правило, добавленные троянской программой в файл hosts строки имеют вид:

1.2.3.4 google.com

127.0.0.1 downloads1.kaspersky-labs.com

В первой из приведенных строк происходит подмена адреса google.com на некий адрес 1.2.3.4. Во второй строке примера показан классический способ блокирования процесса обновления антивирусных баз.

Анализ файла hosts сводится к изучению его содержимого в любом текстовом редакторе (например, в блокноте) или в специализированной утилите (например, в HiJackFree или в HijackThis). Обнаружение посторонних записей, особенно связанных с популярными поисковыми системами или антивирусными продуктами, однозначно свидетельствует о деятельности троянской программы.

Изучение папки «Избранное» Internet Explorer

У Internet Explorer есть интересная функция (о которой, правда, часто забывают) — перед открытием указанного в строке «Адрес» сайта происходит автоматический просмотр папки «Избранное» и сравнение названия ссылок этой папки с текстом в строке «Адрес». В случае совпадения введенный адрес автоматически изменяется на адрес из найденной ссылки. На первый взгляд это удобно: можно создать ссылку с названием «поиск», указывающую на www.yandex.ru и тогда указание в поле «Адрес» слова «поиск» приведет к открытию сайта www.yandex.ru. Однако возможна и обратная операция: создать в папке «Избранное» ссылку с именем www.yandex.ru и указать в ней некий посторонний адрес, в результате чего произойдет автоматическая подмена адреса. Следовательно, в ходе проверки компьютера необходимо произвести поиск и удаление подобных ссылок.

Действия в типовых ситуациях

Рассмотрим несколько типовых случаев, которые, согласно статистике, чаще всего можно наблюдать на зараженных компьютерах.

  1. Периодически выводятся окна с рекламной информацией. В такой ситуации необходимо установить, какая из запущенных программ выводит данные окна. Это удобно сделать при помощи программы Process Explorer: необходимо перетащить значок с изображением прицела из панели управления Process Explorer на окно неопознанной программы, а Process Explorer определит, какой программе принадлежит данное окно. Если обнаружится, что окно принадлежит Internet Explorer, то необходимо проанализировать загруженные им библиотеки и модули расширения (BHO). Кроме того, Process Explorer показывает процессы в виде древовидного списка — стоит обратить внимание на то, какой процесс является родительским для «подозреваемого».
  2. Стартовая страница Internet Explorer периодически изменяется на некую страницу X. Настройки IE хранятся в реестре, поэтому для обнаружения изменяющего страницу вредителя целесообразно применить утилиту RegMon. После ее запуска необходимо настроить фильтр, указав в качестве образца адрес X или его фрагмент. Затем остается только восстановить стартовую страницу и дождаться ее изменения, а далее по протоколу RegMon можно установить, какой процесс выполнил данную операцию.
  3. Изменяются настройки Internet Explorer, в том числе недоступные из диалога «Свойства обозревателя». Чаще всего изменяется страница поиска или префиксы протоколов; замена стартовой страницы может рассматриваться как частный случай. Методика обнаружения ответственного за это вредоносного процесса аналогична той, что применяется при подмене стартовой страницы: в настройке фильтра RegMon в поле Include рекомендуется задать образец Microsoft=>Internet Explorer и оставить включенными опции Log Writes и Log Successes. В результате будут фиксироваться все изменения настроек с указанием, какая программа производит изменение. Для восстановления настроек можно применить кнопку «Сброс параметров» на закладке «Свойства программы» в окне «Свойства обозревателя» или использовать восстановление системы в AVZ. В обоих случаях это приведет к сбросу всех настроек на значения по умолчанию.
  4. На рабочем столе (на диске, в определенных папках) периодически появляются посторонние файлы и ярлыки. Предположим, что на рабочем столе периодически, несмотря на удаление, появляется файл dialer.exe. Воспользуемся утилитой FileMon, причем для уменьшения размеров протокола рекомендуется настроить ее фильтр. В нашем случае образец в строке Include фильтра будет dialer.exe, и из всех переключателей можно оставить включенным лишь Log Writes и Log Successes. С таким фильтром FileMon будет регистрировать только операции записи в файл с именем dialer.exe. Далее остается подождать появления файла и по протоколу FileMon установить создающее его приложение.
  5. После удаления вредоносной программы (вручную или при помощи антивируса) возникли проблемы с доступом в Интернет. Подобная ситуация, как правило, возникает в случае удаления модуля, зарегистрированного в качестве расширения Winsock. Проанализировать зарегистрированные модули расширения Winsock можно в AVZ — меню «Сервис», пункт «Менеджер Winsock SPI». Менеджер оснащен автоматическим анализатором, который способен обнаружить типовые ошибки и исправить их. Список ошибок можно посмотреть на закладке «Поиск ошибок», там же имеется кнопка «Автоматическое исправление найденных ошибок». В большинстве случаев анализатор AVZ в состоянии справиться с ошибками. Если же он не поможет (а такое бывает в случае серьезного повреждения настроек, например при полном удалении ключей реестра, хранящих настройку), рекомендуется обратиться к статьям 299357, 817571 и 811259, размещенным на сайте Microsoft (http://support.microsoft.com/kb/<номер статьи>), где подробно рассматриваются методики ручного сброса, восстановления и проверки настроек протоколов TCP/IP.
  6. Изменились обои и настройки рабочего стола, меню настройки рабочего стола недоступно. Подобные сбои все чаще регистрируется в последние месяцы, что связано с оригинальной методикой демонстрации рекламы — вместо отображения рекламной информации в отдельных окнах современные троянские программы внедряют ее в рабочий стол. В ряде случаев можно восстановить настройки вручную, однако некоторые троянских программы блокируют вызов меню настройки при помощи параметров в ключе реестра Software=>Microsoft=>Windows=>CurrentVersion=>Policies. Для разблокировки меню и сброса настроек можно применить «Восстановление системы» AVZ, где предусмотрена специальная функция «Восстановление настроек рабочего стола».
  7. Нарушилось обновление антивирусных программ, хотя доступ в Интернет работает нормально. В такой ситуации рекомендуется проверить файл Hosts: возможно, в нем появились дополнительные записи. Отследить модифицирующий файл hosts процесс довольно просто при помощи утилиты FileMon. Восстановить файл проще всего вручную — в нем должна быть единственная строка вида «127.0.0.1 localhost». Для редактирования файла Hosts можно воспользоваться программами HiJackFree или HijackThis.
В начало В начало

Заключение

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

На нашем CD-ROM вы найдете утилиты для обнаружения вредоносного ПО.

КомпьютерПресс 9'2005


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует