- •Вопрос 1. База данных. Модель представления данных. Субд. Классификация.
- •Вопрос 2. Модели данных. Иерархическая модель. Сетевая модель.
- •1) Иерархическая модель.
- •Вопрос 3. Модели данных. Реляционная модель. Постреляционная
- •2) Постреляционная модель.
- •Вопрос 4. Модели данных..Многомерная Объектно-ориентированная модель.
- •Вопрос 5. Проектирование бд. Инфологическая, логическая, физическая модель.
- •Вопрос 6.. Сущность. Классификация. Связь. Виды связей.
- •Вопрос 7. Первичный, внешний ключи. Основные операции по манипулированию с данными (проекция, селекция, естественное соединение, пересечение).
- •Вопрос 8. Проектирование бд. Универсальное отношение. Нормализация. Цель нормализации.
- •Вопрос 9. Функциональные зависимости. Первая нф. Вторая нф.Третья
- •Вопрос 10. Третья нф. Нф Бойса-Кодда. Четвертая нф. Пятая нф.
- •Вопрос 11. Язык sql. Стандарты. Основные группы операторов. Основные типы данных
- •Вопрос 12. Язык sql. Инструкции create table, insert, select
- •Вопрос 13. Модель "Клиент-сервер". Основные группы функций. Модель файлового сервера
- •Вопрос 14. Модель удаленного доступа к данным или модель rda.
- •Вопрос 15. Модель активного сервера бд. Модель сервера приложений
- •16. Модели взаимодействия серверных и клиентских процессов. Типы параллелилизма при выполнения при выполнении запросов.
- •Вопрос 17. Ansi. Процесс прохождения пользовательского запроса.
- •Вопрос 18. Системы автоматического проектирования баз данных. Нотация idef1x.
- •Вопрос 19. Управление доступом в субд. Субъекты доступа. Иерархия авторизации.
- •Вопрос 20. Виды привилегий в субд. Привилегии безопасности.
- •Вопрос 21. Виды привилегий в субд. Привилегии доступа. Правила назначения. Привилегии доступа к таблицам и представлениям бд.
- •Вопрос 22. Виды привилегий в субд. Привилегии доступа к бд. Привилегии доступа к субд.
- •Вопрос 23. Виды привилегий в субд. Использование представлений для управления доступом. Иерархия прав доступа.
- •24 Управление доступом в субд MySql. Виды, уровни привилегий.
- •Вопрос 25. Метки безопасности. Принудительный контроль доступа.
- •Вопрос 26. Поддержание целостности данных. Табличные ограничения. Ссылочные ограничения. Правила.
- •Вопрос 28. Поддержание целостности данных. Сериализация транзакций. Уровни изолированности пользователей
- •Вопрос 29. Регистрация действий пользователей.
- •Вопрос 30. Методы обеспечения доступности данных. Архивирование и резервное копирование бд.
- •31. Методы обеспечения доступности данных. Кластерная организация серверов бд. Репликация бд.
- •Вопрос 32. Методы обеспечения конфиденциальности данных. Угрозы, специфичные для субд.
- •33 Методы подключения конфиденциальности данных. Sql-инъекции.
- •Метод использования логического оператора or.
- •Использование функций комментирования
- •Для несанкционированного получения информации
- •Знание злоум-ком структуры бд
- •Не обрабвтываются ошибки, возвращаемые в субд
- •Отсутствие проверки корректности входных данных
- •Вопрос 23. Универсальные механизмы доступа к данным. Odbc.
- •Вопрос 24 Универсальные механизмы доступа к данным. Microsoft uda. Архитектура.
- •32. Виды привилегий в субд. Привилегии доступа к процедурам и событиям.
33 Методы подключения конфиденциальности данных. Sql-инъекции.
Атаки на внедрение SQL-кода.
Есть интерфейс с полями, данные которых заполняются. Например: регистрация на сайте (поля логин, пароль)
Метод использования логического оператора or.
name=1’OR’1’=’1
pass=парол
select * from USERS
WHERE name=’1’OR’1’=’1’
and pass =’парол’
В результате выполнения запроса злоумышленник зайдет под именем пользователя, кот. будет первым в списке USERS. Если злоумышленник хочет зайти под конкретным именем, то в name он пишет настоящее имя, а в pass команду с OR.
Использование функций комментирования
В My SQL комментарий: /*, --
name=admin’/*
pass=парол
select * from USERS
where name=’admin’/* - выполняется только эта фраза
and pass=’парол’ подумав, что пароль – комментарий
заходит под админом.
; - разделяет 2 запроса
name =admin’ ; - выполняет эту строку, подумав, что 2 запрос
pass = парол неверный
Если внедрение кода осуществляется через адресную строку, то вместо пробела «» ставится знак «+»
Для несанкционированного получения информации
Если в ИС существ. ф-ции получения и отображения данных из БД, злоумышленник может воспользоваться этим для отображения данных, нужных ему.Напр: вводится фамилия, нужно узнать номер зачетки.
Select N-zach from Students
Where fio=’$name’
Действия злоумышленника:
Использовать объединение запроса. UNION позволит объедин. несколько запросов в 1 табл.
select fio
from tab1
UNION
select fio
from tab2
name= - 1’ UNION select name from USERS (автом. возвращает -1 чаще всего)
объединение результирующих столбцов в один
N-zach |
10uk115 |
admin+парол |
В результате выдается таблица
Методы снижения уровня угроз
Уязвимости:
Знание злоум-ком структуры бд
Использование шаблонных станд-х кодов страниц -> название таблиц одинаковое + пишется версия использ-го шаблона
Мера: при использ-и шаблонов переименовывать критичн. структуры
Неправильное назначение привелегий пользователя от имени которого отсылаются запросы к БД
Мера: для доступа к БД создание фиктивного польз-ля с возможным минимумом привелегий
Не обрабвтываются ошибки, возвращаемые в субд
Мера: исключить доступ к ошибкам, возвращаемым в СУБД пользователям ИС
Отсутствие проверки корректности входных данных
а)исключение спец. символов
б)SQL-инъекция – 9 символов -> например на паролдь можно ограничить длину ≤8
Нарушение конф-ти данных, передаваемых по линиям связи.
Основной метод защиты использование протокола SSL, который обеспечивает одностороннюю защиту передаваемых данных (от клиента к серверу, а обратно скрытность не обеспечивает)
Вопрос 23. Универсальные механизмы доступа к данным. Odbc.
Изначально не существовало единого стандартного механизма доступа к СУБД различных производителей. Т.е. на уровне пользовательских приложений была полная несовместимость пользователей СУБД. Первый более универсальный механизм, позволяющий работать одному клиенту приложения с двумя СУБД назывался ВDЕ (1992г), который представлял собой некий набор драйверов с единым интерфейсом для приложений. Параллельно фирма Microsoft предложила механизм, который получил название ОDВС (1993).
Главное отличие ОDВС от ВDЕ было в открытости, т.е. был разработан 50К ООВС, который позволял любой фирме создать собственный ОDВС драйвер и зарегистрировать его.
МД – менеджер ODBC драйвера; OPM SQL, MY SQL – драйверы (в 3-ем пустом квадратике, как и в других можно просто написать драйвер).
Приложения пользователя должны поддерживать унифицированный интерфейс для менеджера ODBC драйверов при это менеджер сам выбирает драйвер из библиотеки DLL, которой и учитывает особенности взаимодействия с конкретной БД.
ОDВС стал стандартом доступа к СУБД, построенной на любой платформе.
Основные преимущества ОDВС: • приложения не привязаны к конкретной СУБД; • SQL-запрос могут быть непосредственно встроены в код приложения; • Приложения могут игнорировать коммуникационные протоколы, использованные для непосредственного подключения к серверу БД; • Насчитывается 170 драйверов.
Для упрощения работы приложения с менеджером используется источник данных- служба DSN (Data Source Name). DSN представляет собой поименованный набор параметров, необходимых для подключение к определенной БД. Включая идентификатор пользователя и указания конкретных таблиц. Бывают 3 типов: • системный DSN (общий для всех пользователей); • пользовательский DSN (для конкретного пользователя); файловый DSN (для удобного распространения в виде файлов на несколько РС). DSN создается заранее и в приложении достаточно указать имя нужного источника. Основной недостаток поддержка только реляционных данных.
