В наш век информационный технологий в полнее логичным и неоспоримым является тот факт, что информация по праву занимает одно из наиболее высоких мест в списке ценных "ресурсов" для человека. Особенно этот "ресурс" играет большую роль в такой сфере, как бизнес. И действительно, на рынке тот "задает тон" и находится с прибылью, который владеет большим и более ценным объемом информации, нежели конкуренты. Обоснованным в таком случае является стремление фирм, корпораций защитить свою информацию, оставляя ее конфиденциальной. Один из путей ее "рассекречивания" есть утечка, допускаемая работниками самой фирмы (намеренная или нет - не суть важно). Ситуация особенно усугубляется тем, что зачастую рабочее место сотрудника оборудовано персональным компьютером, имеющим выход в локальную сеть и часто - в Интернет. Таким образом соблюдать конфиденциальность каких либо данных в такой ситуации особенно сложно. Решение этой проблемы есть наблюдение за информационной деятельностью сотрудников. Но к каждому не приставишь соглядатая - очевидно, что это будет слишком не выгодно с экономической точки зрения.
АктуальностьОдним из вариантов решения данной проблемы есть реализация программного обеспечения, призванного следить за деятельностью пользователя при работе с ПК (имеются в виду снимки экрана, нажатия клавиш). Учитывая "продвинутость" современных пользователей, стоит заметить, что с помощью средств, предоставляемых Интернетом, часто не составляет труда обойти обычные средства наблюдения. Таким образом, в настоящее время одним из требований к приложению такого рода является невидимость для пользователя. Потому как не от чего укрываться, если этот "что-то" не видно и о его существовании в принципе ничего не известно.
Цели и задачиТаким образом целью магистерской работы является исследование методик скрытия в операционных системах класса Windows NT (как наиболее сейчас распространенных), модификация по возможности, реализация программного продукта, использующего наиболее эффективные методики скрытия, для наблюдения за деятельностью пользователя. Для достижения поставленной цели требуют своего решения следующие задачи:
Данная проблема уже рассматривалась и как результат существует несколько наиболее популярных решений. Далее будет рассмотрен список этих решений с указанием их недостатков.
Actual Spy - программа, обладает расширенными возможностями к ведению наблюдения за деятельностью пользователя и базовые возможности к скрытию. Легко может быть обнаружена специальным программным обеспечением (на пример ProcessHunter от Ms-Rem'а) даже на уровне пользователя. С помощью определенного программного обеспечения, может быть обезврежена, и деактивирована, либо есть возможность направления ложной информации о деятельности.
StaffCop - программа для мониторинга деятельности пользователя. Как и предыдущая программа, имеет множество различных настроек для наблюдений, а также базовую функциональность для скрытия от пользователя. Так же довольно легко обнаруживается и удаляется. Таким образом видно, что наиболее уязвимой частью программных продуктов такого рода является "слабая невидимость", которую довольно просто обнаружить, а при необходимости и "обмануть".
Теме "невидимости" в операционных системах класса Windows NT посвящено множество статей и других работ в Интернете. Ниже перечислены некоторые из них:
Таким образом, возвращаясь к приложению которое необходимо реализовать, можно выдвинуть следующие требования:
На текущей стадии разработки создана динамически-подключаемая библиотека для скрытия деятельности приложения с использованием методов уровня пользователя. Скрытие производится за счет сплайсинга функции NtQuerySystemInformation и модификации результатов ее работы а также функции NtQueryDirectoryInformation с той же моделью поведения. Так же на этом этапе стало ясно, что методы 3-го кольца защиты не эффективны и плохо организуют скрытие деятельности (данный вывод сделан на основании того, что специализированный софт обнаруживает скрытую деятельность). Поэтому на данный момент исследуются методы 0-го кольца. Как некоторый промежуточный результат исследования, был создан драйвер, который действовал по методике DKOM, модифицируя двусвязный список структур ядра EPROCESS, описывающих отдельные процессы в системе. Таким образом происходило скрытие процесса на уровне ядра. Также был создан специальный драйвер-фильтр для перехвата всех пакетов запроса ввода/вывода ко всем логическим несъемным дискам в системе с целью скрытия файлов или/и папок. На данный момент ведется работа по исследованию функции SwapContext для предотвращения ее сплайсинга и обнаружения скрытых процессов.
В результате данной магистерской работы будут исследованы разнообразные методики скрытия в ОС класса Windows NT, определены наиболее эффективные, и создано приложение для наблюдения с использованием этих методик.