На основе PS-MPC был создан конструктор G2 ( Phalcon/Skism's G2 0.70 beta), который поддерживает файлы конфигурации стандарта PS-MPC, однако при генерации вируса использует большее количество вариантов кодирования одних и тех же функций.
Имеющаяся у меня версия G2 помечена первым января 1993 года. Видимо, новогоднюю ночь авторы G2 провели за компьютерами. Лучше бы они вместо этого попили шампанского, хотя одно другому не мешает.
Итак, каким же образом повлияли конструкторы вирусов на электронную фауну? В коллекции вирусов, которая хранится на моем “складе”, количество “сконструированных” вирусов следующее:
на базе VCL и G2 - по несколько сотен;
на базе PS-MPC - более тысячи.
Так проявилась еще одна тенденция в развитии компьютерных вирусов: все большую часть в коллекциях начинают занимать “сконструированные” вирусы, а в ряды их авторов начинают вливаться откровенно ленивые люди, которые сводят творческую и уважаемую профессию вирусописания к весьма заурядному ремеслу.
4.5. За пределы DOS
Год 1992-й принес больше, чем полиморфик-вирусы и вирус-конструкторы. В конце этого года появился первый вирус для Windows, открывший, таким образом, новую страницу в истории вирусописания. Небольшого размера (менее 1K), совершенно безвредный и нерезидентный вирус вполне грамотно заражал выполняемые файлы нового формата Windows (NewEXE) и своим появлением пробил для вирусов окно в мир Windows.
Через некоторое время появились вирусы для OS/2, а в январе 1996 - и первый вирус для Windows95. На сегодняшний день не проходит и недели без появления новых вирусов, заражающих не-DOS системы, и, видимо, проблема не-DOS вирусов в скором времени выйдет на первый план, перекрыв проблему DOS-вирусов. Скорее всего, это произойдет эквивалентно постепенному умиранию DOS и распространению новых операционных систем и программ для них. Коль скоро все существующие DOS-приложения будут замещены их аналогами для Windows, Win95 и OS/2, проблема DOS-вирусов сойдет на нет и оставит после себя лишь теоретический интерес для компьютерного социума.
В том же 1993 году появилась и первая попытка написать вирус, работающий в защищенном режиме процессора Intel386. Это был загрузочный вирус “ PMBS”, названный так по строке текста внутри его кода. При загрузке с зараженного диска вирус переходил в защищенный режим, устанавливал себя как супервизор системы и затем загружал DOS в режиме виртуального окна V86. К счастью, вирус этот оказался “не жильцом” - его второе поколение напрочь отказывалось размножаться по причине нескольких ошибок в коде вируса. К тому же он “завешивал” систему, если какая-либо из программ пыталась выйти за пределы V86, например, определить наличие расширенной памяти.
Эта неудачная попытка написать вирус-супервизор так и оставалась единственной известной вплоть до весны 1997 года, когда один московский умелец выпустил вирус “ PM.Wanderer” - вполне “удачную” реализацию вируса, работающего в защищенном режиме.
Пока непонятно, станут ли в дальнейшем вирусы-супервизоры действительной проблемой для пользователей и разработчиков антивирусных программ. Скорее всего нет, так как такие вирусы должны “засыпать” на время работы новых операционных систем (Windows, Win95/NT, OS/2), что позволяет их (вирусы) легко обнаружить и удалить. Однако полноценный вирус-супервизор, использующий технологию “стелс” может принести немало неприятностей пользователям “чистой” DOS, ведь обнаружить такой стелс-вирус под DOS не представляется возможным.
4.6. Эпидемия макро-вируса
Год 1995-й, август. Все прогрессивное человечество, компания Microsoft и Билл Гейтс лично празднуют выход новой операционной системы Windows95. На фоне шумного торжества практически незамеченным прошло сообщение о появлении вируса, использующего принципиально новые методы заражения, вируса, заражающего документы Microsoft Word.
Честно говоря, это был не первый вирус, заражающий документы Word. До этого момента антивирусные фирмы уже имели на руках первый опытный образец вируса, который переписывал себя из документа в документ. Однако никто не обратил серьезного внимания на этот не вполне удачный эксперимент. В результате практически все антивирусные фирмы оказались не готовыми к последующему развитию событий - эпидемии макро-вируса - и начали спешно предпринимать полу-меры. Например, несколько фирм практически одновременно выпустили в свет документы-антивирусы, действовавшие примерно по тем же принципам, что и вирус, однако уничтожавшие его вместо размножения.
Кстати, спешно пришлось править антивирусную литературу - ведь она раньше на вопрос “Можно ли заразить компьютер при чтении файла?” отвечала “Однозначно - нет!” и приводила длинные доказательства этого.
А вирус, получивший к тому времени имя “ Concept”, продолжал победное движение по планете. Появившись скорее всего в каком-то из подразделений фирмы Microsoft, “Concept” в мгновение ока завладел тысячами (если не миллионами) компьютеров. Это неудивительно, ведь передача текстов в формате MS Word стала де-факто одним из стандартов, а для того, чтобы заразиться вирусом, требуется всего-лишь открыть зараженный документ, и все остальные документы, редактируемые в зараженном Word'e также оказываются зараженными. В результате, получив по Internet зараженный файл и прочитав его, пользователь, не зная того сам, оказывался “разносчиком заразы”, и вся его переписка (если, конечно же она велась при помощи MS Word) также оказывалась зараженной! Таким образом, возможность заражения MS Word, помноженная на скорость Internet, стала одной из самых серьезных проблем за всю историю существования вирусов.
Не прошло и года, как летом 1996-го года появился вирус “ Laroux” (“Лару”), заражающий таблицы MS Excel. Как и в случае с вирусом “Concept”, новый макро-вирус был обнаружен “в природе” практически одновременно в разных фирмах. Кстати, в 1997 году этот вирус стал причиной эпидемии в Москве.
В том же 1996 году появились первые конструкторы макро-вирусов, а в начале 1997 года появились первые полиморфик-макро-вирусы для MS-Word и первые вирусы для MS Office97. Плюс к тому непрерывно росло число разнообразных макро-вирусов, достигшее нескольких сотен к лету 1997-го.
Открыв новую страницу в августе 1995-го, опираясь на весь опыт, накопленный вирусописательством за почти десятилетие непрерывной работы и совершенствования, макро-вирусы, пожалуй, являются самой большой проблемой современной вирусологии.
4.7. Хронология событий
Пора перейти к более детальному описанию событий. Начнем с самого начала.
конец 1960 - начало 1970-х
На мейнфреймах этого времени периодически появлялись программы, которые получили название “кролик” (the rabbit). Эти программы клонировали себя, занимали системные ресурсы и таким образом снижали производительность системы. Скорее всего “кролики” не передавались от системы к системе и являлись сугубо местными явлениями - ошибками или шалостями системных программистов, обслуживавших компьютер. Первый же инцидент, который смело можно назвать эпидемией “компьютерного вируса”, произошел на системе Univax 1108. Вирус, получивший название “Pervading Animal”, дописывал себя к выполняемым файлам - делал практически то же самое, что тысячи современных компьютерных вирусов.
первая половина 1970-х
Под операционную систему Tenex создан вирус “The Creeper”, использовавший для своего распространения глобальные компьютерные сети. Вирус был в состоянии самостоятельно войти в сеть через модем и передать свою копию удаленной системе. Для борьбы с этим вирусом была создана программа “The Reeper” - первая известная антивирусная программа.
Начало 1980-х
Компьютеры становятся все более и более популярными. Появляется все больше и больше программ, авторами которых являются не софтверные фирмы, а частные лица, причем эти программы имеют возможность свободного хождения по различным серверам общего доступа - BBS. Результатом этого является появление большого числа разнообразных “ троянских коней” - программ, которые при их запуске наносят системе какой-либо вред.
1981
Эпидемия загрузочного вируса “Elk Cloner” на компьютерах Apple II. Вирус записывался в загрузочные сектора дискет, к которым шло обращение. Проявлял он себя весьма многосторонне - переворачивал экран, заставлял мигать текст на экране и выводил разнообразные сообщения.
1986
Пандемия первого IBM-PC вируса “ Brain”. Вирус, заражающий 360Kб дискеты, практически мгновенно разошелся по всему миру. Причиной такого “успеха” являлась скорее всего неготовность компьютерного общества к встрече с таким явлением, как компьютерный вирус.
Вирус был написан в Пакистане братьями Basit и Amjad Farooq Alvi, оставившими в вирусе текстовое сообщение, содержащее их имена, адрес и телефонный номер. Как утверждали авторы вируса, они являлись владельцами компании по продаже программных продуктов и решили выяснить уровень пиратского копирования в их стране. К сожалению, их эксперимент вышел за границы Пакистана.
Интересно, что вирус “Brain” являлся также и первым стелс-вирусом - при попытке чтения зараженного сектора он “подставлял” его незараженный оригинал.
В том же 1986 году программист по имени Ральф Бюргер (Ralf Burger) обнаружил, что программа может делать собственные копии путем добавления своего кода к выполняемым DOS-файлам. Его первый вирус, названный “ VirDem”, демонстрировал эту возможность. Этот вирус был проанонсирован в декабре 1986 на форуме компьютерного “андеграунда” - хакеров, специализировавшихся в то время на взломе VAX/VMS-систем (Chaos Computer Club in Hamburg).
1987
Появление вируса “ Vienna”. Копия этого вируса попадает в руки все того же Ральфа Бюргера, который дизассемблирует вирус и помещает результат в свою книгу “Computer Viruses: A High Tech Desease” (русский аналог - “Пишем вирус и антивирус” г. Хижняка). Книга Бюргера популяризовала идею написания вирусов, объясняла как это происходит и служила таким образом толчком к написанию сотен или даже тысяч компьютерных вирусов, частично использовавших идеи из этой книги.