Второй возможности стянуть пятьдесят принтеров для контроля тракта не было, поэтому пришлось наблюдать только за наиболее вероятными линиями. В субботу утром он вошел через один из четырех Тимнетовских каналов, поэтому начать было лучше всего именно с них. Я не мог купить, украсть или одолжить на несколько недель даже четыре принтера, поэтому пошел попрошайничать. Один профессор физики, втайне довольный, что ему удалось сбыть с рук такой хлам, дал мне видавший виды Декрайтер. Секретарша подарила лишний ИБМ, получив от меня в обмен согласие обучить ее пользоваться программами обработки таблиц. Печенье вкупе с уговорами помогли добыть еще два стареньких принтера. Теперь мы могли контролировать все наши Тимнетовские каналы.
Во второй половине дня в среду заканчивалась неделя с момента обнаружения хакера. В Беркли было солнечно. Программа-сторож бдила, принтеры деловито стучали при каждом нажатии клавиши, а я рассеянно бродил, размышляя об инфракрасном излучении в созвездии Плеяд. Вдруг терминал пропищал два раза — появился пользователь с атрибутами Свентека. Адреналин хлынул мне в кровь и я бросился в коммутаторную. Из распечатки я узнал, что хакер подключился в 2-26 и пока активен.
Принтер «выплевывал» букву за буквой, повторяя каждое нажатие клавиши. Зарегистрировавшись в компьютере ЮНИКС-4 под именем Свентек, хакер прежде всего покопался в списке подключенных пользователей. К счастью, сегодня, кроме обычной смены физиков и астрономов, никто не работал; программа-сторож была надежно спрятана в машине ЮНИКС-8. «Извини, — прошептал я, — но здесь никого нет, кроме астрофизиков».
Все, как в прошлый раз. Он проверил все активные процессы. ЮНИКСовая команда «ps» позволяет распечатывать статус других процессов. У меня есть привычка вводить эту команду в виде «ps — axu» — последние три буквы говорят папаше ЮНИКСу, что сообщать надо статусы всех пользователей. Наш незваный гость, однако, ввел эту команду в виде «ps — eafg». Странно. Я в жизни не видел никого, кто пользовался флагом g. Много он не нарыл: несколько научных программ анализа, причудливую программу побуквенной печати и программу сетевой связи с компьютером ЮНИКС-8. Чтобы обнаружить слабую связь ЮНИКС-8 с системой ЮНИКС-4, ему потребовалось ровно три минуты. Но мог ли он проникнуть? Используя команду rlogin, он пытался это сделать раз шесть, стучась в дверь восьмого ЮНИКСа с учетным именем и паролем Свентека. Бесполезно. Дэйв надежно прикрыл дверь.
Явно удовлетворенный отсутствием слежки, он просмотрел файл паролей системы. Правда, особенно там смотреть нечего: все пароли шифруются и только потом записываются. Зашифрованный пароль — тарабарщина, хакер ничего путного не почерпнет. Он не захватил привилегий суперпользователя, а просто проверил файл Гну-Эмакс на предмет отсутствия изменений. Это лишний раз подтвердило, что мы имеем дело с тем же самым хакером: никто другой не стал бы проверять дыру в системе безопасности. В 2-37, спустя одиннадцать минут после начала сеанса, он внезапно отключился. Но мы уже успели сесть ему на хвост.
Тимнет! Я забыл предупредить их сетевой операционный центр, чтобы они там проследили за некоторыми подключениями. Я даже не спросил, могут ли они это сделать. Теперь, наблюдая, как принтер распечатывает каждый введенный хакером символ, я понял, что в моем распоряжении — считанные минуты.
За североамериканский участок сети отвечал Рон Вивьер. Все время, пока я звонил ему, я слышал в трубке, как он стучит клавишами на терминале. Резким голосом он спросил адрес нашего узла. Хоть к этому я был готов. За две минуты Рон выяснил: тимнетовский порт лаборатории в Беркли был связан с офисом Тимнета в Окленде, с которым, в свою очередь, связались по телефону. Если верить Рону, то хакер соединился с тимнетовским модемом в Окленде, расположенном всего в трех милях от нашей лаборатории.
Гораздо проще позвонить прямо в лабораторию, чем в офис Тимнета в Окленде. Почему необходимо подключаться через Тимнет, когда можно просто по телефону подключиться непосредственно к нашей системе? Непосредственная связь гораздо надежнее.
Хакер набрал местный номер Тимнет, а не номер нашей лаборатории. Это все равно, что по междугороднему телефону приказать водителю такси проехать три квартала. Некто, находящийся на другом конце телефонной линии, умел прятаться. Рон Вивьер выразил свои соболезнования — мне не нужен был тимнетовский телефонный номер; я охотился за человеком. Ладно, мы сели ему на хвост, но путь его долог и извилист. Так или иначе, надо выследить телефонный звонок, а уж потом можно будет выписывать ордер.
Когда хакер отключился, я поднял глаза от распечатки. Рой Керт пожирал новости с урчанием голодного пса. Дэйв и Вэйн были заняты тем же. Когда Рой повесил трубку, я объявил: «Он звонит в оклендское отделение Тимнета. Похоже, живет где-то рядом. Если бы он был из Пеории, то сэкономил бы монетку и связался через пеорийский модем».
— Наверное, ты прав, — сказал Рой, предчувствуя свое поражение.