Тридцать лет назад советский программист впервые столкнулся с компьютерным вирусом и вынужден был прибегнуть к ответным мерам — создать первый отечественный антивирус AIDStest. Так было положено начало целой индустрии по созданию и обновлению антивирусов и антивирусных баз, без которых безопасная работа в сети сегодня немыслима. По просьбе N + 1 о первых вредоносных программах и первых средствах защиты от них вспоминает IT-аналитик компании «Dr. Web» Александр Вураско
В один из ноябрьских дней 1988 года компьютер, установленный в здании Госплана СССР (где в наши дни заседает Государственная Дума), стал вести себя необычно. Он вдруг перезагружался, причем делал это спонтанно, без видимых причин. Компьютер уже собирались отдавать в ремонт, решив, что в сбоях виновато «железо», но перед этим попросили взглянуть на машину начальника отдела программирования Вычислительного центра Госплана Дмитрия Лозинского.
Изучив файловую систему закапризничавшей машины, Лозинский пришел к выводу, что виновником ее нештатной работы является маленькая вредоносная программа, внедрившая свой код в исполняемые файлы.
Надо отметить, что в те годы в СССР компьютерные специалисты уже знали о возможном существовании компьютерных вирусов, но на практике с ними еще никто не сталкивался. Ну, а раз в стране не было вирусов, то не существовало и средств защиты от них.
Vienna.648, а именно так называлась вредоносная программа, проникнувшая в Госплан, была классическим файловым вирусом, заражавшим исполняемые COM-файлы. При запуске зараженного файла вирус искал доступные для заражения файлы не только в том каталоге, в котором он находился непосредственно, но и в каталогах, перечисленных в переменной окружения PATH, что позволяло ему, не тратя значительного времени, заражать системные файлы (путь к которым был, как правило, прописан в переменной).
@ECHO OFF
PROMPT $p$g
PATH C:\DOS;c:\nc;c:\drv
SET TEMP=C:\DOS
Пример типичного файла AUTOEXEC.BAT. Нетрудно увидеть, что в данной конфигурации системы вирус получил бы доступ к файлам из каталогов DOS, NC (Norton Commander), DRV.
Вирус имел длину 648 байт и был написан на ассемблере, как и большинство вредоносных программ 80-90-х годов. В процессе заражения программы он дописывал свое тело в конец COM-файла, а в начале размещал команду перехода на него, причем за один раз он заражал не более одного исполняемого файла. После выполнения вредоносных функций управление передавалось непосредственно программе-носителю.
Для того чтобы предотвратить многократное заражение программ, использовался любопытный механизм — зараженным файлам присваивалось невозможное время последней модификации – 62 секунды. При сканировании файловой системы вирус проверял время изменения файла и игнорировал программы с таким значением. Каждый шестой или восьмой файл, заражаемый вирусом, намеренно портился. В начало файла записывалась строка «EAF0FF00F0», что приводило к перезагрузке компьютера.
Несмотря на свою простоту, вирус неплохо размножался, что делало ручной поиск зараженных файлов весьма трудозатратным. Поэтому, проведя вечер за компьютером, Дмитрий Лозинский написал первую отечественную антивирусную программу — AIDStest, автоматизировавшую процесс поиска и лечения файлов, зараженных этим вирусом, и с ее помощью вылечил пострадавшую госплановскую машину.
Процесс поиска оказался довольно прост: в связи с тем, что код вируса был статичен и не изменялся от файла к файлу, антивирус проверял содержимое COM-файлов на наличие соответствующей сигнатуры, после чего «лечил» зараженный файл, удаляя из него информацию, дописанную вирусом.
В тот момент Лозинский еще не знал, что это на первый взгляд непримечательное событие, по сути, положит начало целой российской антивирусной отрасли, а его антивирус AIDStest на ближайшее десятилетие станет одной из самых популярных в нашей стране компьютерных программ. Вошел в историю и сам вирус Vienna.648. Сегодня его в шутку называют первым вирусом, преодолевшим железный занавес, а его различные модификации до сих пор можно встретить в архивах со старыми программами.
AIDStest быстро обрел популярность. Вслед за первой версией в том же 1988 году вышла вторая, получившая возможность обнаруживать вирус Cascade, вызывавший осыпание букв на экране монитора. По мере увеличения числа исследуемых Лозинским вирусов новые версии стали выходить все чаще и чаще.
Популярность антивируса отметили и вирусописатели. Так, одна из поздних модификаций уже известного нам вируса Vienna — Vienna.776 выводила на экран компьютера вот такой текст: «Я, кажется, подхватила какую-то заразу... Срочно звоните Дмитрию Николаевичу Лозинскому по телефону 292-40-76 (Москва) и приобретите ПРОГРАММУ AIDSTEST !!!»
Вирус Vienna
В 1988 году, когда появился Vienna.648, компьютерные вирусы уже существовали, мир пережил даже несколько эпидемий, но для платформы PC их вряд ли было больше десятка.
Вирус назван в честь города Вены — места его первого обнаружения. Он, несомненно, был написан на Западе и пришел в СССР, скорее всего, на дискетах из стран соцлагеря.
Первыми вирус обнаружили Франц Свобода и Ральф Бергер, причем каждый из них говорил, что получил вирус от другого. Автор вируса до сих пор не установлен.
Чуть позже Ральф Бергер опубликовал исходный код Vienna.648, что повлекло появление десятков, а то и сотен его клонов. Многие стали модифицировать этот вирус, иногда добавляя весьма вредоносные функции, вплоть до уничтожения всех данных на жестком диске жертвы заражения.
Так, Vienna.776 — детище начала 90-х годов, причем уже российского происхождения. Многие будущие отечественные вирусописатели начинали свой путь с модификации несложного исходного кода вируса Vienna.
Сейчас трудно представить себе существование антивируса в доинтернетную эпоху. Мы привыкли к тому, что антивирусная программа сама обновляет и себя, и свои антивирусные базы, да и вирусы сейчас распространяются в основном по сети. Но на рубеже восьмидесятых и девяностых годов прошлого века все было иначе.
Основным способом обмена информацией между пользователями были дискеты: люди делились нужными файлами, передавая их от одного человека к другому, а обладатели коллекций полезного софта пользовались в компьютерной среде заслуженным авторитетом. Более продвинутые пользователи, имевшие в те годы модем, могли позволить себе обмениваться файлами через фидо и многочисленные BBS-ки, но этот обмен не был централизован, и большинство людей в итоге получали заветную программу именно на дискете.
К тому же в те годы еще не существовало понятия «вирусная база», и для обновления антивируса необходимо было скачивать новую версию программы целиком, так что вопрос о том, «у кого AIDSTest свежее», был вполне актуальным. Самое удивительное, что такая схема распространения по тем временам была достаточно эффективной. Люди охотились за новым софтом, и бывало, что новые версии антивируса разлетались по стране быстрее вирусных эпидемий.
К 1990 году распространявшийся бесплатно AIDSTest стал одной из самых популярных компьютерных программ на территории СССР. Работа над новыми версиями и анализ многочисленных вирусов стали требовать все больше времени, поэтому Дмитрий Лозинский решил выпустить свой антивирус на рынок коммерческого программного обеспечения. Несмотря на это, AIDSTest не получил никаких средств защиты от копирования, и тысячи пользователей продолжили передавать его друг другу. К середине 90-х годов в России сложно было найти компьютер, на жестком диске которого не было бы заветного файла aidstest.exe.
Кто и зачем пишет вирусы
Хотя компьютерные вирусы всегда были способны нанести существенный вред зараженной машине и хранящимся на ней данным, изначально их создавали вовсе не для целенаправленного причинения вреда незнакомым людям. В 80-е и 90-е годы вирусописателями двигало желание показать свои умения или просто похулиганить. Никакого материального интереса при этом они не преследовали.
Так, программисты соревновались в том, кто напишет самый короткий работающий вирус. Часто они оставляли в теле программ свои подписи, а в 90-е годы некоторые авторы вирусов специально присылали свои «работы» Дмитрию Лозинскому или Игорю Данилову (автору Dr.Web), чтобы их вирусы попали в базы данных антивирусов. То, что созданный тобой вирус обнаруживается антивирусами, в то время было предметом гордости и поводом похвастаться перед друзьями.
Любопытно, что одна из крупнейших вирусных эпидемий 80-х годов, связанная с распространением «червя Морриса», изначально не должна была причинять вред компьютерам, но привела к разрушительным последствиям из-за наличия в коде программы незначительных ошибок.
Конечно, и тогда уже существовали по-настоящему вредоносные программы, например, уничтожавшие информацию пользователей. Но их писали исключительно из хулиганских побуждений.
Сегодня же изготовление вредоносных программ — это бизнес и ничего более. Начиная с середины 2000-х годов все усилия создателей вирусов направлены на извлечение выгоды.
Сегодня AIDSTest выглядит аскетично, я бы даже сказал архаично: никакого графического интерфейса, работа осуществляется исключительно из командной строки DOS. Но в начале 90-х годов такой подход был вполне традиционным. Несмотря на существование оболочек типа Norton Commander, облегчавших работу с файловой системой, и прочих программ, имевших дружественный интерфейс, значительное количество популярных утилит, например архиваторы, работали из командной строки. Необходимость ввода ключей и прописывания путей к файлам ничуть не пугала пользователей ПК. К тому же одним из достоинств антивируса AIDSTest был его малый размер, позволявший хранить его на системной дискете и в случае необходимости проверять с его помощью не желающий штатно загружаться или просто зараженный компьютер.
Пользователи ПК из 90-х годов, возможно, вспомнят, что вместе с антивирусом распространялся текстовый файл, содержащий описания вирусов, которые умел находить и обезвреживать AIDSTest. Судя по этому файлу, с фантазией у авторов вредоносных программ того времени все было в порядке. Вирусописатели нередко включали в код фрагменты, позволявшие идентифицировать автора, — своеобразный копирайт, передавали привет друг другу и авторам антивирусов, писали стихи и рисовали картинки. Многие сегодняшние айтишники познакомились с миром компьютерных вирусов именно благодаря этим описаниям.
AIDSTest просуществовал целое десятилетие, которое многие считают «золотым веком» компьютерных вирусов. Но, используя традиционные методы анализа содержимого файлов на предмет вирусных сигнатур, он не мог противостоять все более популярным полиморфным вирусам, постоянно изменяющим свой программный код. Поэтому в 1997 году Дмитрий Лозинский прекратил выпуск AIDSTest и присоединился к разработке более современного и технически совершенного антивируса Dr.Web.
Как ни парадоксально, AIDSTest может быть полезен и сейчас, спустя 20 лет после прекращения его разработки. Если вы любите играть в старые игры, запуская их через DOSBox, то имеете все шансы столкнуться с вирусными динозаврами, живущими в архивах старого софта. Современные антивирусы далеко не всегда помогут избавить вашу виртуальную машину или, тем более, купленную специально для этих целей «XT-шку» от какого-нибудь «Datacrime». Тут-то на помощь придет AIDSTest. Ну а если вы научились настраивать DOSBox, то командная строка вас точно не напугает!