Контрольно-испытательные методы анализа безопасности ПО



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


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



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


ЗНАЕТЕ ЛИ ВЫ?

Контрольно-испытательные методы анализа безопасности ПО



Контрольно-испытательные методы решают задачу анализа в пространстве отношений. Единственный способ решения задачи в этом случае — это проведение испытаний с целью получения рабочего пространства программы αp* и проверка легитимности отношений, принадлежащих этому множеству. Однако, при этом возникают проблемы, обозначенные в § 2.3.2 — неразрешимость множества нелегитимных отношений βри невозможность получить все элементы αp*.

 

В этом случае проблема разрешимости множества нелегитимных отношений преодолевается путем установления жестких ограничений на рабочее пространство отношений исследуемой программы в виде требований безопасности, ограничивающих рабочую область программы отношениями, легитимность которых для данной программы и ВС очевидна —те множество нелегитимных отношений βраппроксимируется объемлющим его разрешимым множеством запрещенных отношений αpCs, αp Cs Éβр(см рис 2.7).

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

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

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

 

Рассмотрим формальную постановка задачи анализа безопасности ПО для решения ее с помощью контрольно-испытательных методов.

Пусть задана программа р и ВС S, в которой она будет функционировать. Пусть ВС S содержит множество критичных для ее безопасности объектов Сs. Тогда требования по безопасности, которым должна удовлетворять программа могут быть заданы в виде множества запрещенных отношений р с объектами Cs— αpCs. Элементы этого множества должны быть заданы либо в явном виде с помощью перечисления, либо в виде набора правил, позволяющего определить принадлежность отношения к этому множеству. Множество Cs включает в себя объекты всех типов — ресурсы, данные и программы — Cs=RSc⋃DSc⋃PSc. Необходимо отметить, что состав этих множеств зависит от используемого в ВС аппаратного и программного обеспечения (в первую очередь от операционной системы), решаемых в ней задач, назначения исследуемой программы, и определяется путем экспертных оценок.

 
 

 


Обозначения:

Полное множество отношений доступа к объектам ВС α

Несанкционированный доступ γр

Нелегитимный доступ βр

Запрещенный доступ αpСs

Рис. 2.7. Нелегитимный несанкционтрованный доступ и запрещенный доступ. αp* βр γр

 

 

В соответствии с предложенной в § 2.3.1 объектно-концептуальной моделью РПС, множество αpCs состоит из трех подмножеств: αpCs= UpCs ⋃RpCs ⋃WpCs ⋃EpCs где

UpCs ={up(x)|xÎRSc} — ограничения на доступ к ресурсам. Элементы этого множества выражают запрет на использование данной программой ресурсов аппаратуры и операционной системы, например, оперативной памяти, процессорного времени, ресурсов ОС, возможностей интерфейса и др.

RpCs ={rp(x) | xÎDSc}, WpCs = {wp(x) | xÎDSc}— ограничения на доступ к объектам, содержащим данные(информацию). Это множество запрещает доступ программе к определенным областям памяти, файлам, базам данных и т. д.

EpCs ={e(x) | xÎPSc} — ограничения на запуск программ. Эти ограничения в основном имеют смысл для многозадачных, многопоточных, а также распределенных систем и принимают форму запретов на порождение процессов, установление сеансов связи и т.д.

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

Тогда задача анализа безопасности формализуется следующим образом:

Для того чтобы доказать, что программа р безопасна для применения в ВС S достаточно доказать, что рабочее пространство программы р в ВС S не содержит запрещенных

отношений, т.е. αp* ∩ αpCs = ∅

 

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

— зафиксирована попытка установления запрещенного отношения, принадлежащего множеству αpCs,—программа р не удовлетворяет требованиям по безопасности, предъявляемым для эксплуатации в ВС S;

— исчерпан лимит тестовых испытаний, отведенный для проведения исследований, — необходимо продолжить испытания, или применить для оценки безопасности программы р вероятностные методы;

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

Схема анализа безопасности программ контрольно-испытательными методами представлена на рис. 2.8.

Программа р  

 

 
 

 


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

 

             
   
 
 
 
   
Проверка наличия отношений из αp в множестве αpCs и других условий завершения процесса анализа
 
   

 

 


Рис 2.8. Схема анализа безопасности ПО с помощью контрольно—испытательных методов

 



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

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