logo
ИнфСборник по ЗИ и ИБ

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

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

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

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

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

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

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

В соответствии с предложенной объектно-концептуальной моделью РПС, множество ApCsсостоит из четырех подмножествApCs=UpCsRpCsWpCsEpCs, где

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

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

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

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

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

Для того чтобы доказать, что программа р безопасна для применения в ВС Sдостаточно доказать, что рабочее пространство программы р в ВС Sне содержит запрещенных отношений, т.е. Ap* ApCs=0.

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

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

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

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