В данном конкретном случае проблема усугублялась тем, что научно-исследовательские центры NASA часто состязались друг с другом за получение заданий. Всякий раз, когда на горизонте появлялся какой-нибудь особенно важный космический проект, в борьбу за него вступали два-три центра, в каждом из которых работала не одна сотня служащих. Потеря контроля над компьютерами, потеря всех данных, планов и расчетов могла запросто привести к тому, что центр мог потерять проект и, соответственно, весьма значительное финансирование.
Этот день не предвещал ничего хорошего для парней в офисе компьютерной сети SPAN.
Этот день не сулил ничего хорошего и Джону Мак-Магону [John McMahon].
Джон Мак-Магон работал консультантом по протоколу DECNET. В его обязанности входило управление всей компьютерной сетью SPAN, которая связывала между собой полтора-два десятка зданий Годдарда.
Мак-Магон работал на Проект 630.4, иначе известный под названием Goddard’s Advanced Data Flow Technology Office,[p9] в строении № 28. Сотрудники Центра вызывали его, когда им требовалась помощь с компьютерами. Чаще всего ему приходилось слышать две жалобы: «Кажется, он не работает» и «Я не могу попасть отсюда в тот сектор сети».
SPAN – это Space Physics Analysis Network,[p10] соединявшая 100 000 компьютерных терминалов по всему миру. В отличие от Интернета, в настоящее время доступного любому, SPAN связывала только ученых NASA, Министерства энергетики и исследовательских институтов, например университетских центров. Компьютеры SPAN также отличались от большинства компьютеров в сети Интернет важнейшей технической особенностью – они использовали другую операционную систему. Большие компьютеры в Интернете в основном работают в операционной системе Unix, тогда как SPAN состояла из компьютеров VAX, где применялась операционная система VMS. Эта сеть работала почти аналогично Интернету, но компьютеры говорили на другом языке. Интернет «общается» на языке протокола TCP/IP, SPAN же использует DECNET.
Сеть SPAN и была более широко известна как международная сеть DECNET. Большинство ее компьютеров производились Digital Equipment Corporation (DEC) в Массачусетсе – отсюда и название DECNET. Это были мощные компьютеры. К любому компьютеру DEC в сети SPAN можно было подключить сорок терминалов, а к некоторым из них даже больше. Для компьютера DEC не было ничего особенного в том, чтобы обслуживать четыре сотни человек. В общем, компьютерами этой сети пользовалось свыше четверти миллиона ученых, инженеров и других исследователей.
Инженер-электрик по образованию, Мак-Магон ранее работал в проекте NASA под названием Cosmic Background Explorer project (СОВЕ),[p11] где он осуществлял управление компьютерами пятисот исследователей. В здании № 7 Годдардовского центра, где он работал на проект СОВЕ, проводилась очень интересная работа. Исследователи пытались картографировать Вселенную, надеясь сделать это с помощью волн, невидимых человеческому глазу. NASA запустило спутник СОВЕ в ноябре 1989 года. Его задача заключалась в том, чтобы «измерять рассеянное инфракрасное и микроволновое излучение, возникшее на заре вселенной, насколько позволяет наше астрономическое оборудование».[6] Для дилетанта проект выглядел произведением современного искусства, которое могло быть названо «Карта вселенной в инфракрасном свете».
Но 16 октября, едва Мак-Магон вошел в офис и приступил к работе, раздался странный телефонный звонок из офиса SPAN. Тодд Батлер [Todd Butler] и Рон Тенкати [Ron Tencati] из National Space Science Data Center,[p12] который управлял половиной сети SPAN, принадлежащей NASA, обнаружили в компьютерной сети нечто странное и явно несанкционированное. Это напоминало компьютерного червя.
Компьютерный червь отчасти напоминает компьютерный вирус. Он вторгается в компьютерные системы, создавая помехи их нормальной работе. Он путешествует по любой доступной и совместимой компьютерной сети и стучится в двери систем, связанных с этой сетью. Если в системе безопасности компьютера есть щель, червь обнаружит ее и вползет в систему. Сделав это, он может получить самые различные инструкции – от передачи сообщений всем пользователям компьютеров до овладения всей системой. Главное отличие червя от других компьютерных программ-вирусов заключается в том, что он способен воспроизводить сам себя. Он продвигается вперед, вторгается в новую систему и копирует себя на новом сайте. Другое отличие червя от вируса состоит в том, что он не замкнут рамками файла данных или программы. Он автономен.[7]
Термин «червь» в применении к компьютерам пришел из классического научно-фантастического романа Джона Бруннера «Всадник ударной волны», написанного в 1975 году. В нем идет речь о том, как программист-мятежник создал программу под названием «ленточный червь». Он запустил ее во всемогущую компьютерную сеть, при помощи которой олигархическое правительство управляло своим народом. Чтобы уничтожить червя, правительству пришлось отключить компьютерную сеть, что привело к потере контроля.
Книга Бруннера была так же далека от реального червя-разбойника, как и большинство администраторов компьютерных сетей VMS. До конца 80-х годов о червях были довольно смутные представления, и они преимущественно ассоциировались с исследованиями в компьютерных лабораториях. Например, несколько червей-помощников было разработано исследователями компании Xerox, которые хотели более эффективно использовать возможности компьютеров.[8] Они разработали «червя-глашатая», который передвигался по сети, рассылая важные сообщения. Их «червь-диагност» также постоянно находился в сети, выявляя возникающие неполадки.
Для некоторых компьютерных программистов создание червя равносильно созданию жизни. Сотворить нечто «разумное», способное выжить в мире и воспроизводить себе подобных, – это высшая степень созидания. Породить червя-разбойника, овладевшего компьютерной системой NASA, означало увенчать себя лаврами творческого бессмертия. Еще бы – наследить в компьютерах, которые отправили человека на Луну!
К тому моменту, когда баннер WANK появился на компьютерных экранах NASA, было известно всего два незаконных червя, сколько-нибудь достойных внимания. Один из них, червь RTM, поразил базирующийся на Unix Интернет менее чем за год до описываемых событий. Другой, известный как Father Christmas,[p13] стал первым червем в VMS.
Father Christmas был маленьким, простеньким червем, не особенно вредившим компьютерным сетям, по которым путешествовал. Он был запущен перед самым Рождеством 1988 года, незаметно пробрался в сотни машин VMS и затаился в них до праздника. Рождественским утром он встал пораньше и с большим усердием принялся за работу. Из зараженных червем компьютерных систем неудержимым потоком, подобно тому, как конфетти сыплются на голову с балкона, устремились рождественские поздравления, адресованные всем их пользователям. Ни один из тех, кто был подключен к сети в этот момент, не ушел без рождественской открытки. Сделав свое дело, червь испарился. Джон Мак-Магон входил в состав команды, сражавшейся с Father Christmas.
Спустя считанные дни после Рождества 1988 года около четырех пополудни мониторинговые программы Мак-Магона подали сигнал тревоги. Мак-Магон попытался проследить десятки входящих соединений, которые и вызывали тревожные сигналы. Он быстро обнаружил, что на другом конце линии не было человека. После дальнейших поисков он нашел в своей системе программу-чужака под названием HI.COM. По мере того, как из принтера выползали распечатки с кодом HI.COM, его глаза все больше расширялись. Мак-Магон понял, что это червь, а червя он никогда раньше не видел.
Ринувшись к пульту, Мак-Магон со всей возможной быстротой принялся выключать системы из сети. Может быть, он действовал не по инструкции, но решил, что люди скажут ему спасибо, когда осознают, от какой опасности он их уберег. Отключив свою часть сети, он сообщил об этом в местный офис сети, затем взял распечатку кода червя и отправился в головной офис, где в компании с несколькими другими программистами нашел способ к концу дня покончить с червем. Впоследствии они проследили Father Christmas до того места, где, по-видимому, он был создан и запущен – до Швейцарии. Никто так и не узнал, кто его написал.