На главную страницу
 
 Главная 
 AVZ 
 APS 
 Статьи 
 Литература 
 Ссылки 
 Описания вирусов 
 Аппаратные системы 

RootKit - принципы и механизмы работы
Клавиатурные шпионы
Cookies
Шпионские программы - угроза безопасности вашего ПК
Методики обнаружения вредоносного ПО
Тестирование Firewall
Современные программные и аппаратные клавиатурные шпионы
Защита программ от взлома
Интернет магазины - как не стать жертвой мошенников

Поиск по сайту


Книга "Rootkits, SpyWare/AdWare, Keyloggers & BackDoors. Обнаружение и защита (+ CD-ROM)"



Главная / Информационная безопасность / Статьи

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


Введение

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

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

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

Утилита FileMon (производитель SysInternals). 

Утилита Filemon

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

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

Оно фильтрации событий утилиты Filemon

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

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

 

Утилита RegMon (производитель SysInternals). 

Главное окно утилиты RegMon

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

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

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

Process Explorer - главное окно программы

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

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

 

Утилита Autoruns (производитель SysInternals). 

 

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

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

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

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

 

Утилита Sigcheck (производитель SysInternals). 

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

Фрагмент протокола программы signcheck

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

 

Утилита HijackThis (http://www.tomcoyote.org/hjt/)

Утилита HijackThis

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

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

 

a-squared HiJackFree (http://www.hijackfree.com/en/)

a-squared HiJackFree - главное окно программы

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

 

Утилита TDIMon (производитель SysInternals). 

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

 

Утилита AVZ (http://z-oleg.com/secur/)

Утилита AVZ версии 3.60

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

Встроенное исследование системы позволяет формировать 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-ти антивирусов, и кроме проверки антивирусами проводится экспресс-анализ файла – вычисление его MD5 суммы, попытка определения упаковщика и оценка «степени опасности» файла по некоторым критериям создателей сайта.

http://virusinfo.info/

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

http://forum.ixbt.com/

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

 

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

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

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

Анализ

1. Поиск 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 к заранее чистому компьютеру и удалений файлов, обнаруженных в ходе поиска руткита.

 

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

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

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

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

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

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

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

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

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

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

6. Папка Downloaded Program Files

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

7. Анализ файла 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). Обнаружение посторонних записей, особенно связанных с популярными поисковыми системами или антивирусными продуктами однозначно свидетельствует о деятельности троянской программы.

 

8. Изучение папки «Избранное» 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. После запуска утилиты необходимо настроить фильтр утилиты 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.

Заключение

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




Top.Mail.Ru

(С) Зайцев О.В.
2003-2022

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