Работа посвящена программной реализации атрибутного управления доступом (ABAC) в различных компьютерных системах (КС). Предлагается следующее расширение метода управления доступом из XACML: 1) для описания и задания политики атрибутного управления доступом используется созданный специали-зированный язык (Domain Specific Language (DSL)) ALFAScript, основанный на языке ALFA; 2) политика на языке ALFAScript компилируется в код на языке программирования Lua; 3) при поступлении запроса субъекта на доступ к сущно-сти строится соответствующий контекст (в терминах XACML), для которого про-исходит запуск кода на Lua в среде выполнения (runtime) механизма управления доступом КС; 4) результатом выполнения Lua-кода является решение о возможно-сти предоставления субъекту доступа к сущности. Модель взаимодействия, набор программных компонент, структур данных и инструментов, позволяющих раз-работчику самостоятельно реализовать ABAC с использованием данного метода независимо от целевой КС, предметной области, элементов управления доступом, их состава и структуры и составляют фрэймворк ABAC Engine. Новизна пред-лагаемого подхода заключается в использовании языка Lua для интерпретации политики управления доступом в среде этой КС. Использование предложенного метода упрощает и ускоряет реализацию атрибутного управления доступом.Ключевые слова: управление доступом, ABAC, XACML, ALFA, Lua.Управление доступом является одним из основных механизмов безопасности ком-пьютерных систем. Механизмы управления доступом реализуются не только в опера-ционных системах (ОС) и системах управления базами данных (СУБД), но и в веб-приложениях, межсетевых экранах прикладного уровня, ERP-системах, прикладном программном обеспечении и т. п. При этом на практике часто возникает ситуация, когда разработчик, реализовав корректный механизм управления доступом на одном языке программирования, вынужден разрабатывать тот же самый механизм на другом языке программирования. Данная задача возникает, например, в случае прототипиро-вания программного продукта на языке Python с последующим его переписыванием на языке C++ или в случае, когда механизм управления доступом был реализован для защиты СУБД, а затем его необходимо адаптировать для защиты веб-приложе-ний [1,2].С точки зрения программной разработки хотелось бы иметь средство, удовлетво-ряющее следующим требованиям: 1) политика безопасности управления доступом в КС должна описываться на DSL-языке, позволяющем использовать типовые элементы управления доступом (на-пример, роли, привилегии, права и т. д.); 2) политика и механизм управления доступом не должны быть привязаны к пред-метной области конкретной защищаемой КС (например, к веб-приложению, СУБД, ОС); 3) реализация механизма управления доступом не должна быть жёстко привязана к среде выполнения и языку программирования. Принципы атрибутного управления доступом [3] наиболее близко соответствуют данным требованиям. Во-первых, атрибутное управление доступом отличается от дру-
Математические основы компьютерной безопасности 85 контроля, а обнаружение скрытого канала, реализованного подобным образом, так-же затруднительно, так как им используется только стандартная функциональность, предоставляемая API сервиса. Теоретическая пропускная способность такого скры-того канала составляет 1 бит за (L + S) секунд, где L время, необходимое s 3 для выполнения запроса к e 3 , а S время, уходящее на обработку запроса на серверах хостинга.Рассмотрим пример реализации предложенного метода на примере облачно-го сервиса хранения файлов Google Drive. Субъект s 1 через заданные промежут-ки времени осуществляет чтение одного бита из сущности e 1 и, в зависимости от полученных данных, совершает или не совершает POST-запрос e 2 по адресу www.googleapis.com/drive/v2/files/fileId/touch, где fileId идентификатор сущ-ности e 3 . Данный запрос обновляет время последней модификации сущности-ресур-са e 3 . В тот же временной интервал субъект s 3 выполняет GET-запрос по адресу www.googleapis.com/drive/v2/files/fileId и получает ответ e 4 , содержащий значе-ние entity-tag сущности e 3 . Субъект s 3 записывает в e 5 бит 1, если ресурс был моди-фицирован с момента последнего запроса, и бит 0 в противном случае.В результате тестирования реализации скрытого канала через сервис Google Drive достигнута пропускная способность 3 бит/с при точности передачи 99,8 %, где под точностью понимается отношение числа правильно переданных бит к общему числу бит. Установлено, что основным фактором, влияющим на пропускную способность реализации, является время обработки запроса серверами сервиса. Таким образом, можно говорить о достижении в эксперименте максимальной пропускной способности канала. Предлагается метод контроля целостности cookie в веб-приложениях, построен-ный на основе криптографических протоколов с ключевыми хеш-функциями. Метод может быть использован для реализации неинвазивных механизмов за-щиты от атак на веб-приложения через cookie.Ключевые слова: криптографические протоколы, хеш-функции, веб-приложе-ния, web cookie.Термином cookie в протоколе HTTP обозначается набор данных, хранимый веб-клиентом (веб-браузером) и отправляемый на сервер в специальном заголовке Cookie в HTTP-запросах. Cookie первоначально могут быть сгенерированы на веб-сервере и переданы веб-клиенту в заголовке Set-Cookie в HTTP-ответе либо сгенерированы
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.