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