Разработка ролевой модели доступа к объектам и сервисам веб-приложения на примере системы коллективного наполнения контентом
Автор: Хрущев Д.Г., Лясин Д.Н.
Журнал: Форум молодых ученых @forum-nauka
Статья в выпуске: 6 (10), 2017 года.
Бесплатный доступ
В данной статье рассматривается проблема управления доступом к сервисам веб-приложений. Проводится обзор существующих моделей управления доступом, описание бизнес процессов организации, занимающейся публикацией новостей. Описывается интерфейс программной системы.
Управление доступом, ролевая модель, управление контентом
Короткий адрес: https://sciup.org/140279000
IDR: 140279000
Текст научной статьи Разработка ролевой модели доступа к объектам и сервисам веб-приложения на примере системы коллективного наполнения контентом
Безопасность – один из наиболее важных и сложных аспектов построения и функционирования современных информационных систем: от отдельно взятого приложения до сверхпроизводительного компьютерного кластера. Тема безопасности пронизывает весь жизненный цикл программного продукта: от зарождения идеи до вывода системы из эксплуатации.
Информационную безопасность разделяют на три ветви: обеспечение целостности, доступности и конфиденциальности данных и поддерживающей их инфраструктуры. Целостность можно определить, как достоверность и непротиворечивость информации. Типичный пример – корректное проведение транзакций в банке: переводимая сумма, списанная с одного счета, либо обязательно переходит на другой счет, либо вовсе не списывается с первого.
Доступность – обеспечение доступа к информации по мере необходимости. Примером нарушения доступности информации может послужить физическое повреждение каналов связи с источником запрашиваемых данных.
Конфиденциальность – защита от несанкционированного доступа к информации. Например, в результате взлома пароля электронной почты личные данные пользователя попали в руки злоумышленника.
Политики контроля доступа (политики разграничения доступа) – это набор правил, определяющих и контролирующих действия каждого пользователя в системе. Политики основаны на моделях контроля доступа – математически формализованных системах, включающих в себя субъекты (пользователи/ процессы), объекты (данные/ документы/ файлы) и правила доступа, по которым вычисляется возможность выполнения субъектом набора операций над объектом. Среди моделей контроля доступа можно выделить три наиболее распространенных: MAC (Mandatory Access Control / Мандатный контроль доступа), DAC (Discretionary Access Control / Дискреционный контроль доступа), RBAC (Role-Based Access Control / Ролевой контроль доступа).
Дискреционная модель доступа (Discretionary access control - DAC) основана на присвоении каждой паре «субъект-объект» набора разрешенных операций доступа (READ - чтение, WRITE - запись, EXECUTE - выполнение). При запросе доступа к определенному объекту система ищет искомого субъекта в списке прав доступа данного объекта. Если субъект найден в списке и тип запрашиваемой операции включен в список разрешений, система дает разрешение на доступ, в противном случае субъекту отказывается в доступе.
Дискреционная модель реализуется в виде списков контроля доступа (ACL, access control list) или матриц контроля доступа (ACM, access control matrix).

Рисунок 1 – Реализация управления доступом с помощью GUI Windows Мандатная модель доступа (Mandatory access control - MAC) основана на классификации объектов и субъектов системы. Каждому объекту и субъекту системы присваивается определенный уровень безопасности (УБ). Уровень безопасности, обычно, описывает значимость данного объекта и возможный ущерб, который может быть причинен при доступе к данному объекту. Уровень безопасности субъекта является уровнем доверия к данному субъекту.
Субъект с высоким уровнем доступа

чтение
Объект с высоким уровнем секретности



чтение

Объект с низким уровнем секретности

запись
Субъект с низким уровнем доступа
Рисунок 2 – Схема мандатной модели доступа
Ролевой метод управления доступом позволяет контролировать доступ пользователей к информации, основываясь на типах их активности в системе. Данный метод подразумевает определение ролей пользователей в системе. Понятие «роль» в данном методе можно определить, как совокупность связанных с некоторым видом деятельности привилегий и обязанностей. Так, вместо указания всех типов доступа для каждого пользователя к каждому объекту можно указать лишь тип доступа к объектам для роли, а пользователям, соответственно, указать роли. Таким образом, пользователь, «исполняющий» определенную роль, имеет доступ, соответствующий данной роли.

Рисунок 3 – Схема ролевой модели доступа
Основные бизнес-процессы разработки включают в себя процессы авторизации пользователя, публикации новостного контента, модерации контента. Пользователи, авторизованные как авторы, загружают статьи, которые затем проходят процесс модерации, прежде чем появиться в отображаемом списке новостей.
Назначение привилегий

Назначение привилегий

Бизнес-процесс авторизации пользователя включает в себя процессы аутентификации пользователя, загрузки файлов cookie, определения роли пользователя, определения привилегий пользователя, сохранения файлов cookie, сохранения данных сессии.
Бизнес-процесс публикации контента включает в себя процессы авторизации пользователя, формирования статьи, модерации статьи.
Бизнес-процесс модерации контента включает в себя процессы получения статьи из общего списка, редактирования данных, отправки статьи в список отображаемых статей.
Процесс публикации новостного контента показан на рисунке 4.

Модератор
Рисунок 4 – IDEF0 диаграмма бизнес-процесса «Публикация новостного контента»
Разработанная система является кроссплатформенным приложением, размещающемся на удаленном сервере, доступ к которому осуществляется через интернет с использованием современных браузеров. Система реализована по шаблону MVС, подразумевающий модель системы графический интерфейс системы.
Структурная схема системы представлена на рисунке 5.

Рисунок 5 – Структурная схема системы
Каталог models содержит в себе модели приложения, ответственные за методы работы и правила обработки данных. В данном каталоге хранятся следующие файлы моделей:
-
- LoginForm.php – модель работы с формой аутентификации
-
- RegisterForm.php – модель работы с формой регистрации
-
- News.php – модель работы с данными статей
-
- User.php – модель работы с данными пользователей
Каталог controllers содержит в себе контроллеры приложения, которые, интерпретируя действия пользователя, управляют моделями. В данном каталоге содержатся следующие файлы контроллеров:
-
- SiteController.php – управление процессами отображения новостей, аутентификации, регистрации
-
- AuthorController.php – управление процессом публикации статей
-
- AdminController.php – управление процессом модерации статей
Каталог views содержит в себе представления приложения, ответственные за взаимодействие пользователя с приложением. Данный каталог содержит следующие каталоги: - site
-
- layouts
-
- admin
-
- author
Каталог web содержит в себе Javascript и CSS-файлы, а также папку upload, в которой хранятся загружаемые пользователями изображения.
Каталог config содержит в себе файлы для работы с базой данных и пути загрузки изображений.
Описание интерфейса программной системы.
Интерфейс пользовательской системы представляет с собой набор интернет-страниц.
Страница аутентификации пользователя в Система коллективного наполнения контентом
Система коллективного наполнения контентом
Логин I | I ИесОжщммэ злпагппетъ • ftorwiN
Пдрепь
* Зелоынитн
Пойти
Рисунок 6 – Страница аутентификации пользователя
На данной странице расположена форма аутентификации пользователя: поля ввода логина и пароля, флажок сохранения сессии, кнопка отправки данных. В шапке страницы расположены ссылки для возврата на главную страницу, просмотра списка новостей и переход на страницу регистрации.
Страница просмотра новостей
Qi Система коллективного квпол^ния контентом noexi*
Материальная помощь
Выплата матгриатжисм лписщм ^дгг прсмяедена и апреле гк:<дрог<**
ВПИ — площадка Тотального диктанта ттэлим! диггякт прондгт ■ Вопес кем лппгтельичег юы hwtwtvtw Гк-ДрОГлеЖ
* 1
Рисунок 7 – Страница просмотра новостей
На данной странице расположен список отображаемых новостей. Каждая запись включает в себя заголовок новости, аннотацию, кнопку «Подробнее» для просмотра полной версии новости, и счетчик просмотров новости.
Страница добавления статьи

Рисунок 8 - Страница добавления статьи
Данная страница содержит форму для добавления новости, которая включает в себя следующие поля:
-
- Заголовок
-
- Аннотация
-
- Изображение-«обложка» новости
-
- Полный текст новости
-
- Дата начала отображения новости
-
- Дата окончания отображения новости
-
- Кнопка «Добавить» для отправки новости на модерацию.
После нажатия кнопки «Добавить», если все поля заполнены корректно, пользователь перенаправляется на страницу уведомления об отправке новости на модерацию.

Рисунок 9 – Страница уведомления об отправке новости на модерацию
Страница просмотра новости

Рисунок 10 – Страница просмотра новости
Данная страница содержит информацию о выбранной новости: заголовок, изображение-«обложку», полный текст новости, количество просмотров новости.
Список литературы Разработка ролевой модели доступа к объектам и сервисам веб-приложения на примере системы коллективного наполнения контентом
- Киреенко А.Е. Модели разграничения доступа в компьютерных системах: реализация, особенности, сравнительный анализ // Социальная политика и социология. 2012. №80 (2). С. 222-239.
- Колегов Д.Н. Построение иерархического ролевого управления доступом // Прикладная дискретная математика. 2012. №3 (17). С. 70-76.
- Олейник П.П. Управление доступом в современных приложениях // Информация и безопасность. 2015. №18 (3). С. 366-371.
- Шмакова А.И. Дискреционная и мандатная модель управления доступа. Оценка безопасности компьютерных систем // Новые информационные технологии в научных исследованиях. 2016. С. 305-306.