Безопасность баз данных

Автор работы: Пользователь скрыл имя, 09 Сентября 2013 в 16:06, курсовая работа

Описание работы

Не секрет, что абсолютно безопасных систем не существует, и речь идет о надежной системе на которую можно положиться. Система считается надежной, если она с использованием достаточных аппаратных и программных средств обеспечивает одновременную обработку информации разной степени секретности группой пользователей без нарушения прав доступа.
Степень доверия, или надежность систем, оценивается по двум основным критериям: политика безопасности и гарантированность.
Активным компонентом защиты, включающим в себя анализ возможных угроз и выбор мер противодействия называется политикой безопасности. Набор законов, правил и норм поведения, определяющих, как организация обрабатывает, защищает и распространяет информацию. В частности, правила определяют, в каких случаях пользователь имеет право оперировать с определенными наборами данных. Чем надежнее система, тем строже и многообразнее должна быть политика безопасности.

Содержание работы

ВВЕДЕНИЕ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1. Защита информации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Понятие защиты информации. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Защита ПК от несанкционированного доступа . . . . . . . . . . . . . . . . . . . . . . 6
Защита информации в базах данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
2. Реализация защиты в некоторых СУБД. . . . . . . . . . . . . . . . . . . . . . . . . . .17
2.1 Архитектура защиты Microsoft Access. . . . . . . . . . . . .. . . . . . . . . . . . . .17
2.2 Microsoft SQL Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . .19
-Управление доступом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .19
- Тип подключения к SQL Server. . . .. . . . . . . . . . .. . .. . . . . . . . .. . . . . .. . .21
- Организация защиты.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
- Пользователи базы данных и их роли. . . . . . . . . . . . . . . . . . . . . . . . . . . .27
2.3 Безопасность данных в Oracle 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
- Ограничение доступа. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
- Использование пакетов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3. Юридическая защита авторских прав на базы данных. . . . . . . . . . . . . . .36
ЗАКЛЮЧЕНИЕ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ . . . . .

Файлы: 1 файл

1 Защита информации.docx

— 105.24 Кб (Скачать файл)

Говоря о преимуществах интеграции с операционной системой, MS SQL Server использует в своей работе сервисы безопасности Windows NT. Напомним, что Windows NT на сегодня  сертифицирована по классам безопасности С2/Е3. MS SQL Server может быть настроен на работу в одном из трех режимах  безопасности. Интегрированный режим  предусматривает использование  механизмов аутентификации Windows NT для  обеспечения безопасности всех пользовательских соединений. В этом случае к серверу  разрешаются только трастовые, или  аутентифицирующие, соединения (named pipes и multiprotocol). Администратор имеет возможность  отобразить группы пользователей Windows NT на соответствующие значения login id MS SQL Server при помощи утилиты SQL Security Manager. В этом случае при входе на MS SQL Server login name и пароль, переданные через DB-Library или ODBC, игнорируются. Стандартный  режим безопасности предполагает, что  на MS SQL Server будут заводиться самостоятельные login id и соответствующие им пароли. Смешанный режим использует интегрированную  модель при установлении соединений по поименованным каналам или  мультипротоколу и стандартную  модель во всех остальных случаях.

MS SQL Server обеспечивает многоуровневую  проверку привилегий при загрузке  на сервер. Сначала идентифицируются  права пользователя на установление  соединения с выбранным сервером (login name и пароль) и выполнение  административных функций: создание  устройств и баз данных, назначение  прав другим пользователям, изменение  параметров настройки сервера  и т.д. Максимальными правами  обладает системный администратор.  

  На уровне базы данных каждый пользователь, загрузившийся на сервер, может иметь имя пользователя (username) базы и права на доступ к объектам внутри нее. Имеется возможность отобразить нескольких login id на одного пользователя базы данных, а также объединять пользователей в группы для удобства администрирования и назначения сходных привилегий.  

По отношению к объектам базы данных пользователю могут быть назначены  права на выполнение различных операций над ними: чтение, добавление, удаление, изменение, декларативная ссылочная  целостность (DRI), выполнение хранимых процедур, а также права на доступ к отдельным полям. Если этого  недостаточно, можно прибегнуть к  представлениям (views), для которых  сказанное остается справедливым. Наконец, можно вообще запретить пользователю непосредственный доступ к данным, оставив за ним лишь права на выполнение хранимых процедур, в которых будет  прописан весь сценарий его доступа  к базе. Хранимые процедуры могут  создаваться с опцией WITH ENCRYPTION, которая  шифрует непосредственный текст  процедуры, хранящийся обычно в syscomments.

 Права на выполнение некоторых  команд (создание баз, таблиц, умолчаний,  правил, представлений, процедур, резервное  копирование баз и журналов  транзакций) не являются объектно-специфичными, поэтому они назначаются системным  администратором сервера или  владельцем (создателем) базы данных  при редактировании базы данных. Администрирование пользовательских  привилегий обычно ведется в  SQL Enterprise Manager, тем не менее в  Transact-SQL имеются хранимые процедуры  (sp_addlogin, sp_password, sp_revokelogin, sp_addalias, sp_adduser) и операторы (GRANT, REVOKE), которые  позволяют осуществлять действия  по созданию пользователей, назначению  и отмене прав при выполнении  скриптов. Дополнительную возможность  администрирования привилегий предоставляют  рассмотренные нами выше SQL-DMO.

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

Пользователь БД (user) - это физическое или юридическое лицо, которое  имеет доступ к БД и пользуется услугами информационной системы для  получения информации. На каждом этапе  развития БД (проектирования, реализация,эксплуатация, модернизация и развитие, полная реорганизация) с ней связаны разные категории пользователей.

Существуют различные категории  пользователей.

Конечные пользователи это основная категория пользователей, в интересах  которых создается БД.В зависимости  от особенностей создаваемой БД круг конечных пользователей может различаться.Это  могут быть случайные пользователи, которые обращаются за информацией  к БД время от времени и регулярные пользователи. В качестве случайных  пользователей могут рассматриваться, например клиенты фирмы, просматривающие  каталог продукции или услуг.Регулярными  пользователями могут быть сотрудники, которые работают со специально разработанными для них программами, которые  обеспечивают автоматизацию их деятельности при выполнении служебных обязанностей.

Определение  пользователь базы данных относится к базе (или базам) данных, к которым может получить доступ отдельный пользователь. После успешного  подключения сервер определяет, имеет  ли этот пользователь разрешение на работу с базой данных, к которой обращается.

Единственным исключением из этого  правила является пользователь guest (гость). Особое имя пользователя guest разрешает любому подключившемуся  к SQL Server пользователю получить доступ к этой базе данных. Пользователю с  именем guest назначена роль public.

Какие существую права доступа? Для управления правами доступа  в SQL Server используются следующие команды:

• GRANT. Позволяет выполнять действия с объектом или, для команды —  выполнять ее;

• REVOKE. Аннулирует права доступа  для объекта или, для команды  — не позволяет выполнить ее;

• DENY. He разрешает выполнять действия с объектом (в то время, как команда REVOKE просто удаляет эти права  доступа).

Объектные права доступа позволяют  контролировать доступ к объектам в SQL Server, предоставляя и аннулируя  права доступа для таблиц, столбцов, представлений и хранимых процедур. Чтобы выполнить по отношению к некоторому объекту некоторое действие, пользователь должен иметь соответствующее право доступа. Например, если пользователь хочет выполнить оператор SELECT * FROM table, то он должен и меть права выполнения оператора SELECT для таблицы table.

Командные права доступа определяет тех пользователей, которые могут  выполнять административные действия, например, создавать или копировать базу данных. Ниже приведены командные права доступа:

CREATE DATABASE — право создaния базы данных;

CREATE DEFAULT — право создaния стандартного значения для столбца таблицы;

CREATE PROCEDURE — право создaния хранимой процедуры.

CREATE ROLE — право создания готовила для столбца таблицы;

CREATE TABLE — право создания таблицы;

CREATE VIEW — право создания представления;

BACKUP DATABASE — право создания резервной копии;

BACKUP TRANSACTION — праве создания  резервной копии журнала транзакций.

Назначение пользователю некоторой  рели позволяет ему выполнять  все функции, разрешенные этой ролью. По сути роли логически группируют пользователей, имеющих одинаковые права доступа. В SQL Server есть следующие типы ролей:

• роли уровня сервера;

• роли уровня базы данных.

Рассмотрим роли уровня сервера. С помощью этих ролей предоставляются различные степени доступа к операциям и задачам сервер*. Роли уровня сервера заранее определены и действуют в пределах сервера. Они не зависят от конкретных баз данных, и их нельзя модифицировать.

В SQL Server существуют следующие типы ролей уровня сервера:

Sysadmin — дает право выполнить  любое действие в SQL Server;

Serveradmin — дает право изменить  параметры SQL Server и завершить его  работу;

Setupadmin — дает право инсталлировать  систему репликации и управлять  выполнением расширенных хранимых  процедур;

Securityadmin — дает право контролировать  параметры учетных записей для  подключения к серверу и предоставлять  права доступа к базам данных;

Processadmin — дает право управлять  ходом выполнения процессов в  SQL Server;

Dbcreator — дает право создавать  и модифицировать базы данных;

Diskadmin — дает право управлять  файлами баз данных на диске.

Рассмотрим роли уровня базы данных. Роли уровня базы данных позволяют назначить права для работы с конкретной базой данных отдельному пользователю или группе. Роли уровня базы данных можно назначать учетным записям пользователей в режиме аутентификации Windows или SQL Server. Роли могут быть и вложенными, так что учетным записям можно назначить иерархическую группу прав доступа.

В SQL Server существует три типа ролей:

• заранее определенные роли;

• определяемые пользователем роли;

• неявные роли.

Заранее определенными являются стандартные  роли уровня БД. Эти роли имеет каждая база данных SQL Server. Они позволяют  легко и просто передавать обязанности.

Заранее определенные роли зависят  от конкретной базы данных и не могут  быть изменены. Ниже перечислены стандартные  роли уровня базы данных.

db_owner — определяет полный доступ  ко всем объектам базы данных, может удалять и воссоздавать  объекты, а также присваивать  объектные права другим пользователям.  Охватывает все функции, перечисленные  ниже для других стандартных  ролей уровня базы данных;

db_accessadmin — осуществляет контроль  за доступом к базе данных  путем добавления или удаления  пользователей в режимах аутентификации;

db_datareader — определяет полный  доступ к выборке данных (с  помощью оператора SELECT) из любой  таблицы базы данных. Запрещает  выполнение операторов INSERT, DELETE и  UPDATE для любой таблицы БД;

db_datawriter — разрешает выполнять  операторы INSERT, DELETE и UPDATE для любой  таблицы базы данных. Запрещает  выполнение оператора SELECT для  любой таблицы базы данных;

db_ddladmin — дает возможность создавать,  модифицировать и удалять объекты  базы данных;

db_securityadmin — управляет системой  безопасности базы данных, а также  назначением объектных и командных  разрешений и ролей для базы  данных;

db_backupoperator — позволяет создавать  резервные копии базы данных;

db_denydatareader — отказ в разрешении  на выполнение оператора SELECT для  всех таблиц базы данных. Позволяет  пользователям изменять существующие  структуры таблиц, но не позволяет  создавать или удалять существующие  таблицы;

db_denydatawriter — отказ в разрешении  на выполнение операторов модификации  данных (INSERT, DELETE и UPDATE) для любых  таблиц базы данных;

public — автоматически назначаемая  роль сразу после предоставления  права доступа пользователя к  БД.

Роли, определяемые пользователем, позволяют  группировать пользователей и назначать  каждой группе конкретную функцию безопасности.

Существуют два типа ролей уровня базы данных, определяемых пользователем:

• стандартная роль;

• роль уровня приложения.

Стандартная роль предоставляет зависящий  от базы данных метод создания определяемых пользователем ролей. Самое распространенное назначение стандартной роли — логически  сгруппировать пользователей в  соответствии с их правами доступа. Например, в приложениях выделяют несколько типов уровней безопасности, ассоциируемых с тремя категориями  пользователей. Опытный пользователь может выполнять в базе данных любые операции; обычный пользователь может модифицировать некоторые  типы данных и обновлять данные; неквалифицированному пользователю обычно запрещается модифицировать любые  типы данных.

Роль уровня приложения позволяет  пользователю выполнять права некоторой  роли. Когда пользователь принимает  роль уровня приложения, он берет на себя выполнение новой роли и временно отказывается от всех других назначенных  ему прав доступа к конкретной базе данных. Роль уровня приложения имеет  смысл применять в среде, где  пользователи делают запросы и модифицируют данные с помощью клиентского  приложения.

Системный анализ - это применение системного подхода при обработке  конкретной информации и принятию решений. Рассмотренные принципы системного подхода являются и принципами системного анализа.

Их дополняют следующие специфические  принципы:

• анализ любого процесса принятия решения  должен начинаться с выявления и  четкой формулировки целей (желаемых результатов  деятельности), которые часто определяются на основе рассмотрения системы более высокого уровня;

• необходимо рассматривать лишь те цели, вероятность достижения которых  р>р0 за время t<t0, где/?0 и t0 - пороги осуществимости цели.

Данные специальные принципы предполагают некую системную стратегию анализа, требующую рассмотрения не только самой  системы, но и внешней по отношению  к ней среды (надсистемы или метасистемы), и определение границы между  ними.

Перспективой развития документальных информационно-поисковых систем и  баз данных являются банки знаний, новая концепция информационной системы, использующая результаты исследований и разработок в области искусственного интеллекта.

Информация о работе Безопасность баз данных