Николай Масленников
Клавиатурные шпионы

В этой статье я хочу рассказать о так называемых клавиатурных шпионах (keyboard loggers) . С помощью этих маленьких программ вы можете узнать, что делали на вашем компьютере, пока вас не было в офисе или дома (последнее для параноиков и жильцов коммунальных квартир). Если же вы сумеете подложить их на чужой компьютер, то получите возможность узнавать практически обо всех действиях хозяина компьютера.

Метод работы таких программ очень напоминает способ, о котором не раз рассказывали в какой-то детской передаче про частных детективов, вы наверняка его помните: под скатерть на столе вы кладете лист обычной бумаги, а на него лист копирки. Теперь все, что будет написано за этим столом, через копирку отпечатывается на листе бумаги. Здесь главное - незаметно подложить копирку под скатерть, а потом также незаметно вытащить результат. В нашем случае сделать это обычно не составляет труда, потому что программы эти очень маленькие (обычно не больше 100 килобайт вместе с описанием и help'oM, но встречаются исключения, дотягивающие почти до 500) и скопировать их с дискеты на “винт” “клиента”, а также периодически (можно раз в несколько дней, но чем дольше, тем труднее потом разобраться) “снимать” результаты. Это минутное дело, достаточно лишь на некоторое время остаться наедине с компьютером.

С программами подобного рода я познакомился впервые лет, наверное, пять назад. Когда я получил в свое распоряжение настоящий IBM-совместимый компьютер — деск-топ с 286 процессором, цветным монитором и винчестером на целых 40 мегабайт — радости моей не было предела, ОН был гораздо больше похож на настоящий современный компьютер, чем все то барахло, что было у меня до него. Компьютер, разумеется, был далеко не новый, куплен, что называется, с рук. Таким образом, я унаследовал кучу полезного, и не очень, софта, потом незаметно, сами собой, проявились приятели, тоже имеющие компьютеры, и начался процесс “обмена информацией”. С детства испытывая тягу потрогать, понюхать, попробовать на вкус, в общем, испытать на себе все интересные вещи, которые попадутся под руку, я методично изучал программу за программой: все от Dbase III Plus до коллекции исходных текстов вирусов на Паскале, от SuperCalc 3 до Windows 3.1 (да, на той самой, на “двойке”, тоже работает). И вот однажды, роясь в этом барахле, я нашел странный файл с именем, если не ошибаюсь, spylog.log, который оказался на поверку текстовым и содержал довольно странную информацию. В тот момент у меня, еще не понимающего, что же это все значит, возникло странное ощущение, похожее на манию преследования (что-то вроде: “За мной постоянно кто-то следит и даже наблюдает, что я делаю в...”). Дело в том, что в этом огромном (на тот момент что-то около 400 килобайт) отвратительном spylog.log было записано ВСЕ, что я набирал с клавиатуры за последние несколько месяцев. Но это еще не все: здесь были отмечены все файлы, которые я создавал, удалял, открывал и т.п. с указанием времени и даты. Кстати, даты в начале файла говорили о том, что все это началось у первого хозяина компьютера примерно за пару недель до того, как мы купили его.

Моих поверхностных, на тот момент, знаний о компьютерах IBM PC хватало, чтобы понять — ведение таких файлов (я бы сказал, протоколов допроса) не входит в их стандартные обязанности. Появившиеся параноидальные мысли о том, что ОН, мой электронный друг, внимательно следит за своим хозяином и молчит (или пока молчит), были постепенно отвергнуты, и я занялся выяснением причин столь странного поведения машины. Первым делом я просмотрел autoexec.bat и config.sys на предмет присутствия “лишних” строчек, но, как назло, ничего постороннего там не было: драйвер мыши, русификатор, Volkov Commander и т.п. — в общем, все как обычно. Затем ненавистный файл был удален, и я с отвращением понаблюдал, как он вновь появился в том же месте. Как оказалось, он был создан заново, и начал вновь запоминать все мои действия. Следующим, что пришло мне в голову, было позвать какого-нибудь крутого спеца, чтобы он навсегда отучил моего электронного друга подглядывать. Итак, был приглашен знакомый дядька, обслуживающий несколько компьютеров в местной организации. После нескольких чашек чая и тарелки съеденного печенья (наверное, надо было угощать twix'om), дядька развел руками и опозоренный ушел восвояси. После этого я сделал еще несколько попыток понять, в чем же, собственно, дело, но все они оказались безрезультатными, тотальный контроль продолжался.

Я уже намыливал веревку, как шутят в подобных случаях американцы, когда проблема разрешилась почти сама собой. Купив по случаю новую мышку, я, как водится, переписал с прилагаемой дискеты драйвер — mouse.com .или что-то в этом роде— и вписал его в autoexec.bat вместо старого мышиного драйвера. Через некоторое время я случайно заглянул в spylog.log и с удивлением обнаружил, что записи прервались в тот день, когда я поменял мышку. Сопоставив факты, я понял, что дело, конечно, не в самой мышке, а в драйвере. Как я узнал впоследствии, на моем компьютере была установлена и запущена программа SPY, которая, вероятно, запускалась от драйвера мыши.

Далее я хочу рассказать о трех испробованных мной лично программах этого класса. Начать позвольте с многострадальной (...ного) SPY.

Программа SPY (Security Log System), написанная Алексом Леменковым, предназначена для записи в специальный текстовый Log-файл информации о всех производимых на компьютере действиях с автоматической регистрацией даты и времени. Запись происходит незаметно для пользователя, т.е. человек, работающий на компьютере, скорее всего никогда не узнает о том, что за его действиями может наблюдать посторонний. Все сказанное ниже относится к версии 4.4, но, судя по документации, справедливо для всех версий, начиная с 3.4 (различаются они, в основном, несколькими исправленными ошибками и мелкими опциями). Подозреваю, что испортившая мне столько нервов программа, была версии 3.4 или старше. Так как первые версии программы написаны достаточно давно (во всяком случае, самая старая версия, которую я видел — 1.3 -- была датирована в документации 1992 годом), работает она под MS-DOS версии 4.0 и старше на любом компьютере, начиная с “двойки”. SPY обладает несколькими интересными свойствами: программа загружается в память компьютера по типу вируса, маскируется под DOS и не видна таким программам как MEM, RELEASE и т.д. Кроме загрузки из командной строки или | файла autoexec.bat, SPY может запускаться из любого исполняемого файла (.сom или .ехе). Для того, чтобы реализовать этот метод, в состав пакета, кроме собственно SPY, входит программа SPYEXE, запустив которую, вы автоматически припишете к выбранному исполняемому файлу команду запуска SPY. Таким образом, заставив SPY запускаться, к примеру, вместе с драйвером мыши, вы не оставите никаких следов в autoexec'e. Теперь, если вы надежно спрятали Log-файл, в который будут выводиться результаты слежки, и дали ему какое-нибудь неприметное имя, вроде mouse.log (или сделали его невидимым), то обнаружить, что за всеми вашими действиями наблюдают, вряд ли сможете. Разве что, “роясь” в своем винчестере, случайно “набредете” на весьма странный текстовый файл — и на всю жизнь заречетесь пускать посторонних за клавиатуру своего компьютера.

Кeylog 95 — еще одна опробованная мной программа.

Предназначена она специально для Windows 95, но, насколько мне известно, существует также 16-битная версия для Windows Зх. Автор этой “подглядывалки” — Майк Эллис. Полный каталог программы занимает примерно 466 килобайт. Для запуска программы нужно добавить иконку программы в папку Автозагрузка (Startup) стартового меню Windows 95, что, как мне кажется, далеко не самый элегантный вариант. После загрузки Keylog на Панели задач появляется небольшой прямоугольник, сливающийся с ней по цвету и не имеющий ни значка, ни надписи. Нажатие на этот прямоугольник приводит к появлению на экране небольшого окна с надписью Minimize this window. Вероятно, это достаточно убедительно для неискушенного пользователя, но более въедливый человек обязательно захочет узнать, что же это за необычного вида прямоугольник и странное окошко. Механизм установки Keylog 95, на мой взгляд, не очень удобен: перед запуском программы необходимо вручную скопировать два .dll-файла из установочного комплекта программы в директорию c: \windows\system. Запущенная программа регистрирует всю информацию, вводимую с клавиатуры в текстовых файлах, присваивая им имена вроде 11300901.99W, где первые четыре цифры — время создания файла (в нашем случае |11: 30), две следующие — месяц, затем число и, наконец, две цифры в расширении — год. Существенным недостатком программы я считаю то, что она не позволяет произвольно выбирать директорию для сохранения Log-файлов, располагая их строго по одному адресу c: \dos\logx. В комплект программы входит небольшое, но вполне внятное описание на английском языке.

HookDump 2.8, написанная Ильей Осиповым.

Программа HookDump 2.8 — самая лучшая, на мой взгляд, программа этого класса. Она предназначена для работы под Windows 3.1 или 95, но без проблем запускается и работает под 98-ми “Окнами”. Программа обладает широким набором функций и гибкой системой настройки. Интерфейс HookDump достаточно прост и позволяет указать, отметив соответствующие пункты меню, нажатие каких клавиш регистрировать (возможен выбор: буквенно-цифровые клавиши + клавиши управления курсором или же регистрация всех нажатий, включая Caps Lock, Shift, Tab, все функциональные клавиши и т.п.), какую информацию о работающих программах запоминать (возможна регистрация времени, активных окон и т.п.). Кроме текста, набираемого с клавиатуры, в Log-файле записывается даже такая информация, как скрытый пароль Dial-Up Networking, который вообще не набирался. Возможна также регистрация нажатий на кнопки мыши (непонятно, правда, как же потом определить, в каких местах и на что “кликали” мышью). Чтобы установить программу, нужно лишь целиком скопировать ее каталог (размер каталога чуть больше 50 килобайт) на винчестер. Для автоматического запуска HookDump достаточно отметить в меню Startup строчку AutoStartUp (т.е. нет необходимости включать программу в папку Автозагрузка). После этого программа будет автоматически запускаться вместе с Windows, никак не проявляя при этом своего присутствия. Конечный текстовый файл с расширением .hk может находиться в любом каталоге на ваш выбор. Для этого нужно указать в файле hookdump.ini желаемый каталог и имя файла, которые будут созданы программой. Кроме того, есть довольно приличный Help, правда, только на английском. Программа HookDump оставляет самое приятное впечатление, не могу сказать, что я в щенячьем восторге, но все же... Она проста в установке (для этого хватает и полминуты), имеет массу настроек, а, будучи запущенной, остается совершенно незаметной.

Разумеется, список “клавиатурных шпионов” не ограничивается описанными здесь программами, существует еще SECRET AGENT Алексея Черненко (эта программа работает на любом “тостере” с 8086 процессором) и многие другие, рассказывать о которых можно достаточно долго. В заключение хочу сказать, что целью этой статьи было рассмотрение еще одного аспекта privacy, о котором не подозревает большинство пользователей. Узнать о том, что вы делаете на своем компьютере, можно даже в том случае, если вы и рядом с Интернетом не стояли. А рассказал о том, как можно заполучить чужую информацию, я лишь для того, чтобы читатель знал, каким образом “не наши” могут узнать что-то о нем. Для того, чтобы уберечься от подобных шпионских закладок, нужно соблюдать банальные правила, известные всем: следить за тем, чтобы вашим компьютером не пользовались в ваше отсутствие и “избегать случайных связей”.

По материалам журнала "Домашний компьютер" №6  2000 года.