Понедельник, 29.04.2024, 01:02
Приветствую Вас Гость | RSS

ЧЕСТНЫЕ ДИПЛОМЫ готовые и на заказ

Форма входа

Каталог дипломов

Главная » Статьи » Информатика и вычислительная техника » Диплом

20135 Безопасность современных СУБД

Содержание
Введение 4
Глава 1. СУБД. Определение, функции, структура 6
1.1 Определение СУБД 6
1.2 Основные функции современных СУБД 7
1.3 Типичная структура СУБД 12
Глава 2. Безопасность баз данных 13
2.1 Защищенность всей информационной системы в целом 13
2.2 Типы опасностей 15
2.3 Некомпьютерные средства контроля 19
2.4 Компьютерные средства контроля 23
2.4.1 Аутентификация 23
2.4.2 Авторизация 25
2.4.3 Типы прав доступа 28
2.4.4 Ролевая и групповая авторизация 32
2.4.5 Представления (просмотры) 35
2.4.6 Использование хранимых процедур для обеспечения безопасности 36
2.4.7 Резервное копирование и восстановление 36
2.4.8 Аудит 39
2.4.9 Шифрование 40
2.4.10 Установка нового прикладного программного обеспечения 42
2.4.11 Установка или модернизация системного программного обеспечения 43
Глава 3. Особенности безопасности данных в современных СУБД 45
3.1 Особенности безопасности данных в СУБД MySQL 45
3.1.1 Общая информация о СУБД MySQL 45
3.1.2 Схема управления доступом 46
3.1.3 Инструментарий администрирования 54
3.1.4 Сопровождение пользователей в MySQL 54
3.1.5 Поддержка шифрования 55
3.1.6 Журнальные файлы 56
3.1.7 Физическое хранение данных 58
3.1.8 Устранение последствий катастроф 59
3.1.8.1 Проверка и восстановление таблиц 59
3.1.8.2 Резервное копирование и восстановление. 59
3.2 Особенности безопасности данных в СУБД ORACLE 60
3.2.1 Общая информация о СУБД Oracle 60
3.2.2 Структура баз данных в СУБД Oracle 61
3.2.3 Управление доступом 62
3.2.4 Trusted ORACLE 66
3.2.5 Инструментарий администрирования 69
3.2.6 Поддержка пользователей 70
3.2.7 Аудит 71
3.2.8 Шифрование 72
3.2.9 Резервное копирование и восстановление 73
3.3 Особенности безопасности данных в СУБД MS SQL Server 77
3.3.1 Общая информация о СУБД SQL Server 77
3.3.2 Структура баз данных в SQL Server 78
3.3.3 Поддержка пользователей и управление доступом 81
3.3.4 Инструментарий администрирования 87
3.3.5 Шифрование 87
3.3.6 Аудит 89
3.3.7 Резервное копирование и восстановление данных 90
Глава 4. Сравнительный анализ системы безопасности рассмотренных СУБД 94
4.1 Стоимость затрат 94
4.2 Поддержка многоплатформенности 95
4.3 Администрирование 95
4.4 Функциональные особенности рассмотренных СУБД 96
4.5 Примеры наилучшего применения каждой из рассмотренных СУБД 97
Заключение 98
Список использованных источников 99
Приложение 101


Введение
Высшая ценность современного мира - информация. В большинстве своём она всё чаще переносится и хранится в виде электронных баз данных, находя-щихся под контролем систем управления базами данных (СУБД), которые позво-ляют конечным пользователям или разработчикам приложений совместно исполь-зовать данные и управлять ими.
Для того чтобы говорить о безопасности информации, хранящейся и ис-пользующейся таким образом, необходимо рассмотреть защищенность всей ин-формационной системы в целом, выявить наиболее часто встречающиеся угрозы и методы борьбы с ними.
Любую информационную систему можно представить как набор объектов, которые взаимодействуют с ядром всей системы – информацией. Каждый объект может содержать в себе потенциальную угрозу. Эффективно настроенная инфор-мационная система должна учитывать все источники возможных угроз и уметь противостоять им.
Данная дипломная работа посвящена рассмотрению безопасности инфор-мационной системы в целом и узкому рассмотрению системы безопасности СУБД, как части информационной системы.
Основные цели данной работы:
• исследовать безопасность информационной системы в целом и опре-делить основные контрмеры борьбы с угрозами;
• исследовать особенности безопасности современных СУБД MySQL, Oracle, MS SQL Server;
• сформировать представление о рассмотренных СУБД и выполнить сравнительный анализ системы безопасности каждой из них.
Структура работы специально проработана для удобства восприятия.
Глава 1 даёт определение СУБД, описывает её основные функции, преиму-щества, даёт представление о типичной внутренней структуре СУБД и её взаимо-действии с данными.
Глава 2 призвана сформировать представление об информационной систе-ме, угрозах безопасности и методах борьбы с ними. Делается упор на системность подхода к защите данных, циркулирующих в информационной системе, и большая часть материала посвящена методам защиты – как некомпьютерным, так и компь-ютерным.
Описанные во второй главе компьютерные методы защиты являются осно-вой для рассмотрения особенностей безопасности современных СУБД. Глава 3 целиком посвящена последовательному рассмотрению трех наиболее распростра-ненных на сегодняшний день СУБД: MySQL, Oracle, SQL Server. Данное рассмот-рение включает в себя описание таких особенностей как: общие данные о СУБД, физическую и логическую структуру хранимых БД, методы аутентификации и ав-торизации, управление пользователями, резервное копирование и восстановление, шифрование данных, доступные средства аудита.
Глава 4 является одновременно сравнительным анализом рассмотренных СУБД и выводом из проведенной работы. Сравнение проведено по тем критериям, которые затрагивают механизм безопасности СУБД: материальные затраты на приобретение СУБД, поддержка кросплатформенности, доступный инструмента-рий администрирования, уникальные особенности каждой из СУБД, присущие только ей.
Данная дипломная работа по-своему уникальна – структура изложенного материала тщательно проработана для изложения, представляя, таким образом, возможность разобраться в проблеме безопасности СУБД с самого её начала.
Тема защищенности данных, управляемых современными СУБД, настолько же актуальна, насколько широко применение данных СУБД, но подобных публи-каций по данной теме в русскоязычном сообществе недостаточно, а эта работа не только подробно затрагивает проблему безопасности данных в информационных системах, но и приводит сравнительное описание трех наиболее используемых на сегодняшний день СУБД – Oracle, MySQL, MS SQL Server.
Работа выполнена на кафедре информационной безопасности.

Глава 1. СУБД. Определение, функции, структура
1.1 Определение СУБД
С самого начала развития вычислительной техники возникло два основных направления её использования. Первое направление - применение вычислительной техники для выполнения численных расчетов, которые слишком долго или вообще невозможно производить вручную и второе - это использование средств вычислительной техники в автоматических или автоматизированных информаци-онных системах. В самом широком смысле информационная система представляет собой программный комплекс, функции которого состоят в поддержке надежного хранения информации в памяти компьютера, выполнении специфических для данного приложения преобразований информации и/или вычислений, предостав-лении пользователям удобного и легко осваиваемого интерфейса.
Современные же информационные системы, использующиеся на крупных предприятиях, имеют дело с гигабайтными объёмами данных (классическими примерами информационных систем являются банковские системы, системы ре-зервирования авиационных или железнодорожных билетов, мест в гостиницах и т.д.). Это не позволяет размещать их в постоянной и, тем более, в оперативной па-мяти каждого компьютера, на котором они нужны. Кроме того, эти данные явля-ются разнородными, сильно связаны между собой и требуют разнообразных спо-собов своего извлечения и представления пользователю. При работе со сложно структурированными данными также часто возникают проблемы их дублирования и самосогласованного изменения, а также низкой скорости доступа к данным. По-добные проблемы с большим трудом решаются встраиваемыми в приложения надстройками над файловой системой. Чтобы не повторять одни и те же способы хранения, выбора и модификации сложных данных в каждой библиотеке языков программирования (или, тем более, в каждом приложении), возникли СУБД.
Можно считать, что если прикладная информационная система опирается на некоторую систему управления данными, решающую перечисленные выше за-дачи, то эта система управления данными является системой управления базами данных (СУБД).
СУБД – это программное обеспечение, которое позволяет конечным пользователям или разработчикам приложений совместно использовать дан-ные и управлять ими. Она представляет систематический метод создания, об-новления, извлечения и хранения информации в базе данных. СУБД также, как правило, отвечает за целостность, безопасность данных, контроль и оптимизацию доступа к данным, автоматический откат, перезапуск и восстановление.
1.2 Основные функции современных СУБД
1. Непосредственное управление данными во внешней памяти
Эта функция включает обеспечение необходимых структур внешней памяти как для хранения данных, непосредственно входящих в БД, так и для служебных целей, например, для убыстрения доступа к данным в некоторых случаях (обычно для этого используются индексы). В некоторых реализациях СУБД активно ис-пользуются возможности существующих файловых систем, в других работа про-изводится вплоть до уровня устройств внешней памяти. Но подчеркнем, что в раз-витых СУБД пользователи в любом случае не обязаны знать, использует ли СУБД файловую систему, и если использует, то как организованы файлы. В частности, СУБД поддерживает собственную систему именования объектов БД.
2. Управление буферами оперативной памяти
СУБД обычно работают с базами данных значительного размера; по край-ней мере, этот размер обычно существенно больше доступного объема оператив-ной памяти. Понятно, что если при обращении к любому элементу данных будет производиться обмен с внешней памятью, то вся система будет работать со скоро-стью устройства внешней памяти. Практически единственным способом реального увеличения этой скорости является буферизация данных в оперативной памяти. При этом, даже если операционная система производит общесистемную буфери-зацию (как в случае ОС UNIX), этого недостаточно для целей СУБД, которая рас-полагает гораздо большей информацией о полезности буферизации той или иной части БД. Поэтому в развитых СУБД поддерживается собственный набор буферов оперативной памяти с собственной дисциплиной замены буферов.
3. Управление транзакциями
Транзакция (transaction) - это последовательность операций над БД, рас-сматриваемых СУБД как единое целое. СУБД поддерживает параллельный доступ к данным, т.е. возможность единовременного обращения к одной и той же порции данных со стороны нескольких процессов. Чтобы избежать некоторых нежела-тельных последствий подобного обращения, СУБД реализует механизмы обеспе-чения изолированности (isolation) транзакций (транзакции выполняются незави-симо одна от другой, как если бы они активизировались строго последовательно), их атомарности (atomicity) (каждая транзакция либо выполняется целиком, либо не выполняется вовсе) и устойчивости (durability) (системы содержат средства на-дежного сохранения результатов выполнения транзакций и самовосстановления после различного рода ошибок и сбоев). Транзакции полностью реализованы, прежде всего, в СУБД, которые рассчитаны на одновременную работу многих пользователей (Oracle, MS SQL Server).
4. Журнализация
Одним из основных требований к СУБД является надежность хранения данных во внешней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние БД по-сле любого аппаратного или программного сбоя. Обычно рассматриваются два возможных вида аппаратных сбоев: так называемые мягкие сбои, которые можно трактовать как внезапную остановку работы компьютера (например, аварийное выключение питания), и жесткие сбои, характеризуемые потерей информации на носителях внешней памяти. Примерами программных сбоев могут быть: аварий-ное завершение работы СУБД (по причине ошибки в программе или в результате некоторого аппаратного сбоя) или аварийное завершение пользовательской про-граммы, в результате чего некоторая транзакция остается незавершенной. Первую ситуацию можно рассматривать как особый вид мягкого аппаратного сбоя; при возникновении последней требуется ликвидировать последствия только одной транзакции[9].
5. Поддержка языков баз данных
Для работы с базами данных используются специальные языки, в целом на-зываемые языками баз данных. В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для рабо-ты с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language).
Прежде всего, язык SQL сочетает средства языков SDL и DML, т.е. позволяет определять схему реляционной БД (SDL - structure data language) и манипу-лировать данными (DML - data management language). При этом именование объ-ектов БД (для реляционной БД - именование таблиц и их столбцов) поддержива-ется на языковом уровне в том смысле, что компилятор языка SQL производит преобразование имен объектов в их внутренние идентификаторы на основании специально поддерживаемых служебных таблиц-каталогов. Внутренняя часть СУБД (ядро) вообще не работает с именами таблиц и их столбцов.
Язык SQL содержит специальные средства определения ограничений цело-стности БД. Опять же, ограничения целостности хранятся в специальных табли-цах-каталогах, и обеспечение контроля целостности БД производится на языковом уровне, т.е. при компиляции операторов модификации БД компилятор SQL на ос-новании имеющихся в БД ограничений целостности генерирует соответствующий программный код.
Специальные операторы языка SQL позволяют определять так называемые представления БД, фактически являющиеся хранимыми в БД запросами (результа-том любого запроса к реляционной БД является таблица) с именованными столб-цами. Для пользователя представление является такой же таблицей, как любая ба-зовая таблица, хранимая в БД, но с помощью представлений можно ограничить или наоборот расширить видимость БД для конкретного пользователя. Поддержа-ние представлений производится также на языковом уровне.
Наконец, авторизация доступа к объектам БД производится также на основе специального набора операторов SQL.
6. Поддержка архитектур “клиент-сервер”, распределённых баз данных
Огромный пласт современных СУБД поддерживает архитектуру клиент-сервер, в соответствии с которой запросы, сформированные одним процессом (клиентом), отсылаются для обработки другому процессу (серверу).
Простейший вариант данной архитектуры предполагает, что СУБД целиком представляет собой сервер, за исключением интерфейсов запросов, которые взаи-модействуют с пользователем и отсылают запросы и другие команды на сервер с целью их выполнения. Результаты запросов возвращаются клиентам в форме таб-лиц или отношений.
Взаимосвязь клиента и сервера может быть гораздо более сложной, особен-но в тех случаях, когда результаты выполнения запросов обладают сложной структурой или большим объемом.
Концепция управления распределенными базами данных состоит в обеспе-чении средства интеграции локальных баз данных, располагающихся в некоторых узлах вычислительной сети, с тем, чтобы пользователь, работающий в любом узле сети, имел доступ ко всем этим базам данных как к единой базе данных (примеры: банковское учреждение содержит сеть отделений, сообщества университетов под-держивают совместные цифровые библиотеки, торговая компания владеет единой сетью магазинов).
Один из неоспоримых доводов в пользу применения распределенных сис-тем состоит в их способности к репликации данных (data replication) – поддержке копий данных на различных серверах. Механизм репликации заключается в том, что при выходе из строя одного сервера, информация может быть восстановлена из копий, размещенных на остальных серверах. Другой аргумент связан с увели-чением скорости обработки запроса за счёт перемещения требуемой порции ин-формации данных на сервер, где запрос был инициирован.
7. Возможность работы многих пользователей и ограничение их привиле-гий
Деятельность современных СУБД сопряжена с оперированием большими объемами информации, которое производится широким кругом лиц. С наличием большого числа пользователей разной квалификации связана также поддержка в этих СУБД привилегий, которые ограничивают доступ к данным и этим повышают надёжность БД. Таким образом, обеспечивается разграничение доступа субъектов с различными правами доступа к объектам различных уровней конфиденци-альности.
Пользователей СУБД можно разделить на три группы:
• Администраторы баз данных - образуют особую категорию пользователей СУБД. Они создают сами базы данных, осуществляют технический контроль функционирования СУБД, обеспечивают необходимое быстродействие системы. В обязанности администратора, кроме того, входит обеспечение пользователям доступа к необходимым им данным, а также написание (или оказание помощи в определении) необходимых пользователю внешних представлений данных. Адми-нистратор определяет правила безопасности и целостности данных.
• Прикладные программисты - отвечают за создание программ, использую-щих базу данных. В смысле защиты данных программист может быть как пользо-вателем, имеющим привилегии создания объектов данных и манипулирования ими, так и пользователем, имеющим привилегии только манипулирования данны-ми.
• Конечные пользователи базы данных - работают с БД непосредственно че-рез терминал или рабочую станцию. Как правило, конечные пользователи имеют строго ограниченный набор привилегий манипулирования данными. Этот набор может определяться при конфигурировании интерфейса конечного пользователя и не изменяться. Политику безопасности в данном случае определяет администра-тор безопасности или администратор базы данных (если это одно и то же должно-стное лицо).

1.3 Типичная структура СУБД
Среди программных компонентов современной СУБД можно выделить внутреннюю часть – ядро СУБД (Database Engine), компилятор языка БД, интер-претатор и набор утилит. Ядро СУБД обычно представляет собой резидентную программу, работающую на сервере, надстройку над его файловой системой. Ядро управляет буферами оперативной памяти, транзакциями и журнализацией; оно обладает собственным интерфейсом, не доступным посторонним программистам напрямую, но используемым в остальных компонентах СУБД. Второй компонент – компилятор – транслирует инструкции языка баз данных, но обычно не в ма-шинный код, зависящий от операционной системы, а в платформенно-независимый код, выполняющийся третьим компонентом СУБД – интерпретатором. Необходимость в четвёртом компоненте – утилитах СУБД – возникает вследствие низкой скорости выполнения через язык баз данных некоторых глобальных операций над БД (например, репликации (импорта/экспорта) данных, резервного копирования (backup), проверки целостности БД, переноса её на новую версию СУБД). Пользователи и администраторы БД взаимодействуют с СУБД через дос-тупные

……………………………………………………………………..
……………………………………………………………………..
……………………………………………………………………..

---------
Заключение
При рассмотрении безопасности информационной системы все возможные угрозы безопасности базы данных были рассмотрены с точки зрения результатов, к которым они могут привести:
- нарушение секретности данных;
- утрата целостности;
- потеря доступности.
Указанные ситуации определили основные направления, в которых должны приниматься меры, снижающие степень риска. В некоторых ситуациях все отмеченные аспекты повреждения данных тесно связаны между собой, так что действия, направленные на нарушение защищенности системы в одном направлении, часто приводили бы к снижению её защищенности во всех остальных. Поэтому, даже рассмотрев различные методы борьбы с угрозами, самый главный вывод из проделанной работы – применение системного подхода к защите данных в информационной системе.
На основе плана, полученного при изучении компьютерных средств контроля, были изучены особенности трех современных СУБД: MySQL, Oracle, SQL Server. Изложение материала было специально последовательно структурировано для того, чтобы на заключительном этапе работы сделать сравнительный анализ рассмотренных систем безопасности, присущих каждой СУБД.
Следующий вывод проведенной – идеальной с точки зрения безопасности СУБД не существует. Каждая СУБД уникальна в своём роде и может быть использована в разных сферах деятельности человека. Выбор того, какую именно СУБД использовать, будет зависеть от поставленных условий и задач.
Особенностью данной работы является то, что она помогает сформировать основные понятия о представленных на данный момент методах защиты данных в СУБД и может стать удобным помощником для принятия собственного решения и собственных заключений.


Список использованных источников
[1]. Bobrowski S. – «Руководство по концепциям сервера. Oracle 7.2», Перевод: Compek Systems, Москва, 1994.
[2]. Delaney K. - “Inside Microsoft SQL Server 2000”, Microsoft Press., 2000.
[3]. DuBois P. - “MySQL. Second Edition”, Sams, 2003.
[4]. Manola F.A. - “A Personal View on DBMS Security”, Elsevier science Publishers B.V. (North Holland), p. 23-34., 1988.
[5]. Suehring S. – “MySQL Bible”, Wiley Publishing, Inc., 2002.
[6]. Waymire R., Thomas B. – “Безопасность Microsoft SQL Server 2000”, (http://www.sql.ru/articles/mssql/03052501MSSQL2KSecurity.shtml)
[7]. Аткинсон Л. - «Библиотека профессионала MySQL», М.: Вильямс, 2002.
[8]. Вьюкова Н.И., Галатенко В.А. – «Информационная безопасность систем управления базами данных», Системы Управления Базами Данных №1 стр. 29-54, 1996.
[9]. Гарсиа-Молина Гектор, Джеффри Д.Ульман, Дженнифер Уидом - «Системы баз данных. Полный Курс», М.: Вильямс, 2003.
[10]. Горев А.., Макашарипов С., Владимиров Ю. – «Microsoft SQL Server 6.5», С.-Пб.: Питер, 1998.
[11]. Елманова Н., Федоров А. – «Oracle и Microsoft SQL Server: прошлое, настоящее и будущее», журнал «КомпьютерПресс», 2001.
[12]. Кайт Т. – «Детальный контроль доступа и контексты приложения», (http://www.interface.ru/oracle/kontrol_1.htm)
[13]. Кайт Т. - «Oracle для профессионалов», М.: «ДиаСофт», 2003.
[14]. Козленко Лилия – «Информационная безопасность в современных системах управления базами данных», КомпьютерПресс №3, 2002.
[15]. Конноли Т., Бегг К. – «Базы данных: проектирование, реализация и сопровождение. Теория и практика» 3-е издание.: Пер. с англ. - М.: Вильямс, 2003.
[16]. Маллинс С. К. - «Администрирование баз данных», М.: Кудиц-Образ, 2003.
[17]. Покровский П., Четвертнев И. – «Методы аутентификации в ORACLE», Журнал “Windows & .NET Magazine/RE“ №6, 2004.
[18]. Рейли Майкл Д. – «Основы системы безопасности SQL Server», Журнал «Windows & .NET Magazine/RE» №3, 2001.
[19]. Русский перевод документации СУБД MySQL, выполненный в 2002-2003гг. компанией Ensita.NET.
[20]. Саймон А. - “Strategic Database Technology: Management For The Year 2000“, “Финансы и Статистика“, 1997 г.
Вид работы: Диплом

УТОЧНИТЬ СТОИМОСТЬ РАБОТЫ     ПОДНЯТЬ АНТИПЛАГИАТ    КАК ЗАКАЗАТЬ ЭТУ РАБОТУ