Понедельник, 16 октября 1989 года
НАСА, Годдардовский центр космических полетов, Гринбелт, штат Мэриленд.
В этот день сотрудники огромной империи NASA, простершейся от Мэриленда до Калифорнии и от Японии до Европы, как обычно, здоровались друг с другом, просматривали почту, наливали кофе и садились к компьютерам, чтобы решать очередные сложные научные проблемы. Но многие компьютерные системы повели себя чрезвычайно странно.
В тот момент, когда персонал вошел в систему, стало ясно, что кто-то (или что-то) их опередил. Вместо привычной официальной заставки системы они с ужасом обнаружили следующее сообщение, глядевшее на них с мониторов:
Wanked? Большинство американских администраторов компьютерных систем, прочитавших этот баннер, никогда не слышали слова wank.
Кто мог решиться на вторжение в компьютерную систему NASA? Кто такие эти «черви», выступающие против «ядерных убийц»? Какая-то группировка полоумных маргиналов? Или NASA угрожают атакой террористы? И почему «черви»? Странный талисман для революционной группы, ведь черви находятся в самом низу биологической пирамиды. И говорится: «Аки червь во прахе». Кто мог выбрать червя символом власти?
С ядерными убийцами было еще непонятнее. «Твердишь о мире ты для всех, а сам готовишься к войне» – совершенно неподходящая NASA надпись. Агентство не занималось производством ядерных ракет, оно посылало людей на Луну. В некоторых проектах NASA присутствовала «военная составляющая», но все же агентство не занимало место в первых строчках списка «ядерных убийц», уступая другим правительственным институтам США, например, Министерству обороны. Так что вопрос оставался неясным – почему NASA?
А бессмысленное слово «WANKирована»? Что значит «ваша система WANKирована»?
Это значит, что NASA больше не контролирует свою компьютерную систему.
Когда в этот понедельник один из ученых NASA вошел в зараженную систему, то получил следующее сообщение:
deleted file <filenamel>
deleted file <filename2>
deleted file <filename3>
deleted file <filename4>
deleted file <filename5>
deleted file <filename6>
Тем самым компьютер сказал: «Я уничтожаю все твои файлы». Командная строка выглядела так, словно пользователь сам ввел команду
delete/log *.*
и дал команду компьютеру уничтожить все файлы.
Научная сотрудница, сидевшая за терминалом, должно быть, просто остолбенела, наблюдая, как все ее файлы один за другим проходили по монитору дорогой смерти. Наверное, она попыталась остановить процесс, нажав «Ctrl+C». Эта операция должна была разорвать последовательность команд и приказать компьютеру прервать процесс, который он осуществлял в данный момент.
Но компьютером управлял чужак, а не сотрудник NASA. Он сказал компьютеру: «Эта команда ничего не значит. Не обращай внимания».
Сотрудница нажимала клавиши еще и еще раз. Она была совершенно сбита с толку и одновременно крайне расстроена непостижимым поведением компьютера. Она неделями, месяцами корпела над секретами мироздания. И вот результаты работы гибнут у нее на глазах в ненасытной утробе компьютера. Все выходит из-под ее контроля. Уходит. Уходит. Ушло.
Обычно люди не склонны спокойно относиться к потере контроля над своими компьютерами. Как правило, это будит в них худшие чувства: некоторые шепотом ругаются и сжимают кулаки, другие взывают о помощи, начальство властно ревет и стучит кулаком по столу.
Представьте, если сможете, что вы управляете одной из локальных компьютерных сетей NASA. В понедельник утром вы приходите в офис, и вам начинают беспрерывно звонить обезумевшие и растерянные работники NASA. Все они уверяют вас, что их файлы, учетные записи и исследовательские проекты – все, что пропало из компьютерной системы, – являются жизненно важными.
В данном конкретном случае проблема усугублялась тем, что научно-исследовательские центры NASA часто состязались друг с другом за получение заданий. Всякий раз, когда на горизонте появлялся какой-нибудь особенно важный космический проект, в борьбу за него вступали два-три центра, в каждом из которых работала не одна сотня служащих. Потеря контроля над компьютерами, потеря всех данных, планов и расчетов могла запросто привести к тому, что центр мог потерять проект и, соответственно, весьма значительное финансирование.
Этот день не предвещал ничего хорошего для парней в офисе компьютерной сети SPAN.
Этот день не сулил ничего хорошего и Джону Мак-Магону [John McMahon].
:)
Джон Мак-Магон работал консультантом по протоколу DECNET. В его обязанности входило управление всей компьютерной сетью SPAN, которая связывала между собой полтора-два десятка зданий Годдарда.
Мак-Магон работал на Проект 630.4, иначе известный под названием Goddard’s Advanced Data Flow Technology Office, в строении № 28. Сотрудники Центра вызывали его, когда им требовалась помощь с компьютерами. Чаще всего ему приходилось слышать две жалобы: «Кажется, он не работает» и «Я не могу попасть отсюда в тот сектор сети».
SPAN – это Space Physics Analysis Network, соединявшая 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 (СОВЕ), где он осуществлял управление компьютерами пятисот исследователей. В здании № 7 Годдардовского центра, где он работал на проект СОВЕ, проводилась очень интересная работа. Исследователи пытались картографировать Вселенную, надеясь сделать это с помощью волн, невидимых человеческому глазу. NASA запустило спутник СОВЕ в ноябре 1989 года. Его задача заключалась в том, чтобы «измерять рассеянное инфракрасное и микроволновое излучение, возникшее на заре вселенной, насколько позволяет наше астрономическое оборудование». Для дилетанта проект выглядел произведением современного искусства, которое могло быть названо «Карта вселенной в инфракрасном свете».
Но 16 октября, едва Мак-Магон вошел в офис и приступил к работе, раздался странный телефонный звонок из офиса SPAN. Тодд Батлер [Todd Butler] и Рон Тенкати [Ron Tencati] из National Space Science Data Center, который управлял половиной сети SPAN, принадлежащей NASA, обнаружили в компьютерной сети нечто странное и явно несанкционированное. Это напоминало компьютерного червя.
Компьютерный червь отчасти напоминает компьютерный вирус. Он вторгается в компьютерные системы, создавая помехи их нормальной работе. Он путешествует по любой доступной и совместимой компьютерной сети и стучится в двери систем, связанных с этой сетью. Если в системе безопасности компьютера есть щель, червь обнаружит ее и вползет в систему. Сделав это, он может получить самые различные инструкции – от передачи сообщений всем пользователям компьютеров до овладения всей системой. Главное отличие червя от других компьютерных программ-вирусов заключается в том, что он способен воспроизводить сам себя. Он продвигается вперед, вторгается в новую систему и копирует себя на новом сайте. Другое отличие червя от вируса состоит в том, что он не замкнут рамками файла данных или программы. Он автономен.
Термин «червь» в применении к компьютерам пришел из классического научно-фантастического романа Джона Бруннера «Всадник ударной волны», написанного в 1975 году. В нем идет речь о том, как программист-мятежник создал программу под названием «ленточный червь». Он запустил ее во всемогущую компьютерную сеть, при помощи которой олигархическое правительство управляло своим народом. Чтобы уничтожить червя, правительству пришлось отключить компьютерную сеть, что привело к потере контроля.
Книга Бруннера была так же далека от реального червя-разбойника, как и большинство администраторов компьютерных сетей VMS. До конца 80-х годов о червях были довольно смутные представления, и они преимущественно ассоциировались с исследованиями в компьютерных лабораториях. Например, несколько червей-помощников было разработано исследователями компании Xerox, которые хотели более эффективно использовать возможности компьютеров. Они разработали «червя-глашатая», который передвигался по сети, рассылая важные сообщения. Их «червь-диагност» также постоянно находился в сети, выявляя возникающие неполадки.
Для некоторых компьютерных программистов создание червя равносильно созданию жизни. Сотворить нечто «разумное», способное выжить в мире и воспроизводить себе подобных, – это высшая степень созидания. Породить червя-разбойника, овладевшего компьютерной системой NASA, означало увенчать себя лаврами творческого бессмертия. Еще бы – наследить в компьютерах, которые отправили человека на Луну!
К тому моменту, когда баннер WANK появился на компьютерных экранах NASA, было известно всего два незаконных червя, сколько-нибудь достойных внимания. Один из них, червь RTM, поразил базирующийся на Unix Интернет менее чем за год до описываемых событий. Другой, известный как Father Christmas, стал первым червем в 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) Министерства энергетики США. Эта сеть наряду с Euro-HEPNET и Euro-SPAN входила в состав всемирной сети SPAN. Компьютерные сети NASA и Министерства энергетики пересекались во многих местах. Например, исследовательские лаборатории могли иметь доступ и в компьютеры HEPNET, и в компьютеры NASA. Для своего удобства лаборатория могла просто соединить обе сети. Все это способствовало размножению червя, поскольку SPAN NASA и HEPNET Министерства энергетики фактически представляли собой единую гигантскую компьютерную сеть, которую червь мог полностью захватить.
Министерство энергетики хранит в своих компьютерах секретную информацию. Там работают в двух направлениях: над проектами использования энергии в гражданских целях и над атомным оружием. Поэтому Министерство энергетики очень серьезно относится к вопросам безопасности, поскольку это – «национальная безопасность». Хотя секретная информация не должна была передаваться по сети HEPNET, Министерство энергетики по-военному четко отреагировало, когда его компьютерщики обнаружили чужака. Они тут же связались с парнем по имени Кевин Оберман [Kevin Oberman], который знал все о компьютерной безопасности систем VMS, и поставили перед ним задачу.
Как и Мак-Магон, Оберман официально занимался отнюдь не проблемой компьютерной безопасности, просто он интересовался ей и был известен своей компетентностью в вопросах защиты систем VMS. Вообще же он работал сетевым администратором в техническом отделе финансируемой Министерством энергетики Ливерморской национальной лаборатории, расположенной неподалеку от Сан-Франциско.
Ливерморская лаборатория занималась в основном военными исследованиями, в значительной степени связанными с проектом Стратегической оборонной инициативы. Многие ученые лаборатории разрабатывали ядерное и лазерное оружие для программы «звездных войн». У Министерства энергетики была своя команда безопасности, известная как Computer Incident Advisory Capability (CIAC). Но ее эксперты больше разбирались в Unix, нежели в компьютерных системах и сетях, базирующихся на VMS. «В течение многих лет они почти не сталкивались с проблемами в VMS, – сделал вывод Кевин Оберман, – и этот вопрос их совершенно не заботил. Поэтому у них и не оказалось спецов по VMS».
Червь подорвал безмятежное доверие к компьютерам VMS. Еще когда WANK путешествовал по сетям NASA, он энергично атаковал Национальную лабораторию ускорителей имени Ферми в окрестностях Чикаго, объявившись во множестве компьютерных систем, что очень встревожило сотрудников этой лаборатории. Они позвонили в Ливерморскую лабораторию, и оттуда рано утром 16 октября связались по телефону с Оберманом, попросив его проанализировать код червя. Они хотели знать, насколько опасен незваный гость. Но еще больше их интересовало, что можно ему противопоставить.
Сотрудники Министерства энергетики установили, что первый контакт с червем состоялся 14 октября. Более того, они предположили, что червь был запущен днем раньше – в пятницу 13 октября. Эта зловещая дата, по мнению Обермана, как нельзя более соответствовала черному юмору создателя или создателей червя.
Оберман начал собственный анализ червя, не подозревая о том, что на расстоянии 3200 километров от него, на противоположном побережье материка, его коллега и знакомый Джон Мак-Магон делает то же самое.
:)
Всякий раз, как Мак-Магон отвечал на телефонный звонок сердитого системного или сетевого администратора NASA, он старался получить копию червя из зараженной машины. Он также просил предоставить ему логи их компьютерных систем. Из какого компьютера явился червь? В какую систему он готовит вторжение из зараженного сайта? Теоретически лог-файлы позволяли команде NASA проследить маршрут червя. Если команда сможет связаться с администраторами на предполагаемом пути червя, те будут предупреждены о грозящей опасности. Можно также обнаружить тех, чьи системы были недавно заражены, и оповестить их о том, что они стали стартовой площадкой для нападений червя.
Но это не всегда было возможно. Если червь захватил компьютер и все еще находился в нем, администратор мог проследить, откуда он пришел, но оставалось тайной, куда он направится. Кроме того, многие менеджеры не сохраняли полные лог-файлы в своих компьютерах.
Мак-Магон всегда знал, что очень важно собирать как можно больше информации о том, кто подключался к компьютеру. На предыдущей работе он модифицировал машины таким образом, что они сохраняли максимум информации, представляющей полезность с точки зрения безопасности соединения с другими компьютерами.
Компьютеры VMS имели стандартные наборы сигнальных программ, но Мак-Магон не считал, что их достаточно. Эти системы лишь отправляли администратору сообщение следующего содержания: «Привет! К вам только что подключились оттуда-то». Модифицированная система оповещения говорила: «Привет! К вам только что подключились из такого-то пункта. Вызванный абонент перекачивает файл». Также она сообщала и другие фрагменты информации, которую Мак-Магон мог выжать из другого компьютера. К сожалению, многие компьютерные и сетевые администраторы NASA не разделяли его энтузиазма по поводу проверок логов. Они просто не сохраняли подробные записи о том, кто и когда имел доступ к их машинам, и это очень затруднило преследование червя.
Но офис SPAN постарался тщательно фиксировать данные о компьютерах NASA, ставших жертвой червя. Каждый раз, когда сотрудник NASA докладывал об очередном вторжении, один из членов команды записывал все детали ручкой на бумаге. Список, включающий адреса пострадавших компьютеров и детальные описания особенностей их заражения, был и в компьютере, но записи, сделанные вручную, казались более надежными. Червь наверняка не ест бумагу.
Когда Мак-Магон узнал, что Министерство энергетики тоже подверглось нападению, он стал связываться с ними приблизительно каждые три часа. Обе группы обменялись списками зараженных компьютеров по телефону, потому что голос, как и слово, написанное от руки, был застрахован от посягательств червя. «Это, конечно, архаичный способ, но, с другой стороны, мы не хотели зависеть от системы и того, что в ней творилось, – рассказывал Мак-Магон. – Нам был необходим способ общения помимо связи через зараженную систему».
Некоторые члены команды компьютерщиков NASA устанавливали контакты с различными подразделениями DEC с помощью общества пользователей продуктами компании (DECUS). Эти контакты оказались очень полезными. Любой запрос мог запросто потеряться в бюрократической системе DEC. В компании работало 125 000 человек, ее обороты исчислялись миллиардами долларов, а прибыль в 1989 году составила двенадцать миллиардов долларов. Такой крупной и солидной корпорации вовсе не улыбалось иметь дело с проблемами вроде червя WANK, особенно в такой находящейся на виду организации, как NASA. Так или иначе, вопрос о степени вины программного обеспечения DEC в победном шествии червя наверняка бы встал. Кризис был, мягко говоря, нежелателен для компании и не украсил бы ее репутацию. Если бы DEC полезла в эту кашу, это могло обернуться для нее большим ущербом.
Ситуация менялась, если у кого-нибудь были приятельские отношения с техническим экспертом DEC. Они могли поговорить по-дружески, не так, как обычно разговаривали менеджеры NASA с сотрудниками DEC, которые полгода назад продали агентству компьютеров на миллион долларов, а как парень из NASA с парнем из DEC, сидевшие рядом на конференции в прошлом месяце. Как коллеги, общавшиеся не один раз.
Анализ Джона Мак-Магона показал, что существуют три версии червя WANK. Эти версии, выделенные из собранных в сети образчиков, были очень схожи, но небольшие отличия все-таки были. По мнению Мак-Магона, эти различия не объяснялись особенностями самовоспроизведения червя на новых сайтах по мере распространения. Но зачем создателю червя понадобилось запускать разные версии? Почему он не написал одну, но чище? Червь не был одиночной ракетой, наносился массированный удар со всех направлений, по всей компьютерной сети NASA.
Мак-Магон предположил, что автор червя запустил три разные версии своего произведения с небольшими временными интервалами. Возможно, создатель запустил червя, а потом обнаружил ошибку. Он немного поработал с червем, чтобы устранить проблему, и запустил его снова. Может быть, ему не понравилось, как он исправил ошибку, и он еще раз изменил его и запустил теперь уже в третий раз.
В Северной Калифорнии Кевин Оберман пришел к другому заключению. Он считал, что существует лишь одна настоящая версия червя, который вгрызался в HEPNET и SPAN. Небольшие вариации в разных копиях, которые он проанализировал, казалось, обусловливались способностями червя к обучению и видоизменению по мере того, как он продвигался от компьютера к компьютеру.
Мак-Магон и Оберман были не единственными сыщиками, пытавшимися разобраться с разными вариантами червя. DEC тоже занялась изучением червя, имея на это веские причины. Выяснилось, что червь WANK пробрался в саму корпорацию и ползает по ее собственной компьютерной сети Easynet, соединяющей заводы, торговые и другие подразделения DEC по всему миру. Компания проявляла осторожность при обсуждении проблемы вне собственных стен, но версия червя в Easynet имела явные отличия. В ее коде присутствовала странная строка, которой не было в других версиях. Ни при каких обстоятельствах червь не должен был вторгаться в компьютеры в зоне 48 сети DEC. Команда NASA задумалась над этим обстоятельством, кто-то проверил, что такое зона 48. Это оказалась Новая Зеландия. Новая Зеландия?
Команда NASA принялась ломать головы. Нападение становилось все более странным. Когда уже казалось, что члены группы SPAN вышли на верный путь к центру лабиринта, они вновь оказывались перед новой загадкой. Вдруг кто-то вспомнил, что заявкой Новой Зеландии на всемирную славу было объявление ее безъядерной зоной.
В 1986 году Новая Зеландия заявила, что отказывается допускать в свои гавани американские суда с ядерным оружием на борту или имеющие ядерные силовые установки. США ответили формальной приостановкой своих обязательств по обеспечению безопасности южно-тихоокеанских государств. Если бы какая-нибудь враждебная страна решила напасть на Новую Зеландию, Штаты со спокойной душой закрыли бы на это глаза. Кроме того, американцы отказались от практики обмена разведывательной информацией и от проведения совместных военных маневров.
Многие в Австралии и Новой Зеландии считали, что Америка отреагировала слишком остро. Новая Зеландия не изгоняла американцев, она просто отказалась подвергать свое население опасностям, связанным с ядерным оружием. И в самом деле, новозеландцы по-прежнему не возражали против существования американской разведывательной базы в Вайхопаи даже после введения США санкций. В стране царили не антиамериканские, а антиядерные настроения.
И у Новой Зеландии были очень серьезные причины для таких настроений. В течение многих лет эта страна боролась с Францией, проводившей испытания ядерного оружия в Тихом океане. В июле 1985 года французские агенты в гавани Окленда взорвали корабль Rainbow Warrior организации «Гринпис», который с протестующими защитниками природы должен был отправиться к полигону на атолле Муруроа. При этом погиб активист «Гринписа» Фернандо Перейра.
Несколько недель Франция все отрицала. Когда же правда вышла наружу (оказалось, что сам президент Миттеран был в курсе планов спецслужб), французы не знали, куда деваться от стыда. Полетели головы. Министр обороны Франции Шарль Эрню [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.
Команда SPAN постаралась дать сотрудникам NASA максимум сведений о черве. Это был лучший способ помочь компьютерным администраторам, изолированным в своих офисах по всей стране, обрести чувство, что кризис остается управляемым.
Как и все в команде SPAN, Мак-Магон старался успокоить звонивших, после чего подвергал их опросу, с помощью которого рассчитывал определить степень контроля червя над их системами. Сначала он спрашивал, какие симптомы обнаруживали их системы. В кризисной ситуации, когда молоток занесен, все кажется гвоздем, поэтому Мак-Магон хотел убедиться, что сбой в системе действительно спровоцирован червем и ничем иным.
Если бы проблема заключалась только в странных комментариях, появляющихся на экране, Мак-Магон сделал бы вывод, что червь, возможно, лишь пугает пользователя этого компьютера из соседней системы, которую он уже успешно захватил. Послания наводили на мысль, что учетные записи принимающих их машин еще не захвачены червем. Во всяком случае, пока.
Машины VAX/VMS обладают функцией, называемой Phone, использующейся для онлайновой связи. Например, ученый NASA может «позвонить» одному из своих коллег на другой компьютер и по-дружески побеседовать с ним в режиме реального времени. Это живое общение, но происходит оно посредством клавиатуры и монитора, а не голоса. Функция Phone в VMS позволила червю отправлять послания пользователям. Он просто «звонил» им, используя этот протокол. Но вместо начала сеанса связи он посылал им сообщения из той своей части, которая, как выяснилось впоследствии, носила вполне подходящее название Fortune Cookie и представляла собой собрание приблизительно шестидесяти запрограммированных высказываний.
В некоторых случаях, когда червь сильно досаждал персоналу, Мак-Магон советовал менеджеру на другом конце провода отключить в компьютере функцию 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.
В то же время Оберман пересмотрел свой вариант программы для Министерства энергетики. К вечеру понедельника (по восточному стандартному времени) Оберман был готов разослать исправленную копию вакцины, созданную для защиты еще не зараженных компьютеров, и приложил к ней электронную инструкцию о том, как действовать против червя. Его первая электронная инструкция, распространенная CIAC, в частности, гласила:
КОНСУЛЬТАТИВНАЯ СЛУЖБА ПО КОМПЬЮТЕРНЫМ ИНЦИДЕНТАМ (CIAC) ПРЕДУПРЕЖДЕНИЕ
Червь W.COM Worm, поражающий системы VAX VMS
16 октября 1989, 18:38 PST Номер А-2
Этого червя трудно уничтожить, и он может причинить большие разрушения. С того момента, как он уведомляет (по почте) о каждом из успешных захватов и оставляет лазейку (учетная запись FIELD), его недостаточно просто убить. Вам нужно войти в систему и убедиться, что все учетные записи имеют пароли, и эти пароли отличны от названий учетных записей.
Р. Кевин Оберман
Предупреждение
Червь атакует принадлежащую NASA сеть SPAN через системы VAX/VMS, подключенные к DECnet. He совсем понятно, ограничено ли распространение червя. Он может внедриться в другие системы, такие как HEPNET Министерства энергетики, в течение нескольких дней. Системные менеджеры VMS должны быть готовы к этому.
Червь поражает машины VMS и может распространяться только посредством DECnet. Для воспроизведения самого себя червь использует два свойства машин DECnet/VMS. Во-первых, это учетная запись DECnet по умолчанию, которая дает возможность пользователям, не имеющим специальных идентификационных логинов для машин, добиться некоторого уровня анонимного доступа. Червь использует учетную запись DECnet по умолчанию для самокопирования в машине, а затем использует функцию «TASK О» DECnet для запуска удаленной копии. Он имеет несколько других функций, включая жесткую силовую атаку.
Как только червь проникает в вашу систему, он заражает файлы .СОМ и создает новые уязвимые места в системе безопасности. Есть мнение, что он попытается переслать информацию об этих слабостях. Он может также разрушить файлы, преднамеренно или непреднамеренно.
Анализ червя, представленный ниже, проведен Кевином Оберманом из Национальной лаборатории имени Лоренса Ливермора. К анализу приложена программа DCL, которая блокирует текущую версию червя. В настоящее время существуют не менее двух версий червя, но могут появиться и другие. Эта программа предоставит вам достаточно времени, чтобы залатать очевидные дыры в системе безопасности. Создается более совершенная программа DCL.
Если ваш сайт подвергнется нападению, пожалуйста, обратитесь в CIAC для получения дальнейших инструкций…
Сообщение о черве W.COM
Р. Кевин Оберман
Технический отдел
Национальная лаборатория имени Лоренса Ливермора
16 октября 1989 года.
Приводим описание работы червя W.COM, основанное на исследовании двух первых версий. Техника репликации предполагает небольшое изменение кода, на что указывает источник нападения и накапливаемая в результате самообучения червя информация.
Весь анализ был сделан в большой спешке, но я считаю, что все факты достоверны. Для начала – описание программы:
1. Программа удостоверяет, что работает в директории, к которой сам владелец имеет полный доступ (с правами чтения, записи, исполнения и удаления файлов).
2. Программа проверяет, не работает ли уже другая копия червя, для чего она ищет процесс с первыми пятью знаками NETW_. В случае его обнаружения она самоуничтожается и прекращает работу. (ПРИМЕЧАНИЕ: Быструю проверку на зараженность можно провести, поискав процесс, начинающийся с NETW_. Это можно сделать с помощью команды SHOW PROCESS.
3. Затем программа изменяет пароль по умолчанию учетной записи DECnet случайной последовательностью двенадцати или более знаков.
4. Информация о пароле, использованном для доступа в систему, отправляется пользователю GEMTOP на узле SPAN 6.59. Некоторые версии могут иметь другие адреса.
5. Процесс меняет свое имя на NETW_ плюс случайно выбранный набор цифр.
6. Затем программа смотрит, имеет ли SYSNAM привилегию. Если да, то она замещает сообщение системы своим баннером.
WORMS AGAINST NUCKLEAR KILLERS
You talk of times of peace for all, and then prepare for war
7. Если она имеет SYSPRV, то блокирует почту учетной записи SYSTEM.
8. Если она имеет SYSPRV, то изменяет процедуру выполнения команд при входе в систему так, как если бы стирались все файлы пользователя (но в действительности не делает этого).
9. Затем программа сканирует логическую таблицу учетных записей для командных процедур и стремится изменить учетную запись FIELD на известный пароль с логином из любого источника и всеми привилегиями. Это примитивный вирус, но он очень эффективен, если проникает в высокопривилегированную учетную запись.
10. Программа приступает к попытке проникновения в другую систему путем случайного выбора номеров узлов. Кроме того, она использует функцию PHONE для получения списка активных пользователей удаленных систем. Она начинает беспокоить их, звоня им с помощью PHONE.
11. Затем программа стремится получить доступ к файлу RIGHTLIST и пытается получить доступ к какой-либо удаленной системе с помощью найденных пользователей и списка «стандартных» пользователей, заложенного в червя. Она ищет пароли, идентичные названиям учетных записей или просто пустые, и регистрирует все такие учетные записи.
12. Она ищет учетную запись, которая имеет доступ к SYSUAF.DAT.
13. Если привилегированная учетная запись обнаружена, программа копируется в эту учетную запись и запускается. Если привилегированная учетная запись не найдена, программа копируется в другие учетные записи, выбранные случайным образом.
14. Как только программа завершает работу в системе, она случайным образом выбирает другую, и все повторяется (и так до бесконечности).
Ответные меры:
1. Прилагаемая программа заблокирует червя. Воспользуйтесь приведенным ниже кодом и запустите ее (это потребует минимальных ресурсов). Она создаст процесс под названием NETW_BLOCK, который предупредит запуск червя.
ПРИМЕЧАНИЕ: Настоящая версия программы будет работать только с этой версией червя.
Видоизмененные черви потребуют модификации этого кода, тем не менее эта программа будет защищать от вторжения червя достаточно долго, чтобы обезопасить вашу систему от новых нападений червя.
Программа Мак-Магона тоже была готова к запуску в понедельник, но он столкнулся с барьерами, существующими в NASA. Работа в агентстве требовала умения балансировать, представляя своего рода балет, требующий совершенной хореографии, чтобы выполнять свою работу, соблюдать формальные требования и не наступать на мозоль тому или иному начальнику. Поэтому анти-WANK-программа NASA была выпущена только несколько дней спустя.
В Министерстве энергетики тоже не обошлось без проблем с запуском анти-WANK-программы и консультациями в HEPNET. 17 октября в 17 часов 04 минуты по тихоокеанскому времени, когда Оберман был готов закончить последний параграф своего окончательного сообщения о черве, пол у него под ногами вздрогнул. Здание затряслось. Кевин Оберман оказался в центре сан-францисского землетрясения 1989 года.
Землетрясение в Лома-Приета силой в 7,1 балла по шкале Рихтера прокатилось по Сан-Франциско и окрестностям. В своей компьютерной лаборатории Оберман приготовился к худшему. Как только толчки закончились и он убедился, что компьютерный центр все еще стоит, он снова сел к терминалу. Под вопли динамиков внутренней радиосети, призывающих весь персонал немедленно покинуть здание, Оберман в спешке заканчивал последнее предложение доклада. Он на секунду задумался, а затем добавил постскриптум, в котором шла речь о том, что если абзац не слишком связан, так только потому, что его мысли смешались из-за толчков землетрясения, обрушившегося на Ливерморскую лабораторию. Он нажал клавишу, отправляя окончательный вариант сообщения о черве WANK, и выбежал из здания.
На восточном побережье в офисе SPAN продолжалась работа по оказанию помощи тем, кто звонил с пораженных сайтов NASA. Список сайтов, сообщавших о нападении червя, неуклонно рос всю неделю. Официальные оценки масштабов атаки червя WANK были неопределенными, однако профессиональные издания, такие как Network World и Computer World, сообщали, что червь успешно проник всего лишь в 60 VMS-компьютеров космического агентства. Менеджер по безопасности SPAN Рон Тенкати насчитал в той части сети, которая относилась к NASA, только 20 успешных вторжений, но другая внутренняя оценка гораздо выше – 250–300 машин. Каждая из этих машин могла обслуживать 100 и более пользователей. Оценки сильно отличаются, в сущности же, от червя пострадали все 270 000 учетных записей в сети: либо из-за отключения части сети, либо из-за постоянных попыток червя войти в систему с уже зараженного сайта. К концу нападения червя офис SPAN составил список пораженных сайтов, который даже в две колонки занял площадь в несколько страниц дисплея. Каждый из них так или иначе пострадал от червя.
Также к концу кризиса группа менеджеров компьютерной сети NASA и Министерства энергетики определилась с тем, какие требуются «вакцины», «противоядия» и «анализы крови». Мак-Магон выпустил свою программу ANTIWANK.COM, которая убивала червя и делала системе «прививку» против возможных атак в будущем, а также распространил WORM-INFO.TEXT, содержавший список признаков заражения червем. Программа Обермана, названная [.SECURITY]CHECK_SYSTEM.COM, латала все прорехи в системах безопасности, которые использовал червь для проникновения в компьютерную систему. У DEC также появилась возможность заделать дыру в системе безопасности учетной записи DECNET.
Каково бы ни было реальное число зараженных машин, несомненно, что червь совершил кругосветное путешествие. Из компьютеров Годдардовского центра в Мэриленде и Лаборатории имени Ферми в Чикаго он добрался до европейских сайтов (например, до сайта ЦЕРНа – Европейского совета по ядерным исследованиям в Швейцарии) и перелетел Тихий океан, оказавшись в Японии (в Riken Accelerator Facility).
Официальные лица NASA заявили прессе, что, по их мнению, червь был запущен около 4.30 утра в понедельник 16 октября. А также то, что червь пришел из Европы, возможно из Франции.