В Северной Калифорнии Кевин Оберман пришел к другому заключению. Он считал, что существует лишь одна настоящая версия червя, который вгрызался в HEPNET и SPAN. Небольшие вариации в разных копиях, которые он проанализировал, казалось, обусловливались способностями червя к обучению и видоизменению по мере того, как он продвигался от компьютера к компьютеру.
   Мак-Магон и Оберман были не единственными сыщиками, пытавшимися разобраться с разными вариантами червя. DEC тоже занялась изучением червя, имея на это веские причины. Выяснилось, что червь WANK пробрался в саму корпорацию и ползает по ее собственной компьютерной сети Easynet, соединяющей заводы, торговые и другие подразделения DEC по всему миру. Компания проявляла осторожность при обсуждении проблемы вне собственных стен, но версия червя в Easynet имела явные отличия. В ее коде присутствовала странная строка, которой не было в других версиях. Ни при каких обстоятельствах червь не должен был вторгаться в компьютеры в зоне 48 сети DEC. Команда NASA задумалась над этим обстоятельством, кто-то проверил, что такое зона 48. Это оказалась Новая Зеландия. Новая Зеландия?
   Команда NASA принялась ломать головы. Нападение становилось все более странным. Когда уже казалось, что члены группы SPAN вышли на верный путь к центру лабиринта, они вновь оказывались перед новой загадкой. Вдруг кто-то вспомнил, что заявкой Новой Зеландии на всемирную славу было объявление ее безъядерной зоной.
   В 1986 году Новая Зеландия заявила, что отказывается допускать в свои гавани американские суда с ядерным оружием на борту или имеющие ядерные силовые установки. США ответили формальной приостановкой своих обязательств по обеспечению безопасности южно-тихоокеанских государств. Если бы какая-нибудь враждебная страна решила напасть на Новую Зеландию, Штаты со спокойной душой закрыли бы на это глаза. Кроме того, американцы отказались от практики обмена разведывательной информацией и от проведения совместных военных маневров.
   Многие в Австралии и Новой Зеландии считали, что Америка отреагировала слишком остро. Новая Зеландия не изгоняла американцев, она просто отказалась подвергать свое население опасностям, связанным с ядерным оружием. И в самом деле, новозеландцы по-прежнему не возражали против существования американской разведывательной базы в Вайхопаи даже после введения США санкций. В стране царили не антиамериканские, а антиядерные настроения.
   И у Новой Зеландии были очень серьезные причины для таких настроений. В течение многих лет эта страна боролась с Францией, проводившей испытания ядерного оружия в Тихом океане. В июле 1985 года французские агенты в гавани Окленда взорвали корабль Rainbow Warrior [p18]организации «Гринпис», который с протестующими защитниками природы должен был отправиться к полигону на атолле Муруроа. При этом погиб активист «Гринписа» Фернандо Перейра.
   Несколько недель Франция все отрицала. Когда же правда вышла наружу (оказалось, что сам президент Миттеран был в курсе планов спецслужб), французы не знали, куда деваться от стыда. Полетели головы. Министр обороны Франции Шарль Эрню [Charles Hernu] был вынужден подать в отставку, адмирал Пьер Лакост [Pierre Lacoste], глава французского бюро разведки и тайных операций, был уволен. Франция принесла свои извинения и заплатила тринадцать миллионов новозеландских долларов компенсации в обмен на выдачу Новой Зеландией двух диверсантов, каждый из которых был приговорен в Окленде к десяти годам тюрьмы.
   В сделку входило обещание Франции подвергнуть этих агентов трехлетнему заключению на военной базе Франции на атолле Хао. Оба агента были освобождены в мае 1988 года, отбыв менее двух лет. По возвращении во Францию один из них, капитан Доминик Приёр [Dominique Prieur], был произведен в майоры.
   Наконец-то, подумал Мак-Магон, хоть что-то осмысленное. Исключение Новой Зеландии подкрепило политическое послание червя.
:)
   Червь WANK вторгся в компьютерную систему с инструкциями копировать себя и рассылать копии в другие машины. Он проскользнул в компьютерную сеть, найдя лазейку в компьютере, подключенном к сети. В действительности он стремился завладеть привилегированными компьютерными учетными записями, но пока ему пришлось довольствоваться только учетными записями пользователей самого низкого уровня.
   В системах VMS есть учетные записи с различными уровнями привилегий. Обладатель учетной записи высокого уровня может, к примеру, прочитать электронную почту другого пользователя или стереть файлы из его директории. Он также может самостоятельно создавать новые учетные записи в системе или сделать активными заблокированные учетные записи. Обладатель привилегированной учетной записи способен менять пароли других пользователей. Тем, кто управляет компьютерными системами и сетями, нужна учетная запись с самым высоким уровнем допуска, чтобы без помех работать в системе. Червь особенно стремился отыскать такие учетные записи, потому что его создатель знал, что именно там – источник власти.
   Червь был толков и обучался в процессе передвижения. По мере перемещения по сети он создавал список обычно используемых названий учетных записей. Сначала он старался скопировать список компьютерных пользователей той системы, до которой еще не добрался. Ему не всегда это удавалось, но зачастую система безопасности оказывалась достаточно слаба и червь добивался успеха. Затем он сравнивал этот список со списком пользователей в нынешнем месте обитания. Когда он находил пару (учетную запись, общую для обоих списков), то добавлял эту запись к основному списку, который переносил с собой из системы в систему, и помечал, что эту учетную запись можно будет применить при вторжении в новую систему.
   Это был ловкий метод атаки, так как создатель червя знал, что некоторые учетные записи с высоким уровнем допуска вполне могли иметь стандартные названия, общие для разных машин. Учетные записи с такими названиями, как SYSTEM, DECNET или FIELD, и стандартными паролями, вроде DECNET или SYSTEM, зачастую записывались в компьютеры еще до того, как производитель отгружал их покупателю. Если администратор, получивший компьютер, не менял запрограммированные учетную запись и пароль, его машина имела серьезную дыру в системе безопасности, которая так и ждала, пока ею кто-нибудь не воспользуется.
   Автор червя мог угадать некоторые названия учетных записей, использованных производителем, но не всех. Наделив червя способностью к обучению, он дал ему мощнейшее оружие. По мере распространения червь становился все умнее и умнее. Он размножался, и его потомство эволюционировало, все успешнее вторгаясь в новые системы.
   Когда Мак-Магон вскрыл одного из потомков червя, он пришел в ужас оттого, что он обнаружил. Изучив его внутренности, программист обнаружил обширную коллекцию групповых учетных записей с высоким допуском, собранную со всей сети SPAN. На деле червь не только собирал стандартные привилегированные учетные записи VMS, но также уделял внимание учетным записям, обычным для NASA, но вовсе не обязательным для других компьютеров VMS. Например, многие сайты NASA работали с почтовой программой по протоколу TCP/IP, который нуждался в учетной записи POSTMASTER или MAILER. Джон обнаружил эти названия в потомке червя.
   Даже если червю удавалось захватить только учетную запись непривилегированного уровня, он использовал ее как инкубатор. Червь копировался, а затем атаковал другие компьютеры в сети. Когда Мак-Магон и остальные члены команды продолжили разбор кода червя, чтобы понять, что может сделать чудовище, если доберется до учетной записи с самым высоким уровнем допуска, они обнаружили новое доказательство черного чувства юмора хакера, скрывающегося за червем. Одна из его подпрограмм называлась find fucked. [p19]
   Команда SPAN постаралась дать сотрудникам NASA максимум сведений о черве. Это был лучший способ помочь компьютерным администраторам, изолированным в своих офисах по всей стране, обрести чувство, что кризис остается управляемым.
   Как и все в команде SPAN, Мак-Магон старался успокоить звонивших, после чего подвергал их опросу, с помощью которого рассчитывал определить степень контроля червя над их системами. Сначала он спрашивал, какие симптомы обнаруживали их системы. В кризисной ситуации, когда молоток занесен, все кажется гвоздем, поэтому Мак-Магон хотел убедиться, что сбой в системе действительно спровоцирован червем и ничем иным.
   Если бы проблема заключалась только в странных комментариях, появляющихся на экране, Мак-Магон сделал бы вывод, что червь, возможно, лишь пугает пользователя этого компьютера из соседней системы, которую он уже успешно захватил. Послания наводили на мысль, что учетные записи принимающих их машин еще не захвачены червем. Во всяком случае, пока.
   Машины VAX/VMS обладают функцией, называемой Phone, использующейся для онлайновой связи. Например, ученый NASA может «позвонить» одному из своих коллег на другой компьютер и по-дружески побеседовать с ним в режиме реального времени. Это живое общение, но происходит оно посредством клавиатуры и монитора, а не голоса. Функция Phone в VMS позволила червю отправлять послания пользователям. Он просто «звонил» им, используя этот протокол. Но вместо начала сеанса связи он посылал им сообщения из той своей части, которая, как выяснилось впоследствии, носила вполне подходящее название Fortune Cookie [p20]и представляла собой собрание приблизительно шестидесяти запрограммированных высказываний.
   В некоторых случаях, когда червь сильно досаждал персоналу, Мак-Магон советовал менеджеру на другом конце провода отключить в компьютере функцию Phone. Некоторые менеджеры жаловались, и тогда Мак-Магон ставил перед ними ультиматум: Phone или спокойствие. Почти все предпочли спокойствие.
   Когда Мак-Магон закончил предварительный анализ червя, у него появились хорошие и плохие новости. Хорошей новостью был тот факт, что, вопреки тому что червь сообщал пользователям из NASA, он вовсе не стирал их файлы, а только делал вид, что стирает их. Просто шутка. Во всяком случае, для создателя червя. А для ученых NASA – головная и сердечная боль. А порой и сердечный приступ.
   Плохая новость заключалась в том, что когда червь сможет получить контроль над учетной записью пользователя с высоким уровнем доступа, он поможет кому-то – предположительно, своему создателю – совершить гораздо более серьезное вторжение в NASA. Червь нашел учетную запись FIELD, созданную производителем, и если ее отключить, он постарается вновь активировать ее и установить пароль FIELD. Червь был также запрограммирован на изменение пароля стандартной учетной записи DECNET случайным набором из по меньшей мере двенадцати символов. Короче говоря, червь старался вломиться в систему с черного хода.
   Информацию о тех учетных записях, которые он успешно взломал, червь посылал назад, в электронный почтовый ящик – учетная запись GEMPAK на узле 6.59 SPAN. Предположительно, хакер, создавший червя, должен был проверять его почтовый ящик, чтобы получить информацию, которую он мог бы использовать позже для проникновения в учетную запись NASA. Стоит ли удивляться, что почтовые ящики, к немалому удивлению их законных владельцев, были тайком «позаимствованы» хакером.
   Компьютерный хакер создавал массу дополнительных проблем. Хотя червь был способен взламывать новые учетные записи с гораздо большей скоростью и размахом, чем одинокий хакер, он был более предсказуем. Как только команды SPAN и Министерства энергетики разобрали червя на составляющие, они совершенно четко представили, что от него можно ожидать. А вот действия хакера было совершенно невозможно прогнозировать.
   Мак-Магон понял, что уничтожение червя не сможет решить проблему. Всем системным администраторам сетей NASA и Министерства энергетики придется поменять пароли учетных записей, захваченных червем. Им придется также проверить каждую систему, подвергшуюся нападению, чтобы убедиться, что червь не оставил в ней лазеек для хакера. Администраторам нужно найти и запереть на замки все черные ходы – адский труд.
   Но больше всего команду SPAN напугало то, что червь свирепствовал в системе NASA, используя примитивнейшую стратегию атаки: имя пользователя равняется паролю. Он получил контроль над компьютерами NASA, просто вводя пароль, идентичный названию учетной записи пользователя.
   Команда SPAN не могла поверить в это, но факты – упрямая вещь.
   Тодд Батлер ответил на звонок с одного из сайтов NASA. Новости были удручающие. Он повесил трубку.
   – Этот узел только что подвергся нападению, – сказал он остальным.
   – И насколько все плохо? – спросил Мак-Магон.
   – Привилегированная.
   – Черт!
   Мак-Магон бросился к одному из терминалов, набрал SET HOST, получив доступ к удаленному компьютеру сайта NASA. Готово.
   «Ваша система официально WANKирована».
   Мак-Магон повернулся к Батлеру.
   – В какую учетную запись он проник?
   – Они думают, что это SYSTEM.
   Специалисты ничем не могли помочь. Глупость ситуации напоминала черную комедию.
   Сайт NASA имел пароль SYSTEM для учетной записи высшего допуска SYSTEM. Это было просто невероятно. NASA, возможно, самое большое в мире сообщество специалистов, обладало такой расхлябанной системой компьютерной безопасности, что любой мало-мальски разбирающийся в компьютерах тинейджер мог без труда ее вскрыть. Этот колосс был сокрушен компьютерной программой, похожей на тарелку спагетти.
   Первое, что может узнать любой системный администратор из инструкции по компьютерной безопасности № 101, – никогда не использовать пароль, идентичный имени пользователя. Достаточно скверно, что наивные пользователи могли угодить в эту западню… но не администраторы же компьютерных систем с учетными записями высокого уровня допуска!
   Каковы были намерения хакера? Возможно, не такими уж злодейскими. Если бы он захотел, он мог бы запрограммировать WANK на уничтожение всех файлов NASA. Он мог бы снести их в один момент.
   На деле червь оказался гораздо менее заразен, чем хотелось его автору. WANK получил инструкции на выполнение нескольких задач, которым он не повиновался. Важные составляющие червя попросту не работали. Мак-Магон пришел к выводу, что это случайная неудача. Например, его анализ показал, что червь был запрограммирован взламывать учетные записи в тех случаях, когда пользователь оставил место пароля пустым. Когда он разобрался в черве, то обнаружил, что эта часть программы не работала должным образом.
   Несмотря ни на что, «неполноценный» червь устроил серьезный переполох в недрах нескольких правительственных агентств США. Мысль о том, что мог бы сделать из такого червя крутой программист на DCL с многолетним опытом работы с компьютерами VMS, всерьез волновала Джона. Такой человек мог бы нанести непоправимый ущерб. А что если червь WANK был только пробным шаром для чего-то более серьезного, что должно прийти по его следу? Такая перспектива пугала.
   Невзирая на то обстоятельство, что червь WANK вроде бы не питал особенно злобных намерений, команду SPAN ожидали трудные времена. Анализ Мак-Магона обнаружил намного более тревожные аспекты программы червя. Если ему удалось захватить учетную запись SYSTEM, он может заблокировать все электронные почтовые сообщения для системных администраторов. Офис SPAN не мог посылать электронные предупреждения или инструкции по поводу того, что делать с червем, в те системы, которыми тот уже овладел. Проблема усугублялась недостатком информации о том, какие системы были подключены к SPAN. Помочь в борьбе с этой заразой мог телефонный звонок, но зачастую главный офис SPAN не знал, кому звонить. Команда SPAN могла лишь надеяться, что те администраторы, у которых номер телефона штаб-квартиры сети был приколот рядом с компьютером, догадаются позвонить по нему, когда их машины подвергнутся нападению.
   Предварительный доклад Мак-Магона подчеркнул, что червь и сам по себе был способен нанести огромный ущерб. Но масштабы ущерба, причиненного по вине администраторов их собственным системам в борьбе с червем, были несравнимо выше.
   Один обезумевший компьютерный администратор, позвонивший в офис SPAN, отказался принять на веру слова Джона о том, что червь лишь делает вид, что стирает данные. Он заявил, что червь не только вторгся в его систему, но и уничтожил ее. «Он просто не поверил, когда мы сказали ему, что червь, в общем, представляет собой сборник острот, – рассказывал Джон Мак-Магон. – Он реинициализировал систему». «Реинициализировал», то есть начал с чистого листа. Все данные персонала NASA исчезли, словно стертые зараженным компьютером. Сотрудник агентства просто сделал то, на что червь лишь претендовал.
   Печальная ирония заключалась в том, что команда NASA так и не получила копии данных от системы администратора. Они даже не могли подтвердить, что его машина вообще была заражена.
   Весь остаток дня Мак-Магон метался между беспрерывно звонящими телефонами и анализом червя. Он передал по сети зашифрованное электронное послание о нападении червя, и Кевин Оберман прочел его. Послание должно было быть тщательно продуманным, так как никто не был уверен в том, что создатель червя WANK не притаился где-то в сети, наблюдая и выжидая. Через некоторое время Мак-Магон и Оберман связались по телефону, чтобы обменяться идеями и сверить выводы.
   Ситуация была обескураживающей. Даже если бы Мак-Магону и Оберману удалось создать работающую программу для уничтожения червя, команда NASA столкнулась бы с другой сложнейшей задачей. Ввести охотника на червя во все сайты NASA на поверку оказалось гораздо более сложным делом, чем можно было предположить, поскольку агентство не имело точной и свежей карты сети SPAN. Мак-Магон вспоминал, что почти сразу после нападения червя один менеджер попытался составить карту системы. Его усилия вызвали такой всплеск сообщений о тревоге, что его отвели в сторонку и попросили больше этого не делать.
   В результате, когда кто-то из членов команды звонил администраторам в поисках новых деталей, информация часто оказывалась устаревшей.
   – Нет, он раньше работал здесь, но ушел год назад.
   – У нас нет списка телефонов людей, которым можно позвонить, если что-то разладится в компьютерах. У нас тут куча народу в разных местах следит за компьютерами.
   Такие слова Джону приходилось слышать довольно часто.
   Сеть росла беспорядочно, представляя собой своего рода сборную солянку. Почти никакого центрального управления. Гораздо хуже был тот факт, что масса компьютеров по всей Америке подключались к SPAN, не ставя в известность головной офис в Годдарде. В специальный кризисный центр звонили люди из компьютерных узлов, у которых даже не было названия. Они исповедовали философию «безопасность через скрытность» (так это называли в кругах, профессионально занимавшихся компьютерной безопасностью). Им казалось, что если никто не будет знать о существовании их компьютерной системы, у нее не будет названия и она не будет внесена в список или карту сети SPAN, они будут застрахованы от хакеров и других компьютерных врагов.
   Мак-Магон получил множество звонков от системных менеджеров, говоривших: «Здесь творится что-то странное в компьютерной системе». Джон прежде всего спрашивал: «Где это „здесь"?» Само собой, если в офисе SPAN не знали о существовании этой системы, было гораздо труднее оказать помощь ее администраторам, дать им совет, как справиться самостоятельно, снабдить противоядием, когда оно будет готово, или помочь им залатать бреши в учетных записях, которые червь передал своему создателю.
   Путаница была невероятная. Время от времени Мак-Магон садился и начинал думать о том, кто мог создать этого червя, который выглядел так, словно его запустили раньше, чем закончили. Его автор (или авторы) производил впечатление человека, богатого плодотворными идеями о том, как решать проблемы, но не доводящего дело до ума. Червь содержал программу совершенствования стратегии штурма, но она не была завершена. Код червя не имел удовлетворительной процедуры отслеживания ошибок, чтобы обеспечить его выживание в течение длительного времени. Кроме того, червь не отправлял адреса успешно взломанных учетных записей в свой почтовый ящик вместе с их паролями и именами. Какой толк в пароле и названии учетной записи, если неизвестно, какая компьютерная система их использует?
   С другой стороны, возможно, что создатель червя сделал это умышленно. Например, чтобы показать всему миру, в какое количество компьютеров может успешно проникнуть его червь.
   Его программа, отсылавшая собранные данные, сделала это. А если бы она содержала адреса зараженных сайтов, это облегчило бы работу администраторов. Они смогли бы использовать коллекцию GEMPAK как список подлежащих дезинфекции сайтов. Впрочем, предположения можно было строить до бесконечности.
   Местами программа червя была просто блестящей, некоторые решения впечатляли, поскольку никогда не приходили в голову Мак-Магону с тех пор, как он стал интересоваться способами взлома компьютеров VMS. Это была серьезная творческая работа, но в ней отсутствовала какая-либо логика. После нападения червя некоторые эксперты по компьютерной безопасности решили, что он написан не одним человеком. Но Мак-Магон отстаивал свою точку зрения, по-прежнему считая, что это работа одного-единственного хакера.
   Было похоже на то, что создатель червя начинал развивать какую-то мысль, а затем отвлекался. Внезапно он просто переставал писать код, необходимый для того, чтобы закончить мысль, и направлялся по другой тропинке, снова не дойдя до конца. У его создания была шизофреническая структура. Все было не на своем месте.
   Мак-Магон подумал, не было ли это сделано намеренно, чтобы замаскировать то, на что способен червь. Возможно, подумал он, изначально код был упорядочен, последователен и все в нем имело смысл. Затем автор порубил его на куски, переместил середину в начало, начало в конец, перемешал остатки и связал их с набором команд передачи управления. Вполне вероятно, что хакер, написавший червя, был очень элегантным DCL-программистом, который решил сделать червя хаотичным, чтобы защитить его. Безопасность через скрытность.
   Оберман придерживался другого мнения. Он считал, что стиль программирования так варьируется в разных частях червя, потому что это продукт деятельности многих людей. Он знал, что когда программисты пишут код, они не делают так много мелких отклонений от стиля без особых на то причин.
   Кевин Оберман и Джон Мак-Магон перебрасывались идеями и продолжали собственные исследования червя. Оберман привлек к процессу перекрестной проверки Марка Калетку [Mark Kaletka], который управлял внутренними сетями в Лаборатории имени Ферми, одном из самых больших сайтов HEPNET. У червя было много уязвимых мест, но требовалось как можно скорее найти одно, которое могло быть использовано для его уничтожения с минимальными потерями для осажденных компьютеров. Как только машина VMS начинает процесс, она присваивает ему уникальное имя. Когда червь проползал на компьютерный сайт, он первым делом убеждался, что там нет его собственной копии. Он делал это, сличая названия процессов со своими, которые все именовались NETW_ плюс случайный набор из четырех цифр. Если червь-пришелец обнаруживал такое имя, он соображал, что другая его копия уже роется в компьютере, и самоуничтожался.
   Похоже, оставалось сделать ловушку – написать программу, которая сможет выдавать себя за червя, а затем установить ее на всех уязвимых компьютерах NASA. Первая анти-WANK программа работала именно так. Притаившись в компьютерах SPAN, она притворялась процессом NETW_ и тем самым уничтожала любую настоящую версию червя WANK, которая могла пробраться внутрь.
   Оберман первым закончил анти-WANK программу и поделился ею с Мак-Магоном. Она отлично работала, но Мак-Магон заметил одно серьезное упущение. Программа Обермана делала проверку на предмет наличия процессов с именем NETW_, но при этом предполагала, что червь действует в группе SYSTEM. В большинстве случаев так и было, но не всегда. Если червь находился в другой группе, программа Обермана становилась бесполезной. Когда Мак-Магон указал на ошибку, Оберман подумал: «Боже, как я мог такоепропустить?»
   Мак-Магон работал над своей версией анти-WANK программы на базе программы Обермана, готовясь запустить ее в NASA.
   В то же время Оберман пересмотрел свой вариант программы для Министерства энергетики. К вечеру понедельника (по восточному стандартному времени [p21]) Оберман был готов разослать исправленную копию вакцины, созданную для защиты еще не зараженных компьютеров, и приложил к ней электронную инструкцию о том, как действовать против червя. Его первая электронная инструкция, распространенная CIAC, в частности, гласила:
   КОНСУЛЬТАТИВНАЯ СЛУЖБА ПО КОМПЬЮТЕРНЫМ ИНЦИДЕНТАМ (CIAC) ПРЕДУПРЕЖДЕНИЕ
   Червь W.COM Worm, поражающий системы VAX VMS
   16 октября 1989, 18:38 PST [p22]Номер А-2
   Этого червя трудно уничтожить, и он может причинить большие разрушения. С того момента, как он уведомляет (по почте) о каждом из успешных захватов и оставляет лазейку (учетная запись FIELD), его недостаточно просто убить. Вам нужно войти в систему и убедиться, что все учетные записи имеют пароли, и эти пароли отличны от названий учетных записей.