Приложение запущено... Си-ильно запущено. Мир оплетен паутиной локальных сетей, и существует множество способов по проникновению в них. Кто-то предпочитает взрывать защиту эксплоитами (exploit — программка, использующая определенный баг в системе защиты для получения прав администратора), а кто-то спокойно заходит с известным паролем. Чаще всего пароли добываются банальными троянами. Но есть более изощренный способ их добычи — перехватчики паролей. Мир уже переболел шпиономанией, но цирк уехал, а шпионы остались... Все перехватчики можно разделить на три основные группы. Анализатор? Шпион! Самый известный вид — это снифферы. Снифферы существуют почти под всеми операционными системами: MS-DOS,
LanExplorer - новичкам вход воспрещен! Win32, WinNT, Linux, Unix, SunOS. Как же они работают? Известно, что информация в локальной сети передается по пакетам. Обмен данными подразумевает посылку пакетов всем компьютерам в данном сегменте сети, а каждый пакет несет в себе служебную информацию о том, какому компьютеру он адресован. Подразумевается, что пакет может принять только тот компьютер, которому он адресован, но вырисовывается возможность приема всех пакетов, проходящих в сети. Для этого надо перевести машину в смешанный режим, т.е. сделать так, чтобы машина принимала все пакеты. А поскольку информация о паролях в пакетах передается в текстовом формате, то задача по перехвату паролей сводится к переводу в смешанный режим и анализу пакетов на предмет наличия паролей. В открытом виде пароли передаются в следующих сервисах: Telnet, POP3, POP2, FTP, ICQ, NetBios, Rlogin, Poppasswd, IMAP2. Список очень внушительный, не правда ли? То есть злоумышленник может, не особо напрягаясь, получить ваши пароли от шелла, почтовых ящиков, аськи, FTP-узла и приватных www-узлов. Обнаружить сниффер чрезвычайно тяжело. Он пассивен — ничего никуда не шлет, не пытается соединиться с каким-либо портом; только слушает втихомолку и пишет
Кто-то попался. лог-файл со всей "пойманной" информацией. Правда, некоторые операционные системы не совсем корректно работают в смешанном режиме, что позволяет их обнаружить. Но они "очень далеки от народа" — это семейство *NIX. В Windows, насколько мне известно, подобных возможностей нет. Есть иные методы предотвращения перехвата информации: 1. Использование интеллектуальных хабов. Такие хабы посылают пакет только той машине, которой этот пакет предназначается. И смешанный режим ничего не даст — все принимают только то, что им положено. 2. Полная шифровка трафика. Необходимо применять алгоритм шифрования, позволяющий обеспечить потоковую шифровку. Один из вариантов — DES. Существуют также системы защищенных соединений, но подобные решения подходят только крупным корпорациям из-за очень высокой цены. Коснусь специфики. Некоторые снифферы "понимают" только один протокол. Скажем, ICQ. То есть в совершенстве оперируют с этим сервисом, предоставляя взломщику пароли от асек и посылаемые сообщения. Некоторые снифферы принимают только несколько первых сотен байт определенных сессий. Так делал ранее очень известный сниффер Esniff. Он работал под SunOS и читал первые 300 байт telnet, ftp и rlogin сессий. Некоторые снифферы позволяют декодировать пакеты, избавляясь от "ненужной" служебной информации. Или, например, пересобрать пакет данных и повторить его посылку. Хочется также обратить внимание, что во многих компьютерных клубах стоят подобные "анализаторы сетевого трафика" (официальное название сниффера). Один админ мне объяснил, что поставил сниффер, потому что раньше часто из клуба производили операции по переводу денег, взлому сайтов. А в логах оставался ip клуба. На первый взгляд — да, администратору хочется себя обезопасить. Но ведь сниффер ловит все подряд, и не хочется даже думать о возможных последствиях — больно они неприглядны. Убей сниффер! Одним из наиболее популярных снифферов является Iris от компании eEye. К слову: продукт позиционируется как коммерческий и стоит ни много ни мало — 995$. Но популярности это ему не убавляет. Этот сниффер вполне реально "выбить из колеи". Для этого необходимо послать особый пакет, который будет содержать неверный заголовок — сниффер его не сможет переварить и вылетит с ошибкой переполнения буфера (buffer overflow). Для такой благой цели служит специальная программка. Листинг программы можно найти на нашем компакте. Помедленней, пожалуйста — я записываю... Второй вид перехватчиков менее распространен, но неизвестным его назвать нельзя. Это — клавиатурные шпионы, или кейлогеры. Клавиатурный шпион перехватывает все данные, вводимые с клавиатуры, и сбрасывает их в лог-файл. Реализация возможна посредством перехвата прерываний процессора, которые имеют отношение к работе с клавиатурой. Чтобы кейлогер начал работу, необходимо запустить его на машине жертвы. В дело опять вступает человеческий фактор. Сконфигурированный кейлогер могут прислать по почте как фото.jpg <пробелы> exe. Жертва его запускает, тот прописывает себя в автозапуске, прячется и начинает работу. Совершенные клавиатурные шпионы запускаются вместе с Windows (чаще всего через реестр или win.ini), их не видно по Ctr-Alt-Del, некоторые умеют шифровать лог-файл, а также отправлять лог на заданный e-mail. Схожий принцип работы с кейлогерами имеют русификаторы клавиатуры. Они тоже перехватывают информацию, вводимую пользователем с клавиатуры. Несложно провести "модернизацию" русификатора так, чтобы он работал как кейлогер. Советы по защите стандартны. Ситуация похожа на ситуацию с троянами — не открывайте аттачи, регулярно проверяйте секцию автозагрузки и поставьте утилиту для просмотра всех запущенныхпроцессов на машине, иначе Windows вам покажет далеко не все. Я бы посоветовал утилиту Starter. Достоинства утилиты — полная информация по всем ключам автозапуска (что за файл и где он находится), список всех процессов и работающих программных модулей на машине. Для более совершенной защиты следует выполнить следующие условия: 1. Запретить переключение раскладки клавиатуры в процессе ввода пароля. 2. Только администратор должен иметь возможность определять программные модули, участвующие в получении пароля. 3. Доступ к записи файлов этих модулей должны иметь только системные администраторы. Любое обращение на запись должно регистрироваться в системном журнале аудита. Для подобной серьезной защиты операционная система должна поддерживать разграничение доступа и аудит. Все три условия могут быть выполнены в английских версиях Windows NT. В русифицированных версиях операционных систем выполнение первого условия невозможно из-за специфики кода (поддержка русских имен пользователей заложена в программе). Все же комплексное использование этих мер если и не полностью обезопасит систему от перехватчиков паролей подобного рода, то существенно усложнит такую задачу. Подделка О третьем виде перехватчиков предпочитают говорить шепотом. Это одна из наиболее опасных атак, к счастью — одновременно и наиболее редкая. Это — программные закладки. Чаще всего это фрагмент программы, внедренный в защищенную систему, маскирующий свое присутствие и позволяющий в дальнейшем осуществить перехват паролей. Программная закладка становится частью защищенной системы и не воспринимается как нечто "чужеродно-резидентное". Закладка создает скрытый информационный канал, который можно зафиксировать только по чистой случайности. Общая последовательность действий такова: запуск программы-закладки, которая имитирует приглашение ввода пароля, далее ничего не подозревающий пользователь
Настоящее или нет? вводит имя и пароль, и закладка сохраняет их в файле, после чего бесследно выходит из системы. Теперь на экране снова появляется приглашение на ввод пароля, теперь уже настоящее. Пользователь думает, что произошла ошибка ввода пароля, и вводит пароль еще раз и дальше работает нормально. Иногда перед выходом, для большей правдоподобности, закладка выдает сообщение о неверно введенном пароле. Несмотря на простоту написания подобной программы (ее можно реализовать даже на QBasic), закладки не получили широкого распространения. Задача несколько усложняется графическим интерфейсом, как более сложным визуальным приглашением на аутентификацию. Достаточно устойчивой к перехватчикам паролей этого вида является Windows NT (и прочие на том же ядре). В WinNT существует несколько рабочих полей (desktop). Так, запуск каких бы то ни было прикладных программ возможен только на соответствующем рабочем поле. А ввод пароля — только на поле аутентификации. Именно такая возможность (выполнение запроса пароля на изолированном рабочем поле) является лучшей защитой от программ-закладок. Еще более повысить защищенность системы от перехватчиков этого вида можно комплексом административных мер — каждый пользователь должен быть проинструктирован, что при невозможности войти в систему с первого раза он должен обратиться к системному администратору. Хотя это не более чем формальность — если пользователи спорят с администраторами о необходимости антивирусов (они-де никому не нужны, а только память захламляют), то что уж тут говорить об обращении к системному администратору при "неправильно набранном" пароле. Кругом одни шпионы Вполне возможно, что кто-то мне уже поставил диагноз "шпиономания" и определил в белокаменные палаты им. Кащенко (ныне — Алексеева). Тем более, что в статье часто встречалась "шпионская" терминология: шпионы, резиденты... Спешу разочаровать — я трезво смотрю на вещи. А атакам подобного рода в популярности не откажешь — слишком легко перехватываются пароли, которые считаются устойчивыми к перебору (brute-force stabile). Например пароль "love" крайне неустойчив, потому что он подбирается по любому словарю, а вот "1Bq8_$y0v&" найти перебором всех возможных комбинаций символов будет намного сложнее. И если реализовывать все методы защиты, описанные в этой статье, то может получиться Форт-Нокс вместо компьютера. В домашней сети подобная защита ни к чему, но врага надо знать в лицо: кто предупрежден — тот вооружен. Главная защита — разумно себя вести. Несмотря ни на что, большинство пользователей так и не поставили себе ни антивирус (или последний апдейт делали год-полтора тому назад), ни файервол. Считают, что их минует чаша сия. Не стоит полагаться на случай — лучше обезопасить себя заранее, чем потом в яростном порыве рвать на себе волосы и идти в клинику Real Trans Hair.