История развития компьютерных вирусов
Автор: Муковнин Артём
История развития Компьютерных Вирусов
Компьютерные вирусы сегодня – явление столь обыденное и привычное, что редко кто задумывается, почему эти формы жизни названы именно вирусами, а не, скажем, паразитами. Ответ прост: название позаимствовано из биологии, потому что жизненные циклы вирусов компьютерных и биологических совпадают - внедрение в программу/клетку и дальнейшее размножение. Однако прежде чем выяснять, где и когда появился первый вирус, было бы неплохо узнать четкое определение термина «компьютерный вирус». Такое определение дал в 1986 году Фред Коэн: «Компьютерный вирус есть программа, способная заражать другие программы путем добавления в них собственной копии». Ф.Коэн вообще личность примечательная - первый человек в истории, защитивший докторскую диссертацию по теме компьютерных вирусов. Он доказал невозможность написания программы, которая, глядя на файл, могла бы со стопроцентной точностью сказать, вирус ли это. Теперь можно начинать копаться в истории вычислительной техники, отыскивая первое упоминание о программе, подходящей под определение Коэна.
Первый
Такое упоминание относится к концу 60-х - началу 70-х годов, когда на машине Univac 1108 появилась программа «Pervading Animal». Собственно, вирусом ее назвать было нельзя, однако это была первая программа, выполнявшая не те действия, которых ожидал от нее оператор, и пытающаяся создавать свои копии. Мысли о создании саморазмножающихся программ начали приходить в голову некоторым людям еще в конце 40-х, когда появилось несколько теорий, связанных с созданием таких программ. Однако первая успешная реализация относится лишь к концу 60-х годов. Доступ к ЭВМ в те годы имели немногие, писать программы для них могли лишь избранные, поэтому впереди у компьютерного сообщества было больше десяти лет спокойствия. Но вот в середине 80-х компьютеры, теперь уже персональные, становятся общедоступными. С тех пор и ведет свое начало вирусная история. Древность
1981
Появляется вирус Elk Cloner, распространяющийся на дискетах для Apple II. Вирус выводит на экран следующие строчки: 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! Elk Cloner считается первым в истории компьютерным вирусом. В том же году Фред Коэн начинает работу в области исследования саморазмножающихся программ.
1983
В рамках работы Коэна «Computer Viruses - Theory and Experiments» появляется первый экспериментальный вирус. И именно в этом году появляется сам термин «компьютерный вирус», предложенный Леном Адлеманом.
1986
Имена этих братьев знакомы каждому антивируснику, запомни их и ты: Basit и Amjad (как это звучит по-русски, я не знаю :)). Два пакистанских программиста, владеющих компанией Brain Computer Services, создают вирус Brain – первый вирус для MS-DOS. Brain был загрузочным вирусом, и, попав в память при запуске компьютера, заражал boot-сектор всех вставляемых 360-килобайтных дискеток. Вся его полезная нагрузка заключалась в том, что зараженные дискеты имели метку «(c) Brain». Вирус сразу же проявлял себя, поэтому крупномасштабной эпидемии он не вызвал. К тому же, после того как дискеты на 360 Кб ушли в прошлое, вирус стал бесполезен. Но на базовом коде этого вируса было создано целое семейство вирусов, не все из которых были так же безобидны, как Brain. Зачем братьям понадобилось писать и распространять вирус? Существует много точек зрения, но большинство экспертов склоняются к мысли, что идея с вирусом – просто рекламный ход, призванный привлечь внимание к небольшой пакистанской компании. Ведь в коде вируса содержались имена авторов и их адрес! О, наивное время :). В том же 1986 году Ральф Бургер пишет безвредный демонстрационный вирус VIRDEM, заражающий *.com-файлы, и представляет его общественности. Интерес к теме столь велик, что Бургеру приходится писать книгу, посвященную вирусам.
1987
Появляется вирус Lehigh. Не представляя собой ничего особенного (заражает только command.com, портит FAT), он, тем не менее, занимает в вирусной истории довольно заметное место из-за следующего технического момента: сам вирус нерезидентный, но т.к. он заражает command.com, который остается в памяти резидентно, то и сам Lehigh считается первым в мире резидентным вирусом. В это же время один за другим появляются три вируса группы SURIV (прочитай наоборот): первый заражает *.com-файлы, второй - *.exe, третий – оба типа. Причем SURIV-02 был первым в мире EXE-инфектором. Четвертым членом семейства SURIV является знаменитый Jerusalem. Вирус заражал и *.com, и *.exe-файлы, но не трогал command.com, т.к. после Lehigh, люди стали внимательнее относиться к этому файлу. Jerusalem был безобиден большую часть времени, но в пятницу, выпадающую на 13 число, вирус стирал все зараженные файлы. Первые версии Jerusalem содержали ошибку - вирус повторно заражал уже зараженные им файлы, из-за этого они не получили распространения, но следующие вирусы семейства уже были избавлены от этого бага. С этим вирусом вообще связано много интересных баек. Например, почему Jerusalem известен также как Israeli (Израильский), 1813 и IDF? Изначально вирус именовался Israeli, по месту обнаружения, потом антисемитское название сменили на 1813, так как именно столько байт он занимал. Использовалось также другое название – IDF, означавшее Israeli Defence Forces (Израильские Защитные Войска), в одном из отделений которых был обнаружен вирус. И, в конце концов, вирус назвали красивым именем Jerusalem. В этом же году появляются знаменитые Stoned (первый MBR-инфектор) и Vienna. Бургер дизассемблирует Виенну и дает исходник в своей книге «Computer Viruses: A High-Tech Disease».
1988
Роберт Моррис пишет своего знаменитого червя. Первый в истории случай, когда компьютерная программа причинила реальный многомиллионный ущерб. Закон еще не предусматривает наказания за подобные преступления, поэтому Моррис отделался десятитысячным штрафом и работами по восстановлению систем, пострадавших от его червя. Компьютерное сообщество, наконец, понимает масштабы угрозы, и для предотвращения подобных случаев создается организация CERT (Computer Emergency Response Team), существующая и активно действующая до сих пор (www.cert.org). IBM обнаруживает в своих сетях вирус Cascade и в связи с этим начинает заниматься антивирусными исследованиями. Также этот год знаменателен тем, что некий индонезийский программист публикует программу, чистящую дискеты от вируса Brain и предохраняющую от этого вируса в дальнейшем. Т.о. эта программа считается одним из первых, если не первым, антивирусом.
1989
Под давлением клиентов, IBM распространяет антивирус, который до этого использовался исключительно внутри компании. Расцвет
1990
Знаешь, что такое SPAM? Нет, это не предложения «заработать $$$$» и пр. SPAM – это Stealth Polymorph Armored Multipartite. Stealth (стелс, невидимость) – способность вируса заражать файлы скрытно, не давая пользователю повода заподозрить неладное; Polymorph (полиморфизм) – способность вируса шифровать свое тело так, чтобы никакие две копии вируса не были похожи друг на друга; Armored (защита, бронирование) – способность вируса сопротивляться отладке и дизассемблированию; Multipartite (многосторонность) – способность вируса заражать и программы, и загрузочные сектора дисков. Вот такие веселые техники появились в начале 90-х. Каждая из них по отдельности крайне затрудняет жизнь как простого пользователя, так и антивирусника, представь, какой напастью были вирусы, применявшие сразу несколько этих методик! В Болгарии открывается первая в мире VX-BBS. Вообще, Болгария и Россия внесли довольно значительный вклад в дело развития вирмейкерства. Так вот, на болгарской BBS любой желающий мог слить себе десяток новых вирусов и отправить их куда угодно. Открываются конференции Usenet, посвященные написанию вирусов, публикуются документы, в которых матерые вирмейкеры делятся опытом. Публикуется книга Марка Людвига «Маленькая Черная Книжка о Компьютерных Вирусах». Вкупе с книгой Ральфа Бургера и руководством по MS-DOS, у рядового программиста есть все необходимое для старта на VX-сцене. Вирмейкерство возводится в ранг искусства, создаются VX-группы. И одновременно (или поэтому) начинается эра глобального распространения вирусов. В ответ на это возникает антивирусная индустрия. Сканеры, сторожа и пр. существовали и раньше, но сейчас за дело берутся тяжеловесы – Symantec выпускает Norton AntiVirus. В том же 1990 году выходит 32-битная ОС Apple System 7.0, пользователи которой полностью защищены от старых 16-битных вирусов. А до выхода Win95 еще целых пять лет :). Viva la Microsoft!
1991
С появлением Chameleon начинается эпоха полиморфных вирусов. Первый же удачный полиморф Tequila вызывает настоящую эпидемию. И все бы ничего, но на сцену (во всех смыслах) выходят такие личности, как Nowhere Man, Dark Avenger, Dark Angel и др.
1992
Известнейший вирмейкер Dark Avenger выпускает MtE (Mutation Engine) – полиморфный движок. В поставку входит *.obj-файл и краткое руководство. С помощью этого движка любой вирус можно превратить в полиморфный, просто слинковав его с MtE. Nowhere Man не отстает и создает VCL (Virus Creation Laboratory или Viral Construction Laboratory) – конструктор вирусов и NED (Nuke Encryption Device) – шифровальный модуль, который можно использовать в любом вирусе. Dark Angel пишет DAME (Dark Angel Multiрle Encryрtor) – еще один удачный полиморфный движок. И, наконец, VX-группа Trident выпускает TPE (Trident Polymorphic Engine). Выходит Windows 3.1 и тут же, следом, первый вирус под нее - WinVer 1.4, заражающий NE-файлы.
1993
За год выходит несколько новых версий вышеперечисленных программ-конструкторов, и теперь любой юзер, способный кликать мышкой, может создать серьезный разрушительный вирус. С одной стороны, для антивирусников наступает сущий кошмар, но с другой – эпоха благоденствия, антивирусный бизнес процветает. Тогда же выходят еще два конструктора вирусов: PS-MPC (Phalcon/Skism Mass-Produced Code Generator) и G2 от той же группы. Касперский говорит, что на его складе хранятся несколько сотен вирусов, сгенерированных G2 и VCL, и больше тысячи, созданных при помощи PS-MPC. Антивирусные компании разрабатывают успешные методы борьбы с полиморфами, но появляется другая проблема – сканер определяет как полиморфные вирусы многие программы, вирусами не являющиеся. Так что до победы над полиморфизмом еще далеко. Появляется несколько оригинальных вирусов. Например, Cruncher, архивирующий зараженные им программы.
1994
В Англии появляется вирус Pathogen. И ничего примечательного в этом событии не было бы, если бы не тот факт, что автор был найден и арестован. Это одно из первых уголовных дел, связанных с вирусами. Также в 1994 году появляется известнейший представитель рода вирусов – One Half, который я до сих пор встречаю на некоторых компьютерах. Новые горизонты
1995
Работа над Windows95 практически завершена, тестерам рассылаются бета-версии. Все диски с Win95.Beta заражены вирусом Form. Репутация Microsoft как надежного производителя ПО ощутимо крепнет :). Но вот, наконец, выходит окончательная версия Windows95, на релизе которой Гейтс заявляет, что с вирусной угрозой покончено – по его словам, новая платформа полностью защищена от любых типов вирусов. Подтверждения того, как сильно она защищена, мы видим каждый день на сайте Касперского :). Но тогда в неуязвимость новой системы действительно верили. Верили до тех пор, пока через несколько месяцев после релиза не был обнаружен вирус, названный исследователями Concept. Вирус был написан на WordBasic’е – встроенном языке MS Word’а. Т.о. Concept стал первым макровирусом в истории. Антивирусники и Misrosoft этого не ожидали. Если за десять лет, прошедшие со времен Brain’а, техника борьбы с файловыми и загрузочными вирусами была отточена, то теперь борцы за чистоту компьютеров столкнулись с совершенно новой концепцией построения вирусов. Вирмейкеры продолжают изощряться: появляются BAT-вирусы.
1996
Второй удар по самоуверенности Гейтса. Появляется вирус Boza, прекрасно заражающий Win95-системы. Да и стоит ли говорить, сколько новых макровирусов появилось за год? Одного MS Word’а им уже мало – Laroux, например, заражает Excel’евские таблицы! Вирмейкеры начинают мечтать о Ring0-вирусах, а так как единственным документированным способом воспользоваться сервисами нулевого кольца является написание VxD, то вскоре такой вирус появляется, и имя ему – Punch. Используя VxD-сервисы, Punch перехватывает все обращения к файловой системе.
1997
Появляется Bliss - вирус под Линукс. Точка. Также в этом году появляются новые типы червей: ftp- и mIRC-черви. Происходит очередной раунд схватки McAfee vs Dr.Solomon. Антивирусные продукты тестируются по двум основным признакам: скорости сканирования и количеству обнаруживаемых вирусов. Скорость обычно замеряется на проверке практически чистого диска с парой вирусов, а количество обнаруживаемых вирусов - на огромной коллекции разнообразных вирей. Так вот McAfee обвинила Доктора Соломона в следующем злодеянии: антивирус от Соломона, определив, что работает над коллекцией, а не над обычном диском, переключается в режим более тщательного сканирования, чем обычно, что снижает скорость, но увеличивает показатель «выявляемости». По словам McAfee, только благодаря такому трюку, Dr.Solomon’овский антивирь несколько раз выходил на первые позиции в рейтингах. Соломоновцы, в свою очередь, придрались к рекламному лозунгу MacAfee. Конкуренция, понимаешь.
1998
В крышку гроба Win9x забивается последний гвоздь – появляется CIH. Уход в Ring0, перепрошивка Flash BIOS, перехват всех обращений к файловой системе, периодическое стирание всей информации на диске – вот краткий перечень достоинств WIN95.CIH :). Тогда же появляются первые полиморфные Win9x-вирусы и Strange Brew – первый Java-вирус. Компания McAfee покупает компанию Dr.Solomon. Бой окончен.
1999
В Сети обнаружен макровирус Melissa, побивший все рекорды по скорости заражения. Melissa успешно сочетает методы действия сетевого червя, рассылая себя всем людям, занесенным в адресную книгу Outlook, и макровируса – заражая Word’овские документы. Наши дни
2000
ILOVEYOU aka LoveBug. Червь, подозрительно похожий на Мелиссу. Вирусы на VBScript приобретают невиданную популярность. Liberty - первый вирус, вернее, троян под Palm OS. Мобильники на очереди!
2001
Кроме эпидемий таких вирусов, как CodeRed и SirCam, год знаменателен появлением PeachyPDF-A - червя, распространяющегося через PDF-документы. Но так как у большинства пользователей стоит Acrobat Reader, а не просто Acrobat, заражения червем немногочисленны.
2002
Если раньше вирмейкеры тратили время на изобретение различных техник защиты кода вируса или оригинальных методик заражения, то теперь акцент сместился в сторону написания совершенно нетрадиционных вирусов, вроде следующих: LFM-926 - вирус, заражающий *.swf-файлы (Shockwave Flash). Sharp-A – первый .NET вирус, написанный на C#. SQLSpider – червь на javascript, заражающий системы с запущенным MS SQL Server.
2003
Появляется несколько любопытных вирусов и червей, среди них: MBA.First – вирус, заражающий таблицы программы MapInfo. Написан вирус на встроенном языке программы – MapBasic. TrojanProxy.Win32.Zebroxy – троян, позволяющий хозяину использовать зараженную машину как прокси-сервер. Lovesan aka Lovsan aka Blaster aka Msblast aka Poza – обыкновенный червь для NT-систем, получивший широкое распространение этим летом (2003). Я сам пару дней назад прихлопнул файл msblast.exe на своей машине :).
Что нас ждет?
Да ничего хорошего. Если в конце 80-х годов, с тогдашним уровнем развития коммуникаций и малой распространенностью персональных компьютеров, вспыхивали самые настоящие эпидемии, то что же говорить о дне нынешнем, когда каждый школьник имеет доступ к компьютеру, зачастую подключенному к Сети, когда интернет превратился из технической библиотеки для специалистов в вещь, почти столь же привычную, как телевизор. Через несколько месяцев после выхода новой технологии или платформы под нее появляется вирус. Через пару дней после обнаружения уязвимости в каком-либо сетевом софте выходит простенький VBS-червь, использующий эту уязвимость. Раздали народу оружие, теперь не обижайтесь.