поиск по сайту
Развитие средств антивирусной защиты
В.А.Конявский, директор ВНИИПВТИ, д.т.н.

Развитие средств антивирусной защиты

Информационные технологии как предмет защиты

В соответствии с [1], информация представляет собой результат отражения движения объектов материального мира в системах живой природы.

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

Преобразование сведений в сообщения и сообщений в сведения осуществляется человеком с использованием алгоритмов кодирования и декодирования поступившего набора знаков в элементы его <информационной> модели мира.

Из приведенного определения ясно, что компьютер не может обрабатывать информацию. В компьютере обрабатываются данные и сообщения в электронном виде.

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

Таким образом, в процессе информационного взаимодействия участвуют такие объекты, как:

1. компьютеры

2. сообщения

3. каналы (связи) и

4. информационные технологии.

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

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

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

Технология - это основная характеристика процесса производства того или иного изделия - продукта производства. Характеризуя процесс производства, технология представляет собой последовательность операций, которые выполняются с помощью средства труда над предметом труда. Результатом последовательных преобразований предмета труда является изделие - продукт производства. В полной аналогии с этим будем рассматривать информационную технологию - как последовательность операций создания информационного продукта - сообщений в электронной форме, электронных документов.

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

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

Очевидно, что основным вопросом в теории защиты информационных технологий будет вопрос эквивалентности.

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

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

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

Множество электронных сообщений (электронных документов) можно разделить на группы, например, по уровню секретности. На основе требований безопасности система определения эквивалентности двух произвольных информационных технологий будет наполнена некоторым набором правил. Таким образом, множество электронных сообщений (электронных документов) будет разделено на классы, каждый из которых описан уникальной системой правил эквивалентности объектов. Иными словами, будет формироваться вариационное исчисление: полный алфавит - множество операций класса; система эквивалентных преобразований  - правила сравнения информационных технологий.

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

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

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

Одним из следствий этого подхода является требование к преобразованиям информации в электронной среде: требование сохранения отношения упорядоченности - (вычислимый) изоморфизм отображения множества символов, рассматриваемого нами (маркированного) как <сообщение>. Таким образом, единый подход, основанный на установлении эквивалентности, может обеспечить как контроль объектов, так и контроль процессов (технологий).

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

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

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

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

Кроме того, подход, основанный на анализе не только статики, но и динамики (не только объектов, но и процессов) оказывается продуктивным и в других направлениях.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Литература

1. Стрельцов А.А. Правовое обеспечение информационной безопасности России: теоретические и методологические основы. -  Мн.: Беллитфонд, 2005. - 304 с. - (Библиотека журнала <УЗИ>; Кн.3)

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

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


Метки статьи:
вирусы и антивирусы
ФорумФорум
Форум ОКБ САПР
Вопросы специалистовВопросы специалистов
Вопросы, которые нам присылают, и наши ответы на них