Автор работы: Пользователь скрыл имя, 03 Февраля 2014 в 14:59, дипломная работа
Одной из главных тенденций в современном мире является постоянное по-вышение роли информации.
Обмен информацией осуществляется по международным сетям телекомму-никаций, а необходимые для подключения к ним оборудование и программы до-статочно удобны, надежны, дешевы и широко доступны. Однако информация, которая передается от одного компьютера к другому, не всегда скрыта от остальных компьютеров, подключенных к той же сети. Это может привести к шпионажу, краже данных и их искажению.
ВВЕДЕНИЕ 3
ГЛАВА 1. ИСТОЧНИКИ ВОЗНИКНОВЕНИЯ И ПОСЛЕДСТВИЯ РЕАЛИЗАЦИИ УГРОЗ БАЗ ДАННЫХ 6
1.1. Классификация источников угроз 6
1.2. Последствия воздействия угроз и виды угрожающих воздействий 9
1.3. Реализации возникновения угроз безопасности баз данных 13
Выводы по первой главе 15
ГЛАВА 2. ЗАЩИТА БАЗ ДАННЫХ И СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ 16
2.1. Основные понятия о базах данных 16
2.2. Обеспечение безопасности информации в базах данных, обеспечиваемые СУБД 19
2.3. Особенности защиты информации в базах данных 24
Выводы по второй главе 29
ГЛАВА 3. ЗАЩИТА ДАННЫХ В СРЕДЕ MS SQL SERVER МУНИЦИПАЛЬНОГО ОБРАЗОВАНИЯ ЗАТО АЛЕКСАНДРОВСК 31
3.1. Защита и управление доступом 31
3.2. Администрирование системы безопасности 34
3.3. Предоставление и отмена предоставленных привилегий пользователю 36
Отмена предоставленных пользователям привилегий. 37
3.4. Реализация прав на доступ к объектам баз данных в среде MS SQL Server 38
Предоставление прав 38
Права на выполнение команд SQL 39
Выводы по третьей главе 43
ЗАКЛЮЧЕНИЕ 45
ГЛОССАРИЙ 48
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 50
СПИСОК СОКРАЩЕНИЙ 52
ПРИЛОЖЕНИЯ 53
Параметр <привилегия> представляет собой следующую конструкцию:
<привилегия>::=
{SELECT | DELETE | INSERT | UPDATE | EXECUTE | REFERENCES }
Параметр WITH GRANT OPTION поможет пользователю, которому вы предоставляете права, назначить права на доступ к объекту другим пользователям. Его использование требует особой осторожности, поскольку при этом владелец теряет контроль над предоставлением прав на доступ другим пользователям. Лучше всего ограничить круг пользователей, обладающих возможностью управлять назначением прав.
Необязательный параметр AS {имя_группы | имя_роли} позволяет указать участие пользователя в роли, обеспечивающей предоставление прав другим пользователям.
Единственное право доступа, которое может быть предоставлено для хранимой процедуры, - право на ее выполнение «EXECUTE». Естественно, кроме этого владелец хранимой процедуры может просматривать и изменять ее код.
Для функции можно выдать право на ее выполнение, а кроме того, выдать право «REFERENCES», что обеспечит возможность связывания функции с объектами, на которые она ссылается. Такое связывание позволит запретить внесение изменений в структуру объектов, способных привести к нарушению работы функции.
Этот класс прав контролирует возможность создания объектов в базе данных, самой базы данных и выполнения процедуры резервного копирования. Можно использовать следующую команду для предоставления права на выполнение команд SQL:
<предоставление_права_выполнен
GRANT {ALL | <команда>[,...n]}
ТО {имя_пользователя | имя_группы | имя_роли} [,...п]
Параметр <команда> представляет собой следующую конструкцию:
<команда>::=
{CREATE'DATABASE | CREATE TABLE | CREATE VIEW | CREATE DEFAULT | CREATE RULE | CREATE PROCEDURE | BACKUP DATABASE |
BACKUP LOG | ALL )
Таким образом, можно предоставить право на создание базы данных, таблицы, просмотра, умолчания, правила, хранимой процедуры, резервной копии базы данных и журнала транзакций или предоставить сразу все вышеперечисленные права.
Неявные права
Выполнение некоторых действий не требует явного разрешения и доступно по умолчанию. Эти действия могут быть выполнены только членами ролей сервера или владельцами объектов в базе данных.
Неявные права не предоставляются пользователю непосредственно, он получает их лишь при определенных обстоятельствах. Например, пользователь может стать владельцем объекта базы данных, только если сам создаст объект либо если кто-то другой передаст ему право владении своим объектом. Таким образом, владелец объекта автоматически получит права на выполнение любых действий с объектом, в том числе и на предоставление доступа к объекту другим пользователям. Эти права нигде не указываются, выполнять любые действия позволяет только факт владения объектом.
Запрещение доступа
Система безопасности SQL Server имеет иерархическую структуру, и поэтому роли базы данных включают в себя учетные записи и группы Windows 2003/ХР, пользователей и роли SQL Server. Пользователь же, в свою очередь, может участвовать в нескольких ролях и одновременно иметь разные права доступа для разных ролей. Когда одна из ролей, в которых состоит пользователь, имеет разрешение на доступ к данным, он автоматически имеет аналогичные права. Тем не менее, если возникает необходимость, пользователю можно запретить доступ к данным или командам, тогда аннулируются все разрешения на доступ, полученные им на любом уровне иерархии. При этом гарантируется, что доступ останется запрещенным независимо от разрешений, предоставленных на более высоком уровне. [4, 287]
Для запрещения доступа к объектам базы данных используется команда:
<запрещение_доступа>:: =
DENY {ALL [PRIVILEGES) | | <привилегия> [,…n]}
{ ((имя_столбца [,...n])] ON { имя_таблицы |
имя_просмотра}
| ON {имя_таблицы | имя_просмотра }
[имя_столбца [, . . .n])]
| ON {имя_хранимой_процедуры |
имя_внешней_процедуры)}
TO {имя_пользователя | имя_группы | имя_роли} [,...:.]
[CASCADE ]
Параметр «CASCADE» позволяет отзывать права не только у конкретною пользователя, но также и у всех тех. кому он предоставил аналогичные права.
Для запрещения выполнения команд SQL применяется оператор:
<запрещение_выполнения>: : =
DENY {ALL | <команда>[,...n]}
ТО {имя_пользователя | имя_группы |
имя_роли} [,…n]
Неявное отклонение доступа
Неявное отклонение подобно запрещению доступа с тем отличием, что оно действует только на том уровне, на котором определено. Если пользователю на определенном уровне неявно отклонен доступ, он все же может получить его на другом уровне иерархии через членство в роли, имеющей право просмотра. По умолчанию доступ пользователя к данным неявно отклонен. Для неявного отклонения доступа к объектам базы данных используется команда:
<неявное_отклонение_доступа>:: =
REVOKE (GRANT OPTION FOR]
{ALL | PRIVILEGES) I | <привилегия> [,…n]}
{ [(имя_столбца [,…n])] ON
{ имя_таблицы | имя_просмотра}
| ON {имя_таблицы | имя_просмотра }
[имя_столбца [,…n])]
| ON {имя_хранимой_процедуры |
имя_внешней_процедуры}}
TO | FROM {имя_пользователя | имя_группы |
имя_роли} [,...n]
[CASCADE ]
[AS {имя_группы | имя_роли }]
Для неявного отклонения разрешения на выполнение команд SQL используется следующая команда:
<неявное_отклонение_
REVOKE {ALL | <команда>[,...n]}
FROM {имя_пользователя | имя_группы | имя_роли} [,…n]
Смысл параметров аналогичен параметрам команд «GRANT» и «DENY». Параметр «GRANT OPTION FOR» используется, когда необходимо отозвать право, предоставленное параметром «WITH GRANT OPTION» команды «GRANT». Пользователь сохраняет разрешение на доступ к объекту, но теряет возможность предоставлять это разрешение другим пользователям.
Конфликты доступа
Разрешения, предоставленные роли или группе, наследуются их членами. Хотя пользователю может быть предоставлен доступ через членство в одной роли, роль другого уровня может иметь запрещение на действие с объектом. В таком случае возникает конфликт доступа.
При разрешении конфликтов доступа SQL Server руководствуется следующим принципом: разрешение на предоставление доступа имеет самый низкий приоритет, а на запрещение доступа — самый высокий. Это значит, что доступ к данным может быть получен только явным его предоставлением при отсутствии запрещения доступа на любом другом уровне иерархии системы безопасности. Если доступ явно не предоставлен, пользователь не сможет работать с данными [23, 78].
Система безопасности SQL Server имеет несколько уровней безопасности:
Механизм безопасности предполагает существование четырех типов пользователей:
Модель безопасности SQL Server включает следующие компоненты:
Для создания пользователя в среде MS SQL Server следует предпринять следующие шаги:
1. Создать в базе данных учетную запись пользователя, указав для него пароль и принятое по умолчанию имя базы данных (процедура sp_addlogin).
2. Добавить этого пользователя во все необходимые базы данных (процедура sp_adduser).
3. Предоставить ему в каждой базе данных соответствующие привилегии (команда GRANT).
Система безопасности SQL Server имеет иерархическую структуру, и поэтому роли базы данных включают в себя учетные записи и группы Windows 2003/ХР, пользователей и роли SQL Server. Пользователь же, в свою очередь, может участвовать в нескольких ролях и одновременно иметь разные права доступа для разных ролей. Когда одна из ролей, в которых состоит пользователь, имеет разрешение на доступ к данным, он автоматически имеет аналогичные права. Тем не менее, если возникает необходимость, пользователю можно запретить доступ к данным или командам, тогда аннулируются все разрешения на доступ, полученные им на любом уровне иерархии. При этом гарантируется, что доступ останется запрещенным независимо от разрешений, предоставленных на более высоком уровне.
Давно уже прошли те времена, когда информационные активы компаний хранились в коробках, шкафах и на складах. Списки клиентов, платежная информация, финансовая отчетность и бизнес-планы - жизненная основа любой компании, более всего подверженная рискам. Сегодня она хранится в электронном виде в сети, на серверах, рабочих станциях, картах памяти, ноутбуках сотрудников.
Актуальность проблемы, связанной с обеспечением безопасности информации, возрастает с каждым годом. Наиболее часто потерпевшими от реализации различных угроз безопасности являются финансовые и торговые организации, медицинские и образовательные учреждения. Если посмотреть на ситуацию десятилетней давности, то основной угрозой для организаций были компьютерные вирусы, авторы которых не преследовали каких-то конкретных целей, связанных с обогащением. Современные хакерские атаки стали более изощренными, организованными, профессиональными, разнообразными и, главное, имеющими конкретную цель, например направленными на хищение данных банковских счетов в конкретных банковских системах. Совершенствование сферы информационных услуг, особенно в сфере дистанционного банковского обслуживания, способствует развитию интеллекта киберпреступников.
Существует много путей утечки информации, например визуальный контакт (видео/фото/аудиосъемка), банальный инсайд (подкуп сотрудников), утечки по техническим каналам передачи информации, на сменном носителе (флешке), сбор информации при помощи жучков и электромагнитных наводок. Кроме того, утечкой может считаться просто несанкционированный доступ к информации (ознакомление): сотрудник прочитал документ на принтере или на незалоченном компьютере коллеги, а потом рассказал другу по телефону из дома. [27]
Невозможно предусмотреть абсолютно все способы утечки информации, однако необходимо принимать меры по снижению рисков реализации наиболее катастрофичных угроз.
Для решения задач защиты от утечек многие компании используют традиционные способы:
организационные меры - подписание сотрудниками положений по использованию корпоративной информации, прохождение инструктажа и контроль за соблюдением норм;
внедрение систем архивирования исходящей почты с возможностью последующего разбора инцидентов;
разграничение прав доступа к информации, предназначенной для выполнения служебных обязанностей;
перекрытие компьютерных портов ввода-вывода информации;
установка на локальные компьютеры программ, следящих за всеми операциями пользователей (перехват клавиатуры, снятие скриншотов, контроль операций с буфером обмена);
физические
ограничения - обращение с защищаемой
информацией в замкнутом сегмен
По мере использования таких традиционных методов борьбы с внутренними нарушителями и по мере роста размеров компании, объема обрабатываемой информации стали усугубляться следующие недостатки:
Существуют определенные правила, которых целесообразно придерживаться при организации защиты информации: