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

на главную - закладки

Жанры

Искусство цифровой самозащиты
Шрифт:

Роберт задумывал свое детище якобы как экспериментальный проект. Он должен был измерить тот самый интернет – об этом программист заявил позже. Оригинальный мотив в 1988 году мог быть иным. На это указывает и то, что парень тщательно пытался замести следы, отправляя червя в свободное плавание из кампуса MIT.

Код писался для запуска на компьютерах VAX компании Digital Equipment Corporation

и SUN под управлением BSD UNIX [27] . Роберт использовал несколько уязвимостей, в том числе в программах sendmail (отвечает за работу с электронной почтой) и fingerd (получение некоторых данных о пользователе). Также эксплуатировались иные дыры, позволявшие узнать пароли локального пользователя.

27

BSD (англ. Berkeley Software Distribution) – система распространения программного обеспечения в исходных кодах, созданная для обмена опытом между учебными заведениями. Особенностью пакетов ПО BSD была специальная лицензия BSD, которую кратко можно охарактеризовать так: весь исходный код – собственность BSD, все правки – собственность их авторов.

В данный момент термин BSD чаще всего употребляется как синоним BSD-UNIX – общего названия вариантов UNIX, восходящих к дистрибутивам университета Беркли.

Упрощенное генеалогическое дерево UNIX и его клонов

К семейству BSD относятся: NetBSD, FreeBSD, OpenBSD, ClosedBSD, MirBSD, DragonFly BSD, PC-BSD, GhostBSD, DesktopBSD, SunOS, TrueBSD, Frenzy, Ultrix и частично XNU (ядро macOS, IOS, tvOS, watchOS, CarPlay, Darwin).

В sendmail, например, после ряда исправлений имелся баг: в определенных условиях можно было запустить дебаг (внезапно: отправив команду debug). Тогда sendmail позволяла вместо адресов указывать дополнительные инструкции. На деле, конечно, всё не так просто, но и особых изысков Роберту придумывать не пришлось.

Парень посчитал, что админы очень скоро заметят вторжение и предпримут шаги для защиты. Например, заставят червя думать, что его копия уже установлена. 23-летний программист учел и это. Его код действительно проверял наличие копии себя на чужом компьютере, однако в 14 % случаев устанавливался, невзирая на полученный отклик. Есть фейк? Всё равно установлюсь. Есть другая копия? Да кто ж поймет, всё равно установлюсь.

Оказавшись на удаленном компьютере (первыми под удар попали знакомые ему скрытые университетские и исследовательские сети), червь сканировал окружение на наличие других компьютеров и копировался на них. Роберт не ожидал прыти, которую продемонстрировал его код. Ведь условие 14 %, как несложно догадаться, хоть и выполнялось, но было бессмысленным: программа наматывала «круги» по сети.

Серверы тем временем раз за разом выполняли бесконечные команды, подаваемые червем, полностью парализующим работу систем: программа Морриса работала исключительно в оперативной памяти. Данный факт также не позволял изучить файлы червя, которые удалялись в случае отключения.

Заново включенный в сеть компьютер опять становился жертвой, и самым эффективным способом справиться с напастью в тот момент было полное отключение компьютера от сети. Только после этого администраторы могли убрать нагрузку и «вылечить» машину. Если знали, что и где искать.

Роберт Моррис испугался того, что натворил. Как следует из отчета по итогам расследования инцидента, он предпринял попытки остановить эпидемию («рубильник», само собой, предусмотрен не был), но не слишком активные. Студент не стал во всеуслышание рассказывать о черве и информировать ответственных, однако позвонил приятелю с просьбой опубликовать анонимные извинения и руководство по «лечению».

Инженеры из Беркли активно работали над поиском и препарированием компонентов программы. Через 12 часов им удалось продумать все необходимые алгоритмы и подготовить заплатки, однако их распространению мешал… да, червь Морриса, из-за которого целые сети либо «лежали», либо были отключены от внешнего мира. Потребовалось несколько дней, чтобы успокоить бурю, поднятую начинающим

программистом.

Для понимания масштабов «шухера», который натворил червь, перечислим агентства, организации и ведомства, привлеченные к решению проблемы. Это Центр национальной компьютерной безопасности, Национальный институт науки и технологий, Агентство военной связи, DARPA, Министерство энергетики США, Лаборатория баллистических исследований, Ливерморская национальная лаборатория имени Лоуренса, ЦРУ, Калифорнийский университет в Беркли, Массачусетский технологический институт, институт SRI International и ФБР.

Считается, что червь Морриса заразил около 6 тыс. компьютеров – примерно 10 % от всех, что были подключены в то время к интернету. Ущерб в зависимости от важности владельцев компьютеров оценивали в диапазоне от $200 до $53 тыс. за систему (традиционно речь идет о «предполагаемом», то есть гипотетическом ущербе). Власти называли общую сумму ущерба в диапазоне от $100 тыс. до $10 млн, которая с годами превратилась в $95–100 млн и 60 тыс. зараженных компьютеров. Более вероятными представляются всё же первоначально озвученные цифры.

На определение авторства ушло время. Есть версия, согласно которой отец 23-летнего парня рекомендовал ему самому рассказать о себе властям. Походит на правду, учитывая пост Морриса-старшего и его непосредственную связь с правительством и нацбезопасностью.

Механизмы распространения

Все механизмы («векторы атаки») распространения червей делятся на две большие группы:

• Использование уязвимостей и ошибок администрирования в программном обеспечении, установленном на компьютере. Червь Морриса использовал известные на тот момент уязвимости в программном обеспечении – а именно в почтовом сервере sendmail, сервисе finger – и подбирал пароль по словарю. Такие черви способны распространяться автономно, выбирая и атакуя компьютеры в полностью автоматическом режиме.

• Средства так называемой социальной инженерии провоцируют запуск вредоносной программы самим пользователем. Чтобы убедить пользователя в том, что файл безопасен, могут подключаться недостатки пользовательского интерфейса программы – например, червь VBS.LoveLetter (рассмотренный выше вирус ILOVEYOU) использовал тот факт, что Outlook Express скрывает расширения файлов. Данный метод широко применяется в спам-рассылках, социальных сетях и т. д.

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

Структура

Черви могут состоять из различных частей.

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

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

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

Чудовищная алхимия. Том 2

Тролль Борис Фёдорович
2. Мир в чужом кармане
Фантастика:
юмористическое фэнтези
попаданцы
фэнтези
5.00
рейтинг книги
Чудовищная алхимия. Том 2

Камень. Книга вторая

Минин Станислав
2. Камень
Фантастика:
фэнтези
8.52
рейтинг книги
Камень. Книга вторая

Гримуар темного лорда III

Грехов Тимофей
3. Гримуар темного лорда
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Гримуар темного лорда III

Вперед в прошлое 8

Ратманов Денис
8. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 8

Ученик

Вайт Константин
2. Аннулет
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Ученик

Мастер 11

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

Княжья Русь

Мазин Александр Владимирович
6. Варяг
Приключения:
исторические приключения
9.04
рейтинг книги
Княжья Русь

Дворянская кровь

Седой Василий
1. Дворянская кровь
Фантастика:
попаданцы
альтернативная история
7.00
рейтинг книги
Дворянская кровь

Новый Рал 2

Северный Лис
2. Рал!
Фантастика:
фэнтези
7.62
рейтинг книги
Новый Рал 2

Княжна попаданка. Последняя из рода

Семина Дия
1. Княжна попаданка. Магическая управа
Фантастика:
попаданцы
альтернативная история
историческое фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Княжна попаданка. Последняя из рода

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

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

Третий Генерал: Том III

Зот Бакалавр
2. Третий Генерал
Фантастика:
попаданцы
рпг
аниме
5.00
рейтинг книги
Третий Генерал: Том III

Вечный. Книга V

Рокотов Алексей
5. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга V

Черный Маг Императора 4

Герда Александр
4. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 4