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