Было похоже на то, что создатель червя начинал развивать какую-то мысль, а затем отвлекался. Внезапно он просто переставал писать код, необходимый для того, чтобы закончить мысль, и направлялся по другой тропинке, снова не дойдя до конца. У его создания была шизофреническая структура. Все было не на своем месте.
Мак-Магон подумал, не было ли это сделано намеренно, чтобы замаскировать то, на что способен червь. Возможно, подумал он, изначально код был упорядочен, последователен и все в нем имело смысл. Затем автор порубил его на куски, переместил середину в начало, начало в конец, перемешал остатки и связал их с набором команд передачи управления. Вполне вероятно, что хакер, написавший червя, был очень элегантным 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), его недостаточно просто убить. Вам нужно войти в систему и убедиться, что все учетные записи имеют пароли, и эти пароли отличны от названий учетных записей.
Р. Кевин Оберман
Предупреждение
Червь атакует принадлежащую NASA сеть SPAN через системы VAX/VMS, подключенные к DECnet. He совсем понятно, ограничено ли распространение червя. Он может внедриться в другие системы, такие как HEPNET Министерства энергетики, в течение нескольких дней. Системные менеджеры VMS должны быть готовы к этому.
Червь поражает машины VMS и может распространяться только посредством DECnet. Для воспроизведения самого себя червь использует два свойства машин DECnet/VMS. Во-первых, это учетная запись DECnet по умолчанию, которая дает возможность пользователям, не имеющим специальных идентификационных логинов для машин, добиться некоторого уровня анонимного доступа. Червь использует учетную запись DECnet по умолчанию для самокопирования в машине, а затем использует функцию «TASK О» DECnet для запуска удаленной копии. Он имеет несколько других функций, включая жесткую силовую атаку.
Читать дальше