Доклады, выступления, видео и электронные публикации

О классификации средств антивирусной защиты

В.А.Конявский, директор ВНИИПВТИ, д.т.н.

Состояние понимания любого сложного явления можно (по-возрастающей) характеризовать как синкретическое, аналитическое или синтетическое. Так развивается ребенок - ощущая поначалу себя единым целым с родителями, и лишь потом, научившись врать, становится личностью. Так развивается общество - раскрашивая охрой стены пещеры, и лишь потом из этого занятия выделяются религия и искусство. Так развиваются естественнонаучные дисциплины - от простейших описаний и выводов (метеоритов быть не может, потому что на небе камней нет), до Гегелевской триады «тезис-антитезис-синтез», Анри Пуанкаре и теории относительности.

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

Да что языки - даже в пределах одного языка строение фраз может носить явно выраженные признаки синкретизма («Несётся»), аналитизма («У меня у подруги у сестры у ребёнка :») или синтетизма («У ребёнка сестры моей подруги :»)!

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

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

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

Научным подходом является подход, основанный на анализе не только статики, но и динамики (не только объектов, но и процессов). Вполне естественным является то, что научный подход  оказывается продуктивным и в анализе состояния антивирусной защиты[1]. Каких только классификаций средств защиты не приходится видеть! Как правило, с научной точки зрения ни одну их них классификацией назвать нельзя, так как выполняются они по разным основаниям. Что же является причиной? Думается, то, что во внимание не принимается динамический этап существования информационных технологий. В результате классификации пересматриваются каждый раз с появлением новых антивирусных программ, а отнесение антивирусной программы к тому или иному виду носит волюнтаристский характер, не говоря уже о том, что неверные классификации неприменимы для прогноза развития и планирования работ.

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

Анализ данных - к этому классу антивирусных средств относятся «ревизоры» и «полифаги».

«Ревизоры» анализируют последствия от деятельности компьютерных вирусов и других вредоносных программ. Последствия проявляются в изменении данных, которые изменяться не должны. Именно факт изменения данных является признаком деятельности вредоносных программ с точки зрения «ревизора». Другими словами, «ревизоры» контролируют целостность данных, и по факту нарушения целостности принимают решение о наличии в компьютерной среде вредоносных программ.

«Полифаги» действуют по-другому. Они на основе анализа данных выделяют фрагменты вредоносного кода (например, по его сигнатуре), и на этой основе делают вывод о наличии вредоносных программ. Удаление или «лечение» пораженных вирусом данных позволяет предупредить негативные последствия исполнения вредоносных программ. Таким образом, на основе анализа «в статике» предупреждаются последствия, возникающие «в динамике».

Схема работы и «ревизоров», и «полифагов» практически одинакова - сравнить данные (или их контрольную сумму) с одним или несколькими эталонными образцами. Данные сравниваются с данными.

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

Несколько по-иному работают антивирусные средства, основанные на анализе процессов.

«Эвристические анализаторы» также как и ранее, анализируют данные (на диске, в канале, в памяти - это в данном случае несущественно). Принципиальное отличие состоит в том, что анализ проводится в предположении, что анализируемый код - это не данные, а команды. Еще раз напомним, что в компьютерах с фон-Неймановской архитектурой данные и команды неразличимы, в связи с этим при анализе и приходится выдвигать то или иное предположение.

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

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

Подведем итог. Анализу можно подвергать данные и процессы. Данные в нашем случае можно характеризовать с помощью понятия «целостность». Факт нарушения целостности устанавливают «ревизоры». Конкретный внедренный код, содержание модификации, выявляют «полифаги». Других вариантов нет, и, следовательно, развитие данного направления будет идти по пути совершенствования уже используемых механизмов.

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

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


[1] Конявский В. А., Лопаткин С. В. Компьютерная преступность. В 2-х томах. Т. 1. - М.: РФК-Имидж Лаб, 2006. - 560 с.

[2] Конявский В. А., Гадасин В. А. Основы понимания феномена электронного обмена информацией. Мн.: Беллитфонд, 2004. - 282 с. - (Библиотека журнала «УЗИ»; Кн. 2).

Автор: Конявский В. А.

Дата публикации: 01.01.2008

Библиографическая ссылка: Конявский В. А. О классификации средств антивирусной защиты // Information Security/Информационная безопасность. М., 2008. № 3 (апрель-май). С. 42–43.


Метки документа:
вирусы и антивирусы  

Scientia potestas est
Кнопка связи