Логико-аналитические методы анализа безопасности ПО.



Мы поможем в написании ваших работ!


Мы поможем в написании ваших работ!



Мы поможем в написании ваших работ!


ЗНАЕТЕ ЛИ ВЫ?

Логико-аналитические методы анализа безопасности ПО.



 

Логико-аналитические методы решают задачу в пространстве программ. Это означает, что для доказательства того, что программа безопасна необходимо доказать, что она не принадлежит множеству РПС(V).

В этом случае проблема неразрешимости множества нелегитимных отношений и проблема получения полного рабочего пространства программы сводятся к проблеме неразрешимости множества V. Эта проблема преодолевается

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

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

Более сложные методы используют формальные модели основанные на совокупности признаков, свойственных тому или иному разрешимому подмножеству РПС[19].

Формальная постановка задачи анализа безопасности логико-аналитическими методами может быть сформулирована следующим образом.

Выбрана некоторая система моделирования программ, в которой каждая программа может быть представлена своей моделью, обладающей множеством атрибутов А={аi | i=1..N}. В выбранной системе исследуемая программа р представляется своей моделью Мp , которая характеризуется множеством атрибутов Аp={аpi | i=1..N}. В рамках этой системы моделирования должно быть задано разрешимое подмножество РПС V*ÎV, обладающее определенной на множестве атрибутов А характеристической функцией Xv*(a1, a2..aN). Подмножество РПС V* может быть получено либо путем построения моделей всех известных РПС, либо путем порождения моделей всех РПС, возможных в данной системе моделирования.

Тогда задача анализа безопасности сводится к вычислению значения характеристической функции Xv* на множестве атрибутов программы р — если Xv* (ap1, ap2..apN) истинно, то программа р является РПС, принадлежащим подмножеству РПС V*(pÎV*), если ложно, то программа не является РПС, принадлежащим выделенному разрешимому подмножеству РПС V*(pÎV*).

Для проведения логико-аналитического анализа безопасности программы (см рис 2.9) необходимо, во-первых, выбрать систему моделирования программ. Существует много научных подходов к решению этой проблемы, например [18,20], большинство из которых в той или иной степени пригодны для описания РПС. На компьютерную программу можно смотреть с очень многих точек зрения — это и алгоритм, который она реализует, и последовательность команд процессора, и файл, содержащий последовательность байтов и т.д. Все эти понятия образуют классы моделей компьютерных программ, которые будут подробно рассмотрены в § 2.3.4. Можно выбрать модель любого уровня, необходимо только чтобы она позволяла построить разрешимое подмножество РПС и конструктивно определить его характеристическую функцию.

Во-вторых, необходимо построить характеристическую функцию, идентифицирующую в выбранной системе представления некоторое подмножество РПС. На этом этапе наиболее серьезной проблемой является создание формальных моделей хотя бы отдельных классов РПС. В работе[21] была предпринята попытка создания концептуальной модели одного из них — компьютерных вирусов. Механизм задания характеристической функции определяется способом представления модели и набором ее атрибутов. Наиболее перспективным здесь представляется использование семантических графов[22] и объектно-ориентированных моделей[23].

Затем надо позаботиться о средствах получения множества значений атрибутов для исследуемой программы. Это могут быть различные средства применяемые для анализа кода программ, их отладки, а также средства из арсенала хакеров, использующиеся для "взлома" программ[24].

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

         
   
Программа  
 
 
 
 
 
 
 
   
Вычисление значения характеристической функции для исследуемой программы Xv* (ap1, ap2..apN)


 


Рис. 2.9. Структурная схема логико-аналитических метод

исследования безопасности программ.

 

 



Последнее изменение этой страницы: 2016-08-14; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 35.173.234.169 (0.004 с.)