Имитаторы
Клавиатурные шпионы этого типа работают по следующему алгоритму. Злоумышленник внедряет в операционную систему программный модуль, который имитирует приглашение пользователю зарегистрироваться для того, чтобы войти в систему. Затем внедренный модуль (в принятой терминологии — имитатор) переходит в режим ожидания ввода пользовательского идентификатора и пароля. После того как пользователь идентифицирует себя и введет свой пароль, имитатор сохраняет эти данные там, где они доступны злоумышленнику. Далее имитатор инициирует выход из системы (что в большинстве случаев можно сделать программным путем), и в результате перед глазами у ничего не подозревающего пользователя появляется еще одно, но на этот раз уже настоящее приглашение для входа в систему.
Обманутый пользователь, видя, что ему предлагается еще раз ввести пароль, приходит к выводу о том, что он допустил какую-то ошибку во время предыдущего ввода пароля, и послушно повторяет всю процедуру входа в систему заново. Некоторые имитаторы для убедительности выдают на экран монитора правдоподобное сообщение о якобы совершенной пользователем ошибке. Например, такое: “НЕВЕРНЫЙ ПАРОЛЬ. ПОПРОБУЙТЕ ЕЩЕ РАЗ”.
Написание имитатора не требует от его создателя каких-либо особых навыков. Злоумышленнику, умеющему программировать на одном из универсальных языков программирования (к примеру, на языке BASIC), понадобятся на это считанные часы. Единственная трудность, с которой он может столкнуться, состоит в том, чтобы отыскать в документации соответствующую программную функцию, реализующую выход пользователя из системы.
Перехват пароля зачастую облегчают сами разработчики операционных систем, которые не затрудняют себя созданием усложненных по форме приглашений пользователю зарегистрироваться для входа в систему. Подобное пренебрежительное отношение характерно для большинства версий операционной системы UNIX, в которых регистрационное приглашение состоит из двух текстовых строк, выдаваемых поочередно на экран терминала:
login:
password:
Чтобы подделать такое приглашение, не нужно быть семи пядей во лбу. Однако само по себе усложнение внешнего вида приглашения не создает для хакера, задумавшего внедрить в операционную систему имитатор, каких-либо непреодолимых препятствий. Для этого требуется прибегнуть к более сложным и изощренным мерам защиты. В качестве примера операционной системы, в которой такие меры в достаточно полном объеме реализованы на практике, можно привести Windows NT.
Системный процесс WinLogon, отвечающий в операционной системе Windows NT за аутентификацию пользователей, имеет свой собственный рабочий стол — совокупность окон, одновременно видимых на экране дисплея. Этот рабочий стол называется столом аутентификации. Никакой другой процесс, в том числе и имитатор, не имеет доступа к рабочему столу аутентификации и не может расположить на нем свое окно.
После запуска Windows NT на экране компьютера возникает так называемое начальное окно рабочего стола аутентификации, содержащее указание нажать на клавиатуре клавиши <Ctrl>+<Alt>+<Del>. Сообщение о нажатии этих клавиш передается только системному процессу WinLogon, а для остальных процессов, в частности, для всех прикладных программ, их нажатие происходит совершенно незаметно. Далее производится переключение на другое, так называемое регистрационное окно рабочего стола аутентификации. В нем-то как раз и размещается приглашение пользователю ввести свое идентификационное имя и пароль, которые будут восприняты и проверены процессом WinLogon.
Для перехвата пользовательского пароля внедренный в Windows NT имитатор обязательно должен уметь обрабатывать нажатие пользователем клавиш <Ctrl>+<Alt>+<Del>. В противном случае произойдет переключение на регистрационное окно рабочего стола аутентификации, имитатор станет неактивным и не сможет ничего перехватить, поскольку все символы пароля, введенные пользователем, минуют имитатор и станут достоянием исключительно системного процесса WinLogon. Как уже говорилось, процедура регистрации в Windows NT устроена таким образом, что нажатие клавиш <Ctrl>+<Alt>+<Del> проходит бесследно для всех процессов, кроме WinLogon, и поэтому пользовательский пароль поступит именно ему.
Конечно, имитатор может попытаться воспроизвести не начальное окно рабочего стола аутентификации (в котором высвечивается указание пользователю одновременно нажать клавиши <Ctrl>+<Alt>+<Del>), а регистрационное (где содержится приглашение ввести идентификационное имя и пароль пользователя). Однако при отсутствии имитаторов в системе регистрационное окно автоматически заменяется на начальное по прошествии короткого промежутка времени (в зависимости от версии Window NT он может продолжаться от 30 с до 1 мин), если в течение этого промежутка пользователь не предпринимает никаких попыток зарегистрироваться в системе. Таким образом, сам факт слишком долгого присутствия на экране регистрационного окна должен насторожить пользователя Windows NT и заставить его тщательно проверить свою компьютерную систему на предмет наличия в ней программных закладок.
Подводя итог сказанному, можно отметить, что степень защищенности Windows NT от имитаторов достаточно высока. Рассмотрение защитных механизмов, реализованных в этой операционной системе, позволяет сформулировать два необходимых условия, соблюдение которых является обязательным для обеспечения надежной защиты от имитаторов:
системный процесс, который при входе пользователя в систему
получает от него соответствующие регистрационное имя и пароль, должен иметь свой собственный рабочий стол, недоступный другим процессам;
переключение на регистрационное окно рабочего стола
аутентификации должно происходить абсолютно незаметно для прикладных программ, которые к тому же никак не могут повлиять на это переключение (например, запретить его).
К сожалению, эти два условия ни в одной из операционных систем, за исключением Windows NT, не соблюдаются. Поэтому для повышения их защищенности от имитаторов можно порекомендовать воспользоваться административными мерами. Например, обязать каждого пользователя немедленно сообщать системному администратору, когда вход в систему оказывается невозможен с первого раза, несмотря на корректно заданное идентификационное имя и правильно набранный пароль.
- Группа подготовки издания:
- 199034, Санкт-Петербург, 9-я линия, 12. Предисловие
- Компьютерная безопасность Глава 1
- Угрозы компьютерной безопасности Компьютерная преступность в России
- Тенденции
- Internetкак среда и как орудие совершения компьютерных преступлений
- Синдром Робина Гуда
- История одного компьютерного взлома
- Компьютер глазами хакера
- Кто такие хакеры
- Методы взлома компьютерных систем
- Атаки на уровне систем управления базами данных
- Атаки на уровне операционной системы
- Атаки на уровне сетевого программного обеспечения
- Защита системы от взлома
- Глава 2
- Программы-шпионы Программные закладки
- Модели воздействия программных закладок на компьютеры Перехват
- Искажение
- Уборка мусора
- Наблюдение и компрометация
- Защита от программных закладок
- Защита от внедрения программных закладок
- Выявление внедренной программной закладки
- Удаление внедренной программной закладки
- Троянские программы
- Откуда берутся троянские программы
- Где обитают и как часто встречаются троянские программы
- Как распознать троянскую программу
- Клавиатурные шпионы
- Имитаторы
- Фильтры
- Заместители
- Как защитить систему от клавиатурных шпионов
- Глава 3
- Парольная защита операционных систем Парольные взломщики
- Что такое парольный взломщик
- Как работает парольный взломщик
- Взлом парольной защиты операционной системыUnix
- Взлом парольной защиты операционной системыWindows nt База данных учетных записей пользователей
- Хранение паролей пользователей
- Использование пароля
- Возможные атаки на базу данныхSam
- Защита системы от парольных взломщиков
- Как сделать парольную защитуWindows 95/98 более надежной
- Как установить парольную защитуWindows 95/98
- Почему парольная защита Windows 95/98 ненадежна
- Как предотвратить несанкционированную загрузку системы
- Как запретить кэширование паролей вWindows 95/98
- Соблюдайте осторожность: парольная защита ненадежна
- Глава 4
- Безопасность компьютерной сети Сканеры
- Сканер в вопросах и ответах Что такое сканер?
- Каковы системные требования для работы со сканерами?
- Трудно ли создать сканер?
- Что не по силам даже самому совершенному сканеру?
- Насколько легальны сканеры?
- В чем различие между сканерами и сетевыми утилитами?
- Сканер в действии
- Satan, Jackal и другие сканеры
- Анализаторы протоколов
- Локальное широковещание
- Анализатор протоколов как он есть
- Защита от анализаторов протоколов
- Криптографические методы защиты информации Глава 5
- Основы криптографии Зачем нужна криптография
- Терминология Шифрование и расшифрование
- Аутентификация, целостность и неоспоримость
- Шифры и ключи
- Симметричные алгоритмы шифрования
- Алгоритмы шифрования с открытым ключом
- Криптоаналитические атаки
- Надежность алгоритма шифрования
- Сложность криптоаналитической атаки
- Шифры замены и перестановки
- Шифры замены
- Шифры перестановки
- Роторные машины
- Операция сложения по модулю 2
- Одноразовые блокноты
- Компьютерные алгоритмы шифрования
- Глава 6
- Криптографические ключи Длина секретного ключа
- Сложность и стоимость атаки методом тотального перебора
- Программная атака
- "Китайская лотерея"
- Биотехнология
- Термодинамические ограничения
- Однонаправленные функции
- Длина открытого ключа
- Какой длины должен быть ключ
- Работа с ключами
- Генерация случайных и псевдослучайных последовательностей
- Псевдослучайные последовательности
- Криптографически надежные псевдослучайные последовательности
- Генерация ключей
- Сокращенные ключевые пространства
- Плохие ключи
- Случайные ключи
- СтандартAnsi x9.17
- Нелинейные ключевые пространства
- Передача ключей
- Проверка подлинности ключей
- Контроль за использованием ключей
- Обновление ключей
- Хранение ключей
- Запасные ключи
- Скомпрометированные ключи
- Продолжительность использования ключа
- Уничтожение ключей
- Глава 7
- Криптографические протоколы Что такое криптографический протокол
- Зачем нужны криптографические протоколы
- Распределение ролей
- Протокол с арбитражем
- Протокол с судейством
- Самоутверждающийся протокол
- Протокол обмена сообщениями с использованием симметричного шифрования
- Протокол обмена сообщениями с использованием шифрования с открытым ключом
- Гибридные криптосистемы
- "Шарады" Меркля
- Цифровая подпись
- Подписание документов при помощи симметричных криптосистем и арбитра
- Подписание документов при помощи криптосистем с открытым ключом
- Отметка о времени подписания документа
- Использование однонаправленных хэш-функций для подписания документов
- Дополнительная терминология
- Несколько подписей под одним документом
- Неоспоримость
- Цифровая подпись и шифрование
- Основные криптографические протоколы Обмен ключами
- Обмен ключами для симметричных криптосистем
- Обмен ключами для криптосистем с открытым ключом
- Атака методом сведения к середине
- Блокировочный протокол
- Протокол обмена ключами с цифровой подписью
- Одновременная передача ключа и сообщения
- Множественная рассылка ключей и сообщений
- Аутентификация
- Аутентификация при помощи однонаправленных функций
- Отражение словарной атаки при помощи "изюминок"
- Периодическая сменяемость паролей
- Аутентификация при помощи криптосистем с открытым ключом
- Формальный анализ криптографических протоколов
- Многоключевая криптография с открытым ключом
- Множественная рассылка шифрованных сообщений
- Распределение ответственности
- Распределение ответственности и мошенничество
- Вспомогательные криптографические протоколы Отметка о времени создания файла
- Отметка о времени создания файла и арбитраж
- Связующий протокол
- Распределенный протокол
- Подсознательный канал
- Практическое применение подсознательного канала
- Неоспоримая цифровая подпись
- Цифровая подпись с назначенным конфирмантом
- Цифровая подпись по доверенности
- Групповые подписи
- Цифровая подпись с дополнительной защитой
- Предсказание бита
- Предсказание бита с помощью симметричной криптосистемы
- Предсказание бита с помощью однонаправленной функции
- Предсказание с помощью генератора псевдослучайных битовых последовательностей
- Бросание монеты
- Бросание монеты с помощью предсказания бита
- Бросание монеты с помощью однонаправленной функции
- Бросание монеты с помощью криптосистемы с открытым ключом
- Игра в покер
- Специальные криптографические протоколы Доказательство с нулевым разглашением конфиденциальной информации
- Протокол доказательства с нулевым разглашением конфиденциальной информации
- Параллельные доказательства с нулевым разглашением конфиденциальной информации
- Неинтерактивные протоколы доказательства с нулевым разглашением конфиденциальной информации
- Удостоверение личности с нулевым разглашением конфиденциальной информации
- Неосознанная передача информации
- Анонимные совместные вычисления
- Вычисление средней зарплаты
- Как найти себе подобного
- Депонирование ключей
- Депонирование ключей и политика
- Глава 8
- Надежность криптосистем
- Как выбрать хороший криптографический алгоритм
- Криптографические алгоритмы, предназначенные для экспорта из сша
- Симметричный или асимметричный криптографический алгоритм?
- Шифрование в каналах связи компьютерной сети
- Канальное шифрование
- Сквозное шифрование
- Комбинированное шифрование
- Шифрование файлов
- Аппаратное и программное шифрование Аппаратное шифрование
- Программное шифрование
- Сжатие и шифрование
- Как спрятать один шифртекст в другом
- Почему криптосистемы ненадежны
- Реализация
- Учет реальных потребностей пользователей
- Законодательные ограничения
- Слишком малая длина ключа
- Потайные ходы
- Шифрование вокруг нас
- Приложение Англо-русский криптологический словарь с толкованиями
- Лексикографические источники
- Сокращения Английские
- Русские
- Условные обозначения
- Криптологический словарь
- Глава 1 6
- Глава 2 24
- Глава 3 52
- Глава 4 75
- Глава 5 92
- Глава 6 110
- Глава 7 138
- Глава 8 204