Сегодня исполнилось 27 лет советскому антивирусу Aidstest. Легендарная программа была написана 17 ноября 1988 года Дмитрием Николаевичем Лозинским во время его работы в Главном вычислительном центре Госплана СССР, где был обнаружен вирус Vienna.

Про компьютерные вирусы к тому времени советские программисты уже слышали, но не сталкивались с ними на практике. Сам термин «вирус» был ещё новым и обсуждали его на уровне теоретически возможных алгоритмов или единичных курьёзов. К примеру, когда в 1987 году самораспространяющаяся программа братьев Алви вышла из-под контроля, её эффект назвали эпидемией компьютерного вируса Brain. Вместо того, чтобы наказать местных софтверных пиратов в Пакистане, она заразила свыше 18 тысяч компьютеров по всему миру.

Первая версия Aidstest.
Первая версия Aidstest.

На следующий год в Австрии появились сообщения о нерезидентном вирусе, заражающем файлы с расширением .com. Он был написан на Ассемблере, поэтому весь его код умещался в 648 байт. Несмотря на изолированность компьютеров (Релком и Фидонет появились в СССР только в 1990 году), Vienna быстро распространялся через заражённые дискеты. Дмитрию Лозинскому предстояло найти и обезвредить вирус, заразивший ГВЦ.

На счастье, обнаружить его присутствие в системе удавалось даже невооружённым глазом. Внимание на себя обращала необычная метка, которую он ставил на заражённые файлы. Время их создания менялось на невозможное: xx минут, xx часов и 62 секунды.

Вирус Vienna стал хорошим стимулом и доказательством реальности угрозы нового типа. Он был удалён, но мог вернуться вновь, причём – в другом обличии. Его исходный код опубликовал в своей книге «Computer Viruses: A High Tech Desease» один из первых вирусных аналитиков Ральф Бургер, а затем это же сделал автор книги «Библия Хакера 2» Бернд Роберт Фикс и другие.

Одна из последних версий Aidstest.
Одна из последних версий Aidstest.

Модификации Vienna посыпались как из рога изобилия. Некоторые из них вполне могли стать основой самостоятельных штаммов. На конференциях появились и первые сообщения о принципиально новых вирусах. К примеру, Suriv-2 умел заражать не только .com, но и .exe файлы.

Для защиты от вирусов требовалось устранять очаги инфекции – регулярно запускать Aidstest на разных компьютерах и развивать утилиту. Со временем она научилась определять другие вирусы, из-за чего её прозвали полифагом. Под влиянием Aidstest с конца восьмидесятых – начала девяностых свои варианты полифагов пишут Олег Котик, Игорь Сысоев, Игорь Данилов и другие отечественные разработчики.

Дмитрий Лозинский (в центре) с Евгением Касперским (слева) и Дмитрием Мостовым (справа).
Дмитрий Лозинский (в центре) с Евгением Касперским (слева) и Дмитрием Мостовым (справа).

Количество вирусов быстро росло, и бороться с ними программистам-одиночкам становилось всё труднее, как и поддерживать свои творения бесплатно. Первого октября 1990 года Дмитрий Лозинский передал права на продажу Aidstest компании «ДиалогHаука». Официально версия № 44 стоила 3 рубля, но реально утилита распространялась в России и за рубежом (под названием V-Hunter) по разным каналам – в том числе и по-прежнему бесплатно.

На первой Всесоюзной конференции “Методы и средства защиты от компьютерных вирусов в MS-DOS” программа Aidstest была признана самой популярной антивирусной программой в СССР.

Через три года после выхода первой версии Aidstest был установлен рекорд скорости выпуска обновлений – два раза в неделю. Спустя ещё год появилась услуга “срочный заказ”. Алгоритм для удаления нового вируса по обращению клиента добавлялся в течение суток. Это был очень серьёзный шаг, поскольку такого понятия как «вирусные базы» на тот момент ещё не было. Все процедуры поиска и лечения для каждого вируса добавлялись вручную в тело самой программы.

Самокритичное сообщение в конце проверки Aidstest.
Самокритичное сообщение в конце проверки Aidstest.

Дмитрий Лозинский отмечает, что по-настоящему интересных вирусов в то время было очень мало. Например, в начале 1994 года пользователи из Великобритании сообщили о полиморфном вирусе SMEG.Pathogen, который не могли полностью вычистить антивирусы.

В сентябре того же года началась эпидемия файлово-загрузочного вируса “3APA3A”, внедрявшегося в BS активного раздела диска и создававшего заражённую копию системного файла IO.SYS. Удалить его стандартными средствами было невозможно даже с загрузочной дискеты.

Основная же масса вирусов писалась по давно известным шаблонам, но даже в них авторы умудрялись делать грубые ошибки. Добавлять их в базы для Лозинского и его коллег было рутиной, а не битвой интеллектов. «Мне в жизни чаще удавалось свалить скучную часть работы на других. Зато борьба с вирусами навалила на меня огромный объем самой нудной работы», – сетовал он.

Aidstest - обнаружение вируса Burglar-1150.
Aidstest – обнаружение вируса Burglar-1150.

Продолжая выпускать новые версии Aidstest, Дмитрий Лозинский стал председателем совета директоров «ДиалогНаука». На одной из конференций он познакомился с Игорем Анатольевичем Даниловым и помог ему ускорить развитие перспективной программы Doctor Web.

Doctor Web 1.04.
Doctor Web 1.04.

В четвёртой версии «полифага нового поколения» они совместно реализовали внешнюю базу с описанием известных вирусов, а затем разработали частично автоматизированный метод добавления новых сигнатур, который повысил скорость реагирования.

С появлением в 1992 году полиморфных вирусов актуальность Aidstest стала падать. Вскоре он стал распространяться как бесплатная утилита в составе антивирусного комплекта компании «ДиалогHаука». В нём также находился полифаг Doctor Web Игоря Данилова и дисковый ревизор ADInf Дмитрия Юрьевича Мостового, чья реклама была встроена в Aidstest.

Реклама ADInf в Aidstest.
Реклама ADInf в Aidstest.

Благодаря резидентному модулю DrWeb мог препятствовать заражению, чем принципиально отличался от сканера Aidstest, определявшего и лечившего уже инфицированные файлы. Также у него был мощный эвристический эмулятор, который как раз помогал в борьбе с полиморфными вирусами. Программы из набора от «ДиалогНаука» стали прообразом трёхкомпонентной системы защиты: сканера с эмулятором, модуля резидентного мониторинга и дискового ревизора.

Вместе они справлялись с большинством существовавших в диком виде вирусов и даже противостояли неизвестным модификациям, обнаруживая характерные изменения. Однако успешность определения вируса часто зависела от непрерывности контроля за состоянием компьютера и скорости обновления баз. При получении управления резидентный полиморфный вирус Alias.6943 блокировал запуск Aidstest и Dr.Web, а Asch.1121 устанавливал таймер на дисковое прерывание INT 13h и препятствовал работе ADInf.

Сегодня Aidstest сама определяется как вирус.
Сегодня Aidstest сама определяется как вирус.

Последняя версия программы Aidstest вышла 27 сентября 1997 года. Её номер 1723 отражает количество детектируемых вирусов. Сейчас она сама определяется как вирус пятью сканерами, и это ложноположительное срабатывание по какой-то причине остаётся без исправления уже не первый год.

C 2004 года Дмитрий Лозинский перешёл в компанию «Доктор Веб», где занял пост заместителя генерального директора. Он перестал заниматься изучением кода вирусов, оставшись в роли наставника для молодых аналитиков.