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