Учебник хакера

Действующие лица


Десять лет назад, 2 ноября 1988 года, приблизительно в пять часов вечера на одном из компьютеров Массачусетского Технологического института был запущен знаменитый "Червь".

Это было беспрецедентное событие, первая в истории Интернета заранее спланированная атака. С тех пор сообщения о подобных инцидентах поступают с удручающей частотой. Но история первой атаки по-прежнему интересна - и как беспрецедентное событие, и потому, что люди, в отличие от программ, изменились не сильно.

Итак, что же произошло 2 ноября 1988 года? Главные действующие лица этой истории - не только люди, но и особые программы - "Червь" и "демоны". Что вообще, такое "демон"? Что такое "вирус"? Что такое "червь"?

Пользователи, как правило, привыкли иметь дело с так называемыми интерактивными программами. Интерактивная программа - это программа, которая получает от пользователя запросы и выдает на них какие-то ответы. "Демон" же с пользователем непосредственно не общается. Дело в том, что часто бывает нежелательно, а иногда и просто невозможно физически открыть интерактивной программе доступ к той информации, которая нужна ей для работы. В этом случае используются технологии, называемые "Клиент-Сервер", Программа-клиент интерактивно общается с пользователем, программа-сервер, или "демон", общается с программой-клиентом и обрабатывает полученные от нее запросы.

Говорят, что термин "демон" (daemon) пошел от аббревиатуры Disk And Execution MONitor - Монитор Диска и Исполнения, но, откуда бы этот термин не взялся, он стал означать программу, не способную взаимодействовать с пользователем напрямую.

Собственно, именно "демоны" обслуживают сервисы Интернета. Наиболее важными действующими лицами этой истории из "демонов" являются Сендмейл (Sendmail) - почтовый демон, и фингерди (fingerd) - демон специальной услуги, называемой "фингер" - палец (finger).

Функции сендмейла заключаются в приеме электронной почты и информации о том, кто и кому ее послал.
Он же осуществляет рассылку.

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

Что такое вирус? Вирус - это программа, распространяющая себя на компьютере. Как правило, это делается путем модификации некоторых исполняемых файлов - вируc "добавляет" себя к программе.

Термин "вирус" произошел из научной фантастики, но удручающе быстро стал часто встречаться в реальности. К компьютерам этот термин был приложен впервые в 1983 году, Фредом Кохеном. По его утверждению, он написал первого вируса в процессе подготовки докторской диссертации, третьего ноября 1983 года - по иронии судьбы, почти ровно за пять лет до Червя. Впрочем, к теме данной статьи вирусы имеют лишь косвенное отношение. Тип программ, к которым принадлежал Червь Морриса, так и называется - черви.

Что такое червь? Червь - это программа, созданная для того, чтобы работать на нескольких компьютерах, копировать себя из машины в машину и там запускать. Впервые термин "Червь" был использован в 1975 году в научной фантастике. До 88-го года многие корпорации, такие, как Xerox, экспериментировали с разделяемыми задачами. К примеру, весьма известен в то время был червь, названный Вампиром. Вечером, когда люди уходили из лаборатории, он запускал процессы, требующие больших затрат ресурсов компьютера. Утром, прежде чем сотрудники возвращались, он сохранял состояние задач и освобождал компьютеры. Кстати, с одним из подобных червей была связана первая проблема, похожая на атаку "Червя". Из-за ошибки в программировании он не прекратил свою работу утром. Более того, когда машины выключали и включали снова, черви из соседних компьютеров запускали свои копии на вновь включенные, срывая таким образом работу. Однако, во-первых, эти черви не были предназначены для таких действий (это был их внештатный режим); во-вторых, все это происходило в локальной сети, в зоне ответственности одного администратора, и все было под рукой - но 2 ноября была запущена, наверное, не имевшая себе аналогов, агрессивная и живучая программа.


Содержание раздела