Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Безопасность систем баз данных. Управление доступом в СУБД

Содержание

Управление доступом в СУБДПроцедура и/а выполняет функцию глобального контроля прав пользователя по доступу в систему в целом. Однако использование даже самых надежных процедур и/а в большинстве случаев оказывается недостаточным для решения вопроса о допустимости выполнения любых
БЕЗОПАСНОСТЬ  СИСТЕМ БАЗ ДАННЫХ4. Управление доступом в СУБД Управление доступом в СУБДПроцедура и/а выполняет функцию глобального контроля прав пользователя по Субъекты и объекты доступаПри управлении доступом в СУБД различают два вида сущностей Вторичные объекты доступаВторичными объектами доступа могут быть:формы; отчеты; запросы;прикладные программы (ПП); процедуры;диаграммы Требования по безопасности в реляционных СУБД Разные пользователи могут иметь доступ только Схема доступа к данным в реляционных СУБД СУБД от имени конкретного субъекта Категории пользователей СУБДВ больших многопользовательских БД пользователи СУБД обычно разбиты на 3 Первоначальная учетная запись для администраторов БД Как правило, для администраторов БД сделана Категории пользователей  в СУБД ЛИНТЕРПример категорий пользователей в СУБД ЛИНТЕР: администратор Виды привилегий в СУБДПривилегии в СУБД можно подразделить на две категории: привилегии Привилегии безопасности  в СУБД INGRES security – право управлять всей безопасностью Установление привилегий безопасностиПример. Заводится пользователь Bill с правом на создание БД и Изменение привилегий безопасности Все последующие изменения привилегий безопасности выполняются посредством оператора ALTER Привилегии доступа В СУБД авторизация доступа к данным осуществляется с помощью привилегий Привилегии доступа Набор привилегий можно определить для конкретного пользователя, группы, роли или Установление привилегий Конкретный пользователь СУБД опознается по уникальному идентификатору (user-id). Любое действие Управление привилегиями Примеры.Назначение привилегии субъекту:  GRANT привилегия [ON объект] TO субъект Управление привилегиями Оператор GRANT может содержать необязательную часть, принципиально важную для защиты ГруппыДля облегчения процесса администрирования большого количества пользователей их объединяют в группы. Применяются ГруппыКогда пользователь тем или иным способом инициирует сеанс работы с БД, он Создание и изменение группГруппы создаются с помощью оператора CRFATE GROUP:CREATE GROUP salesWITH Удаление группОператор DROP GROUP позволяет удалять группы, правда только после того, как Роли в СУБДОдна из проблем защиты данных в СУБД возникает по той Роли в СУБДВ современных СУБД это решение обеспечивается механизмом ролей (role). При Роли в СУБДРоли также удобно использовать, когда тот или иной набор привилегий Создание и удаление ролейСоздание роли с паролем: CREATE ROLE dly salesWITH PASSWORD Предоставление роли привилегийКак только роль создана, ей можно предоставить привилегии доступа к Изъятие привилегий роли Для изъятия привилегий роли используется предложение: REVOKE ROLE salesClerkFROM ПредставленияПри использовании дискреционной модели получается, что доступ регулируется на уровне именованных объектов, ПредставленияРезультатом запроса на выборку является набор данных, представляющий временную таблицу, с которой Схема техники представлений Представления как защита данных в СУБДАвторизованный характер запросов, формирующих представления, позволяет предоставить Обращение к представлениюК представлению можно обращаться точно так же, как и к Хранение представленийВ конкретных реализациях представление обычно хранится как текст, описывающий запрос выборки, Привилегии доступа к таблицамПривилегии доступа имеют свои особенности для определенных видов объектов, Привилегии доступа к таблицамразные пользователи могут иметь только выборочный доступ к определенным Привилегии доступа к таблицамВ качестве минимального набора выступают привилегии выборки и модификации Привилегий доступа к таблицамДругие разновидности привилегий: CONTROL (IBM DB2) - комплексная привилегия Примеры предоставления привилегий доступа к таблицамПример предоставления пользователю Adrian право на выборку Примеры предоставления привилегий доступа к таблицамЕсли необходимо выделить привилегию не на всю Примеры предоставления привилегий доступа к таблицамПользователям могут выделяться разные привилегии к разным Примеры предоставления привилегий доступа к таблицамОбобщающий аргумент all заменяет в команде GRANT Примеры предоставления привилегий доступа к таблицамИногда возникает ситуация, когда пользователя необходимо не Примеры предоставления привилегий доступа к таблицамТеперь Adrian может ввести, например, команду:GRANT SELECT Пример лишения привилегий доступа к таблицамЛишение пользователя привилегий осуществляется командой REVOKE. Ее Лишение привилегий доступа к таблицамВозникает вопрос: кто имеет право отменять привилегии, и Использование представлений для фильтрации привилегийВсякий раз, когда пользователю выделяется привилегия к базовой Использование представлений для фильтрации привилегийТаким образом представления позволяют сделать видимыми для субъектов Предоставление привилегий доступа к представлениямПример. Пусть пользователю Thomas необходимо предоставить возможность видеть Доступ к представлениям с фильтрацией строкПользователю Adrian предоставить привилегию UPDATE в таблице Доступ к представлениям с фильтрацией столбцов и строкФильтрацию данных в представлении можно Доступ к представлениям с фильтрацией столбцов и строк Затем предоставляется всем право Привилегии пользователя при создании представленияПри создании представления пользователь должен иметь привилегию SELECT Представления с агрегатными функциямиДругая возможность состоит в том, чтобы предлагать пользователям доступ Представления с агрегатными функциямиПример.CREATE VIEW datetotals AS SELECT odate, COUNT (*), SUM Привилегии доступа к процедурамПо отношению к процедуре можно предоставить лишь право на Привилегии доступа к процедурамПо умолчанию все пользователи имеют право создавать процедуры в Права доступа к БДПрава доступа к БД как к единому целому может Права доступа к БДограничение на использование ресурсов процессора;ограничение на число запрашиваемых страниц;управление Примеры операторов доступа к БДПримеры операторов управления доступом к БД, как к Права доступа к серверу БДПрава доступа к серверу БД распространяются на все Отмена привилегий доступаДля отмены привилегий, выданных ранее (как разрешительных, так и запретительных), Иерархия прав доступаИерархия различных прав доступа задается, обычно, производителем СУБД. Так, в Иерархия прав доступаПри обработке запроса СУБД сначала проверяет операционные ограничения. Если они Иерархия прав доступаВ соответствии с принятой в СУБД системой привилегий каждый пользователь Иерархия прав доступаДля каждого объекта, к которому осуществляется доступ, СУБД пытается отыскать Трактовка ограничений на ресурсы Пример для СУБД INGRES. Пусть на 4-х уровнях Информация о привилегияхВажно не только давать и отбирать привилегии, но и иметь Информация о привилегияхДругие таблицы iiusergroup, iirole и iidbprivileges БД iidbdb содержат, соответственно, Соотношение прав доступа СУБД и ОСДанные, обрабатываемые средствами СУБД, располагаются в файлах Соотношение прав доступа СУБД и ОСДанные из БД могут экспортироваться в файлы Соотношение прав доступа СУБД и ОСИсходные тексты сложных процедур БД, также могут Мандатная защита в СУБДСовременные АИС обеспечивают также принудительный контроль доступа (mandatory access Метки безопасности Мандатная защита, позволяет связать метки безопасности с каждой строкой любой Метки безопасности Средства мандатной защиты предоставляются специальными (trusted) версиями СУБД, которые не Метки безопасности Использование СУБД с возможностями мандатной защиты позволяет разграничить доступ собственно СУБД INGRES/Еnhanced Security Механизм меток безопасности был впервые реализован в версии СУБД СУБД INGRES/Еnhanced Security Понятие «категория» позволяет разделить данные на тематические отсеки. В СУБД INGRES/Еnhanced Security Каждый пользователь INGRES/Enhanced Security имеет статус, определяемый присвоенной ему СУБД INGRES/Еnhanced Security Пример 1 СУБД INGRES/Еnhanced Security Пример 2 СУБД INGRES/Еnhanced Security Для совместимости с обычными версиями СУБД, столбец с метками СУБД INGRES/Еnhanced Security Специальная привилегия DOWNGRADE позволяет изменять метки безопасности, ассоциированные с СУБД «Линтер»Отечественным примером является СУБД с меточной безопасностью является СУБД «Линтер», которая СУБД «Линтер»В СУБД «Линтер» все перечисленные объекты (независимо от их иерархии в СУБД «Линтер»В СУБД «Линтер» все объекты выстроены в иерархию по уровням конфиденциальности СУБД «Линтер»Метка объекта включает:•	группу субъекта, который внес данный объект;•	уровень доступа на чтение СУБД «Линтер»Все пользователи БД считаются разбитыми на непересекающиеся группы. Группа описывает область СУБД «Линтер»Уровни доступа вводятся для проверки прав на осуществление чтения-записи информации. Вводятся СУБД «Линтер»2.	Для информации:RAL – уровень чтения; пользователь может получать (читать) информацию, RAL-уровень СУБД «Линтер»Уровень доступа на чтениеУровень доступа на записьmaxmin СУБД «Линтер»Создать пользователя с произвольными уровнями может только администратор системы. Остальные администраторы
Слайды презентации

Слайд 2 Управление доступом в СУБД
Процедура и/а выполняет функцию глобального

Управление доступом в СУБДПроцедура и/а выполняет функцию глобального контроля прав пользователя

контроля прав пользователя по доступу в систему в целом.


Однако использование даже самых надежных процедур и/а в большинстве случаев оказывается недостаточным для решения вопроса о допустимости выполнения любых операций с конкретными данными.
В БД каждое групповое данное должно иметь связанный с ним (данным) набор ограничений доступа.
Процедуры регулирования допустимых действий пользователей по отношению к различным данным в БД называют авторизацией (от англ. authorization – разрешение, уполномочивание) или управлением доступом (или контролем доступа).

Слайд 3 Субъекты и объекты доступа
При управлении доступом в СУБД

Субъекты и объекты доступаПри управлении доступом в СУБД различают два вида

различают два вида сущностей – активные и пассивные. Активные

сущности (субъекты) осуществляют доступ к пассивным сущностям – объектам.
Субъекты – это пользователи или приложения.
Первичные объекты, к которым регулируется доступ:
БД в целом;
отношения (таблицы);
представления;
процедуры.

Слайд 4 Вторичные объекты доступа
Вторичными объектами доступа могут быть:
формы;
отчеты;

Вторичные объекты доступаВторичными объектами доступа могут быть:формы; отчеты; запросы;прикладные программы (ПП);


запросы;
прикладные программы (ПП);
процедуры;
диаграммы и т.п.
В большинстве типов

СУБД возможность для субъекта пользоваться вторичными объектами определяется правами его доступа к соответствующим первичным объектам.

Слайд 5 Требования по безопасности в реляционных СУБД
Разные пользователи

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

могут иметь доступ только к строго определенным совокупностям таблиц;
Разные

пользователи могут иметь право на строго определенный перечень операций над данными конкретных таблиц;
Разные пользователи могут иметь только выборочный доступ к определенным элементам конкретных таблиц (отдельным строкам и столбцам);
Доступ определенных пользователей к определенной совокупности таблиц может быть запрещен непосредственно (через запросы), но разрешен в диалоге с прикладной программой.


Слайд 6 Схема доступа к данным в реляционных СУБД
СУБД

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

от имени конкретного субъекта выполняет конкретные операции над объектами

БД в зависимости от прав, предоставленных субъекту на выполнение этих операций.
Доступом к объектам БД можно управлять – разрешать доступ или защищать от доступа.
Конкретный субъект обладает конкретными правами доступа к конкретному объекту.
Совокупность операций, которые разрешено выполнять конкретному субъекту над конкретными объектами определяют привилегии (priveleges).


Слайд 7 Категории пользователей СУБД
В больших многопользовательских БД пользователи СУБД

Категории пользователей СУБДВ больших многопользовательских БД пользователи СУБД обычно разбиты на

обычно разбиты на 3 категории:
администратор сервера БД - ведает

установкой, конфигурированием сервера, регистрацией пользователей, групп, ролей и т. п.;
администратор БД - пользователь, создавший свою БД, и являющийся ее владельцем - предоставляет другим пользователям доступ к своей БД и к содержащимся в ней объектам, отвечает за ее сохранение и восстановление;
прочие (конечные) пользователи - оперируют данными БД, в рамках выделенных им привилегий.


Слайд 8 Первоначальная учетная запись для администраторов БД
Как правило,

Первоначальная учетная запись для администраторов БД Как правило, для администраторов БД

для администраторов БД сделана первоначальная учетная запись, чтобы сделать

первоначальный вход в систему.
Например,
в InterBase: SISDBA с masterkey;
в SQL-server: SA и пустой пароль;
в Oracle есть три начальных учетных записи: SIS, SYSTEM и MANAGER.

Слайд 9 Категории пользователей в СУБД ЛИНТЕР
Пример категорий пользователей в

Категории пользователей в СУБД ЛИНТЕРПример категорий пользователей в СУБД ЛИНТЕР: администратор

СУБД ЛИНТЕР:
администратор базы данных – категория DBA. Он

управляет созданием БД, ее конфигурированием, регистрацией пользователей, групп, ролей, записью регистрационной информации и т.п.
привилегированные пользователи БД – категория RESOURCE. Это пользователи, которые имеют право на создание собственных объектов БД и управление привилегиями доступа к ним.
пользователи БД – категория CONNECT оперируют с объектами БД в рамках выделенных им привилегий доступа.

Слайд 10 Виды привилегий в СУБД
Привилегии в СУБД можно подразделить

Виды привилегий в СУБДПривилегии в СУБД можно подразделить на две категории:

на две категории:
привилегии безопасности – позволяют выполнять административные

действия в БД;
привилегии доступа – определяют права доступа субъектов к объектам БД.
Привилегии безопасности всегда выделяются конкретному пользователю (а не группе, роли или всем) при его создании (оператором CRЕATE USER) или при изменения его привилегий (оператором ALTER USЕR).
Набор привилегий безопасности определяется разработчиком СУБД.

Слайд 11 Привилегии безопасности в СУБД INGRES
security – право

Привилегии безопасности в СУБД INGRES security – право управлять всей безопасностью

управлять всей безопасностью СУБД (админ сервера БД, а также

лицо, отвечающее за ИБ);
createdb – право на создание и удаление БД (адм. сервера БД и адм. отдельных БД);
operator – право на выполнение действий оператора (адм. сервера БД и адм. отдельных БД, админ ОС);
maintain locations – право на управление расположением БД на дисках (адм. сервера БД и адм. ОС);
trace – право на изменение состояния флагов отладочной трассировки СУБД (адм. сервера БД и другие знающие пользователи при анализе сложных ситуаций).


Слайд 12 Установление привилегий безопасности
Пример. Заводится пользователь Bill с правом

Установление привилегий безопасностиПример. Заводится пользователь Bill с правом на создание БД

на создание БД и на выполнение функций оператора:
CREATE USER

Bill
WITH PRIVILEGES createdb, operator;
{создать пользователя Bill с привилегиями createdb
и operator}.
Для пользователя можно определить подразумеваемую группу:
CREATE USER Mary
WITH GROUP shoe_grp
{создать пользователя Mary с подразумеваемой группой}.


Слайд 13 Изменение привилегий безопасности
Все последующие изменения привилегий безопасности

Изменение привилегий безопасности Все последующие изменения привилегий безопасности выполняются посредством оператора

выполняются посредством оператора ALTER USER. Оператор DROP USER позволяет

удалить пользователя.
Примеры:
ALTER USER Bill
DROP PRIVILEGES createdb;
{лишить пользователя Bill права на создание БД}.
DROP USER Bill;
{удалить пользователя Bill}.

Слайд 14 Привилегии доступа
В СУБД авторизация доступа к данным

Привилегии доступа В СУБД авторизация доступа к данным осуществляется с помощью

осуществляется с помощью привилегий доступа.
Установление привилегий доступа зависит

от вида управления доступом. Для ДУД – это задача владельца объекта. Для ПУД – это задача админа БД.
Контроль привилегий доступа, независимо от вида управления доступом, обычно, возлагается на админа БД.
Создавать и удалять именованные носители привилегий, а также изменять их характеристики может лишь пользователь с привилегией security. При этом необходимо иметь подключение к служебной БД, в которой хранятся сведения о субъектах и их привилегиях.

Слайд 15 Привилегии доступа
Набор привилегий можно определить для конкретного

Привилегии доступа Набор привилегий можно определить для конкретного пользователя, группы, роли

пользователя, группы, роли или всех пользователей.
Объектом защиты может

быть БД, таблица, представление, хранимая процедура и т.д.
Субъектом защиты может быть пользователь, группа пользователей, роль, хранимая процедура (если это предусмотрено реализацией СУБД).
Привилегии устанавливаются и отменяются операторами языка SQL: GRANT (передать) и REVOKE (отобрать).
Оператор GRANT указывает конкретного пользователя, который получает конкретные привилегии доступа к указанной таблице.

Слайд 16 Установление привилегий
Конкретный пользователь СУБД опознается по уникальному

Установление привилегий Конкретный пользователь СУБД опознается по уникальному идентификатору (user-id). Любое

идентификатору (user-id). Любое действие над БД, любой оператор языка

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


Слайд 17 Управление привилегиями
Примеры.
Назначение привилегии субъекту:
GRANT привилегия

Управление привилегиями Примеры.Назначение привилегии субъекту: GRANT привилегия [ON объект] TO субъект

[ON объект] TO субъект WITH GRANT OPTION]
Отмена привилегии субъекту:


REVOKE привилегия [ON объект] FROM субъект
Назначение привилегии всем пользователям системы :
  GRANT привилегия [ON объект] TO PUBLIC
Отмена привилегии всем пользователям системы:
REVOKE привилегия [ON объект] FROM PUBLIC


Слайд 18 Управление привилегиями
Оператор GRANT может содержать необязательную часть,

Управление привилегиями Оператор GRANT может содержать необязательную часть, принципиально важную для

принципиально важную для защиты СУБД. Имеется в виду конструкция

GRANT ... ... WITH GRANT OPTION.
Подобный оператор GRANT передает не только указанные в нем привилегии, но и права на их дальнейшую передачу. Очевидно, что использование конструкции WITH GRANT OPTION ведет к децентрализации контроля над привилегиями и содержит потенциальную угрозу безопасности данных.


Слайд 19 Группы
Для облегчения процесса администрирования большого количества пользователей их

ГруппыДля облегчения процесса администрирования большого количества пользователей их объединяют в группы.

объединяют в группы.
Применяются три способа сочетания индивидуальных и

групповых прав в доступах пользователей:
Один и тот же идентификатор используется для доступа к БД целой группы физических лиц.
Конкретному физическому лицу присваивается уникальный идентификатор.
Одновременно поддерживается идентификатор пользователя и идентификатор группы пользователей.


Слайд 20 Группы
Когда пользователь тем или иным способом инициирует сеанс

ГруппыКогда пользователь тем или иным способом инициирует сеанс работы с БД,

работы с БД, он может указать, от имени какой

из своих групп он выступает. Кроме того, для пользователя обычно определяют подразумеваемую группу.
Совокупность всех пользователей именуется как PUBLIC. Придание привилегий PUBLIC – удобный способ задать подразумеваемые права доступа.
Прежде чем присваивать привилегии группам и ролям, их (группы и роли) необходимо создать.

Слайд 21 Создание и изменение групп
Группы создаются с помощью оператора

Создание и изменение группГруппы создаются с помощью оператора CRFATE GROUP:CREATE GROUP

CRFATE GROUP:
CREATE GROUP sales
WITH USERS = (Bill, Mary, Joe);
{Создать

группу sales с пользователями Bill, Mary, Jое}.
Для изменения группы служит оператор ALTER GROUP:
ALTER GROUP sales
ADD USERS (Austin);
{Добавить в группу sales пользователя Аustin}
ALTER GROUP sales
DRОР USERS (Joe);
{Удалить из группы sales пользователя Joe}.

Слайд 22 Удаление групп
Оператор DROP GROUP позволяет удалять группы, правда

Удаление группОператор DROP GROUP позволяет удалять группы, правда только после того,

только после того, как опустошен список членов группы:
ALTER GROUP

sales
DROP all;
{Опустошить список членов группы sales}
DROP GROUP sales;
{Удалить группу sales}.

Слайд 23 Роли в СУБД
Одна из проблем защиты данных в

Роли в СУБДОдна из проблем защиты данных в СУБД возникает по

СУБД возникает по той причине, что с БД работают

как прикладные программы (ПП), так и пользователи, которые их запускают.
Запуск ПП пользователями с различными правами доступа к данным, может приводить к нарушению безопасности в БД.
Решение этой проблемы заключается в том, чтобы ПП были приданы свои, не связанные с конкретным пользователем, привилегии доступа к объектам БД, которые она обрабатывает.
При этом админу не нужно каждый раз при запуске пользователями ПП заботиться о соответствии привилегий пользователей и ПП.

Слайд 24 Роли в СУБД
В современных СУБД это решение обеспечивается

Роли в СУБДВ современных СУБД это решение обеспечивается механизмом ролей (role).

механизмом ролей (role). При этом роль выступает в качестве

промежуточной сущности между пользователями и их привилегиями. Роль реализуется как отдельный именованный объект, хранящийся в БД.
Роль связывается с конкретной ПП для придания последней привилегий доступа к БД, таблицам, представлениям и процедурам БД.
Роль создается и удаляется администратором БД.
С ролью не ассоциируют перечень допустимых пользователей, ˗ вместо этого роли защищают паролями, если это предусмотрено производителем СУБД.


Слайд 25 Роли в СУБД
Роли также удобно использовать, когда тот

Роли в СУБДРоли также удобно использовать, когда тот или иной набор

или иной набор привилегий необходимо выдать (или отобрать) целой

группе пользователей. С одной стороны, это облегчает администратору управление привилегиями, с другой ˗ вносит определенный порядок в случае необходимости изменить набор привилегий для группы пользователей сразу.
В целом же, механизм ролей позволяет обеспечить приемлемую безопасность систем БД при малых трудозатратах на выдачу и отбор привилегий пользователям.

Слайд 26 Создание и удаление ролей
Создание роли с паролем:
CREATE

Создание и удаление ролейСоздание роли с паролем: CREATE ROLE dly salesWITH

ROLE dly sales
WITH PASSWORD = ‘e11332’
Оператор ALTER ROLE служит

для изменения пароля роли:
ALTER ROLE dly_sales
WITH PASSWORD = ‘h94pq861’
Оператор DROP ROLE позволяет удалить ранее созданную роль:
DROP ROLE dly_sales.


Слайд 27 Предоставление роли привилегий
Как только роль создана, ей можно

Предоставление роли привилегийКак только роль создана, ей можно предоставить привилегии доступа

предоставить привилегии доступа к объектам БД. Если субъект −

пользователь, привилегии назначаются явно. Если субъект − роль, то для управления привилегиями используются предложения:
GRANT ROLE имя_роли [ON объект] TO субъект [WITH GRANT OPTION]
Пример:
GRANT ROLE salesClerk
TO Mary;
{Предоставить пользователю Mary привилегию роли salesClerk}.


Слайд 28 Изъятие привилегий роли
Для изъятия привилегий роли используется

Изъятие привилегий роли Для изъятия привилегий роли используется предложение: REVOKE ROLE

предложение:
REVOKE ROLE salesClerk
FROM Mary
{Изъять привилегию роли salesClerk у

пользователя Mary}.


Слайд 29 Представления
При использовании дискреционной модели получается, что доступ регулируется

ПредставленияПри использовании дискреционной модели получается, что доступ регулируется на уровне именованных

на уровне именованных объектов, а не на уровне собственно

хранящихся в них данных.
Так, в реляционной СУБД объектом будет, например, именованное таблица, а субъектом - зарегистрированный пользователь.
В этом случае нельзя ограничить доступ только к части информации, хранящейся в таблице.
Частично проблему регулирования доступа к данным внутри объектов решают представления (Views).

Слайд 30 Представления
Результатом запроса на выборку является набор данных, представляющий

ПредставленияРезультатом запроса на выборку является набор данных, представляющий временную таблицу, с

временную таблицу, с которой можно работать как с обычной

реляционной таблицей.
В результате серии таких запросов для пользователя создается некая виртуальная БД со «своей» схемой данных и «своими» данными.
Представления позволяют сделать видимыми для субъектов только определенные столбцы базовых таблиц (реализовать проекцию) или отобрать определенные строки (реализовать селекцию).


Представлением (Views) называется сохраняемый в БД авторизованный глобальный запрос на выборку данных.


Слайд 31
Схема техники представлений

Схема техники представлений

Слайд 32 Представления как защита данных в СУБД
Авторизованный характер запросов,

Представления как защита данных в СУБДАвторизованный характер запросов, формирующих представления, позволяет

формирующих представления, позволяет предоставить конкретному пользователю только те данные

и только в том виде, которые ему необходимы для решения его задач.
Исключается возможность доступа, просмотра и изменения других данных, не имеющих отношения к данному пользователю.
С помощью представления администратор БД защищает таблицы от НСД и снабжает каждого пользователя своим видением БД, когда недоступные пользователю объекты как бы не существуют.


Слайд 33 Обращение к представлению
К представлению можно обращаться точно так

Обращение к представлениюК представлению можно обращаться точно так же, как и

же, как и к таблицам, за исключением операций модификации

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

Слайд 34 Хранение представлений
В конкретных реализациях представление обычно хранится как

Хранение представленийВ конкретных реализациях представление обычно хранится как текст, описывающий запрос

текст, описывающий запрос выборки, а не собственно выборку данных.


Собственно выборка создается динамически на момент выполнения предложения SQL, использующего представление.
Таким образом, при использовании представлений данные БД находятся там же где и находились до создания представления.

Слайд 35 Привилегии доступа к таблицам
Привилегии доступа имеют свои особенности

Привилегии доступа к таблицамПривилегии доступа имеют свои особенности для определенных видов

для определенных видов объектов, к которым они относятся.
Привилегии

доступа к таблицам позволяют реализовать следующие основные требования по безопасности:
разные пользователи могут иметь доступ только к строго определенным совокупностям таблиц;
разные пользователи могут иметь право на строго определенный перечень операций над данными конкретных таблиц (создание, чтение, модификация, удаление);


Слайд 36 Привилегии доступа к таблицам
разные пользователи могут иметь только

Привилегии доступа к таблицамразные пользователи могут иметь только выборочный доступ к

выборочный доступ к определенным элементам конкретных таблиц (отдельным строкам

и отдельным столбцам);
доступ определенных пользователей к определенной совокупности таблиц может быть запрещен непосредственно (через запросы), но разрешен в диалоге с прикладной программой.
При управлении доступом к таблицам набор привилегий в реализации СУБД определяется производителем.

Слайд 37 Привилегии доступа к таблицам
В качестве минимального набора выступают

Привилегии доступа к таблицамВ качестве минимального набора выступают привилегии выборки и

привилегии выборки и модификации данных:
SELECT − привилегия на выборку

данных;
INSERT − привилегия на добавление данных;
DELETE − привилегия на удаление данных;
UPDATE − привилегия на обновление данных
Дополнительные привилегии изменения структуры таблиц:
ALTER − изменение физической/логической структуры базовой таблицы (изменение размеров и числа файлов таблицы, введение дополнительного столбца и т.п.);
INDEX − создание/удаление индексов на столбцы таблицы;
ALL − все возможные действия над таблицей.


Слайд 38 Привилегий доступа к таблицам
Другие разновидности привилегий:
CONTROL (IBM

Привилегий доступа к таблицамДругие разновидности привилегий: CONTROL (IBM DB2) - комплексная

DB2) - комплексная привилегия управления структурой таблицы;
REFERENCES -

привилегия создания внешних ключей;
RUNSTAT - выполнение сбора статистической информации по таблице
и другие.


Слайд 39 Примеры предоставления привилегий доступа к таблицам
Пример предоставления пользователю

Примеры предоставления привилегий доступа к таблицамПример предоставления пользователю Adrian право на

Adrian право на выборку данных из таблицы продавцов:
GRANT SELECT


ON salespeople
TO Adrian.
Привилегии можно перечислять через запятую, например:
GRANT SELECT, INSERT, DELETE
ON sales
TO Joe, Adrian, Thomas
{Предоставить пользователям Joe, Adrian и Thomas право на выборку, добавление и удаление данных из таблицы sales}.

Слайд 40 Примеры предоставления привилегий доступа к таблицам
Если необходимо выделить

Примеры предоставления привилегий доступа к таблицамЕсли необходимо выделить привилегию не на

привилегию не на всю таблицу, а лишь на отдельные

столбцы, используют следующий синтаксис:
GRANT SELECT (name, address)
ON sales
TO Adrian
{Предоставить пользователю Adrian право на выборку данных из столбцов name, address таблицы sales}.


Слайд 41 Примеры предоставления привилегий доступа к таблицам
Пользователям могут выделяться

Примеры предоставления привилегий доступа к таблицамПользователям могут выделяться разные привилегии к

разные привилегии к разным столбцам одной таблицы, например:
GRANT

SELECT,
UPDATE (empname, empaddress),
DELETE (admission)
ON employee
TO Bill, Maru
{Предоставить пользователям Bill и Maru право на выборку из всей таблицы employee, на изменение столбцов empname и empaddress таблицы employee и на удаление столбца admission (допуск) той же таблицы employee}.


Слайд 42 Примеры предоставления привилегий доступа к таблицам
Обобщающий аргумент all

Примеры предоставления привилегий доступа к таблицамОбобщающий аргумент all заменяет в команде

заменяет в команде GRANT перечень всех возможных привилегий работы

с таблицей.
GRANT all
ON salesPeople
TO Diane
Аргумент PUBLIC имеет аналогичный смысл, но только в отношении пользователей, например:
GRANT SELECT
ON phonelist
TO PUBLIC

Слайд 43 Примеры предоставления привилегий доступа к таблицам
Иногда возникает ситуация,

Примеры предоставления привилегий доступа к таблицамИногда возникает ситуация, когда пользователя необходимо

когда пользователя необходимо не только наделить привилегиями, но и

дать возможность передавать эти привилегии другим пользователям. В этом случае используют команду
GRANT SELECT
ON salesPeople
TO Adrian
WITH GRANT OPTION
{Пользователю Adrian разрешено передавать привилегию SELECT к таблице продавцов salesPeople третьим лицам}.


Слайд 44 Примеры предоставления привилегий доступа к таблицам
Теперь Adrian может

Примеры предоставления привилегий доступа к таблицамТеперь Adrian может ввести, например, команду:GRANT

ввести, например, команду:
GRANT SELECT
ON salesPeoples
TO Stephen
WITH GRANT

OPTION
{Пользователю Stephen разрешено передавать привилегию SELECT к таблице продавцов salesPeople третьим лицам}.
Понятно, что такой мощной командой нужно пользоваться очень аккуратно, т.к., например, в рассмотренном выше примере количество пользователей, имеющих доступ к таблице, будет расти в геометрической прогрессии.


Слайд 45 Пример лишения привилегий доступа к таблицам
Лишение пользователя привилегий

Пример лишения привилегий доступа к таблицамЛишение пользователя привилегий осуществляется командой REVOKE.

осуществляется командой REVOKE. Ее синтаксис аналогичен синтаксису команды GRANT,

но имеет обратный смысл.
REVOKE INSERT
ON salesPeople
FROM Adrian
{Лишить пользователя Adrian права на добавление данных в таблицу продавцов salesPeople}.

Слайд 46 Лишение привилегий доступа к таблицам
Возникает вопрос: кто имеет

Лишение привилегий доступа к таблицамВозникает вопрос: кто имеет право отменять привилегии,

право отменять привилегии, и что делать в том случае,

если пользователь успел передать свои привилегии?
Это не стандартная ситуация, поэтому нет никаких авторитетных ответов на эти вопросы.
Наиболее общий подход в такой ситуации следующий: привилегии отменяются пользователем, который их предоставил, и отмена будет каскадироваться, то есть она будет автоматически распространяться на всех пользователям получивших от него эту привилегию.

Слайд 47 Использование представлений для фильтрации привилегий
Всякий раз, когда пользователю

Использование представлений для фильтрации привилегийВсякий раз, когда пользователю выделяется привилегия к

выделяется привилегия к базовой таблице, она автоматически распространяется на

все строки, а при использовании возможных исключений UPDATE и REFERENCES, и на все столбцы таблицы.
Действия привилегий по отношению к базовой таблице можно сделать более точными, используя представления.
Сначала создается представление, которое ссылается на основную таблицу, а затем уже выделяется привилегия доступа к этому представлению, а не к самой таблице.
Это значительно улучшает базисные возможности команды GRANT.

Слайд 48 Использование представлений для фильтрации привилегий
Таким образом представления позволяют

Использование представлений для фильтрации привилегийТаким образом представления позволяют сделать видимыми для

сделать видимыми для субъектов только определенные столбцы или определенные

строки базовых таблиц.
Сконструировав подходящие представления, администратор БД, по существу, защищает таблицы от несанкционированного доступа и снабжает каждого пользователя своим видением БД, когда недоступные для него объекты как бы не существуют.

Слайд 49 Предоставление привилегий доступа к представлениям
Пример. Пусть пользователю Thomas

Предоставление привилегий доступа к представлениямПример. Пусть пользователю Thomas необходимо предоставить возможность

необходимо предоставить возможность видеть только столбцы name и address

базовой таблицы продавцов salesPeople.
CREATE VIEW thomasView
AS SELECT name, address
FROM salesPeople.
Теперь пользователю Thomas выделяется привилегия SELECT к представлению thomasView, а не к самой таблице
GRANT SELECT
ON thomasView
TO Thomas.

Слайд 50 Доступ к представлениям с фильтрацией строк
Пользователю Adrian предоставить

Доступ к представлениям с фильтрацией строкПользователю Adrian предоставить привилегию UPDATE в

привилегию UPDATE в таблице заказчиков customers, размещенных в Лондоне:


CREATE VIEW londoncust
AS SELECT *
FROM customers
WHERE city = 'London'
WITH CHECK OPTION,
затем необходимо передать пользователю Adrian привилегию UPDATE к созданному представлению:
GRANT UPDATE
ON Londoncust
TO Adrian.


Слайд 51 Доступ к представлениям с фильтрацией столбцов и строк
Фильтрацию

Доступ к представлениям с фильтрацией столбцов и строкФильтрацию данных в представлении

данных в представлении можно распространить на конкретные столбцы и

строки исходной таблицы.
Пусть всем пользователям необходимо предоставить возможность видеть в исходной таблице сотрудников employee только два столбца: фамилию name и отдел dept и только строки, относящиеся к обувному отделу shoe.
Сначала создаем соответствующее представление:
CREATE VIEW empview AS (условие)
SELECT name, dept
FROM employee
WHERE dept = ‘shoe‘.

Слайд 52 Доступ к представлениям с фильтрацией столбцов и строк

Доступ к представлениям с фильтрацией столбцов и строк Затем предоставляется всем


Затем предоставляется всем право на выборку из созданного представления:
GRANT

SELECT
ON empview
TO PUBLIC.
Если при доступе к представлению empview, пытаться запросить сведения, относящиеся к отделу игрушек toy:
SELECT *
FROM empview
WHERE dept = ‘toy‘,
то ответ будет из нуля строк, а не код ответа.


Слайд 53 Привилегии пользователя при создании представления
При создании представления пользователь

Привилегии пользователя при создании представленияПри создании представления пользователь должен иметь привилегию

должен иметь привилегию SELECT ко всем базовым таблицам, на

которые имеются ссылки в создаваемом представлении.
Если представление – модифицируемое, то пользователь должен иметь привилегии INSERT, UPDATE, и DELETE к базовым таблицам, причем эти привилегии будут автоматически передаваться и к представлению.
Если пользователь не имеет привилегий на модификацию в базовых таблицах, то он не сможет получить их и в представлениях, которые он создал, даже если сами эти представления – модифицируемые.
Привилегия REFERENCES при создании представлений никогда не используется.

Слайд 54 Представления с агрегатными функциями
Другая возможность состоит в том,

Представления с агрегатными функциямиДругая возможность состоит в том, чтобы предлагать пользователям

чтобы предлагать пользователям доступ к уже извлеченным данным,

а не к фактическим значениям в исходной таблице.
Реализовать эту возможность позволяют агрегатные функции.
С помощью агрегатных функций можно создавать представление, которое реализует:
счет COUNT,
среднее значение AVG,
общее количество SUM,
и др.

Слайд 55 Представления с агрегатными функциями
Пример.
CREATE VIEW datetotals
AS SELECT

Представления с агрегатными функциямиПример.CREATE VIEW datetotals AS SELECT odate, COUNT (*),

odate, COUNT (*), SUM (amt), AVG (amt)
FROM Orders


GROUP BY odate.
Теперь можно передать пользователю Diane привилегию SELECT в представлении datetotals:
GRANT SELECT
ON datetotals
TO Diane.


Слайд 56 Привилегии доступа к процедурам
По отношению к процедуре можно

Привилегии доступа к процедурамПо отношению к процедуре можно предоставить лишь право

предоставить лишь право на ее выполнение. При этом не

нужно заботиться о выделении прав доступа к объектам, обрабатываемым процедурой – их наличие не обязательно.
Таким образом процедуры БД являются удобным средством предоставления контролируемого доступа для выполнения строго определенных действий с данными.
Пример предоставления права выполнения (EXECUTE) процедуры integ check всем пользователям:
GRANT EXECUTE
ON PROCEDURE integ_check
TO PUBLIC.


Слайд 57 Привилегии доступа к процедурам
По умолчанию все пользователи имеют

Привилегии доступа к процедурамПо умолчанию все пользователи имеют право создавать процедуры

право создавать процедуры в БД. Если бы они при

этом автоматически получали права на их выполнение, то смогли бы осуществить, по существу, любую операцию с данными, поскольку выполнение процедуры не требует прав доступа к обрабатываемым объектам.
Для исключения этой возможности предоставление права на выполнение процедуры, возможна только администратором БД.
Видно, насколько осторожно нужно относиться к предоставлению привилегий выполнения по отношению к новым, непроверенным процедурам.

Слайд 58 Права доступа к БД
Права доступа к БД как

Права доступа к БДПрава доступа к БД как к единому целому

к единому целому может предоставлять только администратор БД или

администратор сервера БД. Эти «права» на самом деле устанавливают ряд ограничений на использование БД, т.е. по сути, являются запретительными.
Так, в СУБД INGRES в правах доступа к БД используются следующие виды ограничений:
QUERY_IO_LIMIT – предполагаемое максимальное число операций ввода/вывода на один запрос;
QUERY_ROW_LIMIT – предполагаемое максимальное число строк, возвращаемых одним запросом;

Слайд 59 Права доступа к БД
ограничение на использование ресурсов процессора;
ограничение

Права доступа к БДограничение на использование ресурсов процессора;ограничение на число запрашиваемых

на число запрашиваемых страниц;
управление доступом к БД;
управление созданием таблиц;
управление

созданием процедур;
управление использованием опции u (подключение от имени другого пользователя).
По умолчанию в правах пользователя нет этих ограничений.
Привилегии QUERY_IO_LIMIT и QUERY_ROW_LIMIT пользователей проверяются на основании оценок, выдаваемых оптимизатором запросов .


Слайд 60 Примеры операторов доступа к БД
Примеры операторов управления доступом

Примеры операторов доступа к БДПримеры операторов управления доступом к БД, как

к БД, как к единому целому:
GRANT NOCREATE_TABLE, NOCREATE_PROCEDURE
ON DATABASE

new_accts
TO GROUP clerks;
{Запретить членам группы clerks создавать таблицы и процедуры в базе данных new_accts};
GRANT QUERY_ROW_LIMIT 250
ON DATABASE customers
TO Mary.
{Разрешить пользователю Mary получать в БД клиентов customers не более 250 строк на один запрос}


Слайд 61 Права доступа к серверу БД
Права доступа к серверу

Права доступа к серверу БДПрава доступа к серверу БД распространяются на

БД распространяются на все БД, обслуживаемые данным сервером. Набор

этих прав тот же, что и для отдельных БД.
Пример оператора, предоставляющего обладателям роли creators право на создание таблиц во всех БД:
GRANT CREATЕ ТАВLЕ
ON CURRENT INSTALLATION
TU ROLE creators;
Привилегии, явно определенные для отдельных БД, имеют приоритет над привилегиями сервера.


Слайд 62 Отмена привилегий доступа
Для отмены привилегий, выданных ранее (как

Отмена привилегий доступаДля отмены привилегий, выданных ранее (как разрешительных, так и

разрешительных, так и запретительных), служит оператор REVOKE. Синтаксически он

аналогичен оператору GRANT с заменой слова ТО на FRОМ.
Пример:
REVOKE QUERY ROW LIMIT
ON DATABASE emplоуее
FRОМ ROLE review emp.
Приведенный оператор отменяет ограничение на число результирующих строк в одном запросе, если ранее оно было наложено на роль review emp.


Слайд 63 Иерархия прав доступа
Иерархия различных прав доступа задается, обычно,

Иерархия прав доступаИерархия различных прав доступа задается, обычно, производителем СУБД. Так,

производителем СУБД. Так, в СУБД INGRES средства управления доступом

позволяют реализовать следующие ограничения доступа:
операционные ограничения (за счет прав доступа INSERT, UРDАТЕ, DELETE);
ограничения по значениям (за счет механизма представлений);
ограничения на ресурсы (за счет привилегий доступа к БД).
Последний вид ограничений во многих СУБД, в частности, в СУБД ЛИНТЕР отсутствует, вследствие отсутствия доступа к БД в целом.

Слайд 64 Иерархия прав доступа
При обработке запроса СУБД сначала проверяет

Иерархия прав доступаПри обработке запроса СУБД сначала проверяет операционные ограничения. Если

операционные ограничения. Если они оказываются нарушенными, запрос отвергается с

выдачей соответствующей диагностики. Нарушение ограничений на значения влияет только на количество возвращаемых результирующих строк. Никакой диагностики при этом не выдается. После учета двух предыдущих ограничений, запрос поступает на обработку оптимизатору запросов для проверки ограничений на ресурсы. Если тот обнаружит превышение этих ограничений, запрос будет отвергнут с выдачей соответствующей диагностики.


Слайд 65 Иерархия прав доступа
В соответствии с принятой в СУБД

Иерархия прав доступаВ соответствии с принятой в СУБД системой привилегий каждый

системой привилегий каждый пользователь помимо собственных, имеет привилегии PUBLIC,

может входить в различные группы и запускать приложения с определенными ролями. Возникает вопрос: как соотносятся между собой права, предоставленные различным именованным носителям привилегий?
В СУБД INGRES иерархия авторизации привилегий выглядит следующим образом:
роль (высший приоритет);
пользователь;
группа;
PUBLIC (низший приоритет).

Слайд 66 Иерархия прав доступа
Для каждого объекта, к которому осуществляется

Иерархия прав доступаДля каждого объекта, к которому осуществляется доступ, СУБД пытается

доступ, СУБД пытается отыскать в иерархии привилегию, относящуюся к

запрашиваемому виду доступа; (SELECT, ЕXЕСUТE и т.п.).
Например, при попытке доступа к таблице с целью обновления (UPDATE), СУБД последовательно проверяет привилегии роли, пользователя, группы и всех пользователей (PUBLIC). Если хотя бы на одном уровне иерархии привилегия UPDATE имеется, запрос передается для дальнейшей обработки. В противном случае используется подразумеваемое право, доступа, которое предписывает отвергнуть запрос.

Слайд 67 Трактовка ограничений на ресурсы
Пример для СУБД INGRES.

Трактовка ограничений на ресурсы Пример для СУБД INGRES. Пусть на 4-х

Пусть на 4-х уровнях иерархии прописаны свои ограничения на

число результирующих строк запроса (привилегия QUERY_ROW_LIMIT):
роль – 1700;
пользователь – 1500;
группа – 2000;
PUBLIC – 1000.
Если пользователь в начале сеанса задал и роль, и группу, будет использовано ограничение по роли. Если бы привилегия для роли отсутствовала или роль не была бы задана, он смог бы получать 1500 строк и т.д. Если бы привилегия QUERY ROW LIMIT вообще не была бы специфицирована, СУБД по умолчанию вообще не наложила бы ограничений на число строк.


Слайд 68 Информация о привилегиях
Важно не только давать и отбирать

Информация о привилегияхВажно не только давать и отбирать привилегии, но и

привилегии, но и иметь информацию о том, какими правами

доступа обладает каждый из субъектов. Такая информация в том или ином виде хранится в специальной служебной БД СУБД. Так, в СУБД INGRES подобные данные хранятся в таблицах специальной БД iidbdb.
Необходимую информацию о правах доступа, относящихся к текущему подключению можно получить с помощью функции dbmsinfo, а также путем анализа содержимого БД iidbdb. Можно узнать имена действующих группы и роли, значения количественных ограничений, наличие привилегий для создания таблиц и процедур и т.п.


Слайд 69 Информация о привилегиях
Другие таблицы iiusergroup, iirole и iidbprivileges

Информация о привилегияхДругие таблицы iiusergroup, iirole и iidbprivileges БД iidbdb содержат,

БД iidbdb содержат, соответственно, список групп и их состав,

перечень pолей вместе с зашифрованными паролями и сведения о привилегиях доступа к БД.
Так, таблица iiusergroup состоит из трех столбцов:
• groupid – имя группы;
• groupmem – имя члена группы;
• reserve – резервный столбец.
Средствами SQL из этих таблиц можно извлечь всю необходимую информацию.


Слайд 70 Соотношение прав доступа СУБД и ОС
Данные, обрабатываемые средствами

Соотношение прав доступа СУБД и ОСДанные, обрабатываемые средствами СУБД, располагаются в

СУБД, располагаются в файлах и/или логических томах ОС. Соответственно,

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

Слайд 71 Соотношение прав доступа СУБД и ОС
Данные из БД

Соотношение прав доступа СУБД и ОСДанные из БД могут экспортироваться в

могут экспортироваться в файлы ОС или другие хранилища. Возможен

и обратный процесс импорта данных. Необходимо следить за тем, чтобы подобные операции не понижали уровень защищенности системы.
Сделать это не просто. Во-первых, ОС может не обеспечивать должной защиты. Во-вторых, даже для развитых ОС необходимо соответствие между механизмами защиты СУБД и ОС. При большом числе пользователей данная задача становится очень сложной. Поэтому практичное решение сводится к административному контролю за экспортом/импортом информации.

Слайд 72 Соотношение прав доступа СУБД и ОС
Исходные тексты сложных

Соотношение прав доступа СУБД и ОСИсходные тексты сложных процедур БД, также

процедур БД, также могут храниться в файлах ОС, и

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


Слайд 73 Мандатная защита в СУБД
Современные АИС обеспечивают также принудительный

Мандатная защита в СУБДСовременные АИС обеспечивают также принудительный контроль доступа (mandatory

контроль доступа (mandatory access control). Он основан на отказе

от понятия владельца данных и опирается на, так называемые, метки безопасности (security labels), которые присваиваются данным при их создании и служат для классификации данных по уровням конфиденциальности.
Метки содержатся также и на официальных разрешениях (допусках) пользователей для обращения к данным соответствующего уровня конфиденциальности.
При мандатной защите конкретный пользователь может оперировать только с данными, расположенными на уровне конфиденциальности, который соответствует его статусу.


Слайд 74 Метки безопасности
Мандатная защита, позволяет связать метки безопасности

Метки безопасности Мандатная защита, позволяет связать метки безопасности с каждой строкой

с каждой строкой любой таблицы в БД. Любой пользователь

может потребовать в своем запросе отобразить любую таблицу из БД, однако увидит он только те строки, метки безопасности которых не превышают его статус.
СУБД проверяет статус пользователя и, в ответ на его запрос, возвращает только те строки таблицы, которые удовлетворяют запросу и соответствуют этому статусу.
Метки безопасности неизменны на всем протяжении существования объекта защиты, уничтожаются только вместе с ним и территориально (на диске) располагаются тоже вместе с ним, а не в системном каталоге, как это происходит при логической защите.


Слайд 75 Метки безопасности
Средства мандатной защиты предоставляются специальными (trusted)

Метки безопасности Средства мандатной защиты предоставляются специальными (trusted) версиями СУБД, которые

версиями СУБД, которые не позволяют игнорировать метки безопасности при

получении доступа к информации.
Такие реализации СУБД, как правило, представляют собой комплекс средств как на машине-сервере, так и на машине-клиенте, при этом возможно использование специальной защищенной версии ОС. Кроме разграничения доступа к информации посредством меток конфиденциальности, защищенные СУБД предоставляют средства слежения за доступом субъектов к объектам защиты (аудит).

Слайд 76 Метки безопасности
Использование СУБД с возможностями мандатной защиты

Метки безопасности Использование СУБД с возможностями мандатной защиты позволяет разграничить доступ

позволяет разграничить доступ собственно к данным, хранящимся в информационной

системе, от доступа к именованным объектам данных.
Существуют реализации, позволяющие разграничивать доступ вплоть до конкретного значения конкретного атрибута в конкретной строке конкретной таблицы.
Обычно сама метка представляет собой целый набор значений, отражающих, например, уровень защищенности устройства, на котором хранится таблица, уровень защищенности самой таблицы, уровень защищенности атрибута и уровень защищенности кортежа.



Слайд 77 СУБД INGRES/Еnhanced Security
Механизм меток безопасности был впервые

СУБД INGRES/Еnhanced Security Механизм меток безопасности был впервые реализован в версии

реализован в версии СУБД INGRES/Еnhanced Security (INGRES с повышенной

безопасностью).
В этой СУБД к каждой реляционной таблице неявно добавляется столбец, содержащий метки безопасности строк таблицы. Каждая метка состоит из трех компонентов:
уровень секретности;
категория;
область.
Компонент «уровень секретности» зависит от приложения.
Например, для военных ведомств США это 4 уровня секретности от «совершенно секретно» до «несекретно».

Слайд 78 СУБД INGRES/Еnhanced Security
Понятие «категория» позволяет разделить данные

СУБД INGRES/Еnhanced Security Понятие «категория» позволяет разделить данные на тематические отсеки.

на тематические отсеки. В коммерческих приложениях категориями могут быть

«финансы», «кадры», «материальные ценности» и т.п. В военной сфере категориями могут быть рода войск, типы вооружений и военной техники и т.п.
Компонент «область» является еще одним средством деления информации на отсеки. Он может действительно иметь географический смысл (например, страна, регион). В коммерческих приложениях «область» может обозначать тип местности (городская, сельская), городские районы, филиалы, торговые точки и т.п. В военных приложениях – это - военные округа, места дислокации частей и т.п.

Слайд 79 СУБД INGRES/Еnhanced Security
Каждый пользователь INGRES/Enhanced Security имеет

СУБД INGRES/Еnhanced Security Каждый пользователь INGRES/Enhanced Security имеет статус, определяемый присвоенной

статус, определяемый присвоенной ему меткой безопасности пользователя (МБП). Он

может получить доступ к данным с меткой безопасности данных (МБД), если одновременно удовлетворяются следующие 3 условия:
уровень секретности в МБП должен быть не ниже уровня секретности в МБД;
набор категорий, заданных в МБД, должен целиком содержаться в МБП;
набор областей, заданных в МБП, должен целиком содержаться в МБД.


Слайд 80 СУБД INGRES/Еnhanced Security
Пример 1

СУБД INGRES/Еnhanced Security Пример 1

Слайд 81 СУБД INGRES/Еnhanced Security
Пример 2

СУБД INGRES/Еnhanced Security Пример 2

Слайд 82 СУБД INGRES/Еnhanced Security
Для совместимости с обычными версиями

СУБД INGRES/Еnhanced Security Для совместимости с обычными версиями СУБД, столбец с

СУБД, столбец с метками безопасности не показывается.
Механизм меток безопасности

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


Слайд 83 СУБД INGRES/Еnhanced Security
Специальная привилегия DOWNGRADE позволяет изменять

СУБД INGRES/Еnhanced Security Специальная привилегия DOWNGRADE позволяет изменять метки безопасности, ассоциированные

метки безопасности, ассоциированные с данными. Это необходимо для коррекции

меток, по тем или иным причинам оказавшихся неправильными.
СУБД INCRES/Еnhancеd Security допускает не только скрытое, но и явное включение меток безопасности в реляционные таблицы. Появился новый тип данных, security label, поддерживающий соответствующие операции сравнения.
INCRES/Еnhancеd Security – первая СУБД, получившая сертификат по классу безопасности В1. В настоящее время появились и другие СУБД с мандатной защитой.


Слайд 84 СУБД «Линтер»
Отечественным примером является СУБД с меточной безопасностью

СУБД «Линтер»Отечественным примером является СУБД с меточной безопасностью является СУБД «Линтер»,

является СУБД «Линтер», которая получила признание в силовых структурах,

как единственная СУБД, имеющая сертификат по второму классу защиты от НСД, что соответствует классу B3 оранжевой книги.
Мандатная защита ЛИНТЕР также опирается на механизм меток безопасности, однако, по сравнению с СУБД INCRES/Еnhancеd Security ЛИНТЕР имеет свои специфические особенности, которые позволяют существенно более строго реализовать контроль управления доступом к конфиденциальным данным.

Слайд 85 СУБД «Линтер»
В СУБД «Линтер» все перечисленные объекты (независимо

СУБД «Линтер»В СУБД «Линтер» все перечисленные объекты (независимо от их иерархии

от их иерархии в БД) разбиваются на группы принадлежности.


Объект может принадлежать только одной из групп (это может быть, например, разбиение по отделам организации).
Группы принадлежности напрямую связаны с группами субъектов. Субъект вправе видеть только данные своей группы, если между группами субъектов не установлены отношения доверия.



Слайд 86 СУБД «Линтер»
В СУБД «Линтер» все объекты выстроены в

СУБД «Линтер»В СУБД «Линтер» все объекты выстроены в иерархию по уровням

иерархию по уровням конфиденциальности и по уровням ценности или

важности.
Уровень конфиденциальности разбивает объекты по доступности на чтение. Пользователь с более низким уровнем доступа не будет знать даже о существовании объектов с более высоким уровнем конфиденциальности.
Уровень ценности, напротив, разбивает данные (объекты) по важности, ограничивая возможность их удаления и модификации.

Слайд 87 СУБД «Линтер»
Метка объекта включает:
• группу субъекта, который внес данный

СУБД «Линтер»Метка объекта включает:•	группу субъекта, который внес данный объект;•	уровень доступа на

объект;
• уровень доступа на чтение – RAL (Read Access Level);
• уровень

доступа на запись – WAL (Write Access Level).
Метка субъекта выглядит аналогично:
• группу, к которой принадлежит субъект;
• RAL-уровень субъекта, который представляет собой максимальный RAL-уровень доступной субъекту;
• WAL-уровень субъекта, то есть минимальный RAL-уровень объекта, который может быть создан этим субъектом.


Слайд 88 СУБД «Линтер»
Все пользователи БД считаются разбитыми на непересекающиеся

СУБД «Линтер»Все пользователи БД считаются разбитыми на непересекающиеся группы. Группа описывает

группы. Группа описывает область доступных пользователю данных. Для каждой

группы существует админ группы (DBA), созданный админом системы. При этом пользователи одной группы не видят данных, принадлежащих пользователям другой группы.
В системе реализовано понятие «уровень доверия между группами». Уровни доверия не могут быть вложенными. Группа представляет собой число в диапазоне [1-250]. Группа 0 – группа админ системы. Только он может создать пользователя в группе, отличной от своей. Все данные, созданные от имени пользователя, помечаются его группой.

Слайд 89 СУБД «Линтер»
Уровни доступа вводятся для проверки прав на

СУБД «Линтер»Уровни доступа вводятся для проверки прав на осуществление чтения-записи информации.

осуществление чтения-записи информации.
Вводятся следующие уровни доступа:
1. Для пользователя (субъекта):
RAL

– уровень доступа; пользователь может получать (читать) информацию, RAL-уровень которой не выше его собственного уровня доступа;
WAL – уровень доверия на понижение уровня конфиденциальности; пользователь не может вносить информацию с уровнем доступа (RAL-уровнем) более низким, чем данный WAL-уровень пользователя.


Слайд 90 СУБД «Линтер»
2. Для информации:
RAL – уровень чтения; пользователь может

СУБД «Линтер»2.	Для информации:RAL – уровень чтения; пользователь может получать (читать) информацию,

получать (читать) информацию, RAL-уровень которой не выше его собственного

RAL-уровня (может читать менее конфиденциальные данные);
WAL – уровень ценности или уровень доступа на запись (модификацию, удаление); пользователь может модифицировать (удалять) информацию, WAL-уровень которой не выше его RAL-уровня.

Слайд 91

СУБД «Линтер»
Уровень доступа на чтение
Уровень доступа на запись
max
min

СУБД «Линтер»Уровень доступа на чтениеУровень доступа на записьmaxmin

  • Имя файла: bezopasnost-sistem-baz-dannyh-upravlenie-dostupom-v-subd.pptx
  • Количество просмотров: 116
  • Количество скачиваний: 0