Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shpory_BSBD.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
1.68 Mб
Скачать

33 Методы подключения конфиденциальности данных. Sql-инъекции.

Атаки на внедрение SQL-кода.

Есть интерфейс с полями, данные которых заполняются. Например: регистрация на сайте (поля логин, пароль)

  1. Метод использования логического оператора or.

name=1’OR’1’=’1

pass=парол

select * from USERS

WHERE name=’1’OR’1’=’1’

and pass =’парол’

В результате выполнения запроса злоумышленник зайдет под именем пользователя, кот. будет первым в списке USERS. Если злоумышленник хочет зайти под конкретным именем, то в name он пишет настоящее имя, а в pass команду с OR.

  1. Использование функций комментирования

В My SQL комментарий: /*, --

name=admin’/*

pass=парол

select * from USERS

where name=’admin’/* - выполняется только эта фраза

and pass=’парол’ подумав, что пароль – комментарий

заходит под админом.

; - разделяет 2 запроса

name =admin’ ; - выполняет эту строку, подумав, что 2 запрос

pass = парол неверный

Если внедрение кода осуществляется через адресную строку, то вместо пробела «» ставится знак «+»

  1. Для несанкционированного получения информации

Если в ИС существ. ф-ции получения и отображения данных из БД, злоумышленник может воспользоваться этим для отображения данных, нужных ему.Напр: вводится фамилия, нужно узнать номер зачетки.

Select N-zach from Students

Where fio=’$name’

Действия злоумышленника:

  1. Использовать объединение запроса. UNION позволит объедин. несколько запросов в 1 табл.

select fio

from tab1

UNION

select fio

from tab2

name= - 1’ UNION select name from USERS (автом. возвращает -1 чаще всего)

  1. объединение результирующих столбцов в один

N-zach

10uk115

admin+парол

name= - 1’ UNION select concat(name,+,pass) from USERS

В результате выдается таблица

Методы снижения уровня угроз

Уязвимости:

  1. Знание злоум-ком структуры бд

Использование шаблонных станд-х кодов страниц -> название таблиц одинаковое + пишется версия использ-го шаблона

Мера: при использ-и шаблонов переименовывать критичн. структуры

  1. Неправильное назначение привелегий пользователя от имени которого отсылаются запросы к БД

Мера: для доступа к БД создание фиктивного польз-ля с возможным минимумом привелегий

  1. Не обрабвтываются ошибки, возвращаемые в субд

Мера: исключить доступ к ошибкам, возвращаемым в СУБД пользователям ИС

  1. Отсутствие проверки корректности входных данных

а)исключение спец. символов

б)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 создается заранее и в приложении достаточно указать имя нужного источника. Основной недостаток поддержка только реляционных данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]