Великий червь

Червь Морриса

Великий червь

Материал из Lurkmore

A long time ago, in a galaxy far, far away…События и явления, описанные в этой статье, были давно, и помнит о них разве что пара-другая олдфагов. Но Анонимус не забывает!
«Три золотых правила для обеспечения компьютерной безопасности: не владейте компьютером, не включайте его и не используйте его.»
— Роберт Моррис — старший, отец героя статьи

Несбыточная мечта любого кулхацкера — чтобы исходный код твоего вируса хранили в музее под стеклом

Червь Морриса (он же Великий Червь) — икона хакеров, первый в истории случай, когда маленькая, но очень активная программка парализовала все интернеты того времени.

  • 1 Cool story
  • 2 Непредвиденные последствия
  • 3 Итоги
  • 4 См. также

[править] Cool story

1988 год. 2 ноября. США. Корнелльский университет. 22-летний аспирант Роберт Моррис — младший (его папаша был весьма уважаемым криптографом при АНБ) запускает в сеть ARPANET (прообраз интернета, изначально созданный для военных и учёных) написанного им накануне экспериментального червя.

Червь этот был устроен просто и изящно.

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

Что самое интересное, кроме этого червь не делал вообще ничего — просто распространялся по сети. И его бы, возможно, так никто и не заметил (тем более, что он успешно маскировался под приличные программы), но…

[править] Непредвиденные последствия

Бобби как бы говорит нам: «Если бы мой червь был немного вреднее, интернетов бы сегодня не было»

В качестве одной из мер самозащиты вирус время от времени должен был создавать и запускать свою копию (на тот случай, если старую прибьют или заменят на подделку). Делал он это либо по расписанию, либо когда заново попадал по кругу на уже заражённый компьютер.

Неизвестно, действительно ли Моррис установил слишком низкий период размножения по ошибке (как он утверждал), или так и было задумано, но факт остаётся фактом: в первые же часы количество копий вируса на каждой машине стало расти лавинообразно. Чем больше экземпляров вируса бродило по ARPANET — тем чаще тот размножался.

Уже к вечеру того же дня админы по всей сети начали подозревать неладное.

Подведомственные компьютеры дико тормозили (под DOS/Windows червь не работал, потому естественными причинами сие объяснить не удалось), память была переполнена, программы переставали запускаться.

Список запущенных процессов пестрел экземплярами червя. Даже живительный ресет не помогал — более того, становилось только хуже, потому что червь пугался ресета и на всякий случай плодил ещё несколько копий.

В ближайшие пару дней паника продолжилась, а наиболее вменяемые специалисты анализировали работу червя, закрывая дыры в сетевых сервисах и рассылая заплатки. Червь начинает дохнуть, но пока держится. Сам Моррис потихоньку начинает понимать, что он натворил.

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

На третий день, 5 ноября, червь активно выгоняется с оккупированной территории, а Роберт Моррис — младший во всём признаётся отцу. Тот, вероятно, втайне радуется таланту сынули, но рекомендует прийти с повинной. Сынуля покорно ковыляет в щупальца закона, и очень вовремя — ФБР уже начало понимать, кого брать на карандаш.

[править] Итоги

7247 зараженных узлов ARPANET (десятая часть всей сети). Блокировка сети как таковой за счёт переполненных сетевых каналов. Около $100 млн причинённого ущерба. Сообщения о черве в СМИ перебивали новости о победе на президентских выборах Джорджа Буша — старшего.

Первый случай обвинения в «компьютерном мошенничестве». Моррису, впрочем, повезло — по причине молодости, пониженной вредоносности червя (тот ничего не стёр, а просто забивал собой ресурсы), а также явки с повинной его осудили всего лишь на условный срок, 10k баксов и 400 часов исправительных работ.

Тот, впрочем, не постеснялся подать апелляцию, но не прокатило.

После успеха червя админы по всей территории США, сперва получив целебных, впервые всерьёз задумались о сетевой безопасности. И не зря: хакеров, желающих повторить успех Морриса, но с куда менее добрыми намерениями… ну, вы в курсе.

Сам Моррис, впрочем, с тех пор пришёл к успеху: закончил универ, получил докторскую степень, основывал и инвестировал в IT-компании, сочинил очередной диалект Лиспа и внёс поправку в десятое правило Гринспена. Ну и периодически вспоминает на конференциях о былой славе.

[править] См. также

Источник: https://lurkmore.to/%D0%A7%D0%B5%D1%80%D0%B2%D1%8C_%D0%9C%D0%BE%D1%80%D1%80%D0%B8%D1%81%D0%B0

Великий Червь

Великий червь

— А кто это, Великий Червь?
— Великий Червь делает землю. Делает мир, делает человека.

— Диалог Артёма и Дрона

Великий Червь — реальное[1], сверхразумное и всемогущее существо, по слухам не имеющее начала существования. Диаметр тела Великого червя равен диаметру туннелей метро. Великий Червь является объектом поклонения секты с «Парка Победы», в честь которого они и дали себе название.

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

Катастрофа явилась следствием того, что Великий Червь покарал людей за такую гордыню.

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

Он сказал: «Этот мир будет моим. Он сделан из твёрдого камня, но я прогрызу через него свои ходы. Он холоден, но я согрею его теплом своего тела. Он темен, но я освещу его светом моих глаз. Он мертв, но я населю его своими созданиями.

Всё будет так, как я сказал, потому что этот мир отныне мой».

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

Червь сказал: «Вот, прогрыз я сквозь твердый камень тысячи тысяч ходов, и рассыпался камень в крошку. И прошла крошка сквозь мою утробу, и пропиталась соком моей жизни, и сама стала живой. И раньше занимал камень все место в мире, а теперь появилось место пустое. Теперь есть место для моих детей, которых рожу».

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

До этого ему неведомо было чувство печали, поскольку до этого он никого никогда не любил; а теперь, создав новую жизнь, Червь сильно полюбил её.

Вторая попытка сотворения жизни Править
Великий Червь начал плакать, и слёзы его заполонили мир. Так появилась вода. И Создатель сказал: «Вот, теперь есть и место, чтобы жить в нем, и вода, чтобы пить ее. И земля, напитанная соком моей утробы, живая, и родит грибы.

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

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

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

Но продолжению планов Великого Червя не суждено было осуществиться: блохи стали пить кровь, кошки — есть крыс, крысы — грызть куриц, собаки — душить кошек, а человек убивал их всех и ел.

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

С тех пор каждый раз, когда человек ест другого человека, Великий Червь плачет; его слёзы текут по созданным им ходам, затапливая их.

Жизнь людей в отсутствии Червя Править
Великий червь наказал людям, чтобы они жили в мире с собой, в мире с землёй, в мире с жизнью и всеми тварями, и чтобы люди почитали его.

После этого Червь ушёл в самые недра Земли, пообещав, что однажды он вернётся, и наказав делать так, как если бы он был рядом. Люди поначалу выполняли волю Червя, передавая его желание своим потомкам.

Но через многие поколения люди стали постепенно отступать от воли Червя, переставать соблюдать его заветы и делать всё так, как сами хотели. Наконец, появились те, кто сказал, что Великого Червя не существует и никогда не было.

Другие ждали, что Великий Червь вернётся и накажет их: спалит их светом своих глаз, поест их тела и обвалит ходы, в которых они живут. Однако Великий червь ничего не предпринимал, а только плакал о людях. Его слёзы поднимались из глубины и подтапливали верхние ходы.

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

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

После этого создатель всё равно не поднялся из глубин, в которых обитал. Тогда люди пошли дальше — в насмешку над Червем они создали поезда, повторяющие его обличье, и зашли в нутро этих машин.

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

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

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

Так, Великий Червь покарал человека за его гордыню.

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

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

Согласно предсказанию, однажды Великий Червь призовёт на помощь реки, землю и воздух. «И просядет толща земная, и ринутся потоки бурлящие, и будет тёмное сердце врага низвергнуто в небытие.

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

М Е Т Р О 2033

Навигация по личному альбому

64/155

Источник: http://LiveAngarsk.ru/image/501951-velikii-cherv

Легенды вирусостроения: Великий Червь

Великий червь

21 год назад произошло событие навеки впечатавшее себя в историю интернета. 2 ноября 1988 года 99 строк кода вызвали двухдневный шоковый паралич еще молодого и неопытного в делах безопасности интернета.

Около 6000 VAX машин под управлением операционных систем SUN и BSD UNIX оказались зараженными невиданной доселе заразой.

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

                              

Это был Червь Морриса или в простонародье просто Великий Червь.

Из-за разрушительных последствий, которые он оказал на интернет как в плане общего простоя системы, так и психологического воздействия на представление о безопасности и надежности в сети (по аналогии с Великими Червями Толкиена).

Неожиданность атаки и некоторые встроенные в червя механизмы вводили многих админов того времени в пограничные эмоциональные состояния. Реакция размазывалась по спектру от «отключить все!» до панического «нас атакуют!»

Создатель и инициатор червя, на тот момент студент Корнельского университета, Роберт Моррис-младший (старший в это время занимался прямо противоположными вещами, он занимал должность научного руководителя NCSC (National Computer Security Center)) запустил своего монстра с компьютера MIT (prep.ai.mit.edu — машина с открытым доступом), чтобы не привлекать внимания к своему университету. Зачем он это сделал — навсегда останется загадкой. По его собственным утверждениям, это был всего лишь эксперимент, вышедший из-под контроля. Впрочем, строго говоря, Червь и не нанес никакого прямого ущерба.

Небольшой список атакованных компьютеров

   MIT, Университет штата Миннесота, Северная Каролина, Питтсбургский Университет, машины корпорации RAND, Стэнфорд, Беркли, Университет Карнеги-Меллона, Университет Мэриленда, Университет Пенсильвании, снова Массачусетский Технологический, машины Лаборатории Баллистических Исследований, Университет штата Колорадо и Университет Пурдью а также многие другие.

Векторы атаки Червя

Для распространения червь использовал несколько различных путей, сводящихся к эксплуатированию уязвимостей и простейшему подбору паролей доступа. Червь состоял из двух частей: загрузчика (99 строк на языке C) и ядра, состоявшего из двух бинарных модулей — кода скомпилированного для BSD и такого же кода только под архитектуру Sun.

Имена всех внутренних процедур имели осмысленные названия (например, doit или cracksome), что довольно сильно в дальнейшем облегчило дизассемблирование бинарников. Червь внедрял свою копию на удаленные компьютеры и запускал ее. Каждый зараженный компьютер стремился заразить и все прочие связанные с ним машины. Червь был заточен для использования в BSD UNIX и SUN-3.

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

Лавинообразно распространяясь по незащищенной сети червь множил свои копии в полном соответствии с теорией самовоспроизводящихся механизмов, основы которой заложил еще Джон фон Нейман.

Первое время никто ничего не понимал, но уже через несколько часов самые продвинутые админы начали действовать, кто как мог, кто-то отключал своих подопечных от сети и пытался их перезагружать в надежде снять перегрузку (что было совершенно напрасно, так как при перезапуске системы червь создавал еще несколько своих копий и загрузка системы только увеличивалась), кто-то бросался в панику отправляя в списки рассылки послания — «Нас атакуют!» (что тоже было напрасно, так как из-за действий червя списки не работали уже несколько часов), а кто-то искал причины мгновенного распространения червя. В Беркли уже вечером того же дня понимают, что атака ведется через rsh и sendmail. В качестве меры предосторожности, начинается блокирование сетевых сервисов. Через некоторое время, осознав масштаб возникшей проблемы Моррис сообщает своим друзьям о вышедшем из-под контроля эксперименте. Через некоторое время появился анонимный постинг в рассылку TCP-IP, вкратце описывающий, как остановить Червя. Автор постинга (Andy Sudduth) послал это сообщение после телефонного разговора с Моррисом, но, из-за перегрузки сетей и компьютеров, письмо не было отослано в течение примерно суток. В скором времени независимо друг от друга разными людьми стали обнаруживаться векторы атаки червя. Первым был выпотрошен демон sendmail. Кейт Бостик отправляет предупреждение о Черве и патчи к sendmail в список рассылки TCP-IP, новостную группу 4bsd-ucb-fixes и нескольким системным администраторам. Червь использовал функцию «debug» демона sendmail, которая устанавливала отладочный режим для текущего сеанса связи. Дополнительная возможность отладочного режима заключается в том, чтобы посылать сообщения, снабженные программой-получателем, которая запускается на удаленной машине и осуществляет прием сообщения. Эта возможность, не предусмотренная протоколом SMTP, использовалась разработчиками для отладки программы и в рабочей версии была оставлена по ошибке. Через sendmail червь заражал компьютеры двух типов — VAX и Sun, поэтому пересылались двоичные коды для каждой архитектуры, оба запускались, но исполняться мог только один. В компьютерах других архитектур программы не могли функционировать, хотя и поглощали системные ресурсы в момент компиляции.

Несколько часов спустя выяснилось, что заплатки sendmail не помогают, компьютеры заражаются каким-то другим способом. Из-за действий червя MILNET и ARPANET оказываются разъединены.

По прошествии еще нескольких часов разные люди в разных лабораториях независимо друг от друга обнаружили уязвимость и закончили патчи для демона fingerd. Фрагмент кода fingerd:

{ char buf[512]: … gets(buf);

}

Налицо классическая ситуация переполнения буфера (тогда она, видимо, еще не была классикой). Червь передавал специально подготовленную строку из 536 байт, которая вызывала в конечном итоге функцию execve («/bin/sh», 0, 0). Указанным способом атаковались только машины VAX с операционной системой 4.3 BSD, на компьютерах Sun такие атаки терпели неудачу.

https://www.youtube.com/watch?v=o1Zk8DYKprM

Но и это еще не все. В никсах как тогда, так и сейчас имеется набор сервисов для удаленного выполнения программ сегодня для подобных целей используется ssh, а тогда его место занимали так называемые r-программы.

Наиболее уязвимым местом в них была идея «доверия» — пользователи компьютеров, бывшие в списках «доверенных узлов», имели право запускать свои программы на «доверяющей» машине без какой-либо дополнительной проверки. Кроме того, отношение доверия часто было обоюдным.

Червь пытался использовать программу запуска удаленного интерпретатора rsh для атаки других машин с полученным именем и паролем текущего пользователя либо вообще без аутентификации, если атакуемая машина «доверяла» данной.

Итак, Червь проникал на соседние с зараженной машины, используя дыру в sendmail, дыру в fingerd или «доверие» и rsh. При проникновении на атакуемый компьютер забрасывался загрузчик, команда на компиляцию и выполнение загрузчика, и стирание всех временных файлов. Затем загрузчик втягивал все три файла и пытался запустить сначала одно, потом другое тело. Если ни одно из двух тел не запускалось, загрузчик просто стирал и их, и себя, и прекращал работу. Запустившись, Червь всячески маскировался — стирал свой выполняемый файл, шифровал оба тела, читал их в память, а с диска тоже стирал, и, насколько это возможно, модифицировал информацию о себе в таблице процессов. Затем, собиралась информация о сетевых интерфейсах зараженного компьютера и о соседних компьютерах, и часть соседей подвергалась попыткам заражения. Те, которых удалось заразить, помечались как зараженные; те, которые заразить не удалось — как «иммунные». Хотя здесь в коде червя специалисты склонны усматривать ошибку, так как участок кода отвечающий за предотвращение повторного заражения машин содержал много ошибок. Это имело ключевое значение для жизнестойкости червя: многие машины заражались повторно, нагрузка на системы и сеть увеличивалась и становилась весьма ощутимой, часто приводящей к отказу в обслуживании, в результате чего червь собственно и был обнаружен и обезврежен намного быстрей, чем если бы повторных заражений не было, хотя многократно зараженные машины распространяли червь быстрее, вероятно, пропорционально числу копий червь на машине, что и повлияло на молниеносность распространения, а отказы в обслуживании привели к панике и выходу из строя некоторых ключевых узлов, в результате чего сеть на время развалилась на подсети. Подбор паролей осуществлялся довольно простым, но, в то же время, эффективным способом: использовалось четыре вариации на тему login пользователя, а также, список из примерно 200-400 слов. По некоторых сведениям, на отдельных компьютерах больше половины паролей были вскрыты таким образом. Уже к вечеру 5 ноября основная масса зараженных узлов была вылечена, заплатки наложены, а в Беркли спецы вовсю препарировали бездыханную тушку Червя. К моменту, когда в ФБР поняли, кто виновен в произошедшем, Моррис уже шел сдаваться с повинной.

След в истории

Для компьютерного сообщества это был шок. Были пересмотрены фундаментальные основы компьютерной безопасности. Ущерб, принесенный Червем Морриса был оценён примерно в 100 миллионов долларов (к таким оценкам следует относиться весьма и весьма осторожно, поскольку каковы методы их оценки, какие параметры считают, а какие нет — неизвестно).

По некоторым данным, Червь это единственная в истории компьютерная программа, потеснившая на первых полосах материалы о президентских выборах в США. Многие институты и организации на несколько недель и даже месяцев отключились от Интернета. Администраторы, не представляя о реальных масштабах опасности, решили перестраховаться.

Наиболее разумной мерой противодействия взлому, спровоцированной Червем, явилось образование CERT.

P.S

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

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

Впрочем, увы, сплошь и рядом это не так и на должностях системных администраторов сидят эникейщики. Хороший администратор — всегда параноик.

В тему:

→  Исходный код Червя Морриса

→  Английская вики-статья о Черве
→  Русская вики-статья о Черве
→  Подробный разбор устройства Червя

  • security
  • червь
  • история интернета
  • 30 ноября 2017 в 19:30
  • 11 июля 2017 в 13:05
  • 20 декабря 2011 в 12:32

Источник: https://habr.com/post/74095/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.

    ×
    Рекомендуем посмотреть