В каком году коэн ввел термин компьютерный вирус
1. Что такое "компьютерный вирус"?
А) это программы, активизация которых вызывает уничтожение программ и файлов;
Б) это совокупность программ, находящиеся на устройствах долговременной памяти;
В) это программы, которые могут "размножаться" и скрытно внедрять свои копии в файлы, загрузочные секторы дисков и документы;
Г) это программы, передающиеся по Всемирной паутине в процессе загрузки Web-страниц.
2. К каким вирусам относится "троянский конь"?
А) макро-вирусы;
Б) интернет-черви;
В) скрипт-вирусы;
Г) загрузочные вирусы.
3. Какие файлы заражают макро-вирусы?
А) исполнительные;
Б) графические и звуковые;
В) файлы документов Word и электронных таблиц Excel;
Г) html документы.
4. Компьютерная программа, в которой находится вирус называется:
А) зараженной;
Б) опасной;
В) испорченной или измененной;
Г) отформатированной.
5. Неопасные компьютерные вирусы могут привести
А) к сбоям и зависаниям при работе компьютера;
Б) к потере программ и данных;
В) к форматированию винчестера;
Г) к уменьшению свободной памяти компьютера.
6. По какому обязательному признаку название "вирус" было отнесено к компьютерным программам?
А) способность к мутации;
Б) способность к саморазмножению;
В) способность к делению;
Г) способность к изменению размеров.
7. В каком году Ф. Коэн ввел термин «компьютерный вирус»?
А) в 1952г;
Б) в 1962г.;
В) в 1981г.;
Г) в 1984г.
9. Вирусы можно классифицировать по:
А) способу заражения среды обитания
Б) среде обитания
В) воздействию
Г) по месту создания
10. Основными путями проникновения вирусов в компьютер являются:
А) гибкие диски
Б) компьютерные сети
В) больной пользователь
Г) файлы, созданные в Word, Excel
11. Основные признаки проявления вирусов:
А) частые зависания и сбои в работе компьютера
Б) уменьшение размера свободной памяти
В) значительное увеличение количества файлов
Г) медленная работа компьютера
12. Антивирусные программы - это программы для:
А) обнаружения вирусов
Б) удаления вирусов
В) размножения вирусов
Г) помещающие в карантинную зону зараженные файлы
13. К антивирусным программам можно отнести:
А) Dr. Web
Б) Windows Commander
В) Norton Antivirus
Г) AVP
14. Основные меры по защите информации от повреждения вирусами:
А) проверка дисков на вирус
Б) создавать архивные копии ценной информации
В) не пользоваться "пиратскими" сборниками программного обеспечения
Г) передавать файлы только по сети
15. Если есть признаки заражения вирусом нужно:
А) проверить диск антивирусной программой
Б) отформатировать диск
В) пригласить специалиста, чтобы изучить и обезвредить вирус
Г) скопируйте свои файлы на дискету и перейдите работать на другой компьютер
Сейчас существуют миллионы вирусов, распространяющихся через интернет всякими путями – файловые раздачи, e-mail, сайты. Когда всё связано со всем, вирусы распространяются быстро. Защита от вирусов – прибыльный бизнес.
Начиналось это довольно медленно и гораздо раньше, чем можно было предположить. Первые вирусы распространялись через оффлайн – они работали с дискетами и переносились на них между компьютерами. Кто же изобрёл вирус?
Первый вирус для Mac был написан в качестве подростковой шутки. Первый вирус для PC был сделан для борьбы с пиратством.
Elk Cloner
В 1981 году Ричард Скрента был в 9 классе. Он был очень умным хулиганом, вооружённым компьютером Apple II. Больше всего он любил издеваться над сверстниками по поводу их пиратских компьютерных игр. В 2000 году в интервью он сказал:
Я шутил над сверстниками, меняя копии пиратских игр, чтобы они самоуничтожались через определённое количество запусков. Я раздавал игры, на них подсаживались, а затем она вдруг переставала работать и выдавала какой-нибудь смешной комментарий на экран (чувство юмора девятиклассника).
В итоге друзья перестали подпускать Скренту к своим дискетам. Ему перестали одалживать игры, все перестали играть в его игрушки, и т.п. Но он не угомонился. Он начал штудировать инструкции и описания, пытаясь отыскать дыру в безопасности Apple II. И он придумал способ выполнять код, не притрагиваясь к дискетам.
«Я придумал оставлять определённый след в ОС на работающем школьном компьютере. Если следующий пользователь не перезагружал комп со своего диска, его диск подвергался воздействию моего кода».
Написал он код на ассемблере за две недели, и назвал его Elk Cloner. Он стал тем, что впоследствии назвали «вирусом для загрузочного сектора». Когда неинфицированный диск вставляли в дисковод инфицированного компьютера, тот заражал диск, записывая на него копию вируса в загрузочный сектор. Этот код автоматически выполнялся при загрузке. Принося заражённый диск на другой компьютер, и загружаясь с него, человек заражал и этот компьютер копией вируса.
Вирус немного мешал работе компьютера, а на 50-й запуск вместо запуска программы выводил целую поэму на экран:
Elk Cloner: программа, обладающая личностью
Пролезет на ваши диски
Проникнет на ваши чипы
Да, это Клонер!
Прилипнет, словно клей
Оперативку вашу подправит
Пришлите Клонера скорей.
Из-за отсрочки появления программу сразу нельзя было заметить, что улучшало шансы на распространение. Эпидемия продолжалась несколько недель.
Программа добралась и до компьютера учителя Скренты, обвинившего его в проникновении к нему в кабинет. Вирус подхватили и родственники Скренты из Балтимора (сам он жил в Питсбурге), а через много лет он услышал про случай заражения компьютера, принадлежавшего какому-то моряку.
Brain
Первым распространившимся вирусом для IBM PC стал вирус Brain. Он тоже селился в загрузочном секторе. Он был написан братьями Базитом и Амжадом Фарук Альви из Пакистана в 1986 году. Им было 17 и 24 года.
В заголовке были указаны реальные контакты. Когда кто-либо звонил им за помощью, они могли идентифицировать пиратскую копию. Также вирус подсчитывал количество сделанных копий.
Они обнаружили, что пиратство было широко распространено, и копии их программ распространялись очень далеко. Амжад говорит, что первый их звонок поступил из США, Майами.
Братья Альви в 2011 году
Это был первый из множества звонков из США. Проблема оказалась в том, что Brain распространялся и по другим дискетам, а не только по копиям их программы. В Университете Делавера даже случилась эпидемия этого вируса в 1986 году, а затем он появлялся и во многих других местах. Исков подано не было, но в газетах про это писали много. Создателей даже упоминали в журнале Time Magazine в 1988.
New York Times писала в мае 1988: «Дерзкая компьютерная программа, которая в этом месяце появилась на компьютерах Бюллетеня Провиденса, уничтожила файлы одного корреспондента и распространилась через дискеты по всей сети газеты. Компьютерщики считают, что это первый случай заражения компьютерной ситемы американской газеты такой дерзкой программой, которую называют компьютерным „вирусом“.
Братьям Альви пришлось сменить телефоны и убрать контакты из поздних версий вируса. Продажи программы они прекратили в 1987 году. Их компания выросла в телекоммуникационного провайдера и сейчас это – крупнейший провайдер в Пакистане. Расположена она всё по тому же адресу.
А теперь – Chaos
Скрента в 2012 году
Скрента работал в области информационной безопасности, а сейчас он CEO компании Blekko, которая занимается поисковыми технологиями.
Хотя дискет уже давно нет, вирусы в загрузочных секторах существуют. Теперь они работают с USB-флешками. Поскольку физические носители всё меньше используются для переноса данных, специалисты уверены, что дни загрузочных вирусов сочтены.
Война с вирусами переместилась в онлайн. Скрента сказал в интервью The Register: „Грустно, что существует такая большая индустрия антивирусов. Надо делать более защищённые системы, а не организовывать многомиллионную индустрию, чтобы подчищать существующие“.
Скрента и братья Альви не чувствуют вины за то, что начали адское шествие вредоносных программ по миру. „Джин в любом случае выбрался бы из бутылки, — написал Скрента в блоге,– мне было интересно быть первым, кто его выпустил“.
В первом, втором и третьем выпусках блога мы рассказали о том, как автопрограммируемость — врожденная черта фон-неймановских компьютеров — привела к появлению в них вирусов. Темой четвертого выпуска был основополагающий метод антивирусной защиты — многоуровневое фиксирование программ на основе разделения программ и данных. Этот метод считается наиболее надежным из всех существующих. Была показана его взаимосвязь с другими основными методами.
В этой статье мы рассмотрим три разных определения понятия «компьютерный вирус». Первые два сформулированы Фредериком Коэном и Леонардом Адлеманом в фундаментальных работах 1984-1992 годов и считаются классическими в современной компьютерной науке. К сожалению, из них автоматически следует, что задача распознавания произвольного вируса неразрешима. Что и доказали эти ученые в тех же работах, где привели свои определения.
Поэтому третье определение мы специально сформулируем таким образом, чтобы оно делало ту же самую задачу полностью разрешимой. Для этого мы откажемся от нескольких плохо формализуемых понятий, которые лежат в основе классических определений, и отнесем к вирусам более широкий круг информационных объектов. Такой подход — решение сложной задачи с помощью замены категорий, в которых она формулируется — часто бывает удобен и полезен в практической работе специалиста по информационной безопасности.
Проблема компьютерных вирусов отчетливо проявилась примерно через 35 лет после появления концепции «stored program computer». Первые авторы и исследователи вирусов оказались под сильным впечатлением от невиданного ранее феномена саморепликации (в биологическом смысле термина) рукотворных объектов. Позже специалисты осознали, что это феномен не столько самих этих объектов, сколько исполняющей среды — даже такой относительно простой, как машина Тьюринга или фон-неймановская машина с типичной операционной системой, не говоря уже о более сложных архитектурах и сетевых средах. Стало ясно, что массовая репликация объектов не является специфическим свойством какого-то одного класса программ, а вполне типична для всех уровней сложной автопрограммируемой системы. Например, массово реплицируются блоки кода в парадигме ООП или программы-приложения, загружаемые пользователями с центрального сервера. Но несмотря на обнаружение стратегической роли среды, репликация до сих пор ассоциируется у большинства людей именно с вирусами — и лежит в основе их классических определений.
Определение вируса по Коэну
Фред Коэн, аспирант Университета Южной Калифорнии, заинтересовался проблемой компьютерных вирусов в начале 1980-х. В 1984 году при поддержке своего научного руководителя Леонарда Адлемана он написал первую статью на эту тему, где привел весьма далекую от совершенства формулировку: «We define a computer ‘virus’ as a program that can ‘infect’ other programs by modifying them to include a possibly evolved copy of itself». Сначала все казалось просто, но при дальнейшей разработке темы Коэн обнаружил ее чрезвычайную сложность и ключевое значение среды — как для процесса репликации, так и для принятия решения о том, является ли произвольный изучаемый информационный объект вирусом.
В своей книге 1985 года и диссертации 1986 года Коэн дал уже строгое определение вируса, в котором сконцентрировался на его единственном свойстве — рекурсивной репликации. Определение было дано только для абстрактной модели, основанной на машине Тьюринга (заметим, что реальный компьютер обычно имеет меньшую предсказуемость, чем его идеальная модель). Никакие другие свойства, кроме рекурсивной репликации, в модели Коэна не рассматриваются. То есть это хорошая модель частного случая рекурсивно воспроизводимых алгоритмов, но плохая модель реальных компьютерных вирусов — особенно с учетом наблюдаемого многообразия их типов и необязательности строгой рекурсии для распространения.
Но модель вируса по Коэну стала классической, потому что оказалась простой, наглядной и учитывающей роль исполняющей среды, что необходимо для понимания сути проблемы. В этой модели, чтобы определить, является ли вирусом изучаемый информационный объект (конечная последовательность символов, программа, код), его надо рассматривать исключительно в контексте машины-среды, в паре с ней и во взаимодействии с ней — на столько тактов вперед, сколько займет исполнение кода машиной. Вирус был определен как код, исполнение которого приведет к записи копии этого кода на ленту машины Тьюринга впереди по ходу исполнения, т.е. в будущем.
Но для машины Тьюринга (как доказал в 1936 году ее автор) невозможно предсказать будущее. Для произвольного кода непредсказуем результат его выполнения, т.е. последовательность состояний машинной ленты (памяти) на неограниченное число тактов вперед. Единственный способ выяснить, чем закончится выполнение этого кода — проверить на практике. Иными словами, чтобы выяснить, является ли изучаемый код вирусом, его надо запустить и посмотреть, что будет. С учетом неизвестности результата, в реальной системе это небезопасно. Кроме того, время ожидания выполнения кода может оказаться сколь угодно большим (бесконечным). А без информации о том, к чему приведет запуск кода, нельзя судить о том, является ли он вирусом.
Обратите внимание, что анализ кода без его запуска невозможен даже с самой удобной позиции — внешнего наблюдателя, не ограниченного в средствах для изучения машины и кода, которые находятся в исходных статичных состояниях. Тем более не может быть и речи об анализе кода без его запуска средствами самой машины, как и об анализе кода в процессе исполнения машиной другого кода.
Кроме неутешительного вывода о невозможности надежного распознавания вирусов в своей модели, Коэн доказал следующее:
a) к произвольному коду всегда можно подобрать такую машину, которая интерпретирует его как вирус; например, для какой-то машины вирусом будет код из одного байта — 42;
b) некоторые машины любой код интерпретируют как вирус;
c) некоторые машины никакой код не интерпретируют как вирус.
Впоследствии Коэн не раз возвращался к этой теме. Так, в 1992 году он опубликовал статью, где приводилось строгое определение понятия «компьютерный червь» (частный случай вируса для некоторых сред, в частности — мультипроцессорных). В статье подтверждался прежний вывод: распознавание вирусов и подобных им объектов в общем случае невозможно.
Червь Морриса
В 1988 году Робертом Моррисом-младшим был создан первый массовый сетевой червь. 60 000-байтная программа разрабатывалась с расчётом на поражение операционных систем UNIX Berkeley 4.3. Вирус изначально разрабатывался как безвредный и имел целью лишь скрытно проникнуть в вычислительные системы, связанные сетью ARPANET, и остаться там необнаруженным. Вирусная программа включала компоненты, позволяющие раскрывать пароли, имеющиеся в инфицированной системе, что, в свою очередь, позволяло программе маскироваться под задачу легальных пользователей системы, на самом деле занимаясь размножением и рассылкой копий. Вирус не остался скрытым и полностью безопасным, как задумывал автор, в силу незначительных ошибок, допущенных при разработке, которые привели к стремительному неуправляемому саморазмножению вируса.
По самым скромным оценкам инцидент с червём Морриса стоил свыше 8 миллионов часов потери доступа и свыше миллиона часов прямых потерь на восстановление работоспособности систем. Общая стоимость этих затрат оценивается в 96 миллионов долларов (в эту сумму, также, не совсем обосновано, включены затраты по доработке операционной системы). Ущерб был бы гораздо больше, если бы вирус изначально создавался с разрушительными целями.
Червь Морриса поразил свыше 6200 компьютеров. В результате вирусной атаки большинство сетей вышло из строя на срок до пяти суток. Компьютеры, выполнявшие коммутационные функции, работавшие в качестве файл-серверов или выполнявшие другие функции обеспечения работы сети, также вышли из строя.
4 мая 1990 года суд присяжных признал Морриса виновным. Он был приговорён к условному заключению сроком на два года, 400 часам общественных работ и штрафу размером 10 тыс. долларов.
MenuetOS
Первый вирус для MenuetOS был написан в 2004 году членом группы вирмейкеров RRLF, известным как Second Part To Hell. [18]
Первые вирусы для AROS написаны в 2007 участником группы Doomriderz, известным, как Wargamer.
Brain и другие
Первая эпидемия 1987 года была вызвана вирусом Brain (также известен как Пакистанский вирус), который был разработан братьями Амджатом и Базитом Алви (Amdjat и Basit Faroog Alvi) в 1986 и был обнаружен летом 1987. По данным McAfee, вирус заразил только в США более 18 тысяч компьютеров. Программа должна была наказать местных пиратов, ворующих программное обеспечение у их фирмы. В программке значились имена, адрес и телефоны братьев. Однако неожиданно для всех The Brain вышел за границы Пакистана и заразил сотни компьютеров по всему миру. Вирус Brain являлся также и первым стелс-вирусом — при попытке чтения заражённого сектора он «подставлял» его незаражённый оригинал.
Вторая эпидемия, берущая начало в Лехайском университете (США), разразилась в ноябре. В течение нескольких дней этот вирус уничтожил содержимое нескольких сот дискет из библиотеки вычислительного центра университета и личных дискет студентов. За время эпидемии вирусом было заражено около четырёх тысяч компьютеров.
Последняя вирусная эпидемия разразилась перед самым Новым годом, 30 декабря. Её вызвал вирус, обнаруженный в Иерусалимском Университете (Израиль). Хотя существенного вреда этот вирус не принёс, он быстро распространился по всему миру.
Первые вирусы
Появление первых компьютерных вирусов зачастую ошибочно относят к 1970-м и даже 1960-м годам. Обычно упоминаются как «вирусы» такие программы, как Animal, Creeper, Cookie Monster и Xerox worm.
Первыми известными вирусами являются Virus 1,2,3 и Elk Cloner для ПК Apple II. Оба вируса очень схожи по функциональности и появились независимо друг от друга с небольшим промежутком во времени в 1981 году.
С появлением первых персональных компьютеров Apple в 1977 году и развитием сетевой инфраструктуры начинается новая эпоха истории вирусов. Появились первые программы-вандалы, которые под видом полезных программ выкладывались на BBS, однако после запуска уничтожали данные пользователей. В это же время появляются троянские программы-вандалы, проявляющие свою деструктивную сущность лишь через некоторое время или при определённых условиях.
DATACRIME и AIDS
В 1989 году широкое распространение получили вирусы DATACRIME, которые начиная с 12 октября разрушали файловую систему, а до этой даты просто размножались. Эта серия компьютерных вирусов начала распространяться в Нидерландах, США и Японии в начале 1989 года и к сентябрю поразила около 100 тысяч ПЭВМ только в Нидерландах (что составило около 10 % от их общего количества в стране). Даже фирма IBM отреагировала на эту угрозу, выпустив свой детектор VIRSCAN, позволяющий искать характерные для того или иного вируса строки (сигнатуры) в файловой системе. Набор сигнатур мог дополняться и изменяться пользователем.
В 1989 году появился первый «троянский конь» AIDS. [8] Вирус делал недоступными всю информацию на жёстком диске и высвечивал на экране лишь одну надпись: «Пришлите чек на $189 на такой-то адрес». Автор программы был арестован в момент обналичивания чека и осуждён за вымогательство.
Также был создан первый вирус, противодействующий антивирусному программному обеспечению — The Dark Avenger. Он заражал новые файлы, пока антивирусная программа проверяла жёсткий диск компьютера.
ELK CLONER
Глобализация проблемы вирусов
Начиная с 1990 года проблема вирусов начинает принимать глобальный размах.
В начале года выходит первый полиморфный вирус — Chameleon. Данная технология была быстро взята на вооружение и в сочетании со стелс-технологии (Stealth) и бронированием (Armored) позволила новым вирусам успешно противостоять существующим антивирусным пакетам. Во второй половине 1990 года появились два стелс-вируса — Frodo и Whale. Оба вируса использовали крайне сложные стелс-алгоритмы, а 9-килобайтный Whale к тому же применял несколько уровней шифровки и антиотладочных приёмов.
В Болгарии открывается первая в мире специализированная BBS, с которой каждый желающий может скачать свежий вирус. Начинают открываться конференции Usenet по вопросам написания вирусов. В этом же году выходит «Маленькая чёрная книжка о компьютерных вирусах» Марка Людвига.
На проблему противостояния вирусам были вынуждены обратить внимание крупные компании — выходит Symantec Norton Antivirus.
Начало 1991 года отмечено массовой эпидемией полиморфного загрузочного вируса Tequila. Летом 1991 появился первый link-вирус, который сразу же вызвал эпидемию.
1992 год известен как год появления первых конструкторов вирусов для PC — VCL (для Amiga конструкторы существовали и ранее), а также готовых полиморфных модулей (MtE, DAME и TPE) и модулей шифрования. Начиная с этого момента, каждый программист мог легко добавить функции шифрования к своему вирусу. Кроме того, в конце 1992 появился первый вирус для Windows 3.1 — WinVer.
В 1993 году появляется всё больше вирусов, использующих необычные способы заражения файлов, проникновения в систему и т. д. Основными примерами являются: PMBS, работающий в защищённом режиме процессора Intel 80386. Shadowgard и Carbuncle, значительно расширившие диапазон алгоритмов компаньон-вирусов. Cruncher — использование принципиально новых приёмов сокрытия своего кода в заражённых файлах.
Выходят новые версии вирусных генераторов, а также появляются новые (PC-MPC и G2). Счёт известных вирусов уже идёт на тысячи. Антивирусные компании разрабатывают ряд эффективных алгоритмов для борьбы с полиморфными вирусами, однако сталкиваются с проблемой ложных срабатываний.
В начале 1994 года в Великобритании появились два крайне сложных полиморфик-вируса — SMEG.Pathogen и SMEG.Queeg. Автор вирусов помещал заражённые файлы на станции BBS, что явилось причиной настоящей эпидемии и паники в средствах массовой информации. Автор вируса был арестован. В январе 1994 года появился Shifter — первый вирус, заражающий объектные модули (OBJ-файлы). Весной 1994 был обнаружено SrcVir, семейство вирусов, заражающих исходные тексты программ (C и Pascal). В июне 1994 года началась эпидемия OneHalf.
Первый резидентный антивирус
В начале 1985 года Ги Вонг (англ. Gee Wong ) написал программу DPROTECT — резидентную программу, перехватывающую попытки записи на дискеты и винчестер. Она блокировала все операции (запись, форматирование), выполняемые через BIOS. В случае выявления такой операции программа требовала рестарта системы.
Windows
В 1995 году официально вышла новая версия Windows — Windows 95. На пресс-конференции, посвящённой её выходу, Билл Гейтс заявил, что с вирусной угрозой теперь покончено. Действительно, на момент выхода Windows была весьма устойчива к имеющимся вирусам для MS-DOS. Однако уже в августе появляется первый вирус для Microsoft Word (Concept), который за несколько недель распространился по всему миру.
В 1996 году появился первый вирус для Windows 95 — Win95.Boza. В марте 1996 года на свободу вырвался Win.Tentacle, заражающий компьютеры под управлением Windows 3.1. Эта была первая эпидемия, вызванная вирусом для Windows. Июль 1996 отмечен распространением Laroux — первого вируса для Microsoft Excel. В декабре 1996 появился Win95.Punch — первый резидентный вирус для Win95. Он загружается в систему как VxD-драйвер, перехватывает обращения к файлам и заражает их.
В феврале 1997 года отмечены первые макровирусы для Office97. Первые из них оказались всего лишь «отконвертированными» в новый формат макровирусами для Word 6/7, однако практически сразу появились вирусы, ориентированные только на документы Office97. Март 1997: ShareFun — макровирус, поражающий MS Word 6/7. Для своего размножения использует не только стандартные возможности MS Word, но также рассылает свои копии по электронной почте MS-Mail. Он по праву считается первым mail-червём. В июне появляется и первый самошифрующийся вирус для Windows 95.
В апреле 1997 года появляется и первый сетевой червь, использующий для своего распространения File Transfer Protocol (ftp). Так же в декабре 1997: появилась новая форма сетевых вирусов — черви mIRC.
Начало 1998 года отмечено эпидемией целого семейства вирусов Win32.HLLP.DeTroie, не только заражавших выполняемые файлы Win32, но и способных передать своему «хозяину» информацию о заражённом компьютере.
Февраль 1998: обнаружен ещё один тип вируса, заражающий формулы в таблицах Excel — Excel4.Paix. В марте 1998 года появился и AccessiV — первый вирус для Microsoft Access, также в марте был обнаружен и Cross — первый вирус, заражающий два различных приложения MS Office: Access и Word. Следом за ним появились ещё несколько макровирусов, переносящих свой код из одного Office-приложения в другое.
В феврале-марте 1998 отмечены первые инциденты с Win95.HPS и Win95.Marburg, первыми полиморфными Win32-вирусами. В мае 1998 началась эпидемия RedTeam, который заражал EXE-файлы Windows, и рассылал заражённые файлы при помощи электронной почты Eudora.
В июне началась эпидемия вируса Win95.CIH (из-за даты активации 26 апреля также известного как «Чернобыль»), ставшая самой разрушительной за все предшествующие годы. Вирус уничтожал информацию на дисках и перезаписывал Flash Bios, что вызвало физические неисправности у сотен тысяч компьютеров по всему миру.
В августе 1998 появилась широко известная утилита BackOrifice (Backdoor.BO), применяемая для скрытого администрирования удалённых компьютеров и сетей. Следом за BackOrifice были написаны несколько других аналогичных программ: NetBus, Phase и прочие.
Также в августе был отмечен первый вирус, заражающий выполняемые модули Java — Java.StangeBrew. Этот вирус не представлял какой-либо опасности для пользователей Интернет, поскольку на удалённом компьютере невозможно использовать необходимые для его размножения функции. Вслед за ним в ноябре 1998 появился и VBScript.Rabbi. Интернет-экспансия скриптовых вирусов продолжилась тремя вирусами, заражающими скрипты VisualBasic (VBS-файлы), которые активно применяются при написании Web-страниц. Как логическое следствие VBScript-вирусов стало появление полноценного HTML-вируса (HTML.Internal).
1999 год прошёл под знаком гибридного вируса Melissa, побившего все существовавшие на тот момент рекорды по скорости распространения. Melissa сочетал в себе возможности макровируса и сетевого червя, используя для размножения адресную книгу Outlook.
Правоохранительные органы США нашли и арестовали автора Melissa. Им оказался 31-летний программист из Нью-Джерси, Дэвид Л. Смит. Вскоре после ареста Смит начал плодотворное сотрудничество с ФБР и, учтя это, федеральный суд приговорил его к необычно мягкому наказанию: 20 месяцам тюремного заключения и штрафу в размере 5 000 долл. США.
В апреле был найден и автор вируса CIH (он же «Чернобыль»), которым оказался студент Тайваньского технологического института Чень Инхао ( 陳盈豪 , CIH — его инициалы). Однако, из-за отсутствия жалоб на действия вируса со стороны местных компаний, у полиции не было оснований для его ареста.
Также в 1999 году был отмечен первый macro-вирус для Corel — Gala. в начале лета 1999 грянула эпидемия Интернет-червя ZippedFiles. Этот червь интересен тем, что являлся первым упакованным вирусом, получившим широкое распространение в «диком» виде.
2003-2012 эпидемия вируса Win32.Sality (авторское название КуКу). Данный полиморфный вирус состоит из нескольких частей, использует систему шифрования и маскировки. Изменяет содержимое исполняемых файлов, что делает невозможным их полное восстановление. В связи со сложным поведением и средствами маскировки, лечение данного вируса представляет собой невыполнимую задачу для обычного пользователя. Зараженный компьютер становится частью cети Sality, являющейся одной из самых крупных ботнет сетей в мире.
В июне 1996 года появился OS2.AEP — первый вирус для OS/2, корректно заражающий EXE-файлы этой операционной системы. До этого в OS/2 встречались только компаньон-вирусы. [9]
Unix-подобные
Вероятно, первые вирусы для семейства ОС Unix были написаны Фредом Коэном в ходе проведения экспериментов. В конце 1980-х появились первые публикации с исходными текстами вирусов на языке sh. [10] [11]
Операционная система GNU/Linux, как и UNIX и другие Unix-подобные операционные системы, вообще расцениваются как защищённые против компьютерных вирусов. Однако, вирусы могут потенциально повредить незащищённые системы на Linux и воздействовать на них, и даже, возможно, распространяться к другим системам. Число вредоносных программ, включая вирусы, трояны, и прочие вредоносные программы, определённо написанных под Linux, выросло в последние годы и более чем удвоилось в течение 2005 от 422 до 863. [14] Имелись редкие случаи обнаружения вредоносных программ в официальных сетевых репозиториях. [15] [16] [17]
Определение вируса по Адлеману
Тема компьютерных вирусов никогда не была главной для Леонарда Адлемана (соавтора технологии шифрования с открытым ключом и лауреата премии Тьюринга 2002 года), уделяющего значительно больше внимания другим проблемам информационных технологий, математики и молекулярной биологии. Но в результате совместной работы с Коэном он счел необходимым несколько позже, в 1990 году, написать и опубликовать работу «An Abstract Theory of Computer Viruses». Модель Адлемана сильно отличается от модели Коэна. Но и для этой модели делается доказательный вывод о невозможности решения задачи распознавания произвольного вируса.
Адлеман, как профессиональный математик, дал определение вируса в категориях и терминах рекурсивных функций. Для определения было привлечено новое понятие — исходной, эталонной, еще не зараженной этим вирусом программы. Вирус был определен как рекурсивная функция, соответствующая некоторым описанным критериям и выполняющая отображение («map») эталонной программы на другую, считающуюся зараженной. В качестве действий зараженной программы Адлеман назвал «повреждение» (информации, к которой эта программа имеет доступ), «заражение» (других информационных объектов) и «имитацию» (нормального поведения исходной, незараженной программы). Как и в работах Коэна, вирус рассматривается во взаимосвязи со средой (одна функция — во взаимодействии с другой). Рекурсивная репликация осталась определяющим критерием вируса, а другим определяющим критерием стала вредоносность (формализацию которой в модели Адлемана понять и использовать в качестве практически применимого алгоритма, кстати, довольно трудно).
В 2005 году китайские исследователи Zhihong Zuo, Mingtian Zhou и Qing-xin Zhu опубликовали работу «On the Time Complexity of Computer Viruses», расширяющую модель Адлемана на сложные типы вирусов, в частности — на полиморфные вирусы. Это потребовало значительного усложнения модели, но не изменило ее сути. В работе подтверждается прежний вывод о невозможности распознать произвольный вирус, точнее — о возможности существования вирусов, принципиально не поддающихся распознаванию в рамках используемой модели.
В работе Адлемана нам представляются особенно важными два момента. Во-первых, в качестве стратегического — и, по сути, единственного — средства защиты от вирусов он совершенно верно назвал полную и безусловную изоляцию компьютера, т.е. закрытость среды (что касается альтернативных способов защиты, в работе лишь поставлен вопрос о том, насколько они реальны). Во-вторых, ученый показал необходимость привлечения понятия исходной, незараженной программы в качестве обязательного условия определения вируса.
Напомним, что под изоляцией компьютерных систем применительно к вирусам всегда имеется в виду взаимная изоляция систем, контролируемых разными хозяевами. Разумеется, нет необходимости во взаимной изоляции отдельных элементов любой замкнутой системы, которая находится под полным контролем одного хозяина. Собственную систему хозяин программирует так, как сочтет нужным (в этом состоит отличие хозяина от номинального владельца). Поэтому вряд ли можно использовать понятие «вредоносность» вне социального контекста, исключительно в технологических категориях: никакие процессы изменения программ и данных сами по себе «вредоносностью» не обладают.
Статья Фреда Коэна
В сентябре 1984 году была опубликована статья Ф. Коэна [6] , в которой автор исследовал разновидность файлового вируса. Это первое академическое исследование проблемы вирусов. Термин "вирус" был предложен научным руководителем Коэна Леном Эдлманом, однако именно Коэна принято считать автором термина «компьютерный вирус».
Вирусы в различных операционных системах
Определение вируса по нарушению кода
Невозможность надежного распознавания вирусов в рамках классических моделей дает повод задуматься о подходе к решению проблемы с другой стороны.
При традиционном подходе создается как можно более точная модель вируса, основанная на понятиях «рекурсивная репликация» и, опционально, «вредоносность». В рамках созданной модели дается определение вируса. Затем констатируется невозможность использования этого определения для оценки соответствия ему исследуемых информационных объектов.
Но можно поступить наоборот: поставить целью практическую применимость определения вируса для простого и гарантированного решения задачи его распознавания — и для комплексного решения проблемы цифровых инфекций в целом. Затем, используя это определение, можно выяснить, какая модель вируса ему соответствует.
Для целей информационной безопасности самым удобным будет строго формализованное, соразмерное и системное определение, которое позволяет легко выполнять оценку соответствия ему произвольных информационных объектов. Процедура сравнения свойств каждого исследуемого объекта с определением должна иметь форму короткого, надежного и хорошо контролируемого алгоритма, чтобы ее можно было автоматизировать и применять на практике.
Самое простое и очевидное решение — считать вирусом любое внедрение постороннего кода (т.е. произвольной последовательности символов) в эталонную, исходную, незараженную программу. Это означает отказ от ресурсоемкой и в общем случае неразрешимой задачи анализа процессов взаимодействия проверяемого кода с машиной — и отказ от попыток формализации этих процессов. Вирус определяется не через свойства последовательности символов, а через ее местоположение в машине (компьютере, вычислительной системе). Иными словами, одна и та же последовательность символов может считаться или не считаться вирусом в зависимости от того, где она находится по отношению к «системе координат» машины — в каком именно месте ленты Тьюринга, в какой именно области оперативной памяти, жесткого диска и т.п. Вирусом считается любая последовательность символов, которая находится «в неположенном месте», т.е. в области, зарезервированной для другого информационного объекта — охраняемого кода.
Строгое определение для обычной SISD-машины, которое можно адаптировать и для более широкого круга информационных систем, формулируется так: компьютерный вирус — это измененная по сравнению с эталоном часть кода.
Используя на практике модель, соответствующую приведенному определению вируса, вы перестраховываетесь и уходите в глубокую и очень надежную оборону. Вместо анализа неизвестного кода для точного ответа на вопрос о возможности инициирования им рекурсивной репликации, вы исходите из того, что такая возможность не исключена. Вместо анализа неизвестного кода для точного ответа на вопрос о его вредоносности, вы исходите из того, что внесение в охраняемый код любого, даже самого малого изменения с некоторой вероятностью вызывает нарушение его функций — точно так же, как нарушение функций биологической ДНК может быть вызвано замещением единственного нуклеотида в последовательности.
Для удобства решения многих практических задач в сложных информационных системах определение можно расширить на те области данных, которые должны иметь в системе такую же неприкосновенность, как исполняемый код. В общем случае, зараженным объявляется любой охраняемый информационный объект, в границы которого попал другой объект.
Заметим, что при отсутствии эталона для произвольного кода весь этот код по данному определению считается вирусом. Хотя это непривычно звучит, это надо хорошо понять и всегда иметь в виду. О том, откуда берется эталон, мы поговорим в следующих выпусках блога: для этого понадобится привлечение социальных факторов.
Лингвистическая справка. Слово «вирус» появилось в современных языках чуть более 100 лет назад, после открытия биологических вирусов. Их характерная черта — репликация, исполняемая соответствующей средой. Но у слова «вирус» есть и другое, исходное значение: на латыни это слово обозначает яд. Никакой связи с репликацией: вирус — это объект, характеризующийся нарушением функций внешнего объекта, в который он проник. Использование термина «компьютерный вирус» в контексте деструктивного воздействия настолько же корректно, насколько и в контексте репликации. Использование неформальных терминов «вредонос» или «зловред» нежелательно, особенно в технологической терминологии, вне социального контекста. Термин «антивирусная защита» (а не «антивредоносная» и не «антизловредная») наиболее устойчив в русском языке и имеет очевидные коннотации.
Первые антивирусы
Определение вируса по Коэну
Фред Коэн, аспирант Университета Южной Калифорнии, заинтересовался проблемой компьютерных вирусов в начале 1980-х. В 1984 году при поддержке своего научного руководителя Леонарда Адлемана он написал первую статью на эту тему, где привел весьма далекую от совершенства формулировку: «We define a computer ‘virus’ as a program that can ‘infect’ other programs by modifying them to include a possibly evolved copy of itself». Сначала все казалось просто, но при дальнейшей разработке темы Коэн обнаружил ее чрезвычайную сложность и ключевое значение среды — как для процесса репликации, так и для принятия решения о том, является ли произвольный изучаемый информационный объект вирусом.
В своей книге 1985 года и диссертации 1986 года Коэн дал уже строгое определение вируса, в котором сконцентрировался на его единственном свойстве — рекурсивной репликации. Определение было дано только для абстрактной модели, основанной на машине Тьюринга (заметим, что реальный компьютер обычно имеет меньшую предсказуемость, чем его идеальная модель). Никакие другие свойства, кроме рекурсивной репликации, в модели Коэна не рассматриваются. То есть это хорошая модель частного случая рекурсивно воспроизводимых алгоритмов, но плохая модель реальных компьютерных вирусов — особенно с учетом наблюдаемого многообразия их типов и необязательности строгой рекурсии для распространения.
Но модель вируса по Коэну стала классической, потому что оказалась простой, наглядной и учитывающей роль исполняющей среды, что необходимо для понимания сути проблемы. В этой модели, чтобы определить, является ли вирусом изучаемый информационный объект (конечная последовательность символов, программа, код), его надо рассматривать исключительно в контексте машины-среды, в паре с ней и во взаимодействии с ней — на столько тактов вперед, сколько займет исполнение кода машиной. Вирус был определен как код, исполнение которого приведет к записи копии этого кода на ленту машины Тьюринга впереди по ходу исполнения, т.е. в будущем.
Но для машины Тьюринга (как доказал в 1936 году ее автор) невозможно предсказать будущее. Для произвольного кода непредсказуем результат его выполнения, т.е. последовательность состояний машинной ленты (памяти) на неограниченное число тактов вперед. Единственный способ выяснить, чем закончится выполнение этого кода — проверить на практике. Иными словами, чтобы выяснить, является ли изучаемый код вирусом, его надо запустить и посмотреть, что будет. С учетом неизвестности результата, в реальной системе это небезопасно. Кроме того, время ожидания выполнения кода может оказаться сколь угодно большим (бесконечным). А без информации о том, к чему приведет запуск кода, нельзя судить о том, является ли он вирусом.
Обратите внимание, что анализ кода без его запуска невозможен даже с самой удобной позиции — внешнего наблюдателя, не ограниченного в средствах для изучения машины и кода, которые находятся в исходных статичных состояниях. Тем более не может быть и речи об анализе кода без его запуска средствами самой машины, как и об анализе кода в процессе исполнения машиной другого кода.
Кроме неутешительного вывода о невозможности надежного распознавания вирусов в своей модели, Коэн доказал следующее:
a) к произвольному коду всегда можно подобрать такую машину, которая интерпретирует его как вирус; например, для какой-то машины вирусом будет код из одного байта — 42;
b) некоторые машины любой код интерпретируют как вирус;
c) некоторые машины никакой код не интерпретируют как вирус.
Впоследствии Коэн не раз возвращался к этой теме. Так, в 1992 году он опубликовал статью, где приводилось строгое определение понятия «компьютерный червь» (частный случай вируса для некоторых сред, в частности — мультипроцессорных). В статье подтверждался прежний вывод: распознавание вирусов и подобных им объектов в общем случае невозможно.
Какое из определений вируса лучше?
Сравните подходы, используемые в различных моделях и определениях вируса.
Вирус — это:
a) соответствующая определенным критериям функция, отображающая эталонный, незараженный объект на отличающийся от него зараженный объект;
b) любая функция, отображающая эталонный, незараженный объект на отличающийся от него зараженный объект.
Для распознавания вируса в проверяемом объекте нужно:
a) провести полное аналитическое или алгоритмическое изучение свойств и поведения системы, состоящей из проверяемого объекта и машины (среды);
b) определить местоположение проверяемого объекта в машине (среде).
Определение вируса основано на:
a) свойстве рекурсивной репликации;
b) методе сравнения образца с эталоном.
Еще раз подчеркнем существенную роль среды в процессе репликации. Например, сами по себе последовательности символов «SENDMAIL» (8 байт), «COPY» (4 байта) или «CP» (2 байта), которые могут содержаться в простейшем вирусе и которыми он может оперировать, не несут в себе ничего такого, что было бы специфично для процесса репликации (тем более — рекурсивной). Ничего подобного не содержит в себе и короткая байтовая последовательность, вызывающая функцию копирования из API операционной системы в машинном коде. В этой последовательности, если рассматривать ее вне среды, не содержится ни механизма репликации, ни его описания, ни даже намека на него.
Более того: в реальном вирусе может не содержаться даже этой информации — в буквальном смысле! Вместо нее вирус, например, может включать в себя сколь угодно сложный криптоалгоритм, а ключом к этому алгоритму может служить произвольная комбинация объектов среды, способная появиться в ней в неопределенном будущем. Это означает, что до некоторого неизвестного момента, до выполнения средой некоторого неизвестного при анализе условия принципиальное отсутствие в коде вируса каких-либо связей с понятиями как репликации, так и рекурсии можно гарантировать с точностью математического доказательства. Но даже в этом случае вирус, слившийся в свойствах со средой и образовавший с ее элементами сложную, распределенную в пространстве и времени систему, сохраняет возможность размножения кода.
Таким образом, в современных больших информационных системах формализация и поиск признаков рекурсивной репликации в отдельных объектах представляются бесполезными даже с теоретической точки зрения. А рассматривать каждый объект в совокупности со всей средой — невозможно. Если в качестве входных данных для анализа единичного объекта требуется подстановка в абстрактную формулу полной информации о состоянии практически бесконечной (из-за огромного размера и перманентной изменчивости) среды — значит, выбран тупиковый путь. Ранее мы уже показали, что Интернет является единой автопрограммируемой средой, единой вычислительной системой, события в которой могут менять код в отдельно взятом системном блоке. Поэтому все эти события должны учитываться в формальном определении вируса, если оно основано на свойствах кода — как в абстрактной модели, так и на практике. И то, и другое исключено.
В условиях глобальной сети, где возможны неограниченные комбинации прямых и обратных связей между элементами, очевидны и давно применяются методы массовой репликации кода, не имеющие отношения к классическим, рекурсивным. Если опасный код заражает произвольный системный блок этой сети, то не имеет значения, является ли это заражение рекурсивным — или же дочерний код сформирован родительским по гораздо более сложному алгоритму. Алгоритм может быть любым. А на основе неизвестного алгоритма нельзя строить какие-либо точные модели, применимые на практике.
Не следует забывать, что в реальных вычислительных системах вирусы программируются (т.е. управляются) людьми. А все то, что управляется человеком, почти не поддается формализации.
Из изложенного следует вывод, что формальное определение компьютерного вируса, основанное не на признаке рекурсивной репликации, а на принципиально иных признаках, во многих случаях может оказаться наилучшим.
Это не значит, что понятие рекурсивной функции перестало иметь значение в контексте вирусов. Оно остается крайне важным, хотя и не может рассматриваться как определяющее. Оно не позволяет точно позиционировать цель, явление, предмет угрозы и ее смысловую сущность с использованием приемлемого математического аппарата. Поэтому лучше всегда иметь в виду альтернативы. Отчетливое понимание специалистом по информационной безопасности нескольких разных определений вируса, соответствующих им теоретических моделей и аспектов антивирусной защиты дает наибольшие возможности для решения практических задач.
P.S. Конечно, возможны и другие определения, кроме приведенных в статье. Их можно поискать в Сети или создать самостоятельно. Главное, что надо при этом помнить: по нормам формальной логики грамотное определение должно позволять, как минимум, определить искомый объект в ряду других :)
Фредерик Коэн (Фред Коен, англ. Frederick B. Cohen ) — американский учёный в области информатики, разработчик первого вируса, автор определения «компьютерного вируса» и изобретатель компьютерных технологий защиты от вирусов [1] .
Написал первую программу-вирус чтобы применять её на презентации докторской диссертации по проблеме безопасности компьютерных систем. Вирус предназначался для поражения систем компьютеров VAX и был скрыт внутри графической программы VD. Во время презентации вирус Коэна проник во все компоненты компьютера, пользуясь паролями разных пользователей.
Фред Коэн родился в 1956 году.
Образование: Питтсбургский университет, Университет Южной Калифорнии, Школа информатики Карнеги — Меллон.
Заинтересовался проблемой компьютерных вирусов в начале 1980-х годов.
11 ноября (по другим данным, 3 ноября или 4 ноября) 1983 года продемонстрировал первый вирус: студент из Университета Южной Калифорнии Коэн составил программу, демонстрировавшую возможность заражения компьютера со скоростью размножения вируса от 5 минут до 1 часа [2] .
Таким образом, в 1983 году, будучи аспирантом факультета программирования университета Калифорнии, Коэн ввёл термин компьютерный вирус. Коэн на своей презентации «демонстрационный вирус для VAX 11/750 под управлением Unix» на еженедельном семинаре по компьютерной безопасности в Университете Южной Калифорнии продемонстрировал программу, которая полностью смогла овладеть системой компьютеров VAX, скрывшись внутри графической программы VD. По результатам исследований Коэн опубликовал работу Computer Viruses: theory and experiments с подробным описанием проблемы. Вирусы Коэна были безвредными.
Именно Коэн «научил» вирусов проникать внутрь запускных моделей «exe», сжимая их. Такая форма программ получила название «вирусы сжатия».
На следующий год написал работу, в которой предвосхитил угрозы распространения вирусов по компьютерным сетям, а также предложил возможность создания антивирусных программ.
В 1984 году при поддержке своего научного руководителя Леонарда Адлемана он написал первую статью «We define a computer ‘virus’ as a program that can ‘infect’ other programs by modifying them to include a possibly evolved copy of itself».
В своей книге 1985 года и диссертации 1986 года Коэн дал уже строгое определение вируса, в котором сконцентрировался на его единственном свойстве — рекурсивной репликации.
В 1987 году Коэн, работавший в Лехайском университете, доказал, что невозможно создать алгоритм для 100% обнаружения и идентификации всех возможных компьютерных вирусов.
В 1990-е годы с развитием технологий обмена информацией вирусы, созданные на основе идеологии Коэна, распространились чрезвычайно широко, став не просто помехой, а стратегической угрозой для безопасности целых стран. К самому же Фреду у властей никогда не было претензий - вся его деятельность была направлена в образовательную сферу. Сегодня известный хакер-теоретик занимает важный пост управляющего компании, обеспечивающей информационную безопасность.
Коэну принадлежит идея о «положительном» «вирусе сжатия». КЭта программа обладает, по мнению Коэна, положительным свойством — способна инфицировать другие программы. Эти инфицированные программы требуют меньше места в памяти благодаря наличию программы сжатия.
Написал более 60 профессиональных публикаций и 11 книг.
Таким образом, именно Коэном впервые в академической среде был употреблён термин термин «компьютерный вирус» — в его работе «Эксперименты с компьютерными вирусами», где, правда, он сам приписывает авторство термина Леонарду Адлеману.
Формально вирус определён Коэном со ссылкой на машину Тьюринга следующим образом:
с заданным множеством состояний SM, множеством входных символов IM и отображений (OM, NM, DM), которая на основе своего текущего состояния s ∈ SM и входного символа i ∈ IM, считанного с полубесконечной ленты, определяет: выходной символ o ∈ IM для записи на ленту, следующее состояние машины s' ∈ SM и движения по ленте d ∈ .
Для данной машины M, последовательность символов v : vi ∈ IM может быть сочтена вирусом тогда и только тогда, когда обработка последовательности v в момент времени t, влечёт за собой то, что в один из следующих моментов времени t, последовательность v′ (не пересекающаяся с v) существует на ленте, и эта последовательность v′ была записана M в точке t′, лежащей между t и t″:
- t ∈ N число базовых операций «перемещения», осуществлённых машиной
- PM ∈ N номер позиции на ленте машины в момент времени t
- SM0 начальное состояние машины
- CM(t, c) содержимое ячейки c в момент времени t
Данное определение было дано в контексте вирусного множества VS = (M, V) — пары, состоящей из машины Тьюринга M и множества последовательностей символов V: v, v' ∈ V. Из данного определения следует, что понятие вируса неразрывно связано с его интерпретацией в заданном контексте, или окружении.
Коэном было показано, что «любая самовоспроизводящаяся последовательность символов: одноэлементный VS, согласно которой существует бесконечное количество VS, и не-VS, для которых существуют машины, по отношению к которым все последовательности символов является вирусом, и машин, для которых ни одна из последовательностей символов не является вирусом, даёт возможность понять, когда любая конечная последовательность символов является вирусом для какой-либо машины». Он также приводит доказательство того, что в общем виде вопрос о том, является ли данная пара (M, X) : Xi ∈ IM вирусом, неразрешим (то есть не существует алгоритма, который мог бы достоверно определить все вирусы), теми же средствами, которыми доказывается неразрешимость проблемы остановки.
Более поздние исследователи показали, что имеются такие типы вирусов (вирусы, содержащие копию программы, улавливающей вирусы), которые не могут быть безошибочно определены ни одним алгоритмом.
Основы теории самовоспроизводящихся механизмов заложил американец венгерского происхождения Джон фон Нейман, который в 1951 году предложил метод создания таких механизмов. Первой публикацией, посвящённой созданию самовоспроизводящихся систем, является статья Л. С. Пенроуз в соавторстве со своим мужем, нобелевским лауреатом по физике Р. Пенроузом, о самовоспроизводящихся механических структурах, опубликованная в 1957 году американским журналом Nature. [1] В этой статье, наряду с примерами чисто механических конструкций, была приведена некая двумерная модель подобных структур, способных к активации, захвату и освобождению. По материалам этой статьи Ф. Ж. Шталь (F. G. Stahl) запрограммировал на машинном языке ЭВМ IBM 650 биокибернетическую модель, в которой существа двигались, питаясь ненулевыми словами. При поедании некоторого числа символов существо размножалось, причём дочерние механизмы могли мутировать. Если кибернетическое существо двигалось определённое время без питания, оно погибало.
В 1961 году В. А. Высотский, Х. Д. Макилрой (H. D. McIlroy) и Роберт Моррис (Robert Morris) из фирмы Bell Telephone Laboratories (США) изобрели необычную игру «Дарвин», в которой несколько ассемблерных программ, названных «организмами», загружались в память компьютера. Организмы, созданные одним игроком (то есть принадлежащие к одному виду), должны были уничтожать представителей другого вида и захватывать жизненное пространство. Победителем считался тот игрок, чьи организмы захватывали всю память или набирали наибольшее количество очков. [2]
В феврале 1980 года студент Дортмундского университета Юрген Краус подготовил дипломную работу по теме «Самовоспроизводящиеся программы» [3] , в которой помимо теории приводились так же и листинги строго самовоспроизводящихся программ (которые вирусами на самом деле не являются) для компьютера Siemens.
Первые вирусные эпидемии
Очередным этапом развития вирусов считается 1987 год. К этому моменту получили широкое распространения сравнительно дешёвые компьютеры IBM PC, что привело к резкому увеличению масштаба заражения компьютерными вирусами. Именно в 1987 вспыхнули сразу три крупные эпидемии компьютерных вирусов.
Грязная дюжина
В 1985 году Том Нефф (англ. Tom Neff ) начал распространять по различным BBS список «Грязная дюжина — список опасных загружаемых программ» (англ. The Dirty Dozen — An Unloaded Program Alert List ), в котором были перечислены известные на тот момент программы-вандалы. В дальнейшем этот список, включающий большинство выявленных троянских программ и «взломанные» или переименованные копии коммерческого программного обеспечения для MS-DOS, стал широко известен под кратким названием «грязная дюжина» (англ. dirty dozen ). [7]
Джо Деллинджер
Другие вирусы для Apple II были созданы студентом Техасского университета A&M Джо Деллинджером в 1981 году. Они были рассчитаны на операционную систему MS-DOS 3.3 для этой ПЭВМ. Вторая версия этого вируса «ускользнула» от автора и начала распространяться по университету. Ошибка в вирусе вызывала подавление графики популярной игры под названием CONGO, и в течение нескольких недель все («пиратские») копии этой игры перестали работать. Для исправления ситуации автор запустил новый, исправленный вирус, предназначенный для «замещения» предыдущей версии. Обнаружить вирус можно было по наличию в памяти счётчика заражений: «(GEN 0000000 TAMU)», по смещению $B6E8, или в конце нулевого сектора заражённого диска. [5]
Читайте также: