Было похоже на то, что создатель червя начинал развивать какую-то мысль, а затем отвлекался. Внезапно он просто переставал писать код, необходимый для того, чтобы закончить мысль, и направлялся по другой тропинке, снова не дойдя до конца. У его создания была шизофреническая структура. Все было не на своем месте.

Мак-Магон подумал, не было ли это сделано намеренно, чтобы замаскировать то, на что способен червь. Возможно, подумал он, изначально код был упорядочен, последователен и все в нем имело смысл. Затем автор порубил его на куски, переместил середину в начало, начало в конец, перемешал остатки и связал их с набором команд передачи управления. Вполне вероятно, что хакер, написавший червя, был очень элегантным DCL-программистом, который решил сделать червя хаотичным, чтобы защитить его. Безопасность через скрытность.

Оберман придерживался другого мнения. Он считал, что стиль программирования так варьируется в разных частях червя, потому что это продукт деятельности многих людей. Он знал, что когда программисты пишут код, они не делают так много мелких отклонений от стиля без особых на то причин.

Кевин Оберман и Джон Мак-Магон перебрасывались идеями и продолжали собственные исследования червя. Оберман привлек к процессу перекрестной проверки Марка Калетку [Mark Kaletka], который управлял внутренними сетями в Лаборатории имени Ферми, одном из самых больших сайтов HEPNET. У червя было много уязвимых мест, но требовалось как можно скорее найти одно, которое могло быть использовано для его уничтожения с минимальными потерями для осажденных компьютеров. Как только машина VMS начинает процесс, она присваивает ему уникальное имя. Когда червь проползал на компьютерный сайт, он первым делом убеждался, что там нет его собственной копии. Он делал это, сличая названия процессов со своими, которые все именовались NETW_ плюс случайный набор из четырех цифр. Если червь-пришелец обнаруживал такое имя, он соображал, что другая его копия уже роется в компьютере, и самоуничтожался.



35 из 455