Свежий номер №4-5 (381-382) / …И больше века длится дрянь
 
Андрей Bat Зубков, andy_zubkov@chat.ru 08.02.2001

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

Этап первый. 1951-1985 годы

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

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

Приблизительно в 1970 году была создана саморазмножающаяся программа для одной из первых компьютерных сетей - APRAnet. Программа Creeper путешествовала по сети, обнаруживая свое появление сообщением: «I’M THE CREEPER… CATCH ME IF YOU CAN».

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

Другим примером вирусоподобных программ была довольно известная игра Animal, разработанная для Univac 1108. Суть ее состояла в том, что человек задумывал некоторое животное, и программа, задавая вопросы, пыталась определить, какое животное загадал человек. Автор предусмотрел в ней возможность саморазмножения. Когда программа угадывала неправильно, она просила пользователя предложить вопрос, который позволил бы улучшить ее способности к отгадыванию данного животного. Запомнив этот вопрос, программа не только модифицировала себя, но и пыталась переписать свою обновленную (улучшенную) копию в другой каталог. Если там уже была программа Animal, то она стиралась, в противном случае создавалась новая копия. Через некоторое время все каталоги файловой системы содержали копию Animal… Более того, если пользователь переходил с машины на машину, то он переносил и свой каталог, и в результате во всех каталогах этой ЭВМ также появлялась Animal.

В начале 80-х уже были написаны труды, посвященные проблемам вирусов, в частности, первая и весьма примечательная европейская работа «Самовоспроизводящиеся программы» Й. Крауса. Ее автор - сотрудник кафедры информатики Дортмундского университета - не только дал достаточно точное определение компьютерных вирусов, но и привел примеры их листингов.

Вскоре появился и первый бутовый вирус на Apple II. Этот вирус, названный Elk Cloner, обнаруживал свое присутствие сообщением, содержавшим даже небольшое стихотворение. Поскольку винчестеров тогда еще не было, борьба с ним состояла в использовании защитных наклеек на дискетах.

В 1982 году был проведен ряд экспериментов по созданию «червя» сотрудниками легендарного исследовательского центра фирмы Xerox. Идея авторов заключалась в том, что программа, требующая значительных вычислительных мощностей, захватывала все простаивающие, но подключенные к сети ЭВМ, с тем, чтобы, например, ночью использовать максимум ресурсов, а утром, когда пользователи начинают работать, освобождать их, сохраняя промежуточные результаты вычислений. Днем программа «перебивалась» бы одной-двумя машинами, а ночью опять захватывала все свободные вычислительные мощности. После запуска этого червя в сеть наблюдалось его неконтролируемое распространение и зависание части зараженных машин. Поскольку эксперимент проводился в локальной сети Ethernet, и некоторые комнаты с включенными машинами следующим утром оказались закрытыми, копии червя на них продолжали размножаться и заражать другие машины. К счастью, авторы предусмотрели такую возможность и послали по сети команду самоуничтожения всем копиям червяка.

В сентябре 1984 года публикуется статья Фреда Коэна, в которой автор исследует разновидность файлового вируса. Это было фактически второе «академическое» исследование проблемы вирусов. Статья содержала полезное, хотя и недостаточно строгое формальное определение вируса и ряд важных соображений о большой потенциальной опасности компьютерных вирусов и о том, что для своего размножения вирусу достаточно обычных операций, реализуемых файловой системой любой ОС. Коэн описал ряд экспериментов, проделанных на системе VAX 11/750, работающей под управлением ОС Unix. Вирус был имплантирован в начало утилиты VD, которая позволяла графически отображать структуру каталогов диска. В ходе пяти экспериментов пользователю зараженной программы в течение определенного времени (от 5 до 30 мин.) предоставлялся статус «суперюзера». Эксперимент показал достаточно высокую скорость размножения вируса (полсекунды на заражение) и большое количество зараженных файлов. По следам этой статьи в 1984 году в немецком журнале «Шпигель» появился материал под названием «Тайная инструкция», вызвавший оживленную дискуссию о целесообразности публикаций по данной тематике, в которой принял участие и сам Ф. Коэн. Скажем, Джером Лоубел, советник по безопасности компьютеров фирмы Honeywell Informations Systems, возражал против публичного обсуждения данного вопроса. В свою защиту Коэн привел следующие соображения: «Суть дела заключается в том, что если придумать что-либо в этом роде под силу мне, то это может также сделать и кто-то другой, а этот другой может оказаться скверным парнем».

Этап второй. 1986-1990 годы

Второй этап в развитии вирусов был спровоцирован быстрым ростом производства и резким снижением цен на ПЭВМ серии IBM PC и связан с достижением «критической массы» произведенных IBM-совместимых PC. Началом его следует считать 1987 год, когда одновременно в нескольких странах произошли первые эпидемии вирусов. В отличие от первого этапа, когда разработки вирусоподобных программ носили исследовательский характер и авторы выполняли эксперименты, заручившись согласием пользователей, стараясь внести вклад в системное программирование, второй этап носит характер противостояния пользователей безответственным или уголовным элементам.

К числу первых на данном этапе относят вирус Brain, разработанный братьями Алви в 1986 году. По непроверенным (и, вероятно, завышенным) данным, приведенным McAfee, он заразил только в США более 18 тыс. компьютеров. Этот бутовый вирус был создан в основном Амджатом Алви - 26-летним выпускником отделения физики Пенджабского университета, который, по его заявлению, «пытался наказать американцев, покупавших дешевые незаконные копии программ в Пакистане». Амджат утверждал, что «по пакистанским законам свободное копирование не является преступлением, и хотя он не одобряет такое положение вещей, но вынужден с ним мириться». Поэтому он не продавал зараженные вирусом незаконные копии пакистанским покупателям. Другое дело - американцы, у которых существуют законы, запрещающие пиратство. Их, по его мнению, стоило проучить. К середине 1987 года братья-робингуды сочли, что уже достаточно проучили пиратов, и прекратили распространение вируса. Однако он уже сумел распространиться по США, а оттуда попал в другие страны, в том числе и в СССР. Интересно, что вирус Brain являлся также и первым стелс-вирусом - при попытке чтения зараженного сектора он «подставлял» его незараженный оригинал.

В 1986 году Р. Бургер обнаружил, что программа может делать собственные копии путем добавления своего кода к исполняемым файлам DOS. Его первый вирус, названный VirDem, демонстрировал эту возможность и был анонсирован в декабре 1986 года на форуме компьютерного андеграунда. В том же году Ф. Коэн защитил диссертацию под названием «Компьютерные вирусы».

В 1987 году появился вирус Vienna. Р. Бургер, дизассемблировавший этот вирус и поместивший результат в свою книгу «Computer Viruses: A High Tech Desease», популяризовал идею написания вирусов, объясняя, как это делать. Вскоре после этого появляются еще несколько новых вирусов, включая такие известные, как Cascade (самошифрующийся файловый вирус), несколько модификаций вируса Surviv, заражавших СОМ- и EXE-файлы, загрузочные вирусы Yale, Stoned, PingPong.

В конце 1987 году появился первый известный сетевой вирус Cristmas Tree. В декабре вирус был запущен в сеть Bitnet в одном из университетов Западной Германии, а затем проник в сеть IBM VNet. Через четыре дня (13 декабря) вирус парализовал сеть - она была забита его копиями. При запуске вирус выводил на экран изображение рождественской елочки и рассылал свои копии всем пользователям сети.

В 1988 году появился печально знаменитый «червь Морриса» - первый вирус, получивший неслыханно широкое распространение и вызвавший колоссальные убытки. Аспирант факультета информатики Корнельского университета инфицировал с помощью написанного им вируса порядка 6000 компьютеров, подключенных к тогда еще американской национальной сети Internet. Он поражал только компьютеры типа SUN 3 и VAX, которые использовали варианты ОС Unix версии 4 BSD. И хотя никакой потери или изменения данных в результате работы вируса не произошло, тысячи машин на некоторое время были выведены из строя, а убытки от действий вируса были оценены в 96 млн. долларов!

В американской прессе широко обсуждался вопрос о том, как квалифицировать поступок Морриса: является ли он героем-хакером, который без нанесения серьезного ущерба указал на слабые места в национальной компьютерной сети, или же он преступник, который должен быть сурово наказан. Моррис был отчислен из Корнельского университета, а Министерство юстиции США довольно долго изучало вопрос о возможности привлечения Морриса к суду на основе действующего законодательства.

18 января 1990 года в городе Сиракьюс (штат Нью-Йорк) начался судебный процесс по делу Морриса. Нанесенный ущерб был оценен в 150 тыс. долл. Процесс над Моррисом стал возможен в результате принятия в 1986 году федерального закона об ответственности за преступления, связанные с компьютерами. Моррису грозил штраф в 250 тыс. долл. и тюремное заключение сроком до 5 лет. Адвокат Морриса утверждал, что тот якобы создал вирус для проведения эксперимента по проверке защиты компьютера, но при этом допустил ошибку, которая и привела к нежелательным результатам. Моррис, по словам адвоката, не стремился нанести какой-либо ущерб компьютерным системам США. 4 мая 1990 года суд присяжных признал Морриса виновным. Он был приговорен к условному заключению сроком на два года, 400 часам общественных работ и штрафу размером 10 тыс. долл. Это был первый прецедент наказания за создание и распространение вирусов.

[i38146]


Андрей Bat Зубков
andy_zubkov@chat.ru
 


<< Практическое использование XML + XSL
Все материалы номера
Что дурного в защите контента >>