VX Heavens

Library Collection Sources Engines Constructors Simulators Utilities Links Forum
Minimize
Bookmark

Диалог о науке в "ДиалогНауке"

Александр Прохоров
"Компьютер Пресс" N12, 1999
Декабрь 1999

[Вернуться к списку] [Комментарии (0)]

Российскому гражданину приятно было бы написать о том, в чем Россия "впереди планеты всей", а в области софта таких направлений не так уж и много. Поэтому обойти в спецвыпуске "Русский софт" тему "Российские антивирусы" никак нельзя.

Когда пишешь про русский антивирусный софт, тобой овладевает чувство двойной гордости: у нас не только вирусы крутые, у нас и антивирусы им под стать - и даже немножечко лучше.

Прежде всего я отправился в "колыбель" русского софта - в ВЦ Академии наук, в стенах которого зародилось немало славных программ, включая, кстати, знаменитый Тетрис; здесь же в компании "ДиалогНаука" в течение почти 10 лет писались и рассылались по стране наши "боевые" антивирусы.

Мне всегда нравилось название "ДиалогНаука"... В наш период коммерциализации, или, как его еще называют, период выживания, данная компания по-прежнему является в первую очередь пристанищем науки. И это чувствуется во всем, и прежде всего в лицах людей, которые вас встречают. А встречают вас интеллигентные люди, которые вынуждены заниматься бизнесом, чтобы не потерять связь с любимой наукой, а не бизнесмены, которые занимаются наукой ради денег. По крайней мере, у меня сложилось такое впечатление. А что еще нужно журналисту, если рядом есть люди, занятые Наукой и готовые вести с ним Диалог!

Пользуясь случаем, хочу поблагодарить своих собеседников Д.Н.Лозинского, С.Г.Антимонова, М.А.Скиду, В.С.Ладыгина за программы, которыми я пользовался последние годы, за теплый прием, что мне оказали в стенах компании, и за то терпение, с которым мне объяснили некоторые тонкости антивирусного мастерства. Что еще хотелось бы добавить: если обычно после интервью думаешь, как бы выбросить из воспринятого рекламу и оставить суть, то, покидая ВЦ Академии наук, у меня осталось впечатление, что в интервью слишком мало сказано о роли компании "ДиалогНаука" в деле защиты "русского софта". Поэтому от себя хочу добавить только один факт, о котором многие не знают. В 1999 году президент России Б.Н.Ельцин наградил Председателя ЗАО "ДиалогНаука" Лозинского Д.Н. орденом Дружбы народов "за заслуги перед государством, высокие достижения в производственной деятельности и большой вклад в укрепление дружбы и сотрудничества между народами".

Привожу свой диалог в "Диалоге" с небольшими комментариями.

Чтобы не отпугнуть ту часть аудитории, которой не интересно, как вирус проникает в BIOS, я начал с вопросов, равно понятных и интересных для всех читателей, - от математиков до налоговых инспекторов.

С такими вопросами я обратился к директору компании С. Г. Антимонову.

КомпьютерПресс: Сергей Григорьевич, когда возникла Ваша компания и как в ней появилось антивирусное направление?

Сергей Антимонов: АОЗТ "ДиалогНаука " было зарегистрировано в 1992 году. До этого в течение двух лет, с декабря 1989 года, мы имели статус Научного Центра "СП Диалог" при ВЦ Академии наук - то есть влялись департаментом "СП Диалог", который находился на территории ВЦ. Подобные департаменты открывались не только в ВЦ: в МГУ, в МИФИ, на физтехе, в Центральном экономико-статистическом институте. Тогда же я перешел из штата ВЦ Академии наук на должность директора этого центра. Таким образом, название "ДиалогНаука" имеет две даты рождения: как "СП Диалог" в 1989 году и как АОЗТ "ДиалогНаука" в 1992-м. В то время уже существовала программа Aidstest - одна из первых в нашей стране антивирусных программ, которая создавалась вначале одним человеком - Д.Н.Лозинским.

Антивирусное направление в нашей компании возникло именно после исторического знакомства с Д.Н.Лозинским, что произошло примерно восемь лет назад. С этого момента фирма "ДиалогНаука" взяла на себя всю работу по распространению программы Aidstest, по ее технической поддержке, и началась совместная работа над развитием проекта. И, наверное, благодаря такому сотрудничеству этот проект встал на столь прочные рельсы. В начале пути для компании это направление не было основным; в то время мы занимались как разработкой различных наукоемких проектов на базе тех ресурсов, которые мог предоставить вычислительный центр, так и продажей компьютеров. Постепенно доля антивирусного направления увеличивалась, со временем вытеснив все остальное.

КП: Программа Aidstest в то время была единственным антивирусным продуктом?

С.А.: Нет, в конце 80-х годов в СССР было около 10 проектов различных программистов, но уже через пару лет осталось только 3-4. Это связано с тем, что люди, начинавшие проекты, позднее либо меняли направленность своих интересов, либо были не в состоянии долго поддерживать и развивать свои продукты. Aidstest в этом плане уникальный проект - он честно отработал на рынке 10 с лишним лет.

КП: Какие программы появились вслед за Aidstest в Вашей компании?

С.А.: В 1991 году появился ревизор ADinf, в 1992 году-сторож Sheriff, в 1993-м - универсальный лекарь ADinf Cure Module, в 1994-м - полифаг нового поколения Doctor Web, в 1998-м - программа антивирусной проверки электронной почты - DSAVmail, в 1999-м - 32-разрядные антивирусы: ревизор ADinf, полифаг Doctor Web для Windows 95/98/NT, DOS/386/ OS/2, для сервера Novell NetWare, а также резидентный монитор SplDer Guard.

КП: Сколько человек сегодня работают в компании?

С.А.: В компании работают около 50 человек - некоторые из них по договорам; штатных сотрудников около 30.

Сегодня у нас две команды разработчиков: одна занимается ревизором диска ADinf, другая программой Dr. Web. Кстати, вторая группа разработчиков находится в Петербурге, где сейчас работают семь человек. При этом надо понимать, что эти цифры могут варьироваться; в ряде случаев приходится привлекать дополнительных специалистов на время решения каких-то специфических проблем.

Компьютерные вирусы
Программы, способные распространяться самостоятельно, дописывая свой код к файлам или в служебные области диска. По степени опасности вирусы могут быть подразделены на безобидные, просто тиражирующие себя вирусы-шутки, которые могут создавать нежелательные звуковые и видеоэффекты, и опасные, изменяющие или уничтожающие информацию владельца. В любом случае, даже если вирус не содержит деструктивных функций, он так или иначе влияет на работу системы - занимает место на диске, в оперативной памяти, может мешать работе других программ и т.п. Поэтому нужно понимать, что безвредных вирусов не бывает
Программные вирусы
Вирусы, которые заражают исполняемые файлы со структурой .corn, .exe, .bat, .ovi, .all
Макрокомандные вирусы
Вирусы, которые заражают документы в формате MS Office (WinWord, Excel, Access, Power Point)
Загрузочные вирусы
Вирусы, которые размещают свой код в boot-секторе дисков или дискет или в главной загрузочной записи первого жесткого диска (Master Boot Record)
"Троянский конь"
Программа, осуществляющая деструктивные и/или несанкционированные пользователем действия. При этом, как правило, "троянские" программы замаскированы под обычные приложения: игры, полезные утилиты и т.п.
Ревизор
Класс антивирусных программ, которые позволяют отслеживать изменения в файловой структуре и в самих файлах, специализируются на изменениях, вызванных вирусной атакой, и на восстановлении данных после такой атаки. Ревизор производит чтение диска на физическом уровне, что позволяет обнаруживать в том числе и полиморфные вирусы
Полифаг
Класс антивирусных программ, опознающих и лечащих известные им вирусы по характерным участкам кода.

Дале е я решил выяснить: кто пишет вирусы и зачем?

Этот вопрос я задаю основателю нашей антивирусной индустрии - председателю совета директоров ЗАО "ДиалогНаука" Дмитрию Николаевичу Лозинскому.

КомпьютерПресс: Дмитрий Николаевич, Вы, наверное, больше всех сталкивались с компьютерщиками, которые портят нам жизнь, и смогли понять, откуда они берутся и зачем пишут вирусы?

Дмитрий Лозинский: Кто пишет вирусы - вопрос отдельный, а вот присылают их, например, журналисты. Недавно был такой случай: пришел ко мне журналист, задавал вопросы, я ему на все честно ответил, и он мне, вроде как на проверку, написанное прислал, а вместе с письмом - приложение. Я ведь не сразу и нашел его, прочитал дома - все ответы верные, потом письмо на работу принес, смотрю - а там вирус.

КП: Ну, журналист, я думаю, случайно вирус "приаттачил", а кто же их все-таки пишет?

Д.Л.: Вы знаете, сейчас считается жутко крутым программировать на ассемблере, хотя на самом деле это самый простой язык программирования. Решать приличную задачу на ассемблере - все равно что грузовик ложкой грузить. Научиться программировать с помощью приличного языка и писать промышленно грамотные программы достаточно сложно - на порядок сложнее, чем написать что-либо на ассемблере. А среди ребят бытует мнение, что раз он научился что-то делать на ассемблере, все равно что, то он уже крутой. И вот такой самоучка в 13 лет научился программировать на ассемблере, родители и родственники на него молятся, а что ему делать - неясно, цели-то нет. Поставить он сам никакой задачи не может. Единственное, что он может - разобрать чужое и подправить; о чем он слышал, так это о вирусах. Вот так обычно и начинается: разберет чужой вирус, посмотрит, как он делается, если голова есть, может быть, начнет что-то в этом вирусе совершенствовать. Если очень умный, может сам сочинить вирус, но это редкость.

Причем обычно чем человек умнее, тем реже он снабжает свои вирусы деструктивными действиями.

Если хватает мозгов сделать что-либо оригинальное, то хватает также и ума не пакостить людям. А вот тот, кто максимум на что способен, - переписать вирус из книг. Была тут такая книга "Делаем вирус и антивирус"; так вот, человек, который может сделать что-либо по самоучителю, обычно хочет еще и навредить побольше.

КП: Скажите, раз данная книга приводит к столь неприятным последствиям, почему она свободно распространяется? Как я понимаю, это все равно что издать "пособие для начинающего домушника" или "100 советов, как отомстить человечеству"?

Д.Л.: Это просто кошмар! Кстати, недавно появилась еще одна книга не буду ее называть, чтобы не рекламировать.

И ведь урок уже получили, что нельзя такие вещи делать, но, видимо, уж очень хочется людям деньги заработать. А на чем - не важно.

КП: Могли бы Вы назвать те наши серьезные организации, которые серьезно пострадали из-за вирусов?

Д.Л.: Нет, я не стал бы говорить о подобных случаях, руководствуясь "врачебной" этикой. Проблемы ваших клиентов - это то, что доверяется врачу и, соответственно, не разглашается. Я по своему опыту скажу, что ни одна серьезная организация, ни один серьезный банк не стремится сообщать о фактах потери информации или о любых других сбоях в их работе. Репутация для банка - самое дорогое, что у него есть.

В целом могу сказать, что проблемы эти есть почти у всех. Просто нужно иметь гениального администратора, чтобы он в системе закрыл все дырки и, таким образом, исключил возможность попадания вируса в систему. У нас таких практически нет, да и в Штатах, кстати, тоже. Поэтому проблемы остаются.

КП: Дмитрий Николаевич, как я уже сказал, статья будет напечатана в спецвыпуске "Русский софт". Как бы Вы определили роль русского софта в антивирусной индустрии?

Д.Л.: Если посмотреть на ведущие антивирусные команды, то во многих, если не во всех, трудятся наши соотечественники. Причем именно на ключевых позициях. Я не знаю, в курсе ли Вы до недавнего времени одним из сильнейших антивирусов был Doctor Solomon, который сейчас купила компания Network Associates, так вот ведущим разработчиком этой программы был Дмитрий Грязнов из Переславля-Залесского.

Я думаю, что в большинстве крупных американских центров разработки не трудно найти сотрудника, с которым можно поговорить по-русски.

А это и неудивительно - в американских университетах математикой серьезно занимаются русские и китайцы; программисты тоже отнюдь не все американцы: очень велик процент русских, индусов, китайцев, даже пакистанцев.

Далее, чтобы не упустить вторую часть аудитории, которая помимо "бухгалтерии" и "психологии" ждет настоящей информации про вирусы и антивирусы, я сменил направленность диалога, перейдя к списку технических вопросов. Эти вопросы я адресовал более молодым членам коллектива, а именно Максиму Александровичу Скида и Виталию Сергеевичу Ладыгину.

КомпьютерПресс: Максим, скажите, пожалуйста, какой математический аппарат используется в антивирусных технологиях?

Максим Скида: В принципе, этот аппарат меняется вместе с эволюцией вирусов. Первые вирусы были простыми, и антивирусные программы не требовали специальной математики для их обнаружения. По мере того как вирусы усложнялись, требовались все более интеллектуальные программы для борьбы с ними. Иными словами, по мере того как появлялись новые технологии вирусов, усложнялся и математический аппарат, который использовался в создании антивирусов.

Первые антивирусные программы, и, в частности, Aidstest, - это так называемые полифаги, то есть антивирусные программы, которые знают какое-либо количество вирусов и умеют их лечить. Создаются эти программы следующим образом: разработчик получает код вируса, который прежде был статичен. Разработчик по этому коду строит некую уникальную маску - последовательность из 10 или, скажем, 15 байт - и вносит ее в базу данных антивирусной программы. Антивирусная программа проверяет файлы и, если находит данную последовательность, делает заключение, что файл инфицирован. Данная последовательность - ее называют сигнатура - выбирается так, чтобы она была уникальной для данного вируса и, соответственно, не встречалась в обычной программе или наборе данных, что позволяет надежно обнаруживать инфицированные программы. Для каждого вируса при его анализе строится процедура лечения, которая в дальнейшем и используется для лечения инфицированных этим вирусом программ.

Со временем понятие сигнатуры было расширено - теперь это уже не просто последовательность байтов, это некая более сложная маска, которая подходит для тех вирусов, которые размещают свой код не в одной части файла, а в разных, но общий сигнатурный принцип поиска вирусов оставался прежним.

КП: А что, для лечения современных вирусов этот принцип не применим?

М.С.: Те подходы, о которых я говорил, использовались большинством антивирусных программ вплоть до 1994 года - до того времени, когда появились первые "мутирующие" вирусы, то есть вирусы, которые меняют свое тело. При каждом заражении нового файла не приписывается стандартный код вируса, а прежде над ним производятся некоторые преобразования.

Поначалу это были процедуры очень примитивной шифровки. Но уже в этом случае сигнатура работать переставала. Вставала задача предугадать, какую последовательность приобретет вирус после его шифровки. Пока шифровка вируса была элементарной (а кстати, Д.Н.Лозинский является большим специалистом в области криптоанализа), иногда удавалось адаптировать сигнатурную схему и под эти случаи. Но когда стали появляться полиморфные вирусы, сигнатурный поиск стал неприменимым. (Полиморфизм - изменение кода программы по сложным алгоритмам, полностью меняющим код, но сохраняющим его функциональность. То есть код другой, но делает то же самое.) Теперь для поиска вирусов стал использоваться не сигнатурный метод, а так называемый метод эмуляции процессора.

КП: В чем же заключается этот метод?

М.С.: Для того чтобы полиморфный вирус обнаружить, нужно строить эмуляцию выполнения инфицированной этим вирусом программы.

Отследив достаточно долгий цикл выполнения этого файла, можно сказать, что этот исполняемый код делает на уровне системы, на уровне работы с памятью и т.д. Отсюда пошло название "эмулятор процессора". Идея заключается в том, что каждый файл проверяется на программной модели процессора для выяснения, что же именно файл делает, и только после этого проводится анализ. Эта первая технология стала общей для современных антивирусов. Поясню на примере: представьте себе, что мы разобрали по шагам все действия программы. Посмотрев на такую многоступенчатую работу, специалист, обладающий большим опытом (уровня как И.А.Данилов или Д.Н.Лозинский), скажет вам: "Да, это вирус". Задача именно в том, чтобы оформить это в виде некоего ИИ (искусственного интеллекта) и передать программе.

На практике при поиске полиморфного вируса производится не сигнатурный анализ с дешифровкой, а строится полная программная модель работы процессора - всех регистров, состояния памяти, состояния стека - и идет эмуляция выполнения программы, а в конце отсеивается все лишнее, то есть то, что не относится к реальным действиям, выполняемым анализируемой программой. Остается некий "сухой" остаток, который затем и анализируется. И вот те сигнатуры, которые применялись ранее, сейчас строятся по такому "сухому" остатку, то есть по тем действиям, которые производит вирус.

КП: Я слышал, что в современных антивирусных технологиях используются эвристические методы - в чем их суть?

М.С.: Второй механизм, который появился в середине 90-х годов и используется всеми современными антивирусами, - это эвристический анализ. Дело в том, что аппарат эмуляции процессора, который позволяет получить выжимку действий, совершаемых анализируемой программой, кроме возможности производить по этим действиям поиск известных вирусов также позволяет произвести некоторый анализ и ответить на вопрос: "вирус или не вирус?", что используется для определения новых, еще неизвестных вирусов.

КП: Если я правильно понимаю, это приводит к распространенной задаче распознавания и принятия решения?

М.С.: Совершенно верно. Выдвигая гипотезу, Вы должны обосновать ее и на основе этого сделать вывод: а может ли эта программа быть вирусом. В нашем случае принятие решения основывается на статистических подходах. В частности, командой разработчиков программы Dr. Web была проделана большая работа по сбору данной статистики. Была взята вся вирусная коллекция, которая сегодня существует, и разбита на классы: загрузочные вирусы, Windows-вирусы, макрокомандные вирусы, полиморфные вирусы и т.д., а затем по каждой подборке вирусов была создана статистика того, какие действия выполняются данными вирусами.

На основе этого и был построен эвристический анализатор, который до сих пор признается лучшим в мире. Действие его таково: при проверке файла, если в нем не найден известный вирус по базе данных, запускается эвристический анализ, который и дает заключение, может быть в этом файле вирус или нет.

При этом процент пропуска вируса, неизвестного текущей версии антивирусной программы, очень мал. Эта технология сейчас широко используется во всех антивирусных программах.

КП: Я видел в Вашем буклете упоминание о технологии SplDer Netting. Могли бы Вы прокомментировать, что это такое?

М.С.: Есть такой класс вирусов, как резидентные вирусы, то есть вирусы, которые инсталлируются в оперативную память и затем могут "на лету" заражать файлы и совершать другие вредоносные действия. Так вот, в составе Dr. Web32 для Windows есть резидентный сторож SplDer Guard. В рамках этой программы реализована технология SplDer Netting, разработанная в "Лаборатории Данилова", и пока нигде в мире нет аналогов. Эта технология предназначена для блокировки вирусной активности. Сам резидентный сторож SplDer Guard "на лету" проверяет все запускаемые программы и открываемые документы по вирусной базе Doctor Web'a. А технология SplDer Netting позволяет блокировать запуск неизвестных вирусов, которые не описаны в вирусной базе текущей версии Dr. Web. Основной принцип этой технологии следующий: по действиям, совершаемым запускаемой программой, собирается специальная статистика, по которой ведется эвристический анализ: может ли деятельность данной программы быть похожа на деятельность вируса? И затем принимается решение: вирус или не вирус. И если вирус, то работа программы блокируется. Тем самым не допускается совершение вирусом таких действий, как инсталляция вируса в память, заражение загрузочных секторов и системных ресурсов и т.п.

Данная технология долго разрабатывалась, но реализована в рамках готового коммерческого продукта была только летом этого года. И оказалось, что эта технология с 90-процентной надежностью блокирует как все известные вирусы, так и те, которые еще не появились.

КП: Как влияет появление новых компьютерных технологий - Интернета, электронной почты на методы распространения вирусов?

М.С.: Сегодня широко создаются вирусы, которые используют макрокомандный язык Visual Basic для Microsoft Office, что позволяет им работать в среде программ Word, Excel, Access, Power Point и заражать документы в формате этих программ.

С развитием Интернета и электронной почты появился новый тип вирусов, который называется "Интернет-черви". Обычно это вирус, который использует электронную почту для рассылки своих копий. Есть вирусы, которые просто высылают свою копию по электронной почте. Такие вирусы не получают широкого распространения, так как лишь очень малый процент пользователей сразу открывает непонятно от кого и зачем полученные документы. А есть такие вирусы, где используется больше изобретательности и фантазии. Последние высылают не просто вирус, а письмо, которое "убеждает" пользователя использовать полученный файл. Простое знание психологии группы пользователей позволяет "заставить" человека открыть полученный документ или запустить полученную по почте программу, что приведет к инфицированию компьютера. После этого процесс продолжается, и письма с вирусом отправляются по адресам из адресной книги только что зараженного компьютера.

В этом году имела место крупная эпидемия подобного почтового вируса. Вирус получил название Melissa - это был макрокомандный вирус, написанный для Microsoft Word из пакета Microsoft Office 97. При открытии зараженного файла система инфицируется, и вирус отрабатывает процедуру рассылки своих копий. Данная процедура отрабатывает один раз, выбирает из адресной книги установленного на зараженном компьютере почтового клиента 50 адресов и однократно рассылает письмо по всем этим 50 адресам. Автоматически формируется заголовок письма "От пользователя такого-то", куда подставляется, соответственно, имя пользователя данного компьютера, и письмо с вирусом рассылается его ни в чем не повинным коллегам. В письме сообщается: "Вот документ, о котором ты спрашивал... никому его не показывай ;-)". Получатель открывает документ, при этом отрабатывает вирусный макрос, и вирус рассылается на следующие 50 компьютеров.

В некоторых организациях, активно использующих почту в рабочем процессе, при попадании вируса буквально в первый же час в системе возникает очень большой трафик инфицированных писем. В результате происходит переполнение почтовых серверов, которые просто "падают". А поскольку, как правило, на этих же машинах кроме почтового сервера находится еще и файл-сервер, и сервер задач, то работа офиса парализуется. Когда в конце марта этого года разразилась эпидемия вируса Melissa, в течение нескольких дней целый ряд крупных организаций в Европе, а затем и в Америке и Канаде существенно пострадали.

КП: А за последнее время случались какие-либо серьезные эпидемии в мире?

М.С.: Да, сравнительно недавно, 26 апреля этого года, на многих компьютерах у нас в стране было зафиксировано появление, вернее проявление компьютерного вируса Win 95.CIH, который затирает данные во FLASH BIOS и уничтожает данные на жестком диске таким образом, что в большинстве случаев восстановить их невозможно. За последние несколько лет это был, пожалуй, самый неприятный пример массового срабатывания вируса.

В этот день, 26 апреля, за девять часов работы в компанию "ДиалогНаука" позвонили 500 человек и приблизительно 100 человек прислали письма.

Вирус срабатывал именно в заранее "спланированный" день. При работе 26 апреля в среде Windows 95/98 вирус записывает "мусор" во FLASH BIOS компьютера и затирает данные на дисках, записывая в них случайную информацию.

Вирус появился в 1998 году на Тайване и за год распространился по всему миру, соответственно, добравшись и до России. Кстати, среди постоянных клиентов "ДиалогНауки" пострадавших практически не было - так что есть над чем задуматься.

КП: Какой процент пользователей у нас защищается от вирусов и насколько успешно?

М.С.: В современном мире, если появляется какой-либо новый вирус, он довольно быстро попадает к разработчикам антивирусов и на него вырабатывается противоядие. Примерно через 6-7 месяцев этот вирус практически перестает встречаться в "живой" природе. Поэтому период, в течение которого от этого вируса стоит защищаться, составляет приблизительно полгода. По нашим оценкам, почти 90% компьютеров у нас имеет хоть какие-то антивирусы, а вот обновляются они очень редко, иногда тоже раз в полгода. Поскольку вирусы редко живут больше года, заразиться каким-либо старым вирусом довольно сложно. Существует международная программа обмена вирусными коллекциями между разработчиками антивирусных программ, поэтому из ведущих антивирусных разработок нужно выбрать только одну - остальные почти наверняка также справятся с любым вирусом, если он не совсем свежий. Таким образом, пользы от применения антивируса, которому больше полугода, практически нет. Можно в этом случае его вообще не использовать - вероятность того, что вам пришлют вирусы, которые он лечит, очень мала.

[Вернуться к списку] [Комментарии (0)]
deenesitfrplruua