Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Уд.DOC
Скачиваний:
7
Добавлен:
27.10.2018
Размер:
1.11 Mб
Скачать

11. Защита от несанкционированного доступа

Защита может выполняться на разных уровнях:

  1. Защита на уровне данных:

  • использование закрытого формата данных;

  • использование шифрации данных;

  • перенос данных на защищенный сервер;

  • Защита на уровне СУБД – распознавание пользователя:

    • идентификация пользователя – пользователь указывает свой идентификатор (не секретный – логин);

    • аутентификация – проверка соответствия реального пользователя указанному идентификатору, предъявляется секретный ключ (пароль), который сравнивается с хранимым в СУБД.

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

    • выделяет соответствующие пользователю ресурсы;

    • организует мониторинг и аудит за пользователем;

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

    Основное средство защиты – определение прав доступа пользователя:

    • обязательный;

    • избирательный.

    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 для дополнительной защиты используется механизм представления (выжимка из таблиц).