Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция5 Вирусы и спам 2009.doc
Скачиваний:
34
Добавлен:
02.05.2015
Размер:
135.68 Кб
Скачать

Лекция 5. Компьютерные вирусы и спамы из истории компьютерных вирусов

Еще в 1959 году американский журнал «ScientificAmerican» опубликовал статью Л.С. Пенроуза (L.S.Penrose) о самовоспроизводящихся механизмах. На ее основеF.G.Stahlсоздал модель миниатюрной линейной Вселенной, в которой существа жили, двигались и умирали от голода. Модель была запрограммирована на машинном языке ЭВМIBM650. Пищей для этих существ служили ненулевые слова. После съедания определенного количества слов существо порождало новое. При размножении были предусмотрены возможности мутаций, в ходе которых существа могли приобретать способность пожирать себе подобных и терять возможность к размножению. Однако ограниченная память и быстродействиеIBM650 послужили препятствием для получения интересных результатов: в ходе подобного прогона один бесплодный мутант убил и съел единственного, способного к размножению.

В 1972 году М. Макилрой из AT&TBellLaboratoriesизобрел игру «Дарвин». По правилам этой игры, всякий игрок предоставлял известное количество программ, написанных на ассемблере, которые загружались в память компьютера вместе с программами других игроков. Эти программы были названы «организмами». Организмы, созданные одним игроком (т.е. принадлежащие одному «виду»), должны были «убивать» представителе другого вида и занимать «жизненное пространство». Победителем считался тот игрок, чьи организмы захватывали всю память или набирали наибольшее количество очков. Разумеется, такие программы нельзя назвать вирусами, однако и здесь просматривается определенная аналогия с простейшими биологическими существами. Кроме того, здесь демонстрируется идея борьбы программ, которая в известной мере предвосхищает ситуацию «вирус - средства защиты», имеющую место сегодня.

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

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