ПРИНЯТИЕ РЕШЕНИЙ В СИСТЕМЕ ЛОГИЧЕСКОЙ ИЗОЛЯЦИИ ВРЕДОНОСНОГО ПОВЕДЕНИЯ ПРОГРАММ

 

Ф.А. Косолапов, Таганрогский Государственный Радиотехнический Университет Россия,

г. Таганрог, felix-k@yandex.ru

The article describes the main ideas of the pending decision making mechanism and its implementation on the base of logical isolation technology.

Механизм принятия решений является важнейшей частью любой системы защиты от вредоносного поведения програм и от его реализации во многом зависит эффективность всей системы защиты в целом. В каждой конкретной системе решения определяются и принимаются по-разному, однако по содержанию может быть только два варианта решений, это либо “тревога”, либо “норма”. В системах контроля доступа или блокирования поведения необходимо принимать решения по поводу того, является ли данная последовательность действий приложения вредоносной или нет. В системах обнаружения вторжений решения принимаются по поводу нормальности или аномальности поведения на основе статистических данных. В антивирусных сканерах на основе эвристического анализа делается вывод, соответствует ли данная сигнатура вирусной сигнатуре или нет.
Не смотря на то, что бинарный характер работы механизма принятия решений является как бы имманентным для рассматриваемых систем защиты, он же является и главной проблемой таких систем. Чем более жесткая выбирается политика безопасности, тем больше ложных тревог генерируется системой. Как показывает статистика инцидентов безопасности CERT [1] пользователи склонны делать выбор в пользу простоты, чем безопасности. Следует также отметить, что бинарный механизм принятия решений не учитывает ситуации неопределенности, когда ни пользователь, ни система не в состоянии принять решение в принципе пока не выполниться какое-либо действие или не поступит новая информация.
Очевидно, что бинарный механизм принятия решений нуждается в пересмотре и доработке. В данной работе предлагается идея метатехнологии, которая может быть использована для модернизации механизмов принятия решений таким образом, чтобы они учитывали ситуации неопределенности и могли откладывать решения “на потом” без ущерба безопасности. В качестве метатехнологии предлагается использовать метод логической изоляции вредоносного поведения программ описанный в [2] и [3].
Для реализации отложенного механизма принятия решений и учета неопределенных ситуаций мы должны с одной стороны предоставить системе полную свободу действий до тех пор, пока не поступит информация на основе которой можно принять явное решение “норма” или “тревога”, с другой стороны необходимо изначально предполагать, что система может быть выведена из строя, а пользовательские ресурсы повреждены пока имеет место неопределенность. В этой связи необходимо предусмотреть средства поиска неисправностей и средства устранения последствий сбоев и восстановления работы.
С учетом сказанного результат системы защиты можно сформулировать как реализация доступности системы в условиях неопределенности. Данное определение нуждается в пояснениях. Результат всегда выражается в характерных для него терминах и параметрах. В данном случае были использованы термины доступности и неопределенности, суть которых необходимо раскрыть.
Понятие доступности системы используется в так называемых моделях доступности, которые могут быть описаны в общем виде следующей формулой:

D = Тп / (Тп + Тв).

В данной формуле коэффициент доступности системы D определяется отношением таких параметров как время поиска неисправности Тп и время восстановления системы Тв и может принимать значения от 0 до 1. В идеальном случае, когда время восстановления системы равно 0, коэффициент доступности равен 1, однако в реальных условиях данная ситуация невозможна, также как и время поиска неисправности не может быть равным нулю.
Следует отметить, что данная формула имеет ценность в теоретическом смысле, поскольку дает нам понимание проблемы и конкретное направление исследований. Однако она не может быть использована в практических целях, так как время поиска неисправности Тп и время восстановления системы Тв во многом обусловлены человеческим фактором.
Для перевода наших изысканий в область практики необходимо обратить внимание на другой важный параметр, обуславливающий временные параметры в нашей формуле. Таким безусловным параметром является количество информации, которое необходимо анализировать для поиска неисправности и восстановления системы или, говоря более конкретно, количество измененных файлов с начала рабочего сеанса до момента обнаружения факта неисправности.
Для иллюстрации рассмотрим следующую ситуацию. Пользователь скачал из интернет несколько новых программ и обновлений и хочет их протестировать, однако после установки и непродолжительной работы с новыми программами, пользователь обнаруживает, что его бизнес приложения перестали запускаться. Для выяснения причин неисправности необходимо найти все файлы, которые были изменены за время работы, идентифицировать те файлы, которые были повреждены, и восстановить их в рабочее состояние. Ясно, что чем меньше найдено измененных файлов, тем быстрее удастся идентифицировать неисправность. Однако даже в том случае, когда неисправность найдена, восстановить систему не всегда просто. Например, если повреждается какой-либо важный ключ реестра, то зачастую восстановление системы сводится к переустановке всей операционной системы. В результате, помимо нужного ключа реестра восстанавливается огромное количество совершенно нормальных файлов, которые в этом не нуждаются. Из этого примера мы видим, что важной задачей системы защиты является не только оперативный поиск неисправности, но и оптимальное восстановление системы после сбоя.
Как видно на рисунке 1 зависимость между временными параметрами Тп и Тв и количеством измененных файлов носит прямопропорциональный характер.

Рис. 1. Зависимость между временными параметрами Тп и Тв и количеством измененных файлов.

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

Рис. 2. Общая архитектура системы защиты от вредоносного поведения программ.

После того как мы рассмотрели предлагаемую метатехнологию с общих позиций и показали ее место в общей архитектуре системы защиты можно перейти к конкретному рассмотрению механизма принятия решений. В данной работе механизм принятия решений можно представить ввиде черного ящика, на вход которого поступает информация из внешней среды, а на выходе генерируется ответ, принимающий три возможных значения: “Норма”, “Тревога” и “Неопределенность”. Такой черный ящик играет роль классификатора, работающего по зарание заданному алгоритму, как показано на рисунке 3.

Рис. 3. Общая схема системы классификации или принятия решений.

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

Список литературы

    1. CERT/CC Statistics 2005.
    2. Косолапов Ф.А. “Метод логической изоляции поведения вредоносного программного кода”, конф: “Информационная безопасность”. Таганрог 1-6 июля 2004 г.
    3. Косолапов Ф.А. “Анализ общих путей эволюционирования систем блокирования поведения”, журнал: “Проблемы ИБ. Компьютерные системы”. №1 2005 г. Санкт-Петербург.