История компьютерных вирусов
Первые самовоспроизводящиеся программы
Основы теории самовоспроизводящихся механизмов заложил американец венгерского происхождения Джон фон Нейман, который в 1951 году предложил метод создания таких механизмов. Первой публикацией, посвящённой созданию самовоспроизводящихся систем, является статья Л. С. Пенроуз в соавторстве со своим мужем, нобелевским лауреатом по физике Р. Пенроузом, о самовоспроизводящихся механических структурах, опубликованная в 1957 году американским журналом Nature.[1] В этой статье, наряду с примерами чисто механических конструкций, была приведена некая двумерная модель подобных структур, способных к активации, захвату и освобождению. По материалам этой статьи Ф. Ж. Шталь (F. G. Stahl) запрограммировал на машинном языке ЭВМ IBM 650 биокибернетическую модель, в которой существа двигались, питаясь ненулевыми словами. При поедании некоторого числа символов существо размножалось, причём дочерние механизмы могли мутировать. Если кибернетическое существо двигалось определённое время без питания, оно погибало.
В 1961 году В. А. Высотский, Х. Д. Макилрой (H. D. McIlroy) и Роберт Моррис (Robert Morris) из фирмы Bell Telephone Laboratories (США) изобрели необычную игру «Дарвин», в которой несколько ассемблерных программ, названных «организмами», загружались в память компьютера. Организмы, созданные одним игроком (то есть принадлежащие к одному виду), должны были уничтожать представителей другого вида и захватывать жизненное пространство. Победителем считался тот игрок, чьи организмы захватывали всю память или набирали наибольшее количество очков.[2]
В феврале 1980 года студент Дортмундского университета Юрген Краус подготовил дипломную работу по теме «Самовоспроизводящиеся программы»[3], в которой помимо теории приводились так же и листинги строго самовоспроизводящихся программ (которые вирусами на самом деле не являются) для компьютера Siemens.
Первые вирусы
Появление первых компьютерных вирусов зачастую ошибочно относят к 1970-м и даже 1960-м годам. Обычно упоминаются как «вирусы» такие программы, как Animal, Creeper, Cookie Monster и Xerox worm.
Первыми известными вирусами являются Virus 1,2,3 и Elk Cloner для ПК Apple II. Оба вируса очень схожи по функциональности и появились независимо друг от друга с небольшим промежутком во времени в 1981 году.
С появлением первых персональных компьютеров Apple в 1977 году и развитием сетевой инфраструктуры начинается новая эпоха истории вирусов. Появились первые программы-вандалы, которые под видом полезных программ выкладывались на BBS, однако после запуска уничтожали данные пользователей. В это же время появляются троянские программы-вандалы, проявляющие свою деструктивную сущность лишь через некоторое время или при определённых условиях.
ELK CLONER
В 1981 году Ричард Скрента написал один из первых загрузочных вирусов для ПЭВМ Apple II — ELK CLONER.[4] Он обнаруживал своё присутствие сообщением, содержащим небольшое стихотворение:
ELK CLONER: THE PROGRAM WITH A PERSONALITY IT WILL GET ON ALL YOUR DISKS IT WILL INFILTRATE YOUR CHIPS YES, IT'S CLONER IT WILL STICK TO YOU LIKE GLUE IT WILL MODIFY RAM, TOO SEND IN THE CLONER!
Джо Деллинджер
Другие вирусы для Apple II были созданы студентом Техасского университета A&M Джо Деллинджером в 1981 году. Они были рассчитаны на операционную систему MS-DOS 3.3 для этой ПЭВМ. Вторая версия этого вируса «ускользнула» от автора и начала распространяться по университету. Ошибка в вирусе вызывала подавление графики популярной игры под названием CONGO, и в течение нескольких недель все («пиратские») копии этой игры перестали работать. Для исправления ситуации автор запустил новый, исправленный вирус, предназначенный для «замещения» предыдущей версии. Обнаружить вирус можно было по наличию в памяти счётчика заражений: «(GEN 0000000 TAMU)», по смещению $B6E8, или в конце нулевого сектора заражённого диска.[5]
Статья Фреда Коэна
В сентябре 1984 году была опубликована статья Ф. Коэна [6], в которой автор исследовал разновидность файлового вируса. Это первое академическое исследование проблемы вирусов. Термин "вирус" был предложен научным руководителем Коэна Леном Эдлманом, однако именно Коэна принято считать автором термина «компьютерный вирус».
Грязная дюжина
В 1985 году Том Нефф (англ. Tom Neff) начал распространять по различным BBS список «Грязная дюжина — список опасных загружаемых программ» (англ. The Dirty Dozen — An Unloaded Program Alert List), в котором были перечислены известные на тот момент программы-вандалы. В дальнейшем этот список, включающий большинство выявленных троянских программ и «взломанные» или переименованные копии коммерческого программного обеспечения для MS-DOS, стал широко известен под кратким названием «грязная дюжина» (англ. dirty dozen).[7]
Первые антивирусы
Первые антивирусные утилиты появились зимой 1984 года. Анди Хопкинс (англ. Andy Hopkins) написал программы CHK4BOMB и BOMBSQAD. CHK4BOMB позволяла проанализировать текст загрузочного модуля и выявляла все текстовые сообщения и «подозрительные» участки кода (команды прямой записи на диск и др.). Благодаря своей простоте (фактически использовался только контекстный поиск) и эффективности CHK4BOMB получила значительную популярность. Программа BOMBSQAD.COM перехватывает операции записи и форматирования, выполняемые через BIOS. При выявлении запрещённой операции можно разрешить её выполнение.
Первый резидентный антивирус
В начале 1985 года Ги Вонг (англ. Gee Wong) написал программу DPROTECT — резидентную программу, перехватывающую попытки записи на дискеты и винчестер. Она блокировала все операции (запись, форматирование), выполняемые через BIOS. В случае выявления такой операции программа требовала рестарта системы.
Первые вирусные эпидемии
Очередным этапом развития вирусов считается 1987 год. К этому моменту получили широкое распространения сравнительно дешёвые компьютеры IBM PC, что привело к резкому увеличению масштаба заражения компьютерными вирусами. Именно в 1987 вспыхнули сразу три крупные эпидемии компьютерных вирусов.
Brain и другие
Первая эпидемия 1987 года была вызвана вирусом Brain (также известен как Пакистанский вирус), который был разработан братьями Амджатом и Базитом Алви (Amdjat и Basit Faroog Alvi) в 1986 и был обнаружен летом 1987. По данным McAfee, вирус заразил только в США более 18 тысяч компьютеров. Программа должна была наказать местных пиратов, ворующих программное обеспечение у их фирмы. В программке значились имена, адрес и телефоны братьев. Однако неожиданно для всех The Brain вышел за границы Пакистана и заразил сотни компьютеров по всему миру. Вирус Brain являлся также и первым стелс-вирусом — при попытке чтения заражённого сектора он «подставлял» его незаражённый оригинал.
Вторая эпидемия, берущая начало в Лехайском университете (США), разразилась в ноябре. В течение нескольких дней этот вирус уничтожил содержимое нескольких сот дискет из библиотеки вычислительного центра университета и личных дискет студентов. За время эпидемии вирусом было заражено около четырёх тысяч компьютеров.
Последняя вирусная эпидемия разразилась перед самым Новым годом, 30 декабря. Её вызвал вирус, обнаруженный в Иерусалимском Университете (Израиль). Хотя существенного вреда этот вирус не принёс, он быстро распространился по всему миру.
В пятницу 13 мая 1988 сразу несколько фирм и университетов нескольких стран мира «познакомились» с вирусом Jerusalem — в этот день вирус уничтожал файлы при их запуске. Это, пожалуй, один из первых MS-DOS-вирусов, ставший причиной настоящей пандемии — сообщения о заражённых компьютерах поступали из Европы, Америки и Ближнего Востока.
Червь Морриса
В 1988 году Робертом Моррисом-младшим был создан первый массовый сетевой червь. 60 000-байтная программа разрабатывалась с расчётом на поражение операционных систем UNIX Berkeley 4.3. Вирус изначально разрабатывался как безвредный и имел целью лишь скрытно проникнуть в вычислительные системы, связанные сетью ARPANET, и остаться там необнаруженным. Вирусная программа включала компоненты, позволяющие раскрывать пароли, имеющиеся в инфицированной системе, что, в свою очередь, позволяло программе маскироваться под задачу легальных пользователей системы, на самом деле занимаясь размножением и рассылкой копий. Вирус не остался скрытым и полностью безопасным, как задумывал автор, в силу незначительных ошибок, допущенных при разработке, которые привели к стремительному неуправляемому саморазмножению вируса.
По самым скромным оценкам инцидент с червём Морриса стоил свыше 8 миллионов часов потери доступа и свыше миллиона часов прямых потерь на восстановление работоспособности систем. Общая стоимость этих затрат оценивается в 96 миллионов долларов (в эту сумму, также, не совсем обосновано, включены затраты по доработке операционной системы). Ущерб был бы гораздо больше, если бы вирус изначально создавался с разрушительными целями.
Червь Морриса поразил свыше 6200 компьютеров. В результате вирусной атаки большинство сетей вышло из строя на срок до пяти суток. Компьютеры, выполнявшие коммутационные функции, работавшие в качестве файл-серверов или выполнявшие другие функции обеспечения работы сети, также вышли из строя.
4 мая 1990 года суд присяжных признал Морриса виновным. Он был приговорён к условному заключению сроком на два года, 400 часам общественных работ и штрафу размером 10 тыс. долларов.
DATACRIME и AIDS
В 1989 году широкое распространение получили вирусы DATACRIME, которые начиная с 12 октября разрушали файловую систему, а до этой даты просто размножались. Эта серия компьютерных вирусов начала распространяться в Нидерландах, США и Японии в начале 1989 года и к сентябрю поразила около 100 тысяч ПЭВМ только в Нидерландах (что составило около 10 % от их общего количества в стране). Даже фирма IBM отреагировала на эту угрозу, выпустив свой детектор VIRSCAN, позволяющий искать характерные для того или иного вируса строки (сигнатуры) в файловой системе. Набор сигнатур мог дополняться и изменяться пользователем.
В 1989 году появился первый «троянский конь» AIDS.[8] Вирус делал недоступными всю информацию на жёстком диске и высвечивал на экране лишь одну надпись: «Пришлите чек на $189 на такой-то адрес». Автор программы был арестован в момент обналичивания чека и осуждён за вымогательство.
Также был создан первый вирус, противодействующий антивирусному программному обеспечению — The Dark Avenger. Он заражал новые файлы, пока антивирусная программа проверяла жёсткий диск компьютера.
Глобализация проблемы вирусов
Начиная с 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.
В 1995 году появляется несколько достаточно сложных вирусов (NightFall, Nostradamus, Nutcracker). Появляются первый «двуполый» вирус RMNS и BAT-вирус Winstart. Широкое распространение получили вирусы ByWay и DieHard2 — сообщения о заражённых компьютерах были получены практически со всего мира. В феврале 1995 года случился инцидент с beta-версией Windows 95, все диски которой оказались заражены DOS-вирусом Form.
Вирусы в различных операционных системах
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. Этот червь интересен тем, что являлся первым упакованным вирусом, получившим широкое распространение в «диком» виде.
OS/2
В июне 1996 года появился OS2.AEP — первый вирус для OS/2, корректно заражающий EXE-файлы этой операционной системы. До этого в OS/2 встречались только компаньон-вирусы.[9]
Unix-подобные
Вероятно, первые вирусы для семейства ОС Unix были написаны Фредом Коэном в ходе проведения экспериментов. В конце 1980-х появились первые публикации с исходными текстами вирусов на языке sh.[10][11]
Первый вирус для Linux (Bliss) появился в конце сентября 1996 года. Заражённый файл был помещён в ньюс-группу alt.comp.virus и ещё некоторые, в феврале следующего года вышла исправленная версия. В октябре 1996 года в электронном журнале, посвящённом вирусам VLAD, был опубликован исходный текст вируса Staog.[12] В 1995 году была опубликована книга Марка Людвига «The Giant Black Book of Computer Viruses», в которой приведены исходные тексты вирусов Snoopy для FreeBSD.[13] Snoopy и Bliss написаны на языке Си и могут быть перенесены практически в любую UNIX-подобную операционную систему с минимальными изменениями.
Операционная система GNU/Linux, как и UNIX и другие Unix-подобные операционные системы, вообще расцениваются как защищённые против компьютерных вирусов. Однако, вирусы могут потенциально повредить незащищённые системы на Linux и воздействовать на них, и даже, возможно, распространяться к другим системам. Число вредоносных программ, включая вирусы, трояны, и прочие вредоносные программы, определённо написанных под Linux, выросло в последние годы и более чем удвоилось в течение 2005 от 422 до 863.[14] Имелись редкие случаи обнаружения вредоносных программ в официальных сетевых репозиториях.[15][16][17]
MenuetOS
Первый вирус для MenuetOS был написан в 2004 году членом группы вирмейкеров RRLF, известным как Second Part To Hell.[18]
AROS
Первые вирусы для AROS написаны в 2007 участником группы Doomriderz, известным, как Wargame.
Примечания
- ↑ Penrose L. S., Penrose R. A Self-reproducing Analogue Nature, 4571, p. 1183, ISSN 0028-0836
- ↑ McIlroy et al. Darwin, a Game of Survival of the Fittest among Programs
- ↑ Selbstreproduktion bei programmen
- ↑ Page dedicated to Elk Cloner on Rich’s home site
- ↑ Сообщение в alt.folklore.computers
- ↑ "Computer Viruses - Theory and Experiments"
- ↑ THE DIRTY DOZEN (17-10-1985)
- ↑ George Smith. The Original Anti-Piracy Hack SecurityFocus, 12 августа 2002
- ↑ Вирусы для OS/2
- ↑ Douglas McIlroy. Virology 101
- ↑ Tom Duff. Viral Attacks On UNIX System Security
- ↑ Virus Laboratory And Distribution VLAD Magazine
- ↑ Mark Ludwig. The Giant Black Book of Computer Viruses American Eagle Publications, Inc. 1995. ISBN 0-929408-10-1
- ↑ Andy Patrizio. Linux Malware On The Rise (апрель 2006). Дата обращения: 8 марта 2008.
- ↑ В Sendmail 8.12.6 обнаружен «троянский конь» | Архив за 9 октября 2002 года | Новостной канал | Linuxcenter.Ru — портал про Linux и Unix. Дистрибутивы, книги, статьи о Linux. …
- ↑ Основные способы распространения троянских программ
- ↑ Xakep Online > В Linux попытались сделать закладку
- ↑ http://spth.host.sk/menuetinf.txt