Сеть 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 до того места, где, по-видимому, он был создан и запущен – до Швейцарии. Никто так и не узнал, кто его написал.
   Father Christmas был не только простым, но также и неопасным, потому что не старался удержаться в системе навсегда. Это был червь-однодневка.
   О возможностях захватчика WANK проектный офис SPAN не знал ничего, в том числе, конечно, и того, кто его создал или запустил. Но имелась копия программы. Не мог бы Мак-Магон взглянуть на нее?
   Джон Мак-Магон всегда готов был оказать любезность. Будучи любителем решать сложные загадки, он попросил, чтобы ему прислали копию червя из проектного офиса SPAN, которое очень быстро становилось кризисным центром по отражению нападения. Он принялся просматривать семистраничную распечатку исходного кода захватчика, пытаясь представить себе, на что он способен.
   Два предыдущих червя-разбойника работали только в определенных компьютерных системах и сетях. В этом случае червь WANK также атаковал только компьютерные системы VMS. Но исходный код был совершенно не похож на то, что Мак-Магон когда-либо видел. По его словам, анализ напоминал исследование блюда спагетти: «Ты вытаскиваешь одну макаронину и думаешь: „Ага, вот что он делает". Но потом видишь остальное месиво в тарелке».
   Программа, написанная на цифровом командном языке, или DCL, не была аккуратно исполненной и логичной. В ней все было вверх ногами. Джон с трудом пробивался сквозь 10–15 строк компьютерного кода лишь для того, чтобы затем вернуться к началу и попытаться представить, что намерена предпринять следующая часть программы. Он постоянно делал записи, и вот уже медленно, но верно в его голове начало складываться представление о том, что способен сделать этот червь с компьютерной системой NASA.
:)
   Это был важный день для активистов антиядерных групп, собравшихся у Космического центра имени Кеннеди. Хотя они и проиграли дело в окружном суде, но не собирались складывать оружие и обратились с жалобой в Апелляционный суд США.
   Новость пришла 16 октября. Апелляционный суд встал на сторону NASA.
   Манифестанты вновь были силой отогнаны от главных ворот Космического центра. Восемь, по меньшей мере, из них были арестованы. Газета St Louis Post-Dispatchраспространила фотографию агентства Франс-Пресс, запечатлевшую, как полиция арестовывает восьмидесятилетнюю женщину за проникновение в запретную зону. Джейн Браун [Jane Brown] из флоридской «Коалиции за мир и справедливость» заявила: «Это только начало… правительственного плана по использованию ядерной энергии и оружия в космосе, в который входит и программа „звездных войн"».
   В самом Центре имени Кеннеди дела тоже шли не так уж гладко. В последний понедельник перед стартом технические эксперты NASA обнаружили еще одну проблему. Черный ящик, записывающий данные о скорости и другие важные параметры работы навигационной системы космического челнока, оказался поврежден. Но техники заменили прибор, пресс-секретарь агентства успокоил журналистов, и в NASA решили не отменять запуск, назначенный на вторник. Обратный отсчет не был прерван. NASA все держало под контролем.
   Кроме погоды.
   Памятуя о катастрофе с «Челленджером», инструкции NASA о подготовке к запуску проявляли особенную строгость. Плохая погода могла все испортить, но прогнозы метеорологов были благоприятными. Шаттл должен был обязательно стартовать вовремя, потому что на следующий день обещали сильную облачность.
   Во вторник утром охрана «Галилея» затаила дыхание. Отсчет времени запуска неумолимо приближался к 12 часам 57 минутам пополудни. Демонстранты, казалось, утихомирились. Все выглядело обнадеживающе. «Галилей» мог, наконец, стартовать.
   За десять минут до старта сработали сирены систем безопасности. Кто-то прорвался на территорию стартовой площадки. Служба охраны мгновенно пришла в движение и быстро обнаружила нарушителя – дикую свинью.
   Свинью благополучно удалили, и отсчет времени продолжил свой бег. Продолжили движение и дождевые облака, плавно двигаясь к запасной взлетно-посадочной полосе космического челнока, расположенной примерно в шести километрах от места старта. У «Атлантиса» было в запасе 26 минут. После этого время запуска истечет, и его придется отложить, скорее всего, до среды. Похоже, погода не собиралась меняться.
   В 13 часов 18 минут, когда до старта «Атлантиса» оставалось пять минут, руководитель запуска Роберт Сик [Robert Sieck] перенес запуск на среду.
:)
   В центре SPAN царила настоящая лихорадка. Червь внедрялся во все новые и новые системы, и телефоны теперь звонили каждые пять минут. Компьютеры NASA подвергались массированной атаке.
   Людям, работавшим в проекте SPAN, не хватало рук. Им нужно было успокаивать звонивших и сосредоточиться на анализе программы-пришельца. Что это такое – розыгрыш или бомба замедленного действия, готовая взорваться? Кто стоит за всем этим?
   NASA работало в информационном вакууме, когда червь пошел на приступ. Некоторые сотрудники знали об акции протеста, но никто не был готов к такому повороту событий. Официальные лица NASA были вполне уверены в том, что демонстрации против запуска «Галилея» и нападение на компьютеры агентства связаны между собой. Они были готовы заявить об этом публично. Это казалось достаточно вероятным, но множество вопросов требовали ответа.
   Те, кто звонил в офис SPAN, были взволнованы и даже напуганы. Многие звонки поступали от системных администраторов SPAN в отдельных центрах NASA, таких как Маршалловский центр космических полетов. Некоторые из них были в панике, голос других звучал подавленно. Из-за таких вещей управляющий может запросто потерять работу.
   Большинство тех, кто звонил в головной офис SPAN, хотели информации. Как этот червь пролез в их компьютеры? Было ли это сделано злонамеренно? Что будет с научными данными? Что нужно делать, чтобы уничтожить червя?
   NASA хранило большое количество ценной информации в компьютерах SPAN. Эти сведения не предполагалось засекречивать, но они были чрезвычайно важны. На их сбор и анализ ушли миллионы человеко-часов. Поэтому кризисная команда, сформированная в офисе SPAN в NASA, была крайне встревожена, когда начали поступать сообщения о невероятной по размаху гибели баз данных. Люди звонили, чтобы сказать, что червь стирает файлы.
   Для любого компьютерного администратора это было самое ужасное, и все выглядело так, будто наихудшие опасения кризисной команды оказались реальностью.
   Кроме всего прочего, червь вел себя непоследовательно. Некоторые компьютеры всего лишь получали анонимные послания, иногда забавные, иногда причудливые, иногда грубые и непристойные. Как только пользователь входил в систему, на мониторе могла появиться надпись:
   Помни, даже выиграв крысиные бега, ты все равно остаешься крысой.
   Некоторые послания отличались плоским юмором:
   Нет ничего быстрее скорости света…
   Чтобы убедиться в этом, попробуй открыть дверцу холодильника, прежде чем включится свет.
   Другие пользователи столкнулись с протестом параноика против властей:
   ФБР следит за ТОБОЙ.
   Или:
   Голосуйте за анархистов.
   Но червь не собирался стирать файлы в этих компьютерах. Возможно, этот трюк с якобы случайным выбором стираемых файлов был лишь предвестником грядущих действий – этакий легкий намек на то, что может произойти, например, в полночь. Возможно, случайный удар по клавише ни о чем не подозревающего пользователя только что зараженной системы мог запустить что-то в самом черве и спровоцировать необратимую цепь команд, которые сотрут все, что только есть в этой системе.
   Компьютерная группа SPAN соревновалась с червем в скорости. Каждую минуту, пока они пытались понять, что он сделал, захватчик продвигался все глубже в компьютерную сеть NASA. Каждый час, потраченный NASA в поисках противоядия, червь искал слабые места, взламывал и захватывал компьютерные системы, вытворяя в них бог знает что. Команде SPAN нужно было полностью проанализировать эту штуку и сделать это очень быстро.
   Некоторые администраторы компьютерных сетей испытали страшное потрясение. В офис SPAN поступил звонок из Лаборатории реактивного движения (ЛРД) в Калифорнии. Это важный центр NASA, в котором работает 6500 служащих, тесно связанный с Калифорнийским технологическим институтом (Калтех).
   Лаборатория реактивного движения отключилась от сети.
   Этот червь был слишком опасен. Единственным возможным решением была изоляция компьютеров. К тому времени как кризис окажется под контролем, от коммуникаций, связывающих SPAN (и базирующихся на DEC) и остальные части NASA, не останется ничего. Ситуация становилась все сложнее: «достать» программу-терминатор, не имея доступа к сайту ЛРД и другим сайтам, отключившимся от SPAN, было гораздо более сложной задачей. Все приходилось делать по телефону.
   К несчастью, ЛРД была одним из пяти распределительных центров сети SPAN. Лаборатория походила на центр колеса, от которого отходила дюжина спиц, каждая из которых вела к другим сайтам SPAN. Все эти периферийные сайты нуждались в сайте лаборатории для соединения со SPAN. Когда ЛРД отключилась от сети, зависимые сайты сделали то же самое.
   Это стало серьезной проблемой для людей из офиса SPAN в Виргинии. Для Рона Тенкати, главы службы безопасности SPAN, отключение распределительного центра было наилучшим выходом. Но его руки были связаны. Офис SPAN выполнял функции центральной власти в обширной зоне сети, но он не мог диктовать свою волю периферийным центрам, каждому из которых приходилось самостоятельно принимать решение. Команда SPAN могла только помочь советом и постараться поскорей найти способ покончить с червем.
   Джону Мак-Магону снова позвонили из офиса SPAN, на этот раз с более серьезной просьбой. Не мог бы он прийти и помочь им справиться с кризисом?
   Центр SPAN был всего в восьмистах метрах от офиса Мак-Магона. Его босс, Джером Беннетт [Jerome Bennett], менеджер протокола DECNET, согласился одолжить им Мак-Магона до тех пор, пока кризис не будет разрешен.
   Когда Мак-Магон прибыл в строение № 26, где размещался офис, управлявший относящимся к NASA сектором SPAN, то вошел в штаб кризисной команды NASA наравне с Тоддом Батлером, Роном Тенкати и Пэтом Сиссоном [Pat Sisson]. Другие ведущие программисты NASA, такие как Дэйв Питере [Dave Peters] и Дэйв Стерн [Dave Stern], подключались к работе кризисной группы по мере надобности. Джим Грин [Jim Green], глава National Space Science Data Center и главный босс SPAN, требовал ежечасных докладов о развитии ситуации. Сначала в команду входили только сотрудники NASA, в основном из Годдарда, однако с течением времени к команде присоединялись новые люди из других государственных агентств.
   Червь распространился и за пределы сети NASA.
   Он напал на всемирную сеть HEPNET (High Energy Physics Network [p14]) Министерства энергетики США. Эта сеть наряду с Euro-HEPNET и Euro-SPAN входила в состав всемирной сети SPAN. Компьютерные сети NASA и Министерства энергетики пересекались во многих местах. Например, исследовательские лаборатории могли иметь доступ и в компьютеры HEPNET, и в компьютеры NASA. Для своего удобства лаборатория могла просто соединить обе сети. Все это способствовало размножению червя, поскольку SPAN NASA и HEPNET Министерства энергетики фактически представляли собой единую гигантскую компьютерную сеть, которую червь мог полностью захватить.
   Министерство энергетики хранит в своих компьютерах секретную информацию. Там работают в двух направлениях: над проектами использования энергии в гражданских целях и над атомным оружием. Поэтому Министерство энергетики очень серьезно относится к вопросам безопасности, поскольку это – «национальная безопасность». Хотя секретная информация не должна была передаваться по сети HEPNET, Министерство энергетики по-военному четко отреагировало, когда его компьютерщики обнаружили чужака. Они тут же связались с парнем по имени Кевин Оберман [Kevin Oberman], который знал все о компьютерной безопасности систем VMS, и поставили перед ним задачу.
   Как и Мак-Магон, Оберман официально занимался отнюдь не проблемой компьютерной безопасности, просто он интересовался ей и был известен своей компетентностью в вопросах защиты систем VMS. Вообще же он работал сетевым администратором в техническом отделе финансируемой Министерством энергетики Ливерморской национальной лаборатории, [p15]расположенной неподалеку от Сан-Франциско.
   Ливерморская лаборатория занималась в основном военными исследованиями, в значительной степени связанными с проектом Стратегической оборонной инициативы. Многие ученые лаборатории разрабатывали ядерное и лазерное оружие для программы «звездных войн». [9]У Министерства энергетики была своя команда безопасности, известная как Computer Incident Advisory Capability (CIAC). [p16]Но ее эксперты больше разбирались в Unix, нежели в компьютерных системах и сетях, базирующихся на VMS. «В течение многих лет они почти не сталкивались с проблемами в VMS, – сделал вывод Кевин Оберман, – и этот вопрос их совершенно не заботил. Поэтому у них и не оказалось спецов по VMS».
   Червь подорвал безмятежное доверие к компьютерам VMS. Еще когда WANK путешествовал по сетям NASA, он энергично атаковал Национальную лабораторию ускорителей имени Ферми в окрестностях Чикаго, объявившись во множестве компьютерных систем, что очень встревожило сотрудников этой лаборатории. Они позвонили в Ливерморскую лабораторию, и оттуда рано утром 16 октября связались по телефону с Оберманом, попросив его проанализировать код червя. Они хотели знать, насколько опасен незваный гость. Но еще больше их интересовало, что можно ему противопоставить.
   Сотрудники Министерства энергетики установили, что первый контакт с червем состоялся 14 октября. Более того, они предположили, что червь был запущен днем раньше – в пятницу 13 октября. Эта зловещая дата, по мнению Обермана, как нельзя более соответствовала черному юмору создателя или создателей червя.
   Оберман начал собственный анализ червя, не подозревая о том, что на расстоянии 3200 километров от него, на противоположном побережье материка, его коллега и знакомый Джон Мак-Магон делает то же самое.
:)
   Всякий раз, как Мак-Магон отвечал на телефонный звонок сердитого системного или сетевого администратора NASA, он старался получить копию червя из зараженной машины. Он также просил предоставить ему логи [p17]их компьютерных систем. Из какого компьютера явился червь? В какую систему он готовит вторжение из зараженного сайта? Теоретически лог-файлы позволяли команде NASA проследить маршрут червя. Если команда сможет связаться с администраторами на предполагаемом пути червя, те будут предупреждены о грозящей опасности. Можно также обнаружить тех, чьи системы были недавно заражены, и оповестить их о том, что они стали стартовой площадкой для нападений червя.
   Но это не всегда было возможно. Если червь захватил компьютер и все еще находился в нем, администратор мог проследить, откуда он пришел, но оставалось тайной, куда он направится. Кроме того, многие менеджеры не сохраняли полные лог-файлы в своих компьютерах.
   Мак-Магон всегда знал, что очень важно собирать как можно больше информации о том, кто подключался к компьютеру. На предыдущей работе он модифицировал машины таким образом, что они сохраняли максимум информации, представляющей полезность с точки зрения безопасности соединения с другими компьютерами.
   Компьютеры VMS имели стандартные наборы сигнальных программ, но Мак-Магон не считал, что их достаточно. Эти системы лишь отправляли администратору сообщение следующего содержания: «Привет! К вам только что подключились оттуда-то». Модифицированная система оповещения говорила: «Привет! К вам только что подключились из такого-то пункта. Вызванный абонент перекачивает файл». Также она сообщала и другие фрагменты информации, которую Мак-Магон мог выжать из другого компьютера. К сожалению, многие компьютерные и сетевые администраторы NASA не разделяли его энтузиазма по поводу проверок логов. Они просто не сохраняли подробные записи о том, кто и когда имел доступ к их машинам, и это очень затруднило преследование червя.
   Но офис SPAN постарался тщательно фиксировать данные о компьютерах NASA, ставших жертвой червя. Каждый раз, когда сотрудник NASA докладывал об очередном вторжении, один из членов команды записывал все детали ручкой на бумаге.Список, включающий адреса пострадавших компьютеров и детальные описания особенностей их заражения, был и в компьютере, но записи, сделанные вручную, казались более надежными. Червь наверняка не ест бумагу.
   Когда Мак-Магон узнал, что Министерство энергетики тоже подверглось нападению, он стал связываться с ними приблизительно каждые три часа. Обе группы обменялись списками зараженных компьютеров по телефону, потому что голос, как и слово, написанное от руки, был застрахован от посягательств червя. «Это, конечно, архаичный способ, но, с другой стороны, мы не хотели зависеть от системы и того, что в ней творилось, – рассказывал Мак-Магон. – Нам был необходим способ общения помимо связи через зараженную систему».
   Некоторые члены команды компьютерщиков NASA устанавливали контакты с различными подразделениями DEC с помощью общества пользователей продуктами компании (DECUS). Эти контакты оказались очень полезными. Любой запрос мог запросто потеряться в бюрократической системе DEC. В компании работало 125 000 человек, ее обороты исчислялись миллиардами долларов, а прибыль в 1989 году составила двенадцать миллиардов долларов. [10]Такой крупной и солидной корпорации вовсе не улыбалось иметь дело с проблемами вроде червя WANK, особенно в такой находящейся на виду организации, как NASA. Так или иначе, вопрос о степени вины программного обеспечения DEC в победном шествии червя наверняка бы встал. Кризис был, мягко говоря, нежелателен для компании и не украсил бы ее репутацию. Если бы DEC полезла в эту кашу, это могло обернуться для нее большим ущербом.
   Ситуация менялась, если у кого-нибудь были приятельские отношения с техническим экспертом DEC. Они могли поговорить по-дружески, не так, как обычно разговаривали менеджеры NASA с сотрудниками DEC, которые полгода назад продали агентству компьютеров на миллион долларов, а как парень из NASA с парнем из DEC, сидевшие рядом на конференции в прошлом месяце. Как коллеги, общавшиеся не один раз.
   Анализ Джона Мак-Магона показал, что существуют три версии червя WANK. Эти версии, выделенные из собранных в сети образчиков, были очень схожи, но небольшие отличия все-таки были. По мнению Мак-Магона, эти различия не объяснялись особенностями самовоспроизведения червя на новых сайтах по мере распространения. Но зачем создателю червя понадобилось запускать разные версии? Почему он не написал одну, но чище? Червь не был одиночной ракетой, наносился массированный удар со всех направлений, по всей компьютерной сети NASA.
   Мак-Магон предположил, что автор червя запустил три разные версии своего произведения с небольшими временными интервалами. Возможно, создатель запустил червя, а потом обнаружил ошибку. Он немного поработал с червем, чтобы устранить проблему, и запустил его снова. Может быть, ему не понравилось, как он исправил ошибку, и он еще раз изменил его и запустил теперь уже в третий раз.