- •1. Общие понятия ис.
- •Жизненный цикл ис.
- •Пользователи ис делятся на внешних и внутренних.
- •Базы данных.
- •Проектирование бд.
- •Факто-графические системы.
- •2. Ограничения целостности. Виды и реализация.
- •Обеспечение целостности (12 Восстановление данных)
- •3. Сетевая и иерархическая модель данных Сетевая модель
- •Типовые операции с данными:
- •Иерархическая модель.
- •4. Реляционная модель данных
- •Математический аппарат реляционной модели.
- •5. Нормализация отношений
- •6. Инфологическое проектирование
- •7. Даталогическое проектирование (дп)
- •Преобразование в дм для реляционной субд
- •8. Организация диалога
- •9. Функциональное проектирование
- •10. Язык sql
- •11. Защита от несанкционированного доступа
- •13. Организация многопользовательского доступа
- •14. Физическая организация данных
- •15. Методы поиска в бд
- •16. Документальные системы
11. Защита от несанкционированного доступа
Защита может выполняться на разных уровнях:
-
Защита на уровне данных:
-
использование закрытого формата данных;
-
использование шифрации данных;
-
перенос данных на защищенный сервер;
Защита на уровне СУБД – распознавание пользователя:
-
идентификация пользователя – пользователь указывает свой идентификатор (не секретный – логин);
-
аутентификация – проверка соответствия реального пользователя указанному идентификатору, предъявляется секретный ключ (пароль), который сравнивается с хранимым в СУБД.
После опознавания пользователя система производит следующие действия:
-
выделяет соответствующие пользователю ресурсы;
-
организует мониторинг и аудит за пользователем;
-
устанавливает права доступа пользователя.
Основное средство защиты – определение прав доступа пользователя:
-
обязательный;
-
избирательный.
1) Избирательный – дает меньшую степень защиты, но более просто реализуется. Используется матрица доступа.
Субъект – то, что выполняет действие (м.б. пользователь или программа).
Объект – то, над чем выполняется действие (м.б. инф. объект или программа).
Привилегия – право на выполнение действий.
Самая известная реализация в языке SQL. Для внешних пользователей основными привилегиями являются: SELECT, DELETE, UPDATE, INSERT; EXECUTE – право на запуск программы. Недостаток – большой объем. Для упрощения задания прав используется группирование:
-
группирование пользователей – объявляются группы, пользователи причисляются к группам, привилегии назначаются как отдельным пользователям, так и отдельным группам; обычно есть предопределенные группы (PUBLIC – в нее автоматически зачисляются все пользователи, этой группе определяют минимальные права);
-
назначение роли – роль объединяет набор привилегий по отношению к разным объектам; для задания прав в SQL используется оператор “GRANT <привилегии> ON <объекты> TO <субъекты>” (привилегии, объекты и субъекты могут задаваться списком).
Привилегии может назначать администратор, владелец объекта или уполномоченное лицо (для назначения уполномоченного “GRANT … WITH GRANT OPTION …”, для отмены привилегии “REVOKE <прив> ON <об> FROM <суб>”); привилегию может снять только субъект, ее назначивший; снятие привилегии выполняется каскадно.
Недостатки:
-
сложность назначения привилегий;
-
ошибки нарушения конфиденциальности из-за путаницы.
2) Обязательный подход – связываются с объектами и субъектами метки конфиденциальности.
Субъекту задаются уровни секретности, объектам присваиваются классы секретности (совершенно секретно, секретно, для служебного пользования, не секретно). При попытке доступа, уровень пользователя сравниваются с классом объекта. Учитываются ограничения:
-
пользователь может читать данные своего уровня и нижних;
-
пользователь может записывать данные своего уровня и более высокого;
Белл и ЛаПадула:
-
простая модель – предусматривает метки отдельных записей:
-
расширенная модель – задание меток на уровне полей для записи.
В получаемых моделях секретные, несекретные данные хранятся в общих таблицах. При выводе, засекреченные данные не предъявляются. Возможна косвенная утечка информации. Зависит от способа маскирования данных. Варианты маскирования:
-
прямое маскирование полей – информация секретных полей не выводится; ввод в засекреченные поля блокируется; в этом случае мы знаем, что в скрытом поле что-то спрятано;
-
использование легенды для секретных данных:
ФИО г.р. должность
С Иванов Н 1940 С бухгалтер
Д. Бонд аг. 007
В этом случае все равно остается косвенный канал утечки информации, т.к. пользователь может модифицировать, но блокируется удаление запрещенных данных;
-
использование многозначных картежей – умышленное нарушение реляционных принципов: каждый пользователь работает со своей копией (наиболее надежный).
Возможны другие варианты косвенных каналов:
-
каналы памяти – искусственная организация передачи информации через память на нижний уровень (не по случайности, а намеренная);
-
каналы передачи – утечка может основываться на измерении трафика; эту проблему решают с помощью дополнения информации до постоянного объема.
3. Защита на уровне приложения – на этом уровне могут реализовываться аналогичные механизмы, при отсутствии их в СУБД. Кроме того на уровне приложения можно реализовать дополнительные возможности:
-
очистка буферов;
-
очистка swapping-файлов;
-
очистка временного хранения;
-
контроль выдачи выходных документов;
-
протокол обращения к данным;
-
вывод на съемные носители;
-
контроль целостности системы защиты.
В SQL для дополнительной защиты используется механизм представления (выжимка из таблиц).