Чтение онлайн

на главную

Жанры

Суета вокруг Роберта
Шрифт:

______________________________

[D5] Впоследствии он сказал, что создал этот "черный ход" с целью облегчения работы в системе, доступ к которой закрывал ему чрезмерно усердный администратор.

стр. 23

сервером в ходе попытки заражения. Если сервер не получал такого числа, он отсоединялся от модуля захвата, а сам модуль захвата самоуничтожался. Это должно было предотвратить "поимку" кем-либо файлов червя.

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

И, наконец,

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

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

Другим - вторым!
– недостатком, использованным вирусом Морриса для собственного распространения, была непродуманность работы другой утилиты, также входящей в состав атакуемых систем - Finger.

Программа Finger также работала в режиме фонового процесса демона - и предоставляла пользователям возможность опрашивать удаленный узел о текущем состоянии системы или активности конкретного пользователя. В случае обнаружения попытки установить связь со стороны удаленного демона, демон Finger данного узла устанавливал связь, считывал одну строку запроса и посылал в ответ информацию, определяемую полученным запросом. Вся беда заключалась в том, что для считывания строки ввода в свой внутренний буфер программа Finger использовала программу gets языка C, а эта программа - как, впрочем, и целый ряд других программ ввода/вывода в C - в процессе размещения информации не проверяла границы буфера ввода, что делало возможным переполнение буфера и, соответственно, затирание данных, размещенных следом за буфером.

Червь передавал демону Finger точно расчитанную строку ввода длиной 536 байтов, которая переполняла буфер ввода и затирала верхний кадр системного стэка таким образом, что в этом кадре оказывались команды, осуществлявшие установление связи с атакующим сервером червя через порт TCP. После установления связи происходила передача на атакуемый узел и запуск программы захвата и происходил процесс, описанный несколько выше.

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

Работающий вирус открывал связь TCP и в директории /tmp создавал файл с именем $$,11.c, где $$ заменялось идентификатором текущего процесса, куда копировался код для расширения программы listener либо helper. По завершению работы Finger вирусная программа, содержащаяся в переданных данных (все тот же первый сегмент червя), поступала на выполнение.

стр. 24

Более понятно об этой лазейке расскажет очевидец событий:

"Второй червь UNIX, принадлежащий тому же автору, также

поступил через электронную почту, но использовал другую схему

атаки. В большинстве систем электронной почты UNIX есть утилита

Finger, которая позволяет получить информацию о пользователях

другого узла.

Червь с помощью утилиты Finger запрашивал информацию о

пользователях, работавших в UNIX. При выполнении запроса Finger

размещала в памяти опрашиваемого узла свои данные. Но червь

изменял эту память таким образом, что вызов адресовался на его

точку входа, в результате чего он начинал работу."

Теперь вам понятно, почему пользователям показалось, что работают два червя? Все дело в том, что вирус Морриса использовал для распространения своих копий два независимых друг от друга пути - через Sendmail и через Finger.

Итак, червь благополучно попал в систему и приступил к работе. Что же он делает?

Слово - нашему знакомому делавэрцу.

"По логике первого сегмента, выполнявшегося как обычная

программа, через тот же самый порт электронной почты в систему

Дэви поступила вторая часть червя. Эта часть состояла из серии

сообщений, содержащих объектный код, добавлявшийся к работающей

оболочке червя.

Первой группой команд производилось обращение к списку

адресов других машин, с которыми был связан Дэви, с последующей

посылкой по этим адресам через сеть копий первого сегмента

червя...

...При нормальной работе каждый узел сети имеет список

адресов других компьютеров (обычно около десятка), с которыми

данный узел непосредственно связан линиями связи. С помощью

таких списков адресов червь стал распространяться по сети от

одного узла к другому; заражение при этом росло по экспоненте."

Логично? Вполне: заразился сам - помоги товарищу. И еще вирус стремился размножиться и разослать свои копии по обнаруженным адресам сопредельных узлов раньше, чем его успеют обнаружить и остановить. Это логика доброй половины всех известных вирусов [D2]. Обнаружение адресов доступных узлов производилось вирусом за счет выполнения программ Ioctl и Netstat с различными аргументами, а также за счет считывания и анализа ряда специальных системных и пользовательских файлов, используемых для обеспечения работы в сети. Выделяемая таким образом информация заносилась в создаваемый червем внутренний список доступных узлов. По окончании формирования списка

______________________________

[D2] Вторая половина придерживается другой тактики - затаиться, выждать некоторое время, а уже затем начать размножаться и пакостить. Но для всех вирусов характерна крайняя озабоченность судьбой своих копий: существуют вирусы, которые не начинают пакостить всерьез до тех пор, пока не создадут заранее определенное количество копий, что гарантирует пользователям гораздо более интересную жизнь.

стр. 25

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

Поделиться:
Популярные книги

Звезда сомнительного счастья

Шах Ольга
Фантастика:
фэнтези
6.00
рейтинг книги
Звезда сомнительного счастья

Мастер 6

Чащин Валерий
6. Мастер
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Мастер 6

Неудержимый. Книга XI

Боярский Андрей
11. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XI

Идеальный мир для Лекаря

Сапфир Олег
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря

Табу на вожделение. Мечта профессора

Сладкова Людмила Викторовна
4. Яд первой любви
Любовные романы:
современные любовные романы
5.58
рейтинг книги
Табу на вожделение. Мечта профессора

Дайте поспать! Том II

Матисов Павел
2. Вечный Сон
Фантастика:
фэнтези
постапокалипсис
рпг
5.00
рейтинг книги
Дайте поспать! Том II

Враг из прошлого тысячелетия

Еслер Андрей
4. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Враг из прошлого тысячелетия

Ненужная жена

Соломахина Анна
Любовные романы:
любовно-фантастические романы
5.86
рейтинг книги
Ненужная жена

Темный Патриарх Светлого Рода 6

Лисицин Евгений
6. Темный Патриарх Светлого Рода
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода 6

Приручитель женщин-монстров. Том 4

Дорничев Дмитрий
4. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 4

Гром над Академией Часть 3

Машуков Тимур
4. Гром над миром
Фантастика:
фэнтези
5.25
рейтинг книги
Гром над Академией Часть 3

Теневой путь. Шаг в тень

Мазуров Дмитрий
1. Теневой путь
Фантастика:
фэнтези
6.71
рейтинг книги
Теневой путь. Шаг в тень

Неудержимый. Книга X

Боярский Андрей
10. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга X

Смерть может танцевать 4

Вальтер Макс
4. Безликий
Фантастика:
боевая фантастика
5.85
рейтинг книги
Смерть может танцевать 4