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