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