1 / 48

Безопасность СУБД

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

flynn
Download Presentation

Безопасность СУБД

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Виды СУБД

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

  5. Важные аспекты

  6. Пользователи СУБД

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

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

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

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

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

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

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

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

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

  16. Криптографические функции INSERT INTO table VALUES ( 1, AES_ENCRYPT( 'text', 'password' ) ).

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

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

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

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

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

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

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

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

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

  26. ВерсииСУБД Oracle

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

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

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

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

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

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

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

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

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

  36. SIDGUESS

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

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

  39. OScanner

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

  41. Атаки на повышение привилегий • SQL injection • Evil View • DllPatching

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

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

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

More Related