Контакты
Подписка
МЕНЮ
Контакты
Подписка

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

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

В рубрику "Оборудование и технологии" | К списку рубрик  |  К списку авторов  |  К списку публикаций

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

Валерий КОНЯВСКИЙ, директор ВНИИПВТИ, доктор технических наук

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

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

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

Классификация

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

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

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

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

Анализ данных

В полном соответствии с этим антивирусные средства можно разделить на две большие группы - анализирующие данные и анализирующие процессы.

К анализу данных относятся "ревизоры" и "полифаги".

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

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

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

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

Анализ процессов

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

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

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

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

Подведем итог

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

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

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


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

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

Опубликовано: Журнал "Information Security/ Информационная безопасность" #3, 2008

Приобрести этот номер или подписаться

Статьи про теме