RUS | UKR | ENG | ДонНТУ> Портал магистров ДонНТУ

ДонНТУ> Портал магистров ДонНТУ> Реферат | Библиотека | Ссылки | Отчет о поиске | Индивидуальное задание
английский
Donetsk National Technical University Dukov Dmitry

Дуков Дмитрий Геннадьевич


Научный руководитель: Шевченко Ольга Георгиевна


Программное обеспечение с использованием руткит-технологий для незаметного мониторинга деятельности пользователя


Автореферат


Введение

       В наш век информационный технологий в полнее логичным и неоспоримым является тот факт, что информация по праву занимает одно из наиболее высоких мест в списке ценных "ресурсов" для человека. Особенно этот "ресурс" играет большую роль в такой сфере, как бизнес. И действительно, на рынке тот "задает тон" и находится с прибылью, который владеет большим и более ценным объемом информации, нежели конкуренты. Обоснованным в таком случае является стремление фирм, корпораций защитить свою информацию, оставляя ее конфиденциальной. Один из путей ее "рассекречивания" есть утечка, допускаемая работниками самой фирмы (намеренная или нет - не суть важно). Ситуация особенно усугубляется тем, что зачастую рабочее место сотрудника оборудовано персональным компьютером, имеющим выход в локальную сеть и часто - в Интернет. Таким образом соблюдать конфиденциальность каких либо данных в такой ситуации особенно сложно. Решение этой проблемы есть наблюдение за информационной деятельностью сотрудников. Но к каждому не приставишь соглядатая - очевидно, что это будет слишком не выгодно с экономической точки зрения.

Актуальность

       Одним из вариантов решения данной проблемы есть реализация программного обеспечения, призванного следить за деятельностью пользователя при работе с ПК (имеются в виду снимки экрана, нажатия клавиш). Учитывая "продвинутость" современных пользователей, стоит заметить, что с помощью средств, предоставляемых Интернетом, часто не составляет труда обойти обычные средства наблюдения. Таким образом, в настоящее время одним из требований к приложению такого рода является невидимость для пользователя. Потому как не от чего укрываться, если этот "что-то" не видно и о его существовании в принципе ничего не известно.

Цели и задачи

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

Обзор подобной тематики

       Данная проблема уже рассматривалась и как результат существует несколько наиболее популярных решений. Далее будет рассмотрен список этих решений с указанием их недостатков.

       Actual Spy - программа, обладает расширенными возможностями к ведению наблюдения за деятельностью пользователя и базовые возможности к скрытию. Легко может быть обнаружена специальным программным обеспечением (на пример ProcessHunter от Ms-Rem'а) даже на уровне пользователя. С помощью определенного программного обеспечения, может быть обезврежена, и деактивирована, либо есть возможность направления ложной информации о деятельности.

       StaffCop - программа для мониторинга деятельности пользователя. Как и предыдущая программа, имеет множество различных настроек для наблюдений, а также базовую функциональность для скрытия от пользователя. Так же довольно легко обнаруживается и удаляется. Таким образом видно, что наиболее уязвимой частью программных продуктов такого рода является "слабая невидимость", которую довольно просто обнаружить, а при необходимости и "обмануть".

       Теме "невидимости" в операционных системах класса Windows NT посвящено множество статей и других работ в Интернете. Ниже перечислены некоторые из них:

Описание результатов

       Таким образом, возвращаясь к приложению которое необходимо реализовать, можно выдвинуть следующие требования:

Приложение же в свою очередь, с учетом требований будет состоять из 3 логических частей: По уровню деятельности приложение так же будет условно разделятся на 2 части: Разделение обязанностей в зависимости от уровня деятельности следующие: Сбор информации о нажатых клавишах, для большей точности необходимо производить на уровне ядра ОС, тогда как получение снимков экрана на уровне ядра является довольно непростой задачей и не имеет никаких преимуществ перед получением этих снимков на уровне пользователя, поэтому снимки экрана будут получаться на уровне пользователя. Сетевая деятельность будет производиться, используя функциональные возможности 3-го кольца. Скрытие необходимо проводить на уровне ядра для достижения большей эффективности. Методики скрытия исследуются в данный момент. Они могут быть разделены на две большие группы:
  1. действующие на уровне 3-го кольца защиты (пользовательском уровне)
  2. действующей на уровне 0-го кольца защиты (уровне ядра ОС)
Наиболее популярными методами на уровне пользователя являются: Наиболее популярными методами на уровне ядра ОС являются:
Схема сплайсинга функций





Анимация. (1 цикл повторения; 28 кадров)
Схема сплайсинга функций
(обновите страницу для повторного просмотра)




Выводы

       На текущей стадии разработки создана динамически-подключаемая библиотека для скрытия деятельности приложения с использованием методов уровня пользователя. Скрытие производится за счет сплайсинга функции NtQuerySystemInformation и модификации результатов ее работы а также функции NtQueryDirectoryInformation с той же моделью поведения. Так же на этом этапе стало ясно, что методы 3-го кольца защиты не эффективны и плохо организуют скрытие деятельности (данный вывод сделан на основании того, что специализированный софт обнаруживает скрытую деятельность). Поэтому на данный момент исследуются методы 0-го кольца. Как некоторый промежуточный результат исследования, был создан драйвер, который действовал по методике DKOM, модифицируя двусвязный список структур ядра EPROCESS, описывающих отдельные процессы в системе. Таким образом происходило скрытие процесса на уровне ядра. Также был создан специальный драйвер-фильтр для перехвата всех пакетов запроса ввода/вывода ко всем логическим несъемным дискам в системе с целью скрытия файлов или/и папок. На данный момент ведется работа по исследованию функции SwapContext для предотвращения ее сплайсинга и обнаружения скрытых процессов.

       В результате данной магистерской работы будут исследованы разнообразные методики скрытия в ОС класса Windows NT, определены наиболее эффективные, и создано приложение для наблюдения с использованием этих методик.



Источники


Печатные источники
  1. Колисниченко Д. Н. "Rootkits под Windows" // НиТ СПб 2006 г.
  2. Хоглунд Г. Батлер Д. "Руткиты. Внедрение в ядро Windows" // Addison-Wesley, Питер 2007 г.

Другие источники