1 / 12

Реализация разграничения доступа на уровне строк для некоммерческих СУБД с открытым исходным кодом

Научный руководитель: д.ф.-м.н. Новиков Борис Асенович Автор: Щербаков Константин Владимирович, 545 гр. Реализация разграничения доступа на уровне строк для некоммерческих СУБД с открытым исходным кодом. Постановка задачи. Требовалось:

Download Presentation

Реализация разграничения доступа на уровне строк для некоммерческих СУБД с открытым исходным кодом

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Научный руководитель: д.ф.-м.н. Новиков Борис Асенович Автор: Щербаков Константин Владимирович, 545 гр. Реализация разграничения доступа на уровне строк для некоммерческих СУБД с открытым исходным кодом

  2. Постановка задачи Требовалось: предложить механизм разграничения доступа пользователей к данным как на уровне полей, так и на уровне отдельных записей (FLS/RLS) обеспечить производительность не менее 64 запросов в секунду (по sysbench на чтение/запись) предложить гибко настраиваемую систему, которая легко адаптируется под различные политики безопасности предотвратить обход установленных для пользователей ограничений (при условии отсутствия физического доступа к данным или серверу с СУБД)

  3. Цель разработки Реализовать систему контроля и разграничения доступа для СУБД MySQL 5 Внедрить реализованное средство обеспечения контроля доступа в ПК «Электронный деканат» (разработка последнего ведется на факультете журналистики СПбГУ) в качестве независимого приложения/сервиса и опционально в ИС/АСУ «Университет» Предоставить мировому open-source сообществу инструмент разграничения доступа к данным, легко адаптируемый под любые некоммерческие СУБД с открытым кодом или полностью доступными спецификациями (FireBird, Yaffil, PostgreSQL …)

  4. Известные подходы реализация RLS на клиенте + гибкость, контроль действий до выполнения - малая защищенность, низкая производительность при выборке реализация RLS средствами СУБД -> на основе существующих атрибутов + высокая защищенность - ограниченность языка описания хранимых процедур, необходимость их модификации -> на основе дополнительных атрибутов + высокая защищенность - большой объем дополнительных данных, необходимость установки дополнительных атрибутов реализация RLS с использованием сервера приложений + сочетает преимущества предыдущих двух подходов - производительность и надежность всей системы зависит от качества реализации

  5. Общая схема сервер с СУБД+RLS/FLS модуль <-> клиенты или сервер с СУБД <-> RLS/FLS (сервер приложений) <–> клиенты отсутствует прямой доступ клиентов к СУБД запросы клиентов перехватываются, анализируются, передаются в СУБД при обнаружении попытки авторизации – загрузка правил политики безопасности для данного клиента (из служебной базы mysql), если они не загружены; 3х этапное разрешение правил (RLS); создание представлений (FLS), построение списка допустимых stored procedures построение дерева запроса, поиск в нем защищаемых объектов, модификация и создание where предложений в рамках RLS, замена защищаемых объектов на их представления (для FLS), анализ вызываемых stored procedures на наличие в списке допустимых выполнение запроса, пересылка ответа пользователю (либо информирование о проваленном запросе)

  6. Особенности реализации 1 основной модуль работает в виде сервиса/демона правила RLS – предикаты безопасности – хранятся в отдельных таблицах (для пользователей и ролей) в базе mysql для реализации FLS хранится информация, необходимая для создания представлений на основе защищаемых объектов в отдельных таблицах (для пользователей и ролей) содержится список допустимых для выполнения stored procedures присутствует отдельная таблица для хранения шаблонов

  7. Особенности реализации 2 поддерживается хранение полностью разрешенных правил после отключения пользователя (настраиваемо) присутствует набор таблиц для хранения частично разрешенных правил RLS предусматривается прямое взаимодействие административного приложения и RLS/FLS модуля для оперативного обновления правил политики безопасности создание и модификация правил контроля доступа – только через административное приложение назначение отдельным пользователям ролей в т.ч. самими клиентами (настраиваемо)

  8. Преимущества поддержка RLS, FLS, контроль вызова хранимых процедур открытый исходный код бесплатность прозрачность для клиентов возможность компиляции и работы под win/*nix (Delphi 7 / BDS 2006 / Kylix / Lazarus) возможность изменения правил политики безопасности «на лету» поддержка правил как для отдельных пользователей, так и для пользовательских ролей поддержка шаблонов и ссылок в правилах нестрогая иерархия ролей многоуровневая схема полного разрешения правил перехват специально составленных SQL запросов для управления ролями со стороны клиентов

  9. Недостатки снижение производительности всей системы при работе с СУБД достигает 50% (35%) (или до 100(70) запросов в секунду) недостаточная поддержка контроля исполнения хранимых процедур (отсутствует контроль параметров) ограниченная поддержка функциональности по изменению политики безопасности со стороны пользователей

  10. Результаты тестов (сервис RLS отключен)‏ Конфигурация: P4 531 3.0Ghz 1mb, 1536Mb, SATA 160Gb 7200rpm, Ubuntu 7.0.4+mysql 5.0.20+sysbench db1, db2, db3 – базы из состава ПК “Факультет” без хранимых процедур

  11. Результаты тестов (сервис RLS включен)‏ Конфигурация: P4 531 3.0Ghz 1mb, 1536Mb, SATA 160Gb 7200rpm, Ubuntu 7.0.4+mysql 5.0.20+sysbench db1, db2, db3 – базы из состава ПК “Факультет” без хранимых процедур

  12. Выводы по функциональным возможностям разработанный сервис способен конкурировать с механизмами, используемыми во многих коммерческих СУБД производительность падает, но не настолько, чтобы исключить возможность использования в рамках проектов «Электронный деканат» и «Университет» открытость исходного кода, бесплатность, поддержка основных ОС позволяют надеяться на дальнейшее развитие и широкое применение в различных областях

More Related