Черт возьми! Какая странная программа! Сразу же после запуска она выдает пользователю приглашение ввести имя и пароль. Обычный пользователь увидит на экране:
ДОБРО ПОЖАЛОВАТЬ В КОМПЬЮТЕР ЮНИКС-4 ЛОУРЕНСОВСКОЙ ЛАБОРАТОРИИ В БЕРКЛИ
ЗАРЕГИСТРИРУЙТЕСЬ, ПОЖАЛУЙСТА
Учетное имя:
Затем его терминал перейдет в режим ожидания и будет в нем находиться до тех пор, пока не будет введено учетное имя. После набора имени система отреагирует следующим образом:
ВВЕДИТЕ ПАРОЛЬ:
Пользователь введет пароль. Программа его срисует, выдаст сообщение:
ИЗВИНИТЕ, ПОПРОБУЙТЕ ЕЩЕ РАЗ
и закончит работу.
Большая часть пользователей попытается зарегистрироваться еще раз. Но их пароли уже будут украдены.
Четыре тысячи лет назад Троя пала, когда греческие воины проникли в город, спрятавшись внутри деревянного коня. И этот милый подарочек крадет ключи к системе защиты. Отточенный веками прием срабатывает против любого, кроме параноиков.
Троянский конь хакера крал пароли. Была ли эта программа троянским конем? Может быть, следовало назвать ее дроздом-пересмешником: фальшивая, она имитировала настоящую. У меня не было времени копаться в таких тонкостях — через минуту он поместит программу в системную область и запустит. Что делать? Если я включу блокировку, то обнаружу себя. А если ничего не буду делать, то при каждом входе пользователя в систему в копилку будет «падать» новый пароль.
Но у законного суперпользователя тоже есть власть. До запуска я успел изменить одну строчку в программе хакера. Правка выглядела как простая ошибка. Затем, чтобы замедлить систему, я подменил пару параметров. Замедление было нужно, чтобы хакер исправлял программу не менее десяти минут. Этого достаточно, чтобы успеть принять меры. Я крикнул Дэйву: «Чем накормить троянскую лошадь?» Дэйв примчался мгновенно. Мы переключили компьютер на максимальное быстродействие и приготовили жвачку из фальшивых учетных имен и ложных паролей. Суетиться было, в общем-то, не нужно. Хакер починил своего троянского коня, но инсталлировал его с ошибками. Дэйв мгновенно понял, что программу поместили не в тот каталог. Троянский конь хорошо бы закусил в ЮНИКС-АТ&Т, но не мог пастись на полях ЮНИКСа-Беркли. Дэйв усмехнулся.
— Не хочу повторяться, но тот, за кем мы следим, никогда не был в Калифорнии. Любой ас ЮНИКСа Западного побережья использует команды диалекта Беркли, а твой хакер все еще употребляет команды ЮНИКС-АТ&Т. Его способ употребления команд отличается от общепринятого в системе ЮНИКС-Беркли. Его программа грешит тем же. Это очевидно. Читая книгу, всегда можно понять, что писатель англичанин, а не американец. Конечно, слова «цвет» и «оборона» и в Африке — «цвет» и «оборона», но остается еще различие в стиле.
— В чем же конкретно это проявляется? — спросил я.
Дэйв презрительно посмотрел на меня.
— Хакер использовал команду «read», чтобы считать данные, введенные с клавиатуры. Любой цивилизованный программист использовал бы команды «set».
Мерилом цивилизованности программиста для Дэйва являлось использование ЮНИКС-Беркли. Прочие — дикари. Хакер об этом не знал. Уверенный, что нашел нужное пастбище для своего троянского коня, он запустил свою программу в качестве фонового процесса и отключился. Перед этим Рон Вивьер проследил его по тимнетовской сети и вышел на телефонную линию Окленда, штат Калифорния. Наш ордер еще не написан, поэтому мы не смогли начать выслеживать его телефон.
Хакера уже нет, но троянский конь остался. Как и предполагал Дэйв, он не смог «срисовывать» пароли, поскольку располагался в области, к которой не производилось обращение во время подключения. Действительно, двадцать минут спустя вновь появился хакер, поискал «срисованные» пароли и, должно быть, здорово расстроился, обнаружив, что программа не сработала.
— Послушай, Дэйв, может, поможешь бедняге, — сказал я.