Введение 3
Глава 1 Теоретические аспекты системы разграничения доступа на основе атрибутов 6
1.1 Конструктивные особенности атрибутной СРД 6
1.2. Рассмотрение стандарта XACML 10
1.3. Анализ научной литературы по теме исследования 17
Глава 2 Разработка подхода к генерации тестов на основе сильного мутационного тестирования 22
2.1 Формулирование модели неисправностей 22
2.2 Условия обнаружения ошибок в политиках контроля доступа 24
2.3 Применение условий обнаружения ошибок к операторам мутации 25
2.4 Разработка сценариев для генерации тестов с учётом модели
неисправностей 48
Глава 3 Постановка эксперимента и анализ результатов 56
3.1 Пререквизиты для выполнения эксперимента 56
3.2 Анализ результатов эксперимента 58
Заключение 66
Список используемой литературы 67
Приложение А Скомбинированное ограничение для обнаружения ошибок
типа «ЦПрИ» 71
Приложение Б Описание метода ruleReachability для алгоритма генерации тестов 72
Приложение В Описание метода rulePropagation для алгоритма генерации тестов 73
Системы разграничения доступа обеспечивают контроль за тем, к каким ресурсам в системе имеют доступ те или иные пользователи. Такие системы являются одним из наиболее важных компонентов безопасности. Политики разграничения доступа, в свою очередь, применяются для того, чтобы упростить управление и обслуживание таких систем. Некорректные политики, неправильная конфигурация или недостатки в реализации программного обеспечения могут привести к серьезным уязвимостям, которые напрямую влияют на надежность СРД. Зачастую конфиденциальность и безопасность системы нарушаются именно из-за некорректной конфигурации политик разграничения доступа, а не из-за сбоя криптографических примитивов или протоколов. Эта проблема становится все более серьезной по мере усложнения программных систем, которые развертываются для управления большим количеством конфиденциальной информации и ресурсов, организованных в сложные структуры. Верификация, то есть выявление несоответствий между спецификациями политик и их предполагаемым назначением имеет решающее значение, поскольку правильная реализация и применение политик приложениями основывается на предпосылке, что спецификации политик верны. В особенности данная проблема является актуальной для систем разграничения доступа на основе атрибутов - одной из наиболее современных моделей, и в то же время во многих отношениях находящейся на исследовательском уровне вследствие своей новизны. Очевидным способом верификации является тестирование политик, основанных на данной модели. С его помощью возможно обнаружить противоречия в логике конструирования политик для дальнейшего устранения данных противоречий.
Объектом исследования магистерской диссертации является система разграничения доступа на основе атрибутов.
Предметом исследования является тестирование политик разграничения доступа на основе атрибутов...
В результате выполнения данной работы был представлен подход к сильному мутационному тестированию политик стандарта XACML 3.0. Кроме того, на основе модели неисправностей были сформулированы условия обнаружения ошибок. С одной стороны, данные условия позволили сгенерировать тестовые наборы для рассмотренных политик. С другой стороны, в ходе эксперимента с их помощью стало возможным оценить способность обнаружения ошибок у существующих тестовых методов. Кроме того, рассмотренные в данной работе условия ограничения ошибок не ограничиваются существующими операторами мутации. Потенциально они обеспечивают теоретическую основу для разработки новых методов и работы с неисправностями, создаваемыми новыми операторами мутации.
Далее был разработан подход для генерации набора тестов, с помощью которого были проведено сравнение эффективности методов тестирования XACML политик. Результаты эксперимента продемонстрировали, что метод MC/DC по эффективности, а также по индикатору оценки мутации, приближен к методу сильного мутационного анализа (СМА). СМА, хотя и имеет 100% значение оценки мутации, видится неприменимым на практике для больших политик вследствие значительного количества времени, требуемого на генерацию тестов. В то же время остальные рассмотренные в ходе эксперимента методы, будучи масштабируемыми, не могут во всех случаях обеспечить высоких показателей обнаружения ошибок. Следовательно, если необходимо максимально возможное обнаружение ошибок, и размер тестового набора не играет большого значения, возможно использовать набор тестов, генерируемый методом неоптимизированного СМА. В этом видится компромисс между способностью тестов обнаруживать неисправности, размером тестового набора и временем генерации тестов.