Угрозы и уязвимости процесса
Безопасность участников и объектов базы данных
Участниками являются отдельные пользователи, группы и процессы, которым предоставляется доступ к ресурсам системы. Защищаемыми объектами является сервер, база данных и объекты, которые содержит база данных. Для каждого них существует набор разрешений.
В настоящее время для определения совокупности разрешений и прав доступа используются именованные «роли», определяющие совокупность задач, которые можно выполнять при назначении этой роли.
Например, роли приложений можно использовать для разрешения доступа к строго определенным данным только тем пользователям, которые подключены посредством конкретного приложения.
Безопасность процесса обеспечивается согласно политике безопасности, которая представляет собой запись процессов и процедур, применяемых на предприятии для предотвращения, отслеживания и реагирования на угрозы безопасности. Содержит политики для правильного доступа к системе, обновлений, брандмауэров и антивирусных механизмов.
В соответствии с принципом «наименьших прав доступа», система должна предоставлять лишь необходимый уровень доступа к защищенному объекту. Доступ должен предоставляться только лицам, непосредственно нуждающимся в нем, и только на точно определенное время.
Угрозы и уязвимости платформымогут представлять:
· Нерегулярное обновление программных продуктов;
· Атаки на сетевые порты;
· Недопустимые параметры учетных записей;
· Включение ненужных хранимых процедур.
Угрозы и уязвимости проверки подлинностимогут представлять:
· Простые пароли;
· Несвоевременный аудит учетных записей пользователей.
Программные угрозы и уязвимости могут представлять:
· Внедрение вредоносного запроса в правильный запрос, называемое атака «инъекция SQL» (SQL Injection);
· Сохранение некоторыми приложениями строк соединения с сервером/сетью в файлах программы или конфигурации.
Основная форма атаки путем внедрения кода SQL состоит в непосредственной вставке в пользовательские вводимые данные программного кода, который объединяется с динамически создаваемыми и выполняемыми предложениями SQL и выполняется. Менее явная атака внедряет вредоносный код в строки, предназначенные для хранения в таблице или в словаре данных в качестве метаданных. Когда впоследствии сохраненные строки объединяются с предложением SQL, происходит выполнение вредоносного кода.
Если внедренный код SQL синтаксически верен, искаженные данные нельзя выявить программно. Поэтому необходимо проверять правильность всех вводимых пользователями данных, а также внимательно просматривать код для исполнения SQL на сервере.
Обобщенно в качестве крупных категорий пользователей выделяют уровень администратора БД владельца БД, владельца объекта БД.
Администратор БД - пользователь с расширенными правами, всегда может получить права доступа ко всем объектам, созданным членами данной рабочей группы;
Владелец БДвсегда может открыть БД;
Владелец объекта наделен полными правами доступа к этому объекту.
Для удобства управления разрешениями на сервере имеются несколько ролей участников обеспечения безопасности. Роли уровня сервера также называются предопределенными ролями сервера, поскольку пользователь не может создавать новые роли уровня сервера. Разрешения ролей уровня сервера распространяются на весь сервер.
В следующей таблице представлены роли уровня сервера и их возможности.
Имя роли на уровне сервера | «Роль» пользователя-участника (допустимые действия) |
sysadmin | Можно выполнять любые действия на сервере |
serveradmin | Можно изменять параметры конфигурации на уровне сервера, а также выключать сервер |
securityadmin | Можно предоставлять, запрещать и отменять разрешения на уровне сервера и на уровне базы (оператора GRANT, DENY и REVOKE) |
processadmin | Можно завершать процессы, работающие на экземпляре сервера. |
setupadmin | Можно добавлять или удалять связанные серверы |
bulkadmin | Можно выполнять оператор BULK INSERT |
diskadmin | Предопределенная роль diskadmin уровня сервера используется для управления файлами на диске |
dbcreator | Можно создавать, изменять, удалять и восстанавливать любые базы данных. |
public | Если для участника на уровне сервера не были предоставлены или запрещены конкретные разрешения на защищаемый объект, он наследует разрешения роли public на этот объект. |
Предопределенные роли базы данных задаются на уровне базы данных и предусмотрены в каждой базе данных. В следующей таблице представлены предопределенные роли уровня базы данных и их возможности.
Имя роли уровня базы данных | Роль пользователя-участника |
db_owner | Можно выполнять все действия по настройке и обслуживанию базы данных, а также удалять базу данных. |
db_securityadmin | Можно изменять членство в роли и управлять разрешениями. Добавление участников к этой роли может привести к непреднамеренному повышению прав доступа. |
db_accessadmin | Можно добавлять или удалять права удаленного доступа к базе данных для имен входа и групп |
db_backupoperator | Можно создавать резервные копии базы данных. |
db_ddladmin | Можно выполнять любые команды языка описания данных (DDL) в базе данных. |
db_datawriter | Можно добавлять, удалять или изменять данные во всех пользовательских таблицах. |
db_datareader | Можно считывать все данные из всех пользовательских таблиц. |
db_denydatawriter | Не может добавлять, изменять или удалять данные в пользовательских таблицах базы данных. |
db_denydatareader | Не может считывать данные из пользовательских таблиц базы данных. |
Основная литература
Учебник / Учебное пособие | Раздел | Страницы |
1. Карпова Т.С. Базы данных: модели, разработка, реализация. - СПб.: Питер, 2001.- 304 с.; ил. | Глава 13 | 276-285 |
2. Хомоненко А.Д, Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений / под ред. проф. Хомоненко А.Д., 6-ое изд. – М.:Бином-Пресс; СПб.:Корона-Век, 2007.-736с. | Гл.8 | 221-242 |
Дополнительная литература
Учебник / Учебное пособие | Раздел | Страницы |
1. Дейт К. Дж. Введение в системы баз данных, 6-е издание: Пер. с англ. – К.;М.; СПб.: Издательский дом “Вильямс”,. 1999. – 848 с.: ил. (7-е и 8-е издание). | 15.3 – 15.7 | 421-436 |
2. Коннолли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация и сопровождение. Теория и практика, 2-е изд.: Пер. с англ. - М.: Издательский дом “Вильямс”,. 2001. – 1120 с.: ил. | 16.1 – 16.8 | 567-590 |