Слайды и текст доклада
Pic.1
Безопасность систем баз данных 4. Управление доступом в СУБД
Pic.2
Управление доступом в СУБД Процедура и/а выполняет функцию глобального контроля прав пользователя по доступу в систему в целом. Однако использование даже самых надежных процедур и/а в большинстве …
Pic.3
Субъекты и объекты доступа При управлении доступом в СУБД различают два вида сущностей – активные и пассивные. Активные сущности (субъекты) осуществляют доступ к пассивным сущностям – объектам. …
Pic.4
Вторичные объекты доступа Вторичными объектами доступа могут быть: формы; отчеты; запросы; прикладные программы (ПП); процедуры; диаграммы и т. п. В большинстве типов СУБД возможность для субъекта …
Pic.5
Требования по безопасности в реляционных СУБД Разные пользователи могут иметь доступ только к строго определенным совокупностям таблиц; Разные пользователи могут иметь право на строго определенный …
Pic.6
Схема доступа к данным в реляционных СУБД СУБД от имени конкретного субъекта выполняет конкретные операции над объектами БД в зависимости от прав, предоставленных субъекту на выполнение этих …
Pic.7
Категории пользователей СУБД В больших многопользовательских БД пользователи СУБД обычно разбиты на 3 категории: администратор сервера БД - ведает установкой, конфигурированием сервера, регистрацией …
Pic.8
Первоначальная учетная запись для администраторов БД Как правило, для администраторов БД сделана первоначальная учетная запись, чтобы сделать первоначальный вход в систему. Например, в InterBase: …
Pic.9
Категории пользователей в СУБД ЛИНТЕР Пример категорий пользователей в СУБД ЛИНТЕР: администратор базы данных – категория DBA. Он управляет созданием БД, ее конфигурированием, регистрацией …
Pic.10
Виды привилегий в СУБД Привилегии в СУБД можно подразделить на две категории: привилегии безопасности – позволяют выполнять административные действия в БД; привилегии доступа – определяют права …
Pic.11
Привилегии безопасности в СУБД INGRES security – право управлять всей безопасностью СУБД (админ сервера БД, а также лицо, отвечающее за ИБ); createdb – право на создание и удаление БД (адм. сервера …
Pic.12
Установление привилегий безопасности Пример. Заводится пользователь Bill с правом на создание БД и на выполнение функций оператора: CREATE USER Bill WITH PRIVILEGES createdb, operator; {создать …
Pic.13
Изменение привилегий безопасности Все последующие изменения привилегий безопасности выполняются посредством оператора ALTER USER. Оператор DROP USER позволяет удалить пользователя. Примеры: ALTER …
Pic.14
Привилегии доступа В СУБД авторизация доступа к данным осуществляется с помощью привилегий доступа. Установление привилегий доступа зависит от вида управления доступом. Для ДУД – это задача владельца …
Pic.15
Привилегии доступа Набор привилегий можно определить для конкретного пользователя, группы, роли или всех пользователей. Объектом защиты может быть БД, таблица, представление, хранимая процедура и т. …
Pic.16
Установление привилегий Конкретный пользователь СУБД опознается по уникальному идентификатору (user-id). Любое действие над БД, любой оператор языка SQL всегда выполняется не анонимно, а от имени …
Pic.17
Управление привилегиями Примеры. Назначение привилегии субъекту: GRANT привилегия [ON объект] TO субъект WITH GRANT OPTION] Отмена привилегии субъекту: REVOKE привилегия [ON объект] FROM субъект …
Pic.18
Управление привилегиями Оператор GRANT может содержать необязательную часть, принципиально важную для защиты СУБД. Имеется в виду конструкция GRANT . . . . . . WITH GRANT OPTION. Подобный оператор …
Pic.19
Группы Для облегчения процесса администрирования большого количества пользователей их объединяют в группы. Применяются три способа сочетания индивидуальных и групповых прав в доступах пользователей: …
Pic.20
Группы Когда пользователь тем или иным способом инициирует сеанс работы с БД, он может указать, от имени какой из своих групп он выступает. Кроме того, для пользователя обычно определяют …
Pic.21
Создание и изменение групп Группы создаются с помощью оператора CRFATE GROUP: CREATE GROUP sales WITH USERS = (Bill, Mary, Joe); {Создать группу sales с пользователями Bill, Mary, Jое}. Для изменения …
Pic.22
Удаление групп Оператор DROP GROUP позволяет удалять группы, правда только после того, как опустошен список членов группы: ALTER GROUP sales DROP all; {Опустошить список членов группы sales} DROP …
Pic.23
Роли в СУБД Одна из проблем защиты данных в СУБД возникает по той причине, что с БД работают как прикладные программы (ПП), так и пользователи, которые их запускают. Запуск ПП пользователями с …
Pic.24
Роли в СУБД В современных СУБД это решение обеспечивается механизмом ролей (role). При этом роль выступает в качестве промежуточной сущности между пользователями и их привилегиями. Роль реализуется …
Pic.25
Роли в СУБД Роли также удобно использовать, когда тот или иной набор привилегий необходимо выдать (или отобрать) целой группе пользователей. С одной стороны, это облегчает администратору управление …
Pic.26
Создание и удаление ролей Создание роли с паролем: CREATE ROLE dly sales WITH PASSWORD = ‘e11332’ Оператор ALTER ROLE служит для изменения пароля роли: ALTER ROLE dly_sales WITH PASSWORD = ‘h94pq861’ …
Pic.27
Предоставление роли привилегий Как только роль создана, ей можно предоставить привилегии доступа к объектам БД. Если субъект пользователь, привилегии назначаются явно. Если субъект роль, то для …
Pic.28
Изъятие привилегий роли Для изъятия привилегий роли используется предложение: REVOKE ROLE salesClerk FROM Mary {Изъять привилегию роли salesClerk у пользователя Mary}.
Pic.29
Представления При использовании дискреционной модели получается, что доступ регулируется на уровне именованных объектов, а не на уровне собственно хранящихся в них данных. Так, в реляционной СУБД …
Pic.30
Представления Результатом запроса на выборку является набор данных, представляющий временную таблицу, с которой можно работать как с обычной реляционной таблицей. В результате серии таких запросов …
Pic.31
Схема техники представлений
Pic.32
Представления как защита данных в СУБД Авторизованный характер запросов, формирующих представления, позволяет предоставить конкретному пользователю только те данные и только в том виде, которые ему …
Pic.33
Обращение к представлению К представлению можно обращаться точно так же, как и к таблицам, за исключением операций модификации данных, поскольку некоторые типы представлений являются не …
Pic.34
Хранение представлений В конкретных реализациях представление обычно хранится как текст, описывающий запрос выборки, а не собственно выборку данных. Собственно выборка создается динамически на момент …
Pic.35
Привилегии доступа к таблицам Привилегии доступа имеют свои особенности для определенных видов объектов, к которым они относятся. Привилегии доступа к таблицам позволяют реализовать следующие …
Pic.36
Привилегии доступа к таблицам разные пользователи могут иметь только выборочный доступ к определенным элементам конкретных таблиц (отдельным строкам и отдельным столбцам); доступ определенных …
Pic.37
Привилегии доступа к таблицам В качестве минимального набора выступают привилегии выборки и модификации данных: SELECT привилегия на выборку данных; INSERT привилегия на добавление данных; DELETE …
Pic.38
Привилегий доступа к таблицам Другие разновидности привилегий: CONTROL (IBM DB2) - комплексная привилегия управления структурой таблицы; REFERENCES - привилегия создания внешних ключей; RUNSTAT - …
Pic.39
Примеры предоставления привилегий доступа к таблицам Пример предоставления пользователю Adrian право на выборку данных из таблицы продавцов: GRANT SELECT ON salespeople TO Adrian. Привилегии можно …
Pic.40
Примеры предоставления привилегий доступа к таблицам Если необходимо выделить привилегию не на всю таблицу, а лишь на отдельные столбцы, используют следующий синтаксис: GRANT SELECT (name, address) …
Pic.41
Примеры предоставления привилегий доступа к таблицам Пользователям могут выделяться разные привилегии к разным столбцам одной таблицы, например: GRANT SELECT, UPDATE (empname, empaddress), DELETE …
Pic.42
Примеры предоставления привилегий доступа к таблицам Обобщающий аргумент all заменяет в команде GRANT перечень всех возможных привилегий работы с таблицей. GRANT all ON salesPeople TO Diane Аргумент …
Pic.43
Примеры предоставления привилегий доступа к таблицам Иногда возникает ситуация, когда пользователя необходимо не только наделить привилегиями, но и дать возможность передавать эти привилегии другим …
Pic.44
Примеры предоставления привилегий доступа к таблицам Теперь Adrian может ввести, например, команду: GRANT SELECT ON salesPeoples TO Stephen WITH GRANT OPTION {Пользователю Stephen разрешено …
Pic.45
Пример лишения привилегий доступа к таблицам Лишение пользователя привилегий осуществляется командой REVOKE. Ее синтаксис аналогичен синтаксису команды GRANT, но имеет обратный смысл. REVOKE INSERT …
Pic.46
Лишение привилегий доступа к таблицам Возникает вопрос: кто имеет право отменять привилегии, и что делать в том случае, если пользователь успел передать свои привилегии? Это не стандартная ситуация, …
Pic.47
Использование представлений для фильтрации привилегий Всякий раз, когда пользователю выделяется привилегия к базовой таблице, она автоматически распространяется на все строки, а при использовании …
Pic.48
Использование представлений для фильтрации привилегий Таким образом представления позволяют сделать видимыми для субъектов только определенные столбцы или определенные строки базовых таблиц. …
Pic.49
Предоставление привилегий доступа к представлениям Пример. Пусть пользователю Thomas необходимо предоставить возможность видеть только столбцы name и address базовой таблицы продавцов salesPeople. …
Pic.50
Доступ к представлениям с фильтрацией строк Пользователю Adrian предоставить привилегию UPDATE в таблице заказчиков customers, размещенных в Лондоне: CREATE VIEW londoncust AS SELECT * FROM customers …
Pic.51
Доступ к представлениям с фильтрацией столбцов и строк Фильтрацию данных в представлении можно распространить на конкретные столбцы и строки исходной таблицы. Пусть всем пользователям необходимо …
Pic.52
Доступ к представлениям с фильтрацией столбцов и строк Затем предоставляется всем право на выборку из созданного представления: GRANT SELECT ON empview TO PUBLIC. Если при доступе к представлению …
Pic.53
Привилегии пользователя при создании представления При создании представления пользователь должен иметь привилегию SELECT ко всем базовым таблицам, на которые имеются ссылки в создаваемом …
Pic.54
Представления с агрегатными функциями Другая возможность состоит в том, чтобы предлагать пользователям доступ к уже извлеченным данным, а не к фактическим значениям в исходной таблице. Реализовать …
Pic.55
Представления с агрегатными функциями Пример. CREATE VIEW datetotals AS SELECT odate, COUNT (*), SUM (amt), AVG (amt) FROM Orders GROUP BY odate. Теперь можно передать пользователю Diane привилегию …
Pic.56
Привилегии доступа к процедурам По отношению к процедуре можно предоставить лишь право на ее выполнение. При этом не нужно заботиться о выделении прав доступа к объектам, обрабатываемым процедурой – …
Pic.57
Привилегии доступа к процедурам По умолчанию все пользователи имеют право создавать процедуры в БД. Если бы они при этом автоматически получали права на их выполнение, то смогли бы осуществить, по …
Pic.58
Права доступа к БД Права доступа к БД как к единому целому может предоставлять только администратор БД или администратор сервера БД. Эти «права» на самом деле устанавливают ряд ограничений на …
Pic.59
Права доступа к БД ограничение на использование ресурсов процессора; ограничение на число запрашиваемых страниц; управление доступом к БД; управление созданием таблиц; управление созданием процедур; …
Pic.60
Примеры операторов доступа к БД Примеры операторов управления доступом к БД, как к единому целому: GRANT NOCREATE_TABLE, NOCREATE_PROCEDURE ON DATABASE new_accts TO GROUP clerks; {Запретить членам …
Pic.61
Права доступа к серверу БД Права доступа к серверу БД распространяются на все БД, обслуживаемые данным сервером. Набор этих прав тот же, что и для отдельных БД. Пример оператора, предоставляющего …
Pic.62
Отмена привилегий доступа Для отмены привилегий, выданных ранее (как разрешительных, так и запретительных), служит оператор REVOKE. Синтаксически он аналогичен оператору GRANT с заменой слова ТО на …
Pic.63
Иерархия прав доступа Иерархия различных прав доступа задается, обычно, производителем СУБД. Так, в СУБД INGRES средства управления доступом позволяют реализовать следующие ограничения доступа: …
Pic.64
Иерархия прав доступа При обработке запроса СУБД сначала проверяет операционные ограничения. Если они оказываются нарушенными, запрос отвергается с выдачей соответствующей диагностики. Нарушение …
Pic.65
Иерархия прав доступа В соответствии с принятой в СУБД системой привилегий каждый пользователь помимо собственных, имеет привилегии PUBLIC, может входить в различные группы и запускать приложения с …
Pic.66
Иерархия прав доступа Для каждого объекта, к которому осуществляется доступ, СУБД пытается отыскать в иерархии привилегию, относящуюся к запрашиваемому виду доступа; (SELECT, ЕXЕСUТE и т. п. ). …
Pic.67
Трактовка ограничений на ресурсы Пример для СУБД INGRES. Пусть на 4-х уровнях иерархии прописаны свои ограничения на число результирующих строк запроса (привилегия QUERY_ROW_LIMIT): роль – 1700; …
Pic.68
Информация о привилегиях Важно не только давать и отбирать привилегии, но и иметь информацию о том, какими правами доступа обладает каждый из субъектов. Такая информация в том или ином виде хранится …
Pic.69
Информация о привилегиях Другие таблицы iiusergroup, iirole и iidbprivileges БД iidbdb содержат, соответственно, список групп и их состав, перечень pолей вместе с зашифрованными паролями и сведения о …
Pic.70
Соотношение прав доступа СУБД и ОС Данные, обрабатываемые средствами СУБД, располагаются в файлах и/или логических томах ОС. Соответственно, и доступ к этим данным возможен как с помощью СУБД, так и …
Pic.71
Соотношение прав доступа СУБД и ОС Данные из БД могут экспортироваться в файлы ОС или другие хранилища. Возможен и обратный процесс импорта данных. Необходимо следить за тем, чтобы подобные операции …
Pic.72
Соотношение прав доступа СУБД и ОС Исходные тексты сложных процедур БД, также могут храниться в файлах ОС, и потенциально возможно их нелегальное изменение, способное привести к нарушениям ИБ. СУБД и …
Pic.73
Мандатная защита в СУБД Современные АИС обеспечивают также принудительный контроль доступа (mandatory access control). Он основан на отказе от понятия владельца данных и опирается на, так называемые, …
Pic.74
Метки безопасности Мандатная защита, позволяет связать метки безопасности с каждой строкой любой таблицы в БД. Любой пользователь может потребовать в своем запросе отобразить любую таблицу из БД, …
Pic.75
Метки безопасности Средства мандатной защиты предоставляются специальными (trusted) версиями СУБД, которые не позволяют игнорировать метки безопасности при получении доступа к информации. Такие …
Pic.76
Метки безопасности Использование СУБД с возможностями мандатной защиты позволяет разграничить доступ собственно к данным, хранящимся в информационной системе, от доступа к именованным объектам …
Pic.77
СУБД INGRES/Еnhanced Security Механизм меток безопасности был впервые реализован в версии СУБД INGRES/Еnhanced Security (INGRES с повышенной безопасностью). В этой СУБД к каждой реляционной таблице …
Pic.78
СУБД INGRES/Еnhanced Security Понятие «категория» позволяет разделить данные на тематические отсеки. В коммерческих приложениях категориями могут быть «финансы», «кадры», «материальные ценности» и т. …
Pic.79
СУБД INGRES/Еnhanced Security Каждый пользователь INGRES/Enhanced Security имеет статус, определяемый присвоенной ему меткой безопасности пользователя (МБП). Он может получить доступ к данным с …
Pic.80
СУБД INGRES/Еnhanced Security
Pic.81
СУБД INGRES/Еnhanced Security
Pic.82
СУБД INGRES/Еnhanced Security Для совместимости с обычными версиями СУБД, столбец с метками безопасности не показывается. Механизм меток безопасности не отменяет, а дополняет произвольное управление …
Pic.83
СУБД INGRES/Еnhanced Security Специальная привилегия DOWNGRADE позволяет изменять метки безопасности, ассоциированные с данными. Это необходимо для коррекции меток, по тем или иным причинам …
Pic.84
СУБД «Линтер» Отечественным примером является СУБД с меточной безопасностью является СУБД «Линтер», которая получила признание в силовых структурах, как единственная СУБД, имеющая сертификат по …
Pic.85
СУБД «Линтер» В СУБД «Линтер» все перечисленные объекты (независимо от их иерархии в БД) разбиваются на группы принадлежности. Объект может принадлежать только одной из групп (это может быть, …
Pic.86
СУБД «Линтер» В СУБД «Линтер» все объекты выстроены в иерархию по уровням конфиденциальности и по уровням ценности или важности. Уровень конфиденциальности разбивает объекты по доступности на чтение. …
Pic.87
СУБД «Линтер» Метка объекта включает: • группу субъекта, который внес данный объект; • уровень доступа на чтение – RAL (Read Access Level); • уровень доступа на запись – WAL (Write Access Level). …
Pic.88
СУБД «Линтер» Все пользователи БД считаются разбитыми на непересекающиеся группы. Группа описывает область доступных пользователю данных. Для каждой группы существует админ группы (DBA), созданный …
Pic.89
СУБД «Линтер» Уровни доступа вводятся для проверки прав на осуществление чтения-записи информации. Вводятся следующие уровни доступа: 1. Для пользователя (субъекта): RAL – уровень доступа; …
Pic.90
СУБД «Линтер» 2. Для информации: RAL – уровень чтения; пользователь может получать (читать) информацию, RAL-уровень которой не выше его собственного RAL-уровня (может читать менее конфиденциальные …
Pic.92
СУБД «Линтер» Создать пользователя с произвольными уровнями может только администратор системы. Остальные администраторы (DBA) могут создавать пользователей (или изменять их уровень) лишь в пределах …
Скачать презентацию
Если вам понравился сайт и размещенные на нем материалы, пожалуйста, не забывайте поделиться этой страничкой в социальных сетях и с друзьями! Спасибо!