Хиггинс Джек - Гарольд и Мод 
А  Б  В  Г  Д  Е  Ж  З  И  Й  К  Л  М  Н  О  П  Р  С  Т  У  Ф  Х  Ц  Ч  Ш  Щ  Э  Ю  Я  AZ

- Без Автора

Про Вирус Морриса И Пр


 

Тут выложена бесплатная электронная книга Про Вирус Морриса И Пр автора, которого зовут - Без Автора. В электроннной библиотеке forumsiti.ru можно скачать бесплатно книгу Про Вирус Морриса И Пр в форматах RTF, TXT или читать онлайн книгу - Без Автора - Про Вирус Морриса И Пр без регистрации и без СМС.

Размер архива с книгой Про Вирус Морриса И Пр = 58.31 KB

- Без Автора - Про Вирус Морриса И Пр => скачать бесплатно электронную книгу








И.Э.Моисеенков





СУЕТА ВОКРУГ РОБЕРТА
ИЛИ
МОРРИС-СЫН И ВСЕ, ВСЕ, ВСЕ...













Москва
1990 год
стр. 2







Если кому-либо, даже не связанному с удивительным миром
вычислительной техники, задать вопрос о том, какая из стран мира
достигла наибольших успехов в этой области, то в 99% вам назовут
Соединенные Штаты Америки. И это, конечно же, правда. США на
сегодняшний день остаются цитаделью компьютерного мира, его мощной
основой. Несмотря на значительные усилия других стран, большинство
приоритетов в компьютерной области принадлежит американским
корпорациям, американским университетам и вообще - чтобы не
перечислять всех других американских организаций и лиц - всему
американскому обществу - обществу, наиболее близко стоящему к тому
качественному порогу развития, за которым это общество сможет с полной
уверенностью назвать себя обществом информационным.
Однако за все в этом мире приходится платить и особенно много
платить приходится тому, кто идет первым. Поэтому США вместе с
лаврами лидера приобрели массу серьезных и сложных проблем, причем не
только научных или технических, но и социальных. За примерами ходить
далеко не надо: феномены компьютерной преступности, компьютерных
вирусов, компьютерной субкультуры хакеров, усиливающаяся зависимость
жизненно-важных государственных и общественных структур от надежности
аппаратных средств и правильной работы программ - все это реалии
сегодняшнего дня развитых в компьютерном отношении государств и прежде
всего - США. Так что лидерство какого-либо общества (или, если
хотите, государства) в какой-либо области подразумевает в немалой
степени способность этого общества быстро реагировать на неизбежно
возникающие трудности и проблемы, аналогов решения которых в мире
просто не существует.
Те, кто идет следом за лидером, учатся на его опыте, стараются
избежать его ошибок, используют успешно использованные им методы. Это
вобщем-то и понятно - рано или поздно все идущие в одном направлении
сталкиваются примерно с одними и теми же проблемами, если, конечно,
кто-либо из идущих не начинает претендовать на собственный -
"уникальный" - путь, чреватый, естественно, собственными "уникальными"
синяками и шишками. Право, имеет смысл хорошенько подумать, стоит ли
изобретать велосипед, если затем придется ездить на велосипеде соседа.
стр. 3

A Что было до этого.
"I remember the good old days, when
computers were mainframes, analysts were
magicians, and programmers punced
cards..." [A1]
Philip Fites, Peter Johnston, Martin Kratz
"Computer viruses crysis"
"Поражает равнодушие, с каким люди до
сих пор воспринимают факты атак систем
безопасности (будь то несанкционированный
доступ, использование неразрешенных
привилегий, "троянские кони", или
общеизвестные вирусы) пока относительно
безвредные, чем и оправдывают отсутствие
интереса. Я думаю, что должно случиться
нечто по последствием сравнимое с Чернобылем
или Тримайл Айлендом, чтобы проснулось
большинство нашего общества."
Петер Ньюман, дайджест RISKS_FORUM.

В принципе, к тому, что произошло в ноябре 1988 года, вела вся
история развития вычислительной техники, однако излагать ее целиком
смысла не имеет, поскольку дело это весьма долгое, хотя и очень
занимательное. Поэтому мы остановимся лишь на отдельных фактах,
имеющих непосредственное отношение к описываемым далее событиям.
Итак...
...1969 год. По инициативе Управления перспективных исследований
Министерства Обороны США - Defense Advanced Research Projects Agency;
DARPA - в США создается локальная вычислительная сеть, получившая
название Advanced Research Projects Agency NETwork - Arpanet. [A2] Эта
сеть создавалась в интересах исследователей в области вычислительной
техники и технологии для обмена сообщениями, а также программами и
массивами данных между крупнейшими исследовательскими центрами,
лабораториями, университетами, государственными организациями и
частными фирмами, выполняющими работы в интересах Министерства Обороны
США ( Department of Defence of USA; DoD).
Arpanet быстро завоевала симпатии ученых и инженеров, поскольку
трудно переоценить возможность быстрого обмена данными при ведении
совместных работ подрядчиками Пентагона, удаленными друг от друга на
весьма приличные расстояния вплоть до ситуации, когда абоненты сети
располагались в противоположных концах страны: например,
______________________________
[A1] "Я помню добрые старые времена, когда компьютеры были
большими, аналитики считались волшебниками, а программисты
перфорировали карты..."
Филипп Файтс, Петер Джонстон, Мартин Кратц
"Кризис компьютерных вирусов"
[A2] Сеть управления перспективных исследований.
стр. 4

Массачусетский технологический институт (Massachusets Institute of
Technology, или просто MIT), находящийся в Калифорнии и Корнеллский
университет, расположенный в штате Нью-Йорк (запомните эти названия!).
Быстрая и качественная связь, базирующаяся, конечно, на прекрасно
развитой сети телефонных линий связи США, весьма существенно влияла на
ход разработок, повышая их эффективность и сокращая затрачиваемое
время. Если учесть легкость доступа пользователей к сети через
относительно простую систему паролей, а также то, что работа с сетью
велась на основе понятных даже непосвященным в таинства компьютерных
систем операционных команд, станет понятной та популярность, какую
Arpanet приобрела среди ученых.
Финансирование этой сети осуществляет Пентагон, но вряд ли
следует считать Arpanet милитаристской системой типа СОИ; в конце
концов, эту сеть использовали - и используют - обычные ученые и
исследователи для обмена научной и технической информацией, конечно, в
определенной степени важной, но даже не секретной.
Однако наивно было бы предполагать, что Пентагон из-за каких-либо
соображений станет заниматься благотворительностью и за просто так
станет выкладывать отвоеванные у Конгресса денежки на финансирование
переговоров между университетами, фирмами и т.д. Военные не остались
внакладе, поскольку сеть Arpanet с помощью специальных команд могла
быть логически "разделена" на подсети. Именно таким образом в
1983 году в интересах военной связи (но для обмена несекретными
сообщениями) из состава сети Arpanet была выделена подсеть, получившая
название Military Network - "военная сеть" - Milnet.
Процесс объединения отдельных вычислительных систем в сети стал
одним из магистральных направлений развития вычислительной техники.
Помимо Arpanet в США в настоящее время работает масса других сетей:
фирмы - разработчики вычислительной техники и программных средств
имеют собственные внутренние локальные вычислительные сети;
вычислительные системы банков активно объединяются в сети -
использовать в работе вычислительную сеть стало для американцев
признаком хорошего тона. Сети стали использоваться для связи
вычислительных систем, находящихся в различных странах мира (!):
например, американская сеть Национального Научного Фонда NSFnet,
объединяет около 2000 систем по всему свету.
Набирающий силу процесс интеграции вычислительных мощностей
вполне последовательно привел к идее объединения различных сетей друг
с другом в своего рода суперсеть - такой "сетью сетей" в Америке стала
сеть Science Internet или просто Internet, ныне объединяющая 1200
сетей (!) по всей Америке и имеющая выход на европейские
вычислительные сети через систему Лондонского университета! В
совокупности под эгидой Internet работают около 500 000 вычислительных
систем. Такое трудно даже представить! Еще более сложно представить,
что все ЭТО успешно работает на благо цивилизованного человечества.
Осмысление интеграционных процессов в компьютерном мире вылилось
в создание модели "взаимодействия открытых систем" - OSI; Open Systems
Interconnection, - реализация которой позволила бы обмениваться
информацией вычислительным системам различных производителей, и,
соответственно, различной архитектуры. Модель OSI была предложена
Международной организацией стандартизации [A3] в 1970 году и
представляет собой семиуровневый набор протоколов, полностью
определяющих и стандартизующих процесс передачи данных. Концепция OSI
стр. 5

гарантирует, что локальная сеть, использующая один из стандартных
протоколов для каждого из семи уровней модели, будет работать
совместно с другими сетями данного стандарта.
Естественно, в реализации такой модели весьма заинтересованы все,
кто использует вычислительную технику - а на "диком" Западе ее
используют практически везде. Всеобщая реализация модели "открытых
систем" стало бы основой формирования информационного общества.
Модель OSI поддерживается большинством основных фирм-производителей
компьютеров и сетей, а также многими крупными потребителями сетей, в
том числе и правительством США.
В стороне от этих проблем не мог остаться и Пентагон, чутко
улавливающий тенденции в мире науки и техники благодаря своим весьма
компетентным консультантам. Прозорливость, с которой американское
военное ведомство подминает под себя перспективные разработки,
вкладывая в них немалые силы и средства, вызывает уважение. Так именно
по заказу DoD был разработан один из трех наиболее распространенных
протоколов транспортного уровня модели OSI, получивший название
TCP/IP [A4], реализованный на практике в сетях Arpanet и Internet.
Однако блестящие перспективы информационного общества несколько
поблекли в последние годы в связи с появлением компьютерных вирусов,
названных "чумой информационной эры". Поскольку интеграция
вычислительных систем повышает их уязвимость для вирусов, некоторые
эксперты считают, что "век информатики" может закончиться крахом
концепции "открытых систем".
Компьютерные вирусы - тема для отдельного очень интересного и
очень длинного разговора. Касаясь этой темы, постоянно ловишь себя на
непреодолимом желании пофилософствовать насчет влияния вирусов на
развитие вычислительных систем.
В последнее время компьютерные вирусы приобрели чрезвычайную
известность в самых различных слоях общества: специалисты серьезно
изучают эту проблему; разработчики ломают голову над созданием все
более изощренных средств защиты; программисты и администраторы систем,
жутко ругаясь, отлавливают вирусы в своих системах; большинство
пользователей находятся в состоянии благоговейного ужаса перед одним
упоминанием вирусов вслух, а вся остальная масса простых смертных,
непосвященных в таинства компьютерного мира, с полным непониманием, но
тем не менее с большим интересом типа "Ну надо же!", периодически
читают в газетах маленькие заметки о "кровожадных" компьютерных
вирусах, неизвестно откуда нападающих на ЭВМ.
Вообще феномен компьютерных вирусов стоит перед компьютерным
обществом давно, во всяком случае первое официальное сообщение об этом
явлении относится к 1978 году, хотя и эту дату нельзя считать днем
рождения проблемы.
______________________________
[A3] ISO - International Standards Organization - официально
размещается в Женеве. Представителем ISO в США является Национальный
институт стандартизации - American National Standards Institute -
ANSI.
[A4] Transmission Control Protocol/Internet Protocol - протокол
управления передачей и взаимодействия между сетями.
стр. 6

Сам термин "вирус" в отношении определенного вида компьютерных
программ впервые употребил Фред Кохен в 1984 году на конференции по
вопросам безопасности компьютерных систем в докладе о своих
исследованиях. Своим названием компьютерные вирусы обязаны
определенному сходству с вирусами естественными: способности к
саморазмножению; высокой скорости распространения; избирательности
поражаемых систем (каждый вирус поражает только определенные системы
или однородные группы систем); способности "заражать" еще незараженные
системы; трудности в борьбе с вирусами и т.д. В последнее время к
этим особенностям, характерным для вирусов компьютерных и
естественных, можно добавить еще и постоянно увеличивающуюся быстроту
появления модификаций и новых поколений вирусов. Только если в случае
вирусов естественных эту скорость можно объяснить могуществом и
изобретательностью природы, то вирусы компьютерные обязаны скоростью
возникновения новых штаммов исключительно недосмотру или бредовым
идеям людей определенного склада.
Однако серьезного отношения компьютерные вирусы потребовали к
себе относительно недавно; настолько недавно, что американский
институт стандартов до сих пор не дал четкого определения
компьютерного вируса, благодаря чему в трудах и работах
специалистов-компьютерщиков царит полнейший плюрализм в трактовке
этого термина. Лично я придерживаюсь определения, данного в книге
"Кризис компьютерных вирусов":
Компьютерный вирус - программа, производящая в вашей
компьютерной системе действия, в которых вы не нуждаетесь и о
которых не подозреваете.
Попадая тем или иным способом в компьютерную систему, вирус в
общем случае самокопируется в различные места системы, а затем - либо
одновременно с этим - производит в системе изменения, в лучшем случае
не приводящие к катастрофическим последствиям - вроде высвечивания на
экране терминала некоторого сообщения, - а в худшем делающие вашу
систему неработоспособной.
В широком потоке литературы по проблеме вирусов, хлынувшей в
последнее время на нас, приводится масса классификаций и описаний
вирусов, так что интересующихся этой проблемой всерьез я с чувством
глубокого облегчения отсылаю к специальным публикациям, большей
частью, правда, далеких от совершенства и законченности. Однако с
этого момента считаю, что имею дело с людьми, достаточно хорошо
представляющими, что такое компьютерный вирус, чтобы не примешивать к
этой проблеме какие-либо потусторонние силы. Компьютерные вирусы - в
отличие от вирусов естественных - полностью дело ума и рук
человеческих, поэтому их можно - и нужно! - изучать, анализировать и
успешно бороться с ними.
Специалисты классифицируют вирусы по самым различным признакам,
что вносит определенную неразбериху: по степени опасности
производимых вирусом действий; по способу проникновения вируса в
системы; по длине; по местам размещения вируса в системе и т.д.
стр. 7

Имея в виду последующее изложение, я остановлюсь только на одной
характеристике вирусов, позволяющей разбить все их множество на две
пока неравноценные по мощности группы - на автономности вирусов.
Большинство вирусов паразитирует на конкретных программах или
файлах - "своих" для каждого вируса, - присоединяя свое тело к телу
программы или к определенным файлам, гарантированно присутствующим в
инфицируемой системе. Аналогично, большинство вирусов имеет
собственные "излюбленные" места в инфицируемой системе, в которых
вирус размещается сразу после проникновения в систему. Знание этих
особенностей, уникальных для каждого семейства вирусов, значительно
облегчает обнаружение вирусов в системе и борьбу с ними. Собственно
это "большинство" вирусов и называется вирусами в общепринятом
понимании этого термина. Вполне понятно, что отсутствие в системе
пользователя какого-либо программного продукта на 100% гарантирует,
что система не будет поражена вирусом, паразитирующим именно на этой
программе. Хуже обстоит дело с вирусами, нацеленными на системные
программы и файлы, однако именно эта нацеленность облегчает борьбу с
заразой.
Но есть относительно небольшая - пока, и далее я объясню почему -
группа программ, которые с полной уверенностью можно отнести к вирусам
в соответствии с приведенным выше определением, отличающихся
повышенной степенью автономности в своей работе - так называемые
"черви".
Если обычный вирус активизируется при запуске пользователем
программы, на которой паразитирует вирус или при отработке системой
конкретных событий - например, прерываний, - то червь самостоятельно
управляет запуском своих копий.
Если обычный вирус размещается в более-менее определенных местах
системы, то место размещения в системе червя предсказать крайне
сложно, поскольку ему все равно, где размещаться - было бы достаточно
места.
Черви нацелены не на конкретные программы или файлы, а на системы
конкретной архитектуры. Черви гораздо опаснее вирусов именно в силу
своей автономности, т.е. независимости от наличия в поражаемых
системах некоторых уникальных условий, например, наличия определенных
файлов.
Платой за повышенную автономность является повышенная сложность
червя как программы и, как следствие, значительно больший, нежели у
обычных вирусов, размер. Обычно черви состоят из нескольких модулей -
сегментов - кода, слишком больших, чтобы быть спрятанными в файлах
операционной системы. Однако этот "маленький" недостаток с лихвой
окупается размером ущерба, который может причинить червяк, поскольку
догадаться о наличии в системе именно червя, локализовать его и
бороться с ним, по сравнению с обычными вирусами, сложнее.
Появление, развитие и быстрое распространение вычислительных
сетей вызвало к жизни подвид червей - так называемых "сетевых червей".
Сетевые черви - еще более сложное образование. Они характерны тем,
что распространяются по сети, используя для распространения сетевые
средства коммуникации - "электронные почты" всевозможных видов,
специальные сетевые утилиты и т.д - и используют атакуемые узлы в
собственных интересах (для саморазмножения и дальнейшего
распространения по сети). При этом очень быстро наступает полная
стр. 8

блокировка сети.
Первые исследования и эксперименты с сетевыми червями были
проведены на сети Ethernet в исследовательском центре фирмы Xerox в
Пало Алто. Червь в этих экспериментах существовал в виде сегментов,
выполнявшихся на разных узлах сети под управлением головного сегмента.
При этом четко проявилась опасность этого вида червей, поскольку в
процессе работы червь мог затирать своей информацией страницы памяти
инфицируемых систем, что неминуемо вело к остановке последних.
Специалисты, должно быть, уже поняли, что сетевые черви являются
побочным - и вряд ли ожидавшимся - детищем исследований в области
распределенной обработки информации.
Но отчего же все-таки проблема вирусов - в основном в плане
борьбы с ними - приобрела в последнее время такое значение? Насколько
и чем оправданы усилия нашей компьютерной братии от пользователей до
профессионалов, затрачиваемые на изучение и борьбу с компьютерной
заразой?
Причин такого положения дел достаточно много, но главных,
пожалуй, две:
- во-первых, деятельность большинства вирусов изначально
небезобидна: большинство вирусов либо сознательно рассчитано
на повреждение или искажение используемых в вычислительной
системе данных и программ (в том числе и системных), либо
допускает подобные эффекты вследствие своей работы;
- во-вторых, масштабы распространения вирусов самым
непосредственным и теснейшим образом связаны с масштабами
распространения технического чуда последнего десятилетия -
персональных компьютеров.
Немного поясню.
Первое утверждение очевидно: вряд ли кто-нибудь из нормальных
людей добровольно согласится на то, чтобы продукт его труда - иногда
весьма длительного, - был уничтожен или безнадежно испорчен буквально
в мгновение ока. Учитывая все возрастающую зависимость деловых,
финансовых, правительственных и военных кругов от предоставляемых
компьютерами услуг, становится понятным ужас и ненависть, испытываемые
этими кругами по отношению к компьютерным вирусам.
Ситуация подогревается также тем, что внедрение вирусов в системы
происходит зачастую через "дыры" в подсистемах безопасности, а это не
может не волновать разнообразные органы, которые у нас называют
компетентными. Поскольку эти органы весьма заботятся о сохранности
своей информации, они справедливо считают, что если вирус пролез в
"дыру", то почему бы в эту же "дыру" не пролезть кому-либо из племени
любопытных длинноносых варвар. Взять тот же вирус: отчего бы ему не
быть запрограммированным на то, чтобы, пробравшись незамеченным в
систему компетентного органа, разместиться в самом дальнем и укромном
уголке и, продолжая оставаться незамеченным для хозяев, не разрушать
хозяйские данные, а периодически посылать их своему разработчику.
стр. 9

Чувствуете прелесть! Само собой разумеется, насколько такая
перспектива желательна компетентным органам одной стороны, настолько
она ненавистна компетентным органам стороны другой.
Вторая причина популярности компьютерных вирусов менее очевидна,
но от этого ничуть не становится менее истинным тот факт, что
наблюдаемое в последнее годы глобальное распространение вирусов - и
сопутствующих им проблем - во многом определяется массовым выпуском и
распространением микрокомпьютеров, которые наиболее беззащитны для
вирусов в силу стандарности своей архитектуры и архитектуры
математического обеспечения.
Большие системы практически не имеют проблем с вирусами в силу
своей уникальности, обеспечиваемой тем, что, во-первых, каждая большая
система проходит стадию генерации, во время которой многочисленные
системные параметры образуют уникальное сочетание; во-вторых, большие
системы имеют хорошо развитые подсистемы разделения доступа и защиты,
что является серьезным препятствием для вирусов и позволяет легко
обнаруживать источник заражения.
Легко заметить, что микросистемы в большинстве своем лишены
уникальности. Именно стандартность является и преимуществом
микросистем, обусловившим их широкое распространение, и их проклятием,
поскольку вирус, возникший в одной системе, без труда поражает
соседнюю, так как по архитектуре обе системы похожи как две капли
воды.
Теперь понимаете какое значение для усугубления проблемы
компьютерных вирусов имело начатое в августе 1981 года фирмой IBM
серийное производство персональных компьютеров - знаменитых IBM PC!
Ведь легкость серйиного производства и относительная дешевизна
персоналок - прямое следствие их стандартности! Хотя с другой
стороны, доступность и понятность персоналок для
пользователей-непрофессионалов - тоже следствие стандартности.
Но этого мало. Непонятно почему, но люди всегда стремились
облегчить вирусам - и естественным, и компьютерным - их черное дело.
Например, обычная чума: не тем ли объясняется ее массовость и
скорость распространения, что люди издавна стремились жить как можно
ближе друг к другу, вследствие чего появлялись стоянки, поселения,
деревни, города и т.д.О СПИДе я уже не говорю: попробуйте, уговорите
людей воздержаться от общеизвестного способа его распространения!
Аналогично и с "электронной чумой", как называют вирусы.
Итак извечное стремление человеческое пообщаться с себе подобными
привело к появлению многомашинных систем - компьютерных сетей. Кроме
того, люди во многом схожи, поэтому ничего нет удивительного в том,
что в разных концах света пользователи работают с одними и теми же
удачно созданными программами и системами. Примером этому может
служить победоносное шествие по миру операционной системы UNIX (и ее
аналогов) и компиляторов языка C.
Операционная система UNIX, появившаяся на свет в 1969 году,
является детищем двух талантливых - судя по самой UNIX - программистов
К.Томпсона и Д.Ричи [A6], работавших в Bell Laboratories - филиале
всемогущей American Telephon & Telegraph (AT&T), кстати долгое время
державшей монополию на сети связи в США. UNIX замышлялась как
операционная система для внутренних нужд, которая должна была быть
достаточно проста в использовании, дружественна по отношению к
стр. 10

пользователям и как можно меньше зависящей от типа машин, на которых
она будет работать. Кроме того, UNIX разрабатывалась как
многопользовательская система и потому имела неплохую систему
разделения доступа, базирующуюся на парольной защите.
Успех системы превзошел все ожидания. UNIX мгновенно завоевала
симпатии пользователей, что позволило AT&T значительно усилить свои
позиции на рынке. UNIX для AT&T стал настоящим Клондайком,
компьютерным Эльдорадо. Быстро стали появляться усовершенствованные
версии системы: 1975 год - UNIX V6, 1976 год - UNIX V7 (первая
"базовая" версия), 1982 год - UNIX System III, 1984-85 год - UNIX
System V. Появляются аналоги UNIXа - GENIX, XENIX, Ultrics, VENIX,
PC-IX. Лавры разработчика пожинал также и калифорнийский университет
в Беркли, разработавший UNIX 4.0, 4.1, 4.2 и т.д. Ах, если бы они
знали, какую шутку уготовил им 1988 год!
Таким образом, тенденция к объединению разнотипных систем в
сочетании с появлением на рынке и широким распространением системы
UNIX и компиляторов языка C (в силу их комфортабельности для
пользователя) еще более усложнили "эпидемиологическую" обстановку в
компьютерном мире, создав буквально питательную среду для вирусов всех
мастей. Как обычно, всю опасность положения сознавала лишь
незначительная часть специалистов, во всеуслышание предупреждавших,
что пренебрежение пользователей вопросами обеспечения хотя бы
собственной безопасности даром не пройдет. Но, как известно, пока
гром не грянет...
...Да! Чуть не забыл: летом 1988 года в AT&T Bell Laboratories
работал студент последнего курса одного из американских университетов.
И занимался он не чем иным как "перепиской программ системы
безопасности для большинства компьютеров, работающих под управлением
операционной системы UNIX". В принципе ничего особенного - для
Америки и вообще цивилизованных стран - в этом не было: мало ли
студентов работают в солидных корпорациях, лабораториях и учреждениях,
приобретая практический опыт и обеспечивая себе рабочие места в этих
организациях, - если бы этот факт не был через несколько месяцев
упомянут в "Нью-Йорк Таймс" в связи с событиями, потрясшими всю
Америку (по крайней мере, ту ее часть, которая имеет отношение к
компьютерам). [A8]

______________________________
[A6] Кен Томпсон возглавлял группу разработчиков, создавших в
1969 году ассемблерный вариант UNIX. При этом преследовалась цель
создания удобной операционной обстановки для проведения
исследовательских работ в области программирования; а сама система
предназначалась для машины PDP-7 фирмы DEC - представителя семейства
машин, широко распространенных в научных и исследовательских центрах
страны, что подготовило почву для победного шествия UNIXа по Штатам.
Деннис Ричи подключился к проекту позже, однако во многом ему
обязана рождением в 1972 году коммерческая версия системы, написанная
на высокоуровневом языке C.
Кстати, язык C тоже появился в AT&T и тоже как разработка для
внутренних нужд. Ядро системы UNIX состоит примерно из 10000 строк на
C и еще 1000 строк на языке ассемблера.
стр. 11

B Как это было.
"Сейчас 3:45 AM, среда (sic) 3 ноября
1988 года. Мне все надоело, я не могу
поверить в то, что произошло..."
Из сообщения Клиффа Столла,
переданного по электронной почте
Dockmaster.ARPA.

...Гром - вирусная атака, названная компьютерными экспертами
величайшим нападением на национальные компьютеры из когда-либо
случавшихся - грянул 2 ноября 1988 года.
Абсолютно точную последовательность событий в настоящее время
восстановить практически невозможно, поскольку, во-первых, во время
самой атаки все были заинтересованы прежде всего в быстрой локализации
и удалении вируса, а никак не в подробной регистрации фактов [B1]; и,
во-вторых, потому, что вирус быстро заблокировал атакуемые
вычислительные сети, в результате чего прервалась связь между
пользователями.
Но можно попытаться представить примерную картину распространения
вируса на основании сообщений, проходивших в компьютерных сетях, не
подвергшихся нападению, и многочисленных публикаций в прессе. В
частности, представляют интерес сообщения, проходившие во время атаки
по электронным почтам VIRUS_L (далее VIR) и RISKS_FORUM (далее
RISKS) [B2].
Специалисты старшего поколения утверждают, что сообщения,
проходившие в сетях во время вирусной атаки, очень напоминают
сообщения о вражеских боевых действиях, поступавших по связи во время
Второй мировой войны. Во всяком случае, эти сообщения позволяют
ощутить полную беспомощность, царившую во время вирусной атаки в
различных узлах сети, примерно оценить возможность пользователей
понять, что же происходит и сделать выводы относительно требований к
системе оказания помощи в подобных ситуациях.
Итак, 2 ноября 1988 года, среда.
17:00 Вирус обнаружен в Корнеллском университете (Нью-Йорк).
21:00 Вирус обнаружен в системах Стэнфордского университета и фирмы
______________________________
[A8] 5.11.1988, статья Джона Маркоффа "Author of Computer 'Virus'
is son of USA Electronic Security Expert".
______________________________
[B1] Что, кстати, сильно затруднило потом работу следствия.
[B2] Полное название - "Forum on Risks to the Public in Computers
and Related States: ACM Committee and Public Policy". Организован
Петером Ньюманом.
Обзоры этих сообщений, используемых, в частности, и в настоящей
статье, были опубликованы в нескольких номерах журнала
"Computer &Security" в начале 1989 года.
стр. 12

Rand Corporation (Калифорния).
22:00 Вирусом поражена система университета в Беркли (Калифорния).
23:00 Вирус обнаружен специалистами отделения математики
Принстонского университета (Нью-Джерси).
Сначала все обнаружившие вирус подумали, что это очередной
инцидент, касающийся только их системы. Никто естественно представить
себе не мог, какие масштабы примет эпидемия через несколько часов.
Тем не менее администраторы атакованных систем послали сообщения о
происшедшем.
23:28 В электронной почте VIRUS_L прошло первое сообщение о
вирусе. Сообщается, что атакованы университеты в Дэвис и
Сан-Диего, Ливерморская лаборатория имени Лоуренса и
исследовательский центр НАСА [B3] (все в Калифорнии). Вход
вируса идентифицируется как SMTP. Атакуются все системы 4.3 BSD
и Sun 3.x. Отмечается, что вирус распространяется по каналам
TELNETD, FTPD, FINGER, RSHD и SMTP [B4].
23:45 Вирус обнаружен в исследовательской лаборатории
баллистики. [B5]
Постепенно стало проясняться, что одни и те же признаки поражения
вирусом наблюдают пользователи, находящиеся в разных концах страны.
Учитывая совпадение событий по времени, был сделан вывод, что
национальные компьютерные системы атакованы одним и тем же вирусом,
распространяющимся через сети, поскольку иным способом распространения
нельзя было объяснить скорость, с которой вирус появлялся в различных
концах США, если, конечно, не предположить, что все происходящее -
результат заранее спланированной и хорошо подготовленной акции некой
преступной группы, имеющей доступ ко всем национальным системам.
Жизнь администраторов американских систем после установления этого
факта, как говорится, переставала быть безинтересной!
Для пользователей и системных администраторов атакованных узлов
сетей поведение вируса было непостижимым. В некоторых системах в
директории /usr/tmp появлялись необычные файлы; в журнальных файлах
ряда утилит появлялись странные сообщения. Наиболее примечательным,
однако, было то, что все более и более повышалась загрузка систем,
приводившая в конце концов либо к исчерпанию свободного места,
выделенного под свопинг, либо к переполнению системной таблицы
процессов - в любом случае это означало блокировку системы.
Исходя из названия сетей, в которых вирус был обнаружен, его тут
же окрестили вирусом Milnet/Arpanet. Вскоре, однако, выяснилось, что
вирус из Arpanet благополучно перекочевал в сеть Science Internet - и
он тут же получает название "вирус Internet". Но после того, как
Корнеллский университет высказал косвенно доказанное предположение,
что вирус, вероятно, разработан в его стенах, вирус получает наконец
одно из наиболее распространившихся, благодаря стараниям прессы,
название - вирус Cornell/Arpanet. Это название вируса появилось в
двух передовых статьях и последующей серии заметок Джона Маркофа,
Лоренца М. Фишера, Мишеля Вайнеса, Джеффа Герса и Калвина Симса [B6],
опубликованных в "Нью-Йорк Таймс" с 4 по 17 ноября 1988 года.
стр. 13

Вообще для специалистов оказалось приятным сюрпризом то,
насколько подробно и грамотно пресса комментировала события. Филипп
Гарднер - полковник в отставке, специалист по безопасности компьютеров
- написал по этому поводу: "Казалось, репортеры точно знали, у кого
можно получить достоверную информацию, и, кроме того, они делали
хорошие выводы из того, что эти лица говорили. Это тем более приятно
в условиях, когда мы становимся, к несчастью, свидетелями ненормальной
тенденции к росту числа 'экспертов' в среде самих журналистов."
Наступило 3 ноября, четверг.
01:00 Сообщения о заражении 15-ти узлов сети Arpanet.
02:00 Поражена вирусом система Гарвардского университета
(Массачусетс).
03:30 Вирус обнаружен в Центре Массачусетского технологического
института (Massachusets Institute of Technologies; MIT).
03:46 В сообщении, прошедшем в электронной почте RISKS, уточняется,
что атакуются системы UNIX - 4.3 BSD - и аналогичные ей Sun,
работающие на компьютерах VAX фирмы DEC и компьютерах Sun фирмы
Sun Microsystems Inc. Сообщается также, что вирус
распространяется через дыры в системе безопасности утилиты
электронной почты Sendmail, имеющейся в составе указанных систем.
04:00 Поскольку сеть перегружена, распространение вируса
замедляется; к этому моменту заражены уже более 1000 узлов сети.
05:15 В университете Карнеги-Меллона в Питтсбурге (Пенсильвания) из
100 компьютеров, подключенных к Arpanet, вышло из строя 80.
08:00 Сообщение о вирусе из астрофизического центра Smithonian.
Впоследствии возникло несколько версий относительно того, как
именно и кем был обнаружен вирус.
Согласно первой, вирус был обнаружен в ночь со 2 на 3 ноября
1988 года одним из научных сотрудников Ливерморской лаборатории
им.Лоуренса. Обращаясь со своего домашнего терминала к вычислительной
______________________________
[B3] Соответственно, Lawrence Livermore Laboratory и NASA's Aimes
Research Center.
[B4] SMTP расшифровывается как простой протокол передачи почты -
Simple Mail Transfer Protocol; FTP - как протокол передачи файлов -
File Transfer Protocol; а TELNET является названием протокола эмуляции
терминала. Эти протоколы являются подпротоколами TCP/IP, созданными
для реализации соответствующих функций.
[B5] Army Ballistic Research Laboratory.
[B6] John Markoff, Lawrence M. Fisher, Michael Wines, Jeff Gerth,
Calvin Sims.
стр. 14

системе лаборатории, он заметил необычное повышение интенсивности ее
загрузки. Заподозрив неладное, сотрудник сообщил об этом дежурному
оператору и тот (очевидно руководствуясь инструкцией) сразу же
отключил систему от сети Science Internet, по которой распространялся
вирус.
Специалисты Ливерморской лаборатории действительно могли одними
из первых обнаружить вирус. Дело в том, что эта лаборатория,
проводившая исследования по программе СОИ и разработку новых видов
ядерного оружия, в мае 1988 года уже сталкивалась с вирусом, после
чего, по всей видимости, были приняты дополнительные меры
предосторожности и повышена бдительность.
Немедленно об инциденте было сообщено Управлению связи МО США
(Defence Communication Agency; DCA), в ведении которого находится сеть
Arpanet. В три часа ночи о вирусной атаке узнало руководство DoD.
Однако, несмотря на оперативность извещения, локализовать вирус в сети
было уже невозможно.
По второй версии извещение о появлении вируса было отправлено
неизвестным лицом по компьютерной сети вместе с инструкцией по его
уничтожению. Но сеть была перегружена и очень многие вычислительные
центры не сразу приняли сигнал. Когда же, наконец, на сообщение
обратили внимание, было уже поздно.
Согласно третьей версии первыми обнаружили неполадки в
вычислительной системе специалисты MIT. Внимание ответственного за
безопасность вычислительноо центра привлекло необычное поведение
компьютера. Машина интенсивно функционировала, хотя в данное время на
ней никто не работал, на дисплей никакие данные не выводились. Через
несколько минут вся память системы была забита, и система вышла из
строя.
Неполадки в работе систем зарегистрировали не только люди, но и
процессоры вычислительных систем. Они начали передавать в сеть
сообщения о том, что не в состоянии принимать новые данные вследствие
переполнения памяти. Благодаря этому центры некоторых
научно-исследовательских институтов вовремя отключились и сумели
избежать заражения.
Так, одно из учебных заведений шт.Нью-Джерси - Stevens Institute
of Technology, получившее предупреждение, успело изолировать свою ЭВМ
и блокировать доступ вирусу.
Вскоре выяснилось насколько серьезный удар был нанесен.
Во-первых, вирус распространялся через компьютерную сеть с
чудовищной быстротой - следствие быстродействия узловых систем и
хорошего состояния линий связи в США.
Во-вторых, в результате работы вируса блокировалась как сеть, так
и атакованные системы, останавливавшиеся вследствие переполнения
памяти и/или превышения допустимого предела загрузки. Весь ужас
заключался в том, что пока до администраторов систем доходило, что их
системы подверглись нападению, они начисто лишались возможности
что-либо предпринять, поскольку теряли доступ к перегруженной системе.
стр. 15

В-третьих, инфицировалась операционная система UNIX Berkeley 4.3
- одна из самых популярных версий UNIX, в силу наличия в ней
электронной почты и удобных отладочных средств. Это было тем более
непонятно, если учесть, что UNIX - система многопользовательская и к
тому же имеет систему защиты, основанную на идентификации каждого
пользователя с помощью паролей. С этим сталкивались впервые.
Атака шла по наиболее популярным среди пользователей страны
сетям, включая сеть Пентагона, и расчитывалась на поражение одной из
самых популярных операционных систем - каково!.
Неудивительно, что среди администраторов систем началась
настоящая паника. Многие из них не сумели или не приложили - иногда в
течение нескольких дней - должных усилий к тому, чтобы связаться с
другими пострадавшими, а попросту лишили пользователей возможности
работать с их машинами. В результате за несколько минут они лишились
не только своих машин, к которым запретили доступ, но и других машин
Internet, с которыми они не могли работать до конца восстановления.
Стало понятно, что если вирус не остановить, то последствия могут
быть самые нежелательные. По всей стране пользователи затаили
дыхание, боясь подумать, что произойдет, если вирус запрограммирован
на уничтожение или повреждение данных (а это было весьма вероятно).
Через 5 часов вирус инфицировал от 435 до 800 систем, а всего в
течение полутора-двух суток (2-3 ноября) поразил около 6000
компьютеров. Среди пострадавших - помимо уже упомянутых - оказались
системы Агентства национальной безопасности и Стратегического
авиационного командования США; лабораторий NASA (в частности Jet
Propulsion Laboratory; а в вычислительном центре NASA в Хьюстоне
компьютерный вирус чуть было не затронул систему управления запусками
кораблей многоразового использования Shuttle, но ее удалось вовремя
отключить) и Лос-Аламосской национальной лаборатории;
исследовательских центров ВМС США (Naval Research Laboratory, Naval
Ocean Systems Command) и Калифорнийского технологического института;
крупнейших университетов страны (в Висконсинском университете из 300
систем было "выбито" 200) и бесприбыльного "мозгового центра" SRI
International; а также ряда военных баз, клиник и частных компаний.
Анализ, проведенный специалистами, показал, что схема
распространения компьютерного вируса была примерно следующей: сеть
Arpanet - Milnet - Science Internet - NSF net. В результате вирус
практически вывел эти сети из строя. Минимум на два дня прекратились
все научно-исследовательские работы.
При этом, учтите, не было известно, "ушел" ли вирус через Лондон
в Западную Европу [B8]

C Как с этим боролись.
Насколько невозможно сейчас восстановить хронологию вирусной
атаки, настолько же невозможно точно установить, сколько времени
______________________________
[B8] Как сообщила впоследствии газета "Уолл-стрит джорнэл", вирус
все-таки сумел по Internet достичь Европы и Австралии, где также были
зарегистрированы случаи блокировки компьютеров.
стр. 16

потребовалось на локализацию вируса и сколько людей в этом
участвовали. Но представляется правомочным предположение, что обе эти
цифры весьма и весьма значительны. Судите сами...
...Продолжается 3 ноября.
15:00 Первые сообщения о том, что инфицированным узлам и другим
пользователям направлен антидот.
21:00 Первое интервью в MIT, посвященное вирусу.
21:20 RISKS Разослан "worm condom" - "презерватив от червя".
22:04 RISKS Разослано сообщение о способе борьбы с вирусом,
состоящем в размещении в библиотеке C внешней переменной с именем
"pleasequit", установленной в ненулевое значение.
Как только DCA узнало о вирусе, оно сразу же поставило в
известность об этом ФБР [C1], которое расценило инцидент как "дело
самого высокого приоритета" и начало расследование. Одновременно с ФБР
самостоятельные расследования начали само DCA и NCSC [C2].
Специалисты последнего центра, дезассемблировав вирус, заявили, что он
создан с большим искусством и умело использует ряд уязвимых мест сети
Arpanet.
Многие специалисты в области безопасности компьютеров отмечают
оперативность, с которой отреагировали на появление в своих системах
вируса пользователи. Уже 3 ноября практически во всех ведомствах и
учреждениях, вычислительные системы которых были поражены вирусом,
начали формироваться специальные группы для ликвидации последствий
инцидента.
После первого шока, вызванного молниеносной вирусной атакой,
специалисты стали анализировать ситуацию, в результате чего выяснились
некоторые интересные факты.
Во-первых, вирус поразил не все системы - ряд систем остались
нетронутыми в силу того, что работающие на них системные программисты
переписали программы, входящие в систему безопасности с учетом
обнаруженных недостатков в промышленных версиях этих программ [C3].
Во-вторых, вирус использовал в процессе своего распространения
подсистему отладки - родился даже термин "отладочный хук".
В-третьих, вирус, по всей видимости, был сетевым червем,
поскольку ни одна из существовавших до атаки программ не была в ходе
______________________________
[C1] Federal Bureau of Investigation; FBI.
[C2] National Computer Security Center - Национальный центр
компьютерной безопасности.
Чуть позже мы поговорим об этом центре несколько подробнее.
[C3] Иными словами, недостатки системы безопасности, позволившие
вирусу блокировать тысячи компьютеров, были известны ранее (!), но
лень или халатность разработчиков и системщиков спровоцировали
свалившуюся напасть.
Эх, знать бы, где упадешь - соломки подостлал бы!
стр. 17

атаки искажена.
Это, так сказать, косвенные догадки.
Но с самого начала мощные компьютерные центры начали
дезассемблирование вируса. Именно дезассемблирование могло дать ответ
на три главных вопроса: что это такое, чем это грозит и как с этим
бороться.
Впрочем, следственные органы интересовали и другие вопросы:
откуда именно стал распространяться вирус, какой "шутник" его запустил
и кто является автором столь "удавшейся" программы. По ряду причин
получить ответ на этот вопрос оказалось крайне непросто.
В частности, в калифорнийском университете в Беркли ранним утром
3 ноября специалистам удалось "выловить" копию вирусной программы и
приступить к ее анализу. Уже в 5 часов утра того же дня специалистами
этого университета был разработан "временный набор шагов", которые
рекомендовалось предпринять для приостановления распространения
вируса: например, рекомендовалось "залатать" предложенным образом
обнаруженные промахи в работе утилиты Sendmail.
Около 9 часов утра специалисты университета в Беркли разработали
и разослали программные "заплаты" для ВСЕХ промахов в системном
программном обеспечении, позволявших вирусу распространяться; а
специалистами другого университета - в Пурду - примерно в это же время
было разослано описание метода борьбы с программой-захватчиком, не
требующего модификации системных утилит.
Пятница, 4 ноября 1988 года.
00:27 RISKS Сообщение из университета в Пурду, содержащее довольно
полное описание вируса, хотя по-прежнему неизвестно, что именно
"вирус предполагает делать окончательно".
14:22 RISKS Краткое сообщение о дезассемблировании вируса.
Указано, что вирус содержит несколько ошибок, которые "могут
привести к неприятностям и, несомненно, непредсказуемому
поведению программы". Отмечается, что если бы "автор тестировал
программу более тщательно", он все равно не смог бы обнаружить
эти ошибки вообще или, во всяком случае, достаточно долго.
Ряд пользователей сети Arpanet, в частности MIT, где была
сформирована своя группа, приступили к срочной модификации сервисных
подпрограмм, чистке файлов данных и программного обеспечения.
В Ливерморской лаборатории, несмотря на четкие действия
специалистов, вирус удалось блокировать только через пять часов после
обнаружения [C4].
Как сообщил Джей Блумбекер, директор Национального центра
информации о компьютерной преступности (г.Лос-Анджелес), ликвидация
последствий распространения вируса стоила Лос-Аламосской Национальной
лаборатории $250000.
Исследовательскому центру NASA в г.Маунтин Вью (Калифорния)
пришлось на два дня закрыть свою сеть для восстановления нормального
обслуживания 52000 пользователей.
21:52 RISKS Сообщение группы MIT о вирусе Internet. Заявлено, что
в вирусе не обнаружено кода, предполагающего порчу файлов.
Рассказывается о работе вируса; подтверждено, что "вирус содержит
стр. 18

несколько ошибок". Отмечается, что программа предполагала
"скрытое распространение, что представляет определенный интерес".
Тот же день, газета "Нью-Йорк Таймс". В заметке Джона Маркоффа
"'Virus' in Military Computers Disrupts Systems Nationwide" дан
весьма аккуратный обзор происшедшего и сообщено, что не назвавший
себя студент позвонил в редакцию и заявил, что инцидент является
всего лишь "экспериментом, который испортился в результате
небольшой программной ошибки."
В университете штата Делавэр червь был обнаружен в большом
компьютере VAX, ласково именуемом в пределах университета Дэви
(Dewey), 3 ноября примерно в 8:15 утра. Вот как описывает борьбу с
вирусом участник событий [C5]:
"Червь поразил систему университета во вторник утром, почти
сразу же после того, как пришел на работу административный и
технический персонал. Первым делом, каким занялось большинство
администраторов, было ежедневно выполняемое ознакомление с
поступившими сообщениями электронной почты. Администраторы
обнаружили предупреждения о вирусе, информацию о странных
файлах, обнаружение которых свидетельствует о наличии одного или
нескольких червей и идеи относительно обнаружения и уничтожения
программы-червя. Администраторы быстро обнаружили работающую
оболочку UNIX, не связанную с каким-либо терминалом и, используя
команду KILL, уничтожили первый червь в Дэви.
Спустя несколько часов на терминалы администраторов стали
поступать новые сообщения и предупреждения о втором черве. В
это время Arpanet была в панике, и системные администраторы
______________________________
[C4] Вы думаете, этой многострадальной лаборатории удалось
передохнуть от вирусов? Глубоко заблуждаетесь! Открываем газету
"Правда" от 20 декабря 1988 года (N 355) и читаем:
"Предпринята еще одна попытка - вторая за последний месяц -
вывести из строя компьютерную систему Ливерморской лаборатории
радиации в Калифорнии. Восемь раз в течение недели в компьютерную
систему крупнейшей в США ядерной лаборатории проникал
сильнодействующий 'вирус' и 'забивал' все каналы информации.
Благодаря усилиям заведующего центром компьютерной безопасности
Т.Абрахамсона, который попросту не уходил домой и сутками корпел над
электронными головоломками, каждый раз удавалось 'нейтрализовать
вирус' и предотвратить опасное 'заражение памяти' ЭВМ.
Член руководства лаборатории Р.Борчерс считает, что проникнуть в
компьютерную систему мог только высококвалифицированный специалист,
обладающий секретной информацией о деталях программы, о кодах, паролях
и слабых местах 'защитного кордона' ЭВМ."
Остается только пособолезновать специалистам лаборатории и
позавидовать их квалификации и самоотверженности, проявляемой в борьбе
за живучесть своей вычислительной системы.
______________________________
[C5] Эти сведения почерпнуты из статьи Clinton E. White "Viruses
and worms: attac on campus", опубликованной в журнале
Computer & Security N 8(1989 г.).
стр. 19

советовали остановить работу утилиты Sendmail и/или
отсоединиться от сети. К счастью, администраторы продолжали
контролировать свои системы и не отсоединялись. Через некоторое
время они получили программу блокировки червя, написанную
системным программистом из университета в Пурду (Purdue). Эта
программа инициировала вызов червя и запись всех сегментов в
пустой файл, что позволило обнаружить код червя и прекратить его
распространение по системам.
По счастливому случаю оба червя UNIX были обнаружены, по
всей видимости, спустя всего лишь несколько минут после их
поступления в систему из Arpanet. Благодаря утренним сообщениям
электронной почты администраторы были в курсе событий, в
результате чего черви были зафиксированы до того, как события
приобрели драматический характер. Ущерб состоял в потере
времени системными администраторами на обнаружение червей, их
уничтожение и чистку системы от сопутствующих червям файлов
(около одного дня работы системных администраторов, что
оценивается в сумму свыше 120$)."
Думаю, всем понятно, что под именем червя UNIX здесь упоминается
описываемый вирус.
Вопрос вызовет, пожалуй, упоминание о двух червях, ведь мы-то все
время говорим об одном. На это есть две причины.
Первая - это то, что на компьютер было совершено два "нападения",
не совпадавшие по времени.
Второе - то, что, как впоследствии выяснилось, вирус использовал
для распространения два различных механизма, в результате чего
казалось, что работают два - правда очень похожих - червя. Но об этом
- несколько ниже.
Тем временем ФБР упорно делало свое дело. Ход расследования
держался в тайне, однако известно, что уже 4 ноября ФБР обратилось к
Корнеллскому университету с просьбой разрешить сотрудникам Бюро
тщательно проверить рабочие файлы всех научных работников. Все
магнитные носители в университете были арестованы, после чего
сотрудниками ФБР были тщательно просмотрены файлы подозреваемых лиц, в
результате чего был обнаружен файл, содержавший набор слов,
опробованных вирусом в качестве паролей. [C6]
Владельцем этого файла был 23-летний студент выпускного курса
Корнеллского университета Роберт Таппан Моррис.
Впрочем, в этот же день "виновник торжества" - исчезнувший ранее
из родного университета - сам явился с повинной в штаб-квартиру ФБР в
Вашингтоне.
Вот когда в ФБР и Пентагоне вздохнули с облегчением! Еще бы:
вирус оказался не творением рук неизвестных злоумышленников или -
свят-свят! - спецслужб, а всего лишь "невинной проделкой
доморощенного гения", как выразился адвокат, благоразумно приглашенный
с собой "экспериментатором".

______________________________
[C6] То, что именно эти слова были опробованы вирусом, было
установлено в результате дезассемблирования вируса.
стр. 20

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

D Что это было.
"Я не имею желания подогревать
распространяющиеся слухи, но этот вирус -
отличная штука. Если он не уничтожит нас, он
сделает нас сильнее.
Брайан Булковски, университет Браун.

Наиболее полный и детальный разбор вирусной атаки, включая
алгоритм работы червя, был сделан в двух работах: "The Internet Worm
Programm: An Analysis" CSD-TR-823 - техническом отчете Юджина
Спаффорда (Eugene H.Spafford) - и в "With Microscope and Tweezers: An
Analysis of the Internet Virus of November 1988" Марка Эйчина (Mark
W.Eichin) и Джона Рохлиса (Jon A.Rochlis). Права на обе эти работы
приобрел MIT, так что все желающие - и имеющие возможность! - могут
запросить требующуюся информацию у ее нынешнего владельца.
Могу сразу сказать, что сделать это будет не так-то просто, а
почему - вы узнаете несколько ниже.
Итак, что же представлял собой вирус Морриса [D1].
Вирус Морриса - высокосложная 60000-байтная программа,
разработанная с расчетом на поражение операционных систем
UNIX Berkeley 4.3 (или 4.3 BSD) и аналогичных ей Sun, работающих
на компьютерах фирм Sun Microsystems Inc. (Sun) и Digital
Equipment Corp. (DEC) [D2].
Вирус изначально разрабатывался как безвредный и имел целью
лишь скрытно проникнуть в вычислительные системы, связанные
сетью Arpanet, и остаться там необнаруженным.
Поскольку вирус распространялся в среде сети с
использованием соответствующих сетевых средств и полностью
обеспечивал свою работу сам, то бесспорным является утверждение,
что вирус Морриса является полноправным представителем крайне
редко встречающегося вирусного семейства сетевых червей.

______________________________
[D1] Мне кажется более правильным называть этот вирус по имени
его автора, хотя, как я уже говорил, вирус имеет массу других
названий. Однако в нашей стране, имеющей весьма отдаленное
представление об Arpanet, Milnet, Internet, Корнеллском университете и
т.д. прижилось и получило определенное распространение именно это
название - "вирус Морриса". В дальнейшем будем так называть его и мы.
стр. 21

Компьютерные эксперты, дезассемблировавшие вирус, единодушно
отметили, что программа была написана с выдающимся мастерством и
расчетом на три недостатка в системе безопасности поражаемых
операционных систем.
Вирусная программа включала компоненты, позволявшие раскрывать
пароли, существующие в инфицируемой системе, что в свою очередь
позволяло программе маскироваться под задачу легальных пользователей
системы, на самом деле занимаясь размножением и рассылкой собственных
копий. Вирус не остался скрытым и полностью безопасным, как задумывал
автор, в силу незначительных ошибок, допущенных при разработке,
которые привели к стремительному неуправляемому саморазмножению
вируса.
Теперь давайте рассмотрим вирус несколько подробнее, насколько,
конечно, позволяет имеющаяся у нас информация о нем.
Прежде всего интересен вопрос, каким образом распространялся
вирус?
Суббота, 5 ноября 1988 года.
18:31 RISKS Предупреждение против ссылок на "ошибки в операционной
системе UNIX". Указывается, что "вирус не использует каких-либо
ошибок в UNIX", ошибки содержит "программа пересылки Sendmail".
Первой лазейкой была утилита электронной почты Sendmail,
входившая в состав инфицируемых систем. Недостаток утилиты Sendmail,
позволивший Моррису обходить подсистему безопасности вычислительной
системы атакуемого узла сети, имеет, если можно так выразиться,
классический характер и относится к такому довольно часто
встречающемуся явлению в программировании как "люки".
По большому счету люк - это не описанная в документации на
программный продукт возможность работы с этим программным продуктом.
Люки чаще всего являются результатом забывчивости разработчиков: в
процессе разработки программы разработчики часто создают временные
механизмы, облегчающие ведение отладки за счет прямого доступа к
отлаживаемым частям продукта. Например, для начала работы с продуктом
требуется выполнить некоторую последовательность действий,
предусмотренных алгоритмом - ввести пароль, установить значения
некоторых переменных и т.п. При нормальной работе продукта эти
действия имеют определенный смысл, но во время отладки, когда
разработчику необходимо тестировать некоторые внутренние части
программы и волей-неволей приходится выполнять ту же операцию входа
добрый десяток - а то и более - раз на дню, безобидные в общем-то
правила, затрудняющие тем не менее доступ к отлаживаемым частям,
начинают не на шутку раздражать. Что делает программист? Правильно:
в течение получаса он программирует некоторый дополнительный механизм,
не предусмотренный изначальным алгоритмом программы, но позволяющий не
выполнять надоевших действий или выполнять их автоматически -
например, при нажатии определенной клавиши (группы клавиш) или при
вводе определенной последовательности символов. Все - люк готов!
[D2] Такая избирательность вируса послужила причиной того, что
ряд экспертов высказали мысль, что инцидент, связанный с вирусом
Морриса, вполне мог быть тщательно подготовленной акцией корпорации
IBM по подрыву позиций своих конкурентов.
стр. 22

Если сравнивать с промышленным производством, то люк - это
технологическое отверстие, не имеющее никакого отношения к основному
предназначению изготовляемого изделия, но значительно облегчающее
процесс производства.
По окончании отладки большинство люков убирается из программы; но
люди есть люди - зачастую они забывают о существовании каких-то мелких
"лючков".
Автор программы Sendmail, Эрик Олмен (Eric Allman) тоже создал в
своей программе "черный ход". [D5] Вообще программа Sendmail была
весьма сложной и могла работать в нескольких режимах, что позволяло
решать весьма сложные задачи распределенной обработки данных. Один из
режимов предполагал работу утилиты в виде демона - фонового процесса:
при этом программа постоянно опрашивала порт TCP на предмет
обнаружения попыток передачи сообщений с использованием подпротокола
SMTP. При обнаружении такой попытки демон устанавливал связь с
удаленным абонентом и принимал адрес отправителя, адрес получателя,
инструкции по обработке сообщения и собственно сообщение. Так вот,
червь в качестве инструкций обработки посылал команду DEBUG, а вместо
адреса получателя передавал набор команд. При нормальной работе
такого делать нельзя, однако такая возможность в режиме отладки
существовала, поскольку при этом можно было удостовериться в
срабатывании почты, не указывая дальнейшую программу обработки, что,
как вы понимаете, значительно облегчило Олмену отладку Sendmail.
Однако эта возможность продолжала весьма активно использоваться и
другими пользователями, поскольку этот метод позволял избежать сложной
процедуры конфигурации утилиты Sendmail для выполнения частных задач.
Теперь будет понятен первый механизм распространения вируса
Морриса: обосновавшись на инфицированном узле, вирус рассылал с
помощью Sendmail по обнаруженным в пораженной системе адресам соседних
узлов "невинное" сообщение, состоящее из 99 строк текста на языке C.
Переданное сообщение - текст программы - компилировалось на
узле-получателе и полученный модуль начинал работать, избежав
выполнения требуемой процедуры входа в систему. Работа этого модуля
заключалась в установлении контакта с сервером червя (т.е. атакующей
программой-червем, работающей на уже инфицированном узле) и
копировании с атакующего узла трех файлов: двух файлов объектного
кода (отдельно для VAX и для Sun) и файла с упоминавшимся 99-строчным
исходным текстом.
Уже упоминавшийся пользователь из университета Делавэр описал это
следующим образом:
"Червь проник через Sendmail. Предполагая получение
обычного сообщения, Дэви открыл порт электронной почты и
позволил разместиться в нем сообщению, являвшемуся на самом деле
первым сегментом червя. Этот сегмент затребовал у Дэви запуска
программы (так называемой оболочки) в отладочном режиме, как
если бы законный пользователь отлаживал обычную программу."
При этом, во-первых, копирование выполнялось только в случае
передачи серверу случайного числа, которое было ранее послано этим же
______________________________
[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.
После рассылки копий по обнаруженным адресам червь считывал
системные файлы /etc/hosts.equiv и /.rhosts с целью обнаружения так
называемых "эквивалентных" или "доверенных" узлов, а также
пользовательские файлы .forward, используемые для автоматической
рассылки сообщений "электронной почты".
Термин "доверенных" узлов связан с механизмом "доверенного
доступа". Смысл его в том, что для облегчения выполнения операций на
удаленном узле пользователь имеет возможность создать файл с
определенным именем, куда он может занести пары <имяузла/имявхода>.
При работе с удаленным узлом система проверяет наличие у пользователя
такого файла и, если работа ведется с узлом, указанным в одной из пар,
с использованием указанного в той же паре имени входа, система
автоматически разрешает доступ без запроса пароля. Именно в
отсутствии запроса пароля и заключается "доверие".
Считав указанные файлы, червь предпринимал попытку атаки "в лоб",
т.е пытался, используя механизм доверенного доступа, создать путем
вызова программы Rsh на удаленном узле работающую оболочку, маскируясь
под пользователя.
Если попытка лобовой атаки не удавалась, червь считывал в память
системный учетный файл /etc/passwd и предпринимал ряд не лишенных
остроумия попыток раскрыть пользовательские пароли.
Надо сказать, что в системе UNIX пользовательские пароли хранятся
в шифрованном виде, но в общедоступном для чтения файле, где хранится
и другая нешифрованная информация. Крупным недостатком - помимо
общедоступности учетного файла - было также то, что используемый для
шифрования паролей DES-алгоритм [D4] был значительно ослаблен за счет
использования при шифровании в качестве ключа последовательности
нулевых битов. Кроме этого, Моррис умело сыграл на человеческой
слабости многих пользователей, которые, не придавая серьезного
значения вопросам безопасности своих данных, использовали в качестве
паролей общеупотребляемые смысловые слова, что при серьезном подходе к
делу просто недопустимо.
Для начала червь пытался опробовать в качестве паролей учетные
имена пользователей. Делалось это путем шифрования учетных имен
______________________________
[D4] DES - Data Encryption Standart - стандарт шифрования данных,
определяющий алгоритм, который реализуется в виде электронных устройств и
используется для криптографической защиты данных в ЭВМ.
Описанный в стандарте алгоритм определяет операции преобразования
данных в непонятную непосредственно форму - шифрование, и наоборот -
расшифрование. Обе операции опираются на некоторое двоичное число,
называемое ключом. Ключ состоит из 64 двоичных цифр, из которых 56 битов
используются самим алгоритмом, а оставшиеся 8 битов служат для
обнаружения ошибок.
Сам алгоритм известен всем его пользователям. Уникальность
алгоритму придает использование в каждом приложении уникального ключа.

- Без Автора - Про Вирус Морриса И Пр => читать онлайн электронную книгу дальше


Было бы отлично, чтобы книга Про Вирус Морриса И Пр автора - Без Автора дала бы вам то, что вы хотите!
Если так получится, тогда можно порекомендовать эту книгу Про Вирус Морриса И Пр своим друзьям, проставив гиперссылку на данную страницу с книгой: - Без Автора - Про Вирус Морриса И Пр.
Ключевые слова страницы: Про Вирус Морриса И Пр; - Без Автора, скачать, бесплатно, читать, книга, электронная, онлайн
 Вавилон восставший