Читаем Атака на Internet полностью

Процедура l1.c – «абордажный крюк»

Все процедуры атаки использовали эту короткую процедуру для пересылки основной части вируса.

Первое, что она делает, – удаляет свой образ на диске. Затем она проверяет наличие трех аргументов (если их нет, то завершается), после чего закрывает все файловые дескрипторы и разветвляется на два процесса (если это не удается, она также завершается). Процесс-родитель завершается, не оставляя никаких связей с порожденным процессом.

Далее процедура (процесс-потомок) создает TCP-соединение с заражаемой машиной по адресу, заданному в качестве первого аргумента, через порт, заданный вторым аргументом. Затем она пересылает на зараженную машину «магическое число», заданное третьим аргументом. Каждый аргумент стирается сразу после его использования. Далее стандартный ввод-вывод переназначается на канал связи с зараженной машиной.

Следующий этап – считывается длина и имя каждого файла, составляющего вирус. Каждый файл пересылается с зараженной машины на текущую. При возникновении сбоев все файлы удаляются.

По окончании цикла пересылки файлов запускается Bourne Shell (sh), замещающий программу 11 и получающий команды с зараженной машины.

Может быть, после такого детального рассмотрения алгоритмы, применяемые червем Морриса, кажутся неуклюжими и запутанными, вероятно, что-то можно было сделать проще и эффективнее. Тем не менее они реализовывали все процедуры, необходимые настоящему сетевому вирусу, чего за 10 лет никому повторить не удалось – ни в рамках UNIX-архитектуры, ни в какой другой. Сегодня «троянские» программы, попадающие к незадачливому пользователю с электронной почтой и т. п., который сам их запускает и инициирует таким образом дальнейшее размножение, иногда называют «новыми сетевыми червями» (особенно в ОС семейства Windows). Но «троянцы» не могут размножаться без участия человека и не являются сетевыми червями по определению.

После червя

Подбор пароля

Вирус Морриса заставил по-новому взглянуть на вопросы компьютерной безопасности. Были предприняты шаги не только по закрытию тех брешей, которые он использовал, но и по поиску и классификации причин их появления в UNIX-системах. Также была выявлена необходимость создания некоторого координационного органа, в котором бы накапливалась и систематизировалась информация о различных компьютерных инцидентах, применяемых методах атак и способах защиты от них. Вскоре такой центр CERT (Computer Emergency Response Team) был создан, и первым появившимся в декабре 1988 года бюллетенем стало сообщение об уязвимостях, использованных червем.

Однако и компьютерные взломщики совершенствовали свои методы. Одной из наиболее популярных стала атака с подбором пароля другого пользователя. Ей активно пользовался и вирус Морриса, но, либо развив его идеи, либо создаваясь независимо, вскоре появилось множество программ, занимавшихся подбором пароля к UNIX-машине. И долгое время слова «взломать UNIX» означали запустить взломщик (cracker) паролей.

Перейти на страницу:

Похожие книги