Выбрать главу

Энди по– прежнему был настроен скептически, но тут он припомнил, что днем получил непривычно таинственный e-mail от Роберта, в котором тот спрашивал, не рассказал ли Энди кому-нибудь о дыре в ftp. Энди действительно говорил о ней нескольким людям и даже продемонстрировал ее. И он воспользовался этой дырой, чтобы получить полные привилегии на машине Ника Хортона в Портленде, о чем позднее сообщил Нику. Можно было предположить, что информация дошла до людей из Беркли. Пока Роберт не заволновался, Энди и не вспоминал, что тот просил его не болтать. На запрос Роберта Энди не ответил, но сейчас отправил ему e-mail «Сожалею, что не оправдал доверия. Сообщи мне, что происходит». Энди прежде всего беспокоила судьба гарвардских машин. Через час или около того позвонил Роберт и рассказал, что в сети ходит вирус и, похоже, валит машины штабелями. Он не сказал, что сам написал этот вирус, но это и так было понятно. Энди хотел знать, пострадают ли компьютеры в Гарварде. Нет, ответил Роберт, потому что в Гарварде уже залатали дыры, через которые проникает вирус. Час спустя Роберт позвонил снова и попросил Энди отправить по сети анонимное письмо с указаниями, как остановить вирус. Под диктовку Роберта Энди составил следующее сообщение:

"Информация о возможности действия вируса в сети.

В Internet, может быть, попал вирус. Главные пункты сообщения, которые я только что получил:

"Извините. Вот некоторые шаги для предотвращения дальнейшего распространения.

1 Не запускайте finger, либо исправьте ее так, чтобы она не переполняла стек при чтении аргументов.

2 Перекомпилируйте sendmail, не включая отладочную информацию.

3 Не запускайте rexecd.

Надеюсь, что это поможет, но еще больше надеюсь, что тревога ложная".

После того как Роберт продиктовал свое лаконичное покаяние и меры предосторожности, Энди сказал, что отправит сообщение с удаленной машины, чтобы следы не вывели на Роберта или Энди. Про себя Энди решил, что будет молчать о роли Роберта в этой истории. Он полагал, что только сам Роберт должен решать, признаться ли, и когда именно. Энди велел Роберту быть готовым к тому, что придется врать. Если кто-нибудь спросит его о вирусе, сказал он, пусть Роберт постарается обойтись без этих своих ухмылочек.

Повесив трубку, Энди стал думать, как лучше отправить сообщение. Он знал, что существует возможность отправить анонимное сообщение по e-mail или, по крайней мере, сделать так, чтобы создать видимость, что оно пришло с другого компьютера. Сообщение должно выглядеть так, будто оно отправлено из Гарварда и, конечно же, не из Корнелла. Он решил отправить его на электронную доску объявлений в телеконференции SRI. Энди понимал, что если пошлет сообщение непосредственно на сервер, то следы приведут прямо в Гарвард. Поэтому он создал вымышленный адрес foo@bar.darpa и определил маршрут сообщения через компьютер Брауновского университета, рассчитывая, что через пару часов оно попадет в SRI.

Как оказалось, сообщение Энди застряло на первом же этапе своего путешествия. В Брауне хозяйничал вирус. Хуже того, Энди не заполнил subject в заголовке сообщения, из-за чего письмо, попав наконец в SM, получило низкий приоритет. Энди попытался сделать несколько звонков в Беркли, чтобы сообщить о вирусе людям, имевшим отношение к UNIX, но не знал, кому именно звонить и где найти их номера телефонов. Справочная в Беркли не отвечала, и Энди решил, что вся история, вероятно, не стоит того, чтобы вытаскивать из постели людей в Калифорнии, где была уже полночь. Энди знал, что любой программист, даже такой одаренный, как Роберт, может ошибиться. Однажды Энди сам нечаянно вывел из строя 200 гарвардских компьютеров из-за маленькой ошибки в команде адресации в компьютерной сети. Несмотря на то что были нарушены университетские правила пользования компьютерами, администрация признала действия Энди «добросовестным заблуждением» и не наказала его. Вирус казался не таким грозным, как твердили Роберт и Пол. Если из-за Роберта на самом деле накрылись корнеллские компьютеры, то, пожалуй, некоторым будет не до смеха. Однако не такой уж это ужас. И наконец, удовлетворенный тем, что сделал для друга все, что мог, Энди в 4.00 отправился домой.

То что Роберт совершил серьезное правонарушение, не пришло в голову ни Роберту, ни Энди, ни Полу. Роберт больше всего боялся. что компьютерщики будут вне себя от гнева. Он надеялся, что у него не будет неприятностей в Корнелле. Очень угнетало то, что он уже натворил в Internet, а его маленькая программа все еще рикошетила. Оставалось только надеяться, что сообщение Энди поможет справиться с проблемой.

Однако к тому моменту, когда в четверг утром Энди пришел на работу, вирус, слопавший Internet, стал главной темой для разговоров во всем Эйкене, и похоже, имя Роберта Морриса у многих вертелось на кончике языка. Ведь Роберт в Гарварде пользовался репутацией специалиста по защите, завсегдатая Internet и любителя время от времени отколоть номер. Единственное, что не вязалось с Робертом – несомненный злой умысел. Энди не мог понять, дошло ли его сообщение. Из Беркли и MIT просачивались бюллетени с информацией о том, как избавиться от вируса. Никто не упоминал анонимное сообщение, но инструкции были в точности те, что Роберт диктовал Энди. Энди не без внутреннего затруднения отвечал эйкеновским профессорам, что ничего не знает о случившемся. Полу покривить душой особого труда не составляло. Когда один аспирант спросил его, не имеет ли Роберт какое-нибудь отношение к вирусу, о котором только и слышно вокруг, Пол честно посмотрел тому в глаза и ответил «нет». Днем деморализованный Роберт позвонил Энди узнать, послал ли тот сообщение. Энди заверил его, что послал.

В 6 часов утра, когда Кейт Бостик, поспав 3 часа, пришел на работу, телефон уже разрывался. Звонили разгневанные администраторы сети со всей страны, спрашивая, что делать с программой, которая заразила их системы. Бостик уже ожидал чего-то в этом духе. Знал ли он об этих дырах в берклийской версии UNIX? Нет, отвечал Бостик, не знал. Особо злобствовал Пентагон, один из крупнейших пользователей этой версии UNIX. Знает ли Бостик, кто учинил эту мерзость? Было ли ему известно о дефектах UNIX? Может ли он гарантировать, что в этой программе нет «троянских коней»? Собираются ли в Беркли дизассемблировать код вируса?

Первым делом Бостик разослал «Vims Posting #2», поправку к его первой заплате на дырку в sendmail, обеспечивающую более совершенную защиту от вируса. Это сообщение было отправлено в 8:00. Вопрос дизассемблирования вируса уже обсуждался. Предстояла долгая и тяжелая работа, но это был единственный способ окончательно определить, не скрывается ли где-нибудь в программе разрушительный код. Работу Беркли дублировала в Кембридже группа программистов из МГГ, которые также всю ночь не смыкали глаз. В середине дня в Беркли поступило сообщение из МГГ, что у вируса есть еще один способ атаки. Используя дыру в маленькой программе finger, входившей в пакет UNIX, вирус получил возможность выводить finger из строя, посылая больше символов, чем она могла обработать. Как только происходило переполнение буфера ввода, захватчик получал возможность стартовать небольшую программу, переносившую все тело вируса целиком на атакуемый компьютер.