Заместители
полностью или частично подменяют собой программные модули
операционной системы, отвечающие за аутентификацию пользователей. Подобного рода
клавиатурные шпионы могут быть созданы для работы в среде практически любой
многопользовательской операционной системы. Трудоемкость написания заместителя
определяется сложностью алгоритмов, реализуемых подсистемой аутентификации, и
интерфейсов между ее отдельными модулями. Также при оценке трудоемкости следует
принимать во внимание степень документированности этой подсистемы. В целом можно
сказать, что задача создания заместителя значительно сложнее задачи написания
имитатора или фильтра. Поэтому фактов использования подобного рода программных
закладок злоумышленниками пока отмечено не было. Однако в связи с тем, что в
настоящее время все большее распространение получает операционная система
Windows NT, имеющая мощные средства защиты от имитаторов и фильтров, в самом
скором будущем от хакеров следует ожидать более активного использования
заместителей в целях получения несанкционированного доступа к компьютерным
системам.
Поскольку заместители берут на себя выполнение функций подсистемы
аутентификации, перед тем как приступить к перехвату пользовательских паролей
они должны выполнить следующие действия:
-
подобно компьютерному вирусу внедриться в один или несколько системных
файлов;
-
использовать интерфейсные связи между программными модулями полсистемы
аутентификации для встраивания себя в цепочку обработки введенного
пользователем пароля.
Для того чтобы защитить систему от внедрения заместителя, ее администраторы
должны строго соблюдать адекватную политику безопасности. И что особенно важно,
подсистема аутентификации должна быть одним из самых защищенных элементов
операционной системы. Однако, как показываем практика, администраторы, подобно
всем людям, склонны к совершению ошибок. А следовательно, соблюдение адекватной
политики безопасности в течение неограниченного периода времени является
невыполнимой задачей. Кроме того, как только заместитель попал в компьютерную
систему, любые меры зашиты от внедрения программных закладок перестают быть
адекватными, и поэтому необходимо предусмотреть возможность использования
эффективных средств обнаружения и удаления внедренных клавиатурных шпионов. Это
значит, что администратор должен вести самый тщательный контроль целостности
исполняемых системных файлов и интерфейсных функций, используемых подсистемой
аутентификации для решения своих задач.
Но и эти меры могут оказаться недостаточно эффективными. Ведь машинный код
заместителя выполняется в контексте операционной системы, и поэтому заместитель
может предпринимать особые меры, чтобы максимально затруднить собственное
обнаружение. Например, он может перехватывать системные вызовы, используемые
администратором для выявления программных закладок, с целью подмены возвращаемой
ими информации. Или фильтровать сообщения, регистрируемые подсистемой аудита,
чтобы отсеивать те, которые свидетельствуют о его присутствии в компьютере.
|