И. Ю. КОРКИН

Московский инженерно-физический институт (государственный университет),

СПОСОБ ОБНАРУЖЕНИЯ СКРЫТЫХ ПРОЦЕССОВ В ОС WINDOWS

Рассматривается новый способ обнаружения скрытых процессов в ОС Windows, обладающий существенными преимуществами перед известными методами.

Компьютерные вирусы занимают лидирующее положение по объему причиняемых убытков [1], поэтому борьба с ними имеет приоритетное значение.

Наиболее трудно обнаруживаемы и поэтому весьма опасны вирусы, сокрытые методом DKOM [2,3]. Для их обнаружения в ОС Windows NT4.0 – NT6.0 автором разработан новый способ, отличающийся тем, что позволяет получить список всех скрытых процессов.

Суть способа заключается в поиске в памяти структур, «похожих» на ядерные структуры процессов, с последующим выявлением скрытых объектов по определённой сигнатуре.

Реализация способа состоит из следующих этапов.

1.  Создание динамической сигнатуры структуры процессов EPROCESS ОС в виде шаблона, который «подходит» ко всем загруженным в память структурам EPROCESS.

2.  Осуществление поиска с помощью вероятностной проверки совпадения некоторой части памяти с динамической сигнатурой рабочего процесса, которая создаётся перед началом сканирования.

3.  После обнаружения каждого рабочего процесса проверка на статическую сигнатуру и выявление, сокрыт ли процесс методом DKOM [3].

4.  После обнаружения каждого рабочего процесса осуществляется проверка на статическую сигнатуру и выявление, сокрыт ли процесс методом DKOM [3] .

НЕ нашли? Не то? Что вы ищете?

Сканирование памяти занимает некоторое время, в течение которого могут появляться новые процессы и завершаться старые. При этом если структура нового процесса загрузится в диапазон адресов, которые уже были сканированы, эта структура не будет найдёна. Аналогично, если структура процесса выгрузится из диапазона адресов, которые уже были сканированы, то информация о нём будет неверна, поскольку она устареет.

Для устранения этого предложено сохранять полный дамп виртуальной памяти контекста выбранного процесса. Получение дампа осуществляется путём обхода каталога директорий (Page Directory) и каталога страниц (Page Table) с сохранением страниц памяти (Page) и полной структуры виртуальной памяти [4]. Поиск будет осуществляться уже в дампе. Получение дампа и поиск в нём занимает существенно меньшее время, чем непосредственно поиск в виртуальной памяти, благодаря чему повышается актуальность найденной информации, а способ становится более оперативным.

Достоинства предлагаемого способа:

·  Динамическая сигнатура обеспечивает переносимость способа на все 32-разрядные ОС линейки Windows, а для обнаружения скрытых процессов в 64-разрядных ОС линейки Windows необходимы лишь минимальные изменения в её реализации. Вероятностная проверка позволяет выявить даже изменённые структуры процессов.

·  Описанный способ не использует никакие функции Windows для получения готового списка процессов, как в примере [2], и, следовательно, противодействовать ему намного сложнее. Результат работы способа не может быть изменён, путём перехвата или модификации структур ядра [3].

·  Способ имеет высокую скорость поиска за счёт работы с дампом памяти и может сочетаться с другими способами получения списка процессов [2].

·  Разработанные средства реализация предложенного способа могут легко интегрироваться с другими антивирусными средствами.

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

Использование способа расширяет возможности аналитиков при исследовании компьютерных вирусов и повышает уровень информационной безопасности ОС Windows.

Способ может быть использован как самостоятельная программа, так и в составе комплекса программ.

Список литературы

1.  Рынок ПО для обеспечения безопасности – *****/article. aspx? id=17360.

2.  Обнаружение скрытых процессов – http://www. *****/print. php? article=hiddndt.

3.  Батлер Дж. Руткиты: внедрение в ядро Windows. – Спб.: Питер, 2007.

4.  Intel 64 and IA-32 Software Developer's Manual - Volume 3A – http://developer. /design/processor/manuals/253668.pdf.