Безопасность СУБД Средства и методы обеспечения конфиденциальности и целостности данных в СУБД Подготовили: Редишев М.В. Трефилов В.В. Подготовили: Редишев.

Презентация:



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

Администрирование и безопасность MySQL. Создание и удаление пользователей Под учетной записью пользователя MySQL подразумевается строка в таблице user.
Лекция 27 Лекция 27 Идентификация пользователей. Проверка и назначение полномочий и представлений данных пользователей. Защита базы данных. Контроль параллельной.
Тамбовский государственный университет имени Г.Р. Державина Институт математики, физики и информатики Кафедра информатики и информационных технологий Иванова.
Администрирование информационных систем Администрирование БД. Управление разрешениями.
Технология хранения, поиска и сортировки информации в базах данных
Администрирование информационных систем Лекция 4. Система управления базами данных.
Учетные записи пользователей и групп Дисциплина «Построение Windows-сетей» Сергеев А. Н. Волгоградский государственный социально-педагогический университет.
Доступ в DB2 Белькова Евгения, программист отдела тестирования, группа DB2 Tools.
Система усиленной аутентификации по отпечатку пальца.
Меры по обеспечению безопасности на прикладном уровне учитель технологии и физкультуры I категории Середин Е.Н. Муниципальное общеобразовательное учреждение.
Базы данных. Введение Базы данных обеспечивают хранение информации. Доступ к базе данных осуществляется через специальную программу - систему управления.
Лекция 5 - Стандарты информационной безопасности распределенных систем 1. Введение 2. Сервисы безопасности в вычислительных сетях 3. Механизмы безопасности.
«Управление доступом к данным» Подготовила студентка 2 курса 10 группы ГМУ Филиппова Галина Валерьевна.
© 2005, Aladdin Безопасность СУБД Oracle ВВЕДЕНИЕ.
Администрирование информационных систем Лекция 1. Общие положения.
Базы данных MICROSOFT ACCESS. Оглавление Введение Microsoft Access. Основные понятия. Таблицы Связи между таблицами. Формы Запросы Отчёты Создание базы.
Нарушение целостности структуры SQL-запроса. Внедрение SQL-кода (SQL injection) один из распространённых способов взлома ПО, работающего с базами данных,
«Система дистанционного обслуживания клиентов» (СДОК)
Сетевые службы Для конечного пользователя сеть это не компьютеры, кабели и концентраторы и даже не информационные потоки, для него сеть это, прежде всего,
Транксрипт:

Безопасность СУБД Средства и методы обеспечения конфиденциальности и целостности данных в СУБД Подготовили: Редишев М.В. Трефилов В.В. Подготовили: Редишев М.В. Трефилов В.В.

Содержание Введение Схема защиты СУБД Пользователи СУБД Авторизация и аутентификация Хранение ключей Дискреционная защита Привилегии Мандатная защита Ролевая защита Защита от внедрения в SQL Шифрование Аудит Резервное копирование и восстановление Распределенные СУБД Заключение

Виды СУБД Корпоративные СпециализированныеВстраиваемые Защищенные

Комплекс средств защиты СУБД Подсистема дискреционной защиты Подсистема Подсистема мандатной защиты Подсистема Подсистемааутентификации Подсистемааутентификации Подсистемааудита Подсистемааудита Подсистема защиты базы данных Подсистема Подсистемарегистрации Подсистемарегистрации

Конфиденциальность Целостность Доступность Важные аспекты

Пользователи СУБД Администраторы ПрограммистыПользователи

Аутентификация При соединении пользователя с базой данных, он обязан пройти процесс авторизации и аутентификации. Если же процесс аутентификации пользователь пройти не смог, то он не присоединяется к БД.

Соединение с БД CONNECT [AS {SYSOPER|SYSDBA}]] CONNECT TO база_данных USER пользователь USING пароль

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

Привилегии пользователей DBA RESOURCE CONNECT В СУБД присутствуют три главные категории пользователей : простые пользователи; пользователи с возможностью изменения структуры базы данных администраторы

Управление привилегиями GRANT привилегия [ON объект] TO субъект [WITH GRANT OPTION] REVOKE привилегия [ON объект] FROM субъект GRANT привилегия [ON объект] TO PUBLIC REVOKE привилегия [ON объект] FROM PUBLIC SELECT привилегия на выборку данных; INSERT привилегия на добавление данных; DELETE привилегия на удаление данных; UPDATE привилегия на обновление данных; ALTER изменение физической/логической структуры базовой таблицы INDEX создание/удаление индексов на столбцы базовой таблицы; ALL все возможные действия над таблицей.

Мандатная защита Все пользователи делятся на уровни и группы в соответствии с уровнем доверия к ним, а так же в соответствии с принадлежностью их к той или иной группе субъектов. ГРУППЫ УРОВНИ Информация отдела 7 Информация отдела 21 … Информация отдела 28 Совершенно секретно Совершенно секретно Секретно Для служебного пользования … Общедоступная информация

Мандатный принцип состоит в сопоставлении меток доступа субъектов и объектов БД – вплоть до отдельных полей записи Поле (снабжено меткой) Столбец (снабжен меткой) Строка (снабжена меткой)

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

Шифрование База данных в целях защиты целиком подвергается математическому преобразованию при помощи современных алгоритмов Применение оптимизированных алгоритмов преобразования и управления буферным кэшем обеспечивают минимальное падение производительности Поддерживаются алгоритмы ГОСТ, AES (Advanced Encryption Standard), DES (Data Encryption Standard)

Криптографические функции Функция Назначение 1AES_ENCRYPT()Зашифрование данных алгоритмом AES 2AES_DECRYPT()Расшифрование данных алгоритмом AES 3DES_ENCRYPT()Зашифрование данных алгоритмом DES 4DES_DECRYPT()Расшифрование данных алгоритмом DES 5ENCRYPT()Зашифрование данных функцией crypt() 6MD5()Хэширование данных алгоритмом MD5 7SHA()Хэширование данных алгоритмом SHA-1 INSERT INTO table VALUES ( 1, AES_ENCRYPT( 'text', 'password' ) ).

Пример реализации шифрования Подключимся к СУБД. Покажем на простом примере, как работает функция шифрования

Пример реализации шифрования 1. Создадим таблицу CUSTOMERS и заполним ее данными

Пример реализации шифрования 2. Чтобы зашифровать данные, воспользуемся следующей функцией

Пример реализации шифрования 3. Чтобы расшифровать данные, воспользуемся следующей функцией

Пример хэширования паролей Создадим нового пользователя MTUCI, и обновим о нем данные, добавив пароль в таблицу USER, где хранятся логины и хэши паролей пользователей:

Пример хэширования паролей Теперь поменяем записанный пароль в таблице USER на его хэш с помощью комманды PASSWORD

Хранение ключевого материала

Полный аудит действий в системе Входы в систему AUDIT-подсистема (система протоколирования) Запрос к конкретнойтаблице ВремязапросаАдресстанции Изменение схемы БД Попыткипонижениясекретности ИзменениеподсистемыдоступаНовыйпользователь

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

Версии СУБД Oracle

ОС для работы с Oracle

Варианты атак на СУБД Oracle Атака через TNS Listener Подключение к СУБД Парольная политика

Атака через TNS Listener Listener Oracle – компонент сетевого доступа к системам Oracle Принимает клиентские запросы и направляет их для обработки в соответствующий серверный процесс Рассматривается как первый этап на пути вторжения в базы данных, т.к. плохо сконфигурированный незащищенный Listener предоставляет нарушителю различные способы осуществления атак

Атака через TNS Listener Получить детальную информацию об атакуемой системе: – Имена баз данных (SIDs) – Версия СУБД – Пути к log-файлам – Версию ОС, на которой установлена СУБД Произвести атаку отказа в обслуживании Выполнять SQL – команды от имени DBA Получить удаленный доступ к системе

Команды утилиты lsnrctl status version start stop set –Password –Log_file –Current_listener –Trc_status

Параметры для защиты TNS Listener PASSWORD – этот параметр отвечает за установку пароля на подключение к TNS Listenerу. В том случае, если пароль установлен, то выполняются только команды status и version, что дает информацию о версии Listener a, установочной директории и операционной системе (по умолчанию не установлен) ADMIN_RESTRICTIONS – этот параметр во включенном состоянии запрещает любые изменения конфигурационного файла удаленно (по умолчанию установлен в OFF) LOCAL_OS_AUTHENTICATION – этот параметр во включенном состоянии позволяет управлять TNS Listenerом только локально (по умолчанию установлен в OFF до версии 10g)

Рекомендации по защите TNS Listener Установить пароль на доступ к Listener Включить протоколирование всех попыток подключения к Listener для обнаружения попыток перебора паролей Установить последние обновления безопасности (CPU) Защитить локальные конфигурационные файлы

Подключение к СУБД Для подключения к СУБД Oracle необходимо знать: 1. IP – адрес сервера 2. Порт TNS Listener 3. Имя базы данных(SID) 4. Имя пользователя 5.Пароль

Подбор SID Поиск информации в сторонних приложениях Имя базы данных является стандартным, например, ORCL Имя базы данных является словарным словом Имя базы данных состоит из малого количества символов Имя базы данных можно узнать по ссылке из другой СУБД

SIDGUESS

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

Пароли Множество системных учетных записей со стандартными паролями > 600 Некоторые не блокируются после установки Множество приложений, которые интегрируются с СУБД, имеют свои стандартные системные учетные записи По умолчанию не установлено ограничений на длину и сложность пароля Перебор паролей к учетным записям в большинстве случаев не блокируется Базы данных обычно содержат большое количество учетных записей

OScanner

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

Атаки на повышение привилегий SQL injection Evil View Dll Patching

SQL injection Самый распространённый и опасный тип уязвимостей

Evil View Возможно изменение/добавление/удаление данных, не имея привилегий на эти действия

Dll Patching После успешного подключения к СУБД клиент устанавливает языковые настройки командойALTER SESSION SET NLS …, которая выполняется от имени пользователя SYS на сервере

Спасибо за внимание!