Разработка ролевой модели доступа к объектам и сервисам веб-приложения на примере системы коллективного наполнения контентом

Автор: Хрущев Д.Г., Лясин Д.Н.

Журнал: Форум молодых ученых @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.
Статья научная