И. Ю. КОРКИН
Московский инженерно-физический институт (государственный университет),
СПОСОБ ОБНАРУЖЕНИЯ СКРЫТЫХ ПРОЦЕССОВ В ОС 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.


