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

Подробнее

Размер

125.33K

Добавлен

12.12.2022

Скачиваний

13

Добавил

smoggee
-
Текстовая версия:

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

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

Современные СУБД представляют собой в основном приложения Windows, поскольку эта среда позволяет более полно использовать персональные компьютеры, чем, например, среда DOS. Падение цен на высокопроизводительные ПК привело не только к повсеместному переходу на среду Windows, где разработчикам приходится меньше беспокоиться о распределении ресурсов, но и к тому, что программное обеспечение для ПК в целом и СУБД в частности стали менее критичными к производительности компьютера. аппаратные ресурсы.

Среди наиболее ярких представителей систем управления базами данных можно выделить Lotus Approach, Microsoft Access, Borland dBase, Borland Paradox, Microsoft Visual FoxPro, Microsoft Visual Basic, а также базы данных Microsoft SQL Server и Oracle, используемые в клиент-серверных приложениях.

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

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

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

- ограничения, требующие сохранения значений поля индикатора в определенном диапазоне;

- ограничения, связанные с некоторыми функциональными зависимостями.

Обычно в СУБД язык манипулирования данными уже содержит компоненты, необходимые для реализации этих ограничений. Проблема предоставления разрешения на использование данных неоднозначна, но в основном касается защиты данных от нежелательной модификации или уничтожения, а также от несанкционированного чтения.

В этой работе я затрону основные аспекты безопасности баз данных, их реализацию на конкретных примерах СУБД.

Информационная безопасность – это комплекс мер, направленных на обеспечение целостности, доступности и, при необходимости, конфиденциальности основных аспектов информационной безопасности (целостность, доступность и, при необходимости, конфиденциальность информации и ресурсов, используемых для ввода, хранения, обработки и передавать данные) [1].

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

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

Основными критериями оценки надежности являются политика безопасности и надежность.

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

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

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

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

Действительная (надежная) основа расчета играет ключевую роль в оценке того, насколько надежной можно считать систему. Trusted Computing Base (TCB) — это полный набор механизмов безопасности компьютерной системы для обеспечения соблюдения соответствующей политики безопасности.

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

Граница ДВБ является границей безопасности. Компонентам внутри этого периметра следует доверять (поэтому для оценки надежности компьютерной системы достаточно только периметра компьютерной системы). Компоненты за пределами периметра безопасности, как правило, не нуждаются в доверии. Однако это не должно влиять на безопасность системы. Поскольку распределенные вычислительные системы в настоящее время широко используются, «периметр безопасности» относится к границе организации, которой подчиняется система. По аналогии, то, что находится в пределах этой границы, считается безопасным. С помощью системы шлюзов, способной противостоять потенциально ненадежной и даже враждебной среде, связь осуществляется через эту границу.

Функцию мониторинга, т.е. контроля за допустимостью выполнения субъектами тех или иных операций над объектами, осуществляет доверенная вычислительная база. Каждый раз, когда пользователь обращается к программам или данным, монитор проверяет правомерность доступа (соответствие действий пользователя списку разрешенных операций). Реализация контроля доступа называется ядром безопасности, на котором построены все механизмы безопасности системы. Ядро безопасности должно гарантировать собственную неизменность [2].

1.2. Защита ПК от несанкционированного доступа

Опыт показывает, что несанкционированный доступ (НПД) является одной из самых серьезных угроз злонамеренного получения защищенной информации в современных системах контроля доступа. Как ни странно, угроза этой опасности для ПК повышена по сравнению с большими ЭВМ, что подтверждается следующими объективно существующими обстоятельствами:

1) подавляющее большинство ПК находится непосредственно на рабочих местах специалистов, что создает благоприятные условия для несанкционированного доступа;

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

3) Современные ПК оснащены несъемными жесткими дисками очень большой емкости, и информация сохраняется даже тогда, когда ПК не работает.

4) ГМД выпускаются в таких массовых количествах, что используются для распространения информации так же, как и бумажные;

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

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

Основные механизмы защиты компьютеров от несанкционированного доступа перечислены ниже:

1) физическая защита компьютеров и носителей информации;

2) идентификация (аутентификация) пользователей и используемых компонентов обработки информации

3) разграничение доступа к элементам защищаемой информации

4) криптографическое сжатие защищаемой информации, хранящейся на носителях (архивирование данных);

5) криптографическое запечатывание защищаемой информации при ее непосредственной обработке;

6) логировать все обращения к защищенной информации. Общее содержание и использование вышеперечисленных механизмов описаны ниже [3].

1.3. Защита информации в СУБД

Современные СУБД поддерживают один из двух наиболее распространенных подходов к обеспечению безопасности данных: выборочный и обязательный. В обоих подходах единица данных или «объект данных», для которого должна быть установлена безопасность, может быть всей базой данных или любым объектом в базе данных.[4]

Эти два подхода различаются по следующим параметрам:

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

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

Пользователи могут быть объединены в определенные группы пользователей. Пользователь может быть членом более чем одной группы. Стандарт вводит понятие группы PUBLIC, для которой должен быть определен минимальный набор стандартных прав. По умолчанию предполагается, что все вновь созданные пользователи принадлежат к группе PUBLIC, если не указано иное. Привилегии или разрешения пользователя или группы представляют собой набор операций (действий), которые можно выполнять над объектами базы данных. [5]

В последних версиях некоторых коммерческих СУБД введено понятие «роль». Роль — это именованный набор разрешений. При установке сервера базы данных определяются некоторые стандартные роли. Присутствует возможность создавать новые роли, группируя произвольные полномочия. Введение ролей упрощает управление привилегиями пользователей и структуру процесса. Также введение ролей не связано с конкретными пользователями, поэтому роли можно определить и настроить до того, как пользователи будут определены в системе.

Пользователю может быть назначена одна или несколько ролей.

Защищенные объекты базы данных — это все объекты, хранящиеся в базе данных: таблицы, представления, хранимые процедуры и триггеры. С каждым типом объекта связаны разные операции, поэтому для каждого типа объекта могут быть определены разные права доступа. [6]

1.4. Концепция безопасности базы данных

На самом базовом уровне концепции безопасности базы данных чрезвычайно просты. Должны поддерживаться два фундаментальных принципа: проверка полномочий и проверка подлинности. Проверка полномочий основано на том, что каждому пользователю или процессу информационной системы соответствует набор действий, которые он может выполнять по отношению к определенным объектам. Аутентификация (проверка подлинности) же означает достоверное подтверждение того, что пользователь или процесс, пытающийся выполнить санкционированное действие, действительно является тем, за кого себя выдает. Рассмотрим подробнее оба этих понятия. [7]

1.4.1. Проверка полномочий

Система проверки (рис. 1) полномочий иерархична. Самые высокие права и разрешения предоставляются администратору или администратору сервера базы данных. Традиционно только этот тип пользователя может создавать других пользователей и предоставлять им определенные привилегии.

Рис. 1 – Модель проверки полномочий

Теоретически мы могли бы поддерживать матрицу безопасности, которая определяет отношения между всеми пользователями и процессами в системе, с одной стороны, и всеми объектами, с другой. Каждая ячейка матрицы содержит список от 0 до N операций, которые данный пользователь или процесс может выполнять с данным объектом. Всемогущая и нерушимая система управления безопасностью, поддерживающая эту матрицу и обеспечивающая ее выполнение для всех операций в данной среде, могла бы теоретически гарантировать высокий уровень информационной безопасности (хотя реальность, как мы увидим, несколько сложнее).

На рис. 2 показано, почему этой базовой модели недостаточно для обеспечения даже минимального уровня безопасности. Если Процессу 2 удастся выдать себя за Процесс 1, он сможет выполнять операции, разрешенные Процессом 1 (но не Процесс 2). Поэтому очевидно, что необходимы дополнительные меры, о которых пойдет речь в следующем разделе. [8]

Рис. 2 – Необходимость проверки подлинности в дополнение к проверке полномочий

1.4.2. Проверка подлинности

По причинам, описанным выше, безопасная среда должна иметь модель аутентификации (рис. 3), которая гарантирует, что удостоверения, заявленные пользователями или процессами, проверены.

Рис. 3 – Пример проверки подлинности пароля пользователя

Проверка учетных данных стала еще более важной с массовым внедрением распределенных вычислений. Из-за существующей в настоящее время высокой взаимосвязанности вычислительных систем любой доступ к системе должен контролироваться.

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

Отмечу, что модель безопасности, основанная на базовых механизмах авторизации и аутентификации, не решает таких проблем, как кража логинов и паролей или злонамеренные действия отдельных пользователей с идентификацией информации — например, когда программист, работающий над учетной системой с полным доступом к учетной базе данных, встраивание троянского коня в код программы для кражи денег или другие подобные намерения. Эти вопросы выходят за рамки обсуждения разработки безопасности баз данных, но, тем не менее, следует понимать, что программа информационной безопасности должна охватывать не только технические области (такие как сети, базы данных и операционная система), но и вопросы физической безопасности, страхование персонала (скрытый контроль), аудит, различные ручные или полуавтоматические процедуры обеспечения безопасности. Хотя все инструменты, обсуждаемые в этой главе, могут быть легко реализованы, потенциальные проблемы остаются, если программа безопасности не завершена [9].

1.5. Особенности защиты информации в СУБД

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

Базы данных расположены:

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

В компьютерных сетях базы данных располагаются на серверах. Локальные и корпоративные сети обычно используют централизованные базы данных. Общедоступные глобальные сети имеют распределенные базы данных. В таких сетях серверы расположены на разных узлах сети. Поскольку на серверах часто используются специализированные компьютеры, способные хранить большие объемы данных, они обеспечивают безопасность и доступность информации, а также быструю обработку входящих запросов. Централизованные базы данных упрощают защиту информации от вредоносных угроз и обеспечивают актуальность и согласованность данных. Преимущество распределенных баз данных в том, что они хорошо защищены от стихийных бедствий, аварий, технических сбоев и саботажа, а данные не дублируются.

Защита информации, хранящейся в базах данных, в отличие от защиты данных, хранящихся в файлах, также имеет свои особенности:

При создании средств информационной безопасности баз данных необходимо учитывать взаимодействие этих средств не только с операционной системой, но и с системой управления базой данных. При этом можно встроить механизмы защиты в систему управления базой данных или использовать их как отдельные компоненты. Для большинства СУБД добавление дополнительной функциональности возможно только на этапе разработки СУБД. Оперативные системы управления базами данных могут быть расширены дополнительными компонентами путем расширения или модификации языка управления. Таким образом можно добавить функциональность, например, в CA-Clirer 5.0.

В современных базах данных успешно решаются вопросы контроля доступа, физической целостности и логической безопасности данных. Алгоритмы ограничения доступа к записям и даже полям записей на основе привилегий пользователя хорошо разработаны, и злоумышленники могут обойти эту защиту, только манипулируя привилегиями или внедряя вредоносное ПО. Доступ к файлам и частям базы данных ограничивается СУБД путем установления пользовательских привилегий и проверки этих привилегий при доступе к объектам доступа.

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

В базах данных, имеющих дело с конфиденциальной информацией, следует использовать дополнительные криптографические средства для запечатывания информации. Для этого используется как одно ключевое шифрование, так и индивидуальные ключи пользователей. Использование индивидуального ключа шифрования повышает надежность механизма контроля доступа, но значительно усложняет управление [10].

1.6. Разработка и внедрение защиты СУБД

Существует ряд специфических рисков информационной безопасности, которые следует учитывать при разработке системы безопасности базы данных, поскольку базы данных содержат большие объемы различной информации и позволяют выполнять сложные запросы во время обработки данных. Эти угрозы включают в себя (таб. 1):

1

Инференция

2

Агрегирование

3

Комбинация разрешенных запросов для получения ограниченных данных;

Таб. 1 – Риски информационной безопасности при создании базы данных

Под инференцией понимается получение инсайдерской информации из менее конфиденциальной информации путем логического вывода. Учитывая, что базы данных хранят информацию из разных источников, в разное время, в разной степени и с разными обобщениями, аналитик может получать конфиденциальную информацию, сравнивая, дополняя и фильтруя имеющиеся у него данные. Также обрабатывает информацию из открытых баз данных, из СМИ, а также отдельные ошибки, определяющие важность и конфиденциальность конкретных явлений, процессов, фактов и выводов. Этот способ получения конфиденциальной информации, например, из материалов СМИ, используется давно и доказал свою эффективность.

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

Одним из наиболее эффективных способов защиты информации в базах данных является контроль входящих запросов на наличие «подозрительных» запросов или их комбинаций. Анализ этих попыток позволит выявить возможные каналы несанкционированного доступа к конфиденциальным данным.

Хотя логический вывод и агрегирование являются методами поиска информации, которые не применимы однозначно к базам данных, определенная комбинация запросов используется только при работе с базами данных. Сложные запросы, а также ряд простых и логически связанных запросов позволяют получить данные, к которым у пользователя нет доступа. Эта функциональность в основном доступна в базах данных, предоставляющих статистические данные. В этом случае блокируются отдельные записи или поля (отдельные данные). Запрос с использованием логических операций И, ИЛИ, НЕ может привести к таким значениям, как количество записей, сумма, максимальное или минимальное значение. Злоумышленник может получить доступ к нужной записи (полю) путем последовательной фильтрации записей с использованием сложных перекрестных запросов и доступной ему дополнительной информации о характеристиках интересующей его записи (поля) [11].

2. РЕАЛИЗАЦИЯ ПРОГРАММНО-АППАРАТНЫХ СРЕДСТВ ЗАЩИТЫ В СУБД

2.1. Архитектура защиты Access

Чтобы понять архитектуру безопасности Access, важно помнить, что база данных Access не является файлом в том смысле, что книга Excel или документ Word. База данных Access — это набор объектов (таблиц, форм, запросов, макросов, отчетов и т. Д.), которые часто являются взаимозависимыми. Например, при создании формы ввода данных, нельзя вводить или хранить в ней данные, пока элементы управления формы не привяжутся к таблице.

Некоторые компоненты Access (таб. 2) небезопасны и поэтому отключены в ненадежных базах данных:

1

запросы на изменение (запросы, которые добавляют, удаляют или изменяют данные)

2

макросы

3

некоторые выражения

4

код VBA

Таб. 2 – небезопасные компоненты Access

Если специалист уже имел опыт работы с безопасностью серверов или ЭВМ, он должен хотя бы представлять инфраструктуру безопасности Access. В СУБД Access присутствует указать, каким пользователям разрешен или запрещен доступ к объектам базы данных. Также можно определить группы пользователей и назначить привилегии на уровне группы, чтобы упростить защиту большого количества пользователей. Пользователю достаточно быть членом группы, чтобы получить права доступа, определенные для этой группы.

Access хранит информацию о безопасности в двух местах. Во время установки программа установки создает стандартный файл рабочей группы (System.mdw) в папке \Program Files\Microsoft Office\Office, который используется по умолчанию при запуске Access. Этот файл содержит информацию обо всех пользователях и группах. При создании базы данных Access сохраняет информацию о правах, предоставленных каждому пользователю и группе, в файле базы данных.

Общая структура безопасности доступа показана на рис. 4. Учетные записи пользователей и групп хранятся в файле рабочей группы. Права доступа для каждого объекта хранятся в файле базы данных.

Рис. 4 – Структура защиты Microsoft Access

Каждая рабочая группа имеет уникальный внутренний идентификатор, который Access генерирует при определении файла рабочей группы. Базы данных, созданные пользователем рабочей группы, принадлежат как этому пользователю, так и рабочей группе. Каждый пользователь и группа также имеют уникальный внутренний идентификатор, но один и тот же идентификатор пользователя и группы может повторяться в нескольких рабочих группах. Когда назначается доступ к объекту в базе данных, Access сохраняет внутренний идентификатор пользователя или группы в базе данных вместе с информацией о доступе. Таким образом, указанные права передаются вместе с файлом базы данных при его копировании в другую папку или компьютер [12].

2.2. MS SQL Server

SQL Server — это программа, которая работает на компьютере, сервере, ноутбуке, виртуальной машине или даже в облаке. Она позволяет подключаться локально или по сети, отправлять команду по специальному протоколу TDS и получать соответствующий ответ. Это мощная и продвинутая платформа, позволяющая хранить и обрабатывать данные. Все, что она делает, это открывает сетевой порт и готов принимать команды от пользователя и выдавать им результат в ответ. Самое главное при работе с SQL Server — это иметь возможность подключаться и выполнять команды, когда это необходимо, потому что, очевидно, если это не работает, нет смысла делать что-то еще.

Если работа происходит в локальной сети, необходимо установить программу на рабочие станции всех пользователей. Как это работает, зависит от выбранной вами СУБД. Самый простой случай — работа с базой данных Microsoft Access, этот режим используется по умолчанию сразу после установки программы и подходит для большинства приложений, когда количество пользователей, работающих с базой данных, не превышает 10-12. В сетевой среде файл базы данных размещается на общем ресурсе, к которому подключаются пользователи других компьютеров с необходимым программным обеспечением. Если количество пользователей, одновременно обращающихся к одной и той же базе данных, превышает 12 или заметно снижается скорость работы сервера, стоит сменить формат базы данных на Microsoft SQL.

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

2.2.1. Организация защиты

В критически важных бизнес-приложениях, где сервер базы данных должен быть всегда доступен для клиентов, большая часть профилактического обслуживания базы данных должна выполняться виртуально в интерактивном режиме. MS SQL Server имеет возможности динамического резервного копирования данных, т. Е. резервные копии могут создаваться даже тогда, когда данные используются и изменяются клиентами. В случае сбоя оборудования, сбоя питания и т. Д. механизм автоматического восстановления MS SQL Server восстанавливает все базы данных до их последнего полного состояния без вмешательства администратора. Все завершенные, но не зарегистрированные транзакции применяются к базе данных (по сути, то же самое, что и для события контрольной точки), а незафиксированные транзакции, то есть те, которые были активны в момент сбоя, удаляются из журналов.

С точки зрения симметричной архитектуры операции резервного копирования и восстановления могут быть многопоточными и выполняться одновременно, используя асинхронный ввод-вывод. Каждое устройство резервного копирования имеет свой собственный поток. Параллельное резервное копирование поддерживает до 32 параллельных устройств резервного копирования, что позволяет быстро создавать резервные копии даже очень больших баз данных. Возможность резервного копирования и восстановления отдельных таблиц, о которой мы упоминали в Transact-SQL, экономит место и время, устраняя необходимость резервного копирования всей базы данных всего для нескольких объектов.

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

Для небольшой базы данных журналы транзакций обычно хранятся на том же устройстве, что и сама база данных, и архивируются вместе с ней. Журнал транзакций предварительно записывается, что означает, что все изменения сначала отражаются в журнале транзакций, прежде чем попасть в саму базу данных. Если журнал транзакций находится на отдельном устройстве, вы можете создать отдельную резервную копию журнала транзакций. Резервное копирование базы данных обычно выполняется реже, чем резервное копирование журнала транзакций. Например, журнал транзакций копируется ежедневно, но вся база данных копируется один раз в неделю, потому что резервное копирование журнала транзакций происходит намного быстрее и занимает меньше места, чем полное резервное копирование базы данных. В отличие от резервной копии базы данных, резервная копия журнала транзакций удаляет неактивную часть базы данных, т. Е. все транзакции, которые были завершены (зафиксированы или отменены) с момента последнего резервного копирования, если не используется параметр NO_TRUNCATE.

Transfer Manager используется для экспорта/импорта объектов базы данных и данных в MS SQL Server между различными аппаратными платформами, такими как процессоры Intel и Alpha, а также между разными версиями MS SQL Server, особенно между более старой и новой версиями или между эквивалентными версиями (например, 4-х и 6-х). Чаще всего объекты базы данных проектируются с помощью различных графических инструментов, но проектная документация может требовать структурирования объектов с помощью точных DDL-запросов. Чтобы получить сценарии, описывающие создание каждого объекта базы данных, вы можете использовать команду «Перенос» в контекстном меню объекта или выбрать соответствующий класс и имя объекта в «Диспетчере переноса». В качестве альтернативы содержимое данных можно загрузить/выгрузить с помощью утилиты bcp.

Команда DUMP TRANSACTION TRUNCATE_ONLY, которая очищает журнал транзакций, полезна, когда журнал транзакций заполнен, что можно проверить, например, с помощью инструкции DBCC SQLPERF (LOGSPACE). Если уровень переполнения журнала очень высок, можно остановить регистрацию того же события во время очистки журнала — DUMP TRANSACTION NO_LOG. Если резервное копирование транзакций не требуется, можно включить опцию удаления последних завершенных транзакций в базе данных при возникновении события контрольной точки.

С помощью MS SQL Server можно зеркально отображать устройства, переключаться на зеркальное устройство в качестве основного устройства, отключать зеркальное отображение и немедленно уничтожать зеркальное устройство, т.е. без прерывания нормальной работы сервера для обслуживания запросов пользователей. Зеркалирование и клонирование устройств может осуществляться с помощью Windows NT для взаимодействия с MS SQL Server, а также на аппаратном уровне (поддержка различных RAID-систем и т.д.) [13,2].

2.2.2. Вопросы безопасности доступа

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

MS SQL Server обеспечивает различные уровни контроля привилегий при загрузке на сервер. Для начала необходимо установить права пользователя на подключение к выбранному серверу (имя пользователя и пароль) и выполнять административные функции: создавать устройства и базы данных, назначать права другим пользователям, изменять настройки сервера и т. д. Максимальные права предоставляются администратору. На уровне базы данных любой пользователь, подключенный к серверу, может иметь имя пользователя и права доступа к объектам на сервере. Вы можете отобразить несколько идентификаторов входа для каждого пользователя базы данных и группы пользователей, чтобы упростить администрирование и назначить одинаковые привилегии. К объектам базы данных могут быть приписаны различные операции: чтение, добавление, удаление, изменение, декларативная ссылочная целостность (DRI), выполнение хранимых процедур и права доступа к определенным полям. Если этого недостаточно, вы можете обратиться к представлениям, для которых это все еще актуально.

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

2.2.3. Управление доступом

Система безопасности SQL Server имеет несколько уровней безопасности:

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

Модель безопасности SQL Server включает следующие компоненты:

2.3. Безопасность информации в Oracle

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

Чтобы разрешить конфликты с изменениями данных, Oracle назначает измененным строкам исключительную цену. Oracle не использует разделяемые блокировки, но Oracle выполняет дополнительные проверки для разрешения любых конфликтов, когда транзакции выполняют операции чтения. В Oracle каждая транзакция имеет свой текущий системный номер (SCN). Чем позже началась транзакция, тем больше SCN. Когда транзакция изменяет страницу данных, СУБД сохраняет копию SCN на этой странице. Если транзакция считывает страницу данных, она делает это незаметно; если SCN транзакции больше или равен SCN стороны; если SCN транзакции меньше, чем SCN страницы данных (т. е. транзакция началась позже, чем страница была обновлена ​​или обновляется), транзакция считывает из сегмента отката версию той же страницы с SCN меньше, чем SCN транзакции.

Этот подход называется многоверсионным, потому что разные транзакции могут одновременно видеть разные версии данных. Подход с несколькими версиями уменьшает количество блокировок, но подход на основе блокировок обеспечивает более согласованное представление данных.

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

Введение ролей в Oracle версии №7 стало огромным шагом вперед в области безопасности данных. До Oracle7 каждому пользователю нужно было явно предоставлять права доступа к каждому объекту базы данных, который он мог использовать. Этот процесс упрощается путем предоставления роли доступа к набору объектов, а затем предоставления права на использование роли соответствующим людям. Команду GRANT можно использовать для предоставления пользователям права выполнять операции SELECT, INSERT, UPDATE и DELETE над объектами базы данных (такими как таблицы). Однако само по себе это не дает большой гибкости. Вы можете ограничить доступ пользователя к определенным частям таблицы, разделив таблицу по горизонтали (ограничив пользователя определенными строками), по вертикали (ограничив пользователя определенными столбцами) или как по горизонтали, так и по вертикали. Как это сделать? Для примера создадим таблицу (таб. 3).

ID

NAME

DEFT

PAYMENT_PERIOD

SALARY

1

JONES

10

WEEKLY

120

2

K1RKUP

10

MONTHLY

900

3

DAVIES

10

WEEKLY

150

4

ARMSTRONG

20

MONTHLY

1030

5

KEMP

20

MONTHLY

1005

6

FISHER

30

WEEKLY

150

Таб. 3 – Тестовая таблица

Мы не хотим, чтобы все пользователи видели столбец SALARY, и мы хотим ограничить доступ пользователей, чтобы они могли видеть только записи сотрудников своего отдела.

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

CREATE VIEW vjpayroll AS SELECT id

, name, dept

, payment_period FROM payroll WHERE dept = (SELECT dept

FROM mysys_users WHERE username = USER) WITH CHECK OPTION;

В этом примере столбец SALARY отсутствует в представлении, поэтому зарплата не отображается в представлении, а предложение WHERE гарантирует, что пользователи могут получать данные только из таблицы для своего класса.

Об этом решении необходимо сказать следующее. Во-первых, нам нужно убедиться, что пользователи не могут изменить свой отдел, обновив значение параметра MYSYSYSJUSERS, а затем получить записи из другого отдела. Во-вторых, с помощью этого представления пользователи могут обновлять, вставлять и удалять строки в таблице, которые не связаны с их отделом, если мы не отключим эту функцию с помощью оператора WITH CHECK OPTION.

Представление таблицы вряд ли будет обновляться, поскольку столбец SALARY почти наверняка НЕ ​​ограничен NULL. Однако рекомендуется использовать WITH CHECK OPTION для всех ограниченных представлений, так как количество обновленных представлений значительно увеличилось в версии 7.3.

Ограничение данных просмотра с помощью представлений работает очень хорошо. Однако для большой таблицы со сложными требованиями к безопасности может потребоваться создание нескольких представлений, и приложение должно решить, какое из них необходимо для конкретного пользователя. Реализация в приложении нежелательна, поэтому следует искать другие решения. Все операции в таблице могут содержаться в одном сохраненном пакете, или может быть разработано несколько триггеров [14, 15].

2.4. Юридическая защита авторских прав на базы данных

Правовая защита программ для ЭВМ и баз данных от неправомерного использования в настоящее время является весьма актуальным вопросом. Чтобы проиллюстрировать это, приведу некоторые факты. По данным Ассоциации производителей компьютерного программного обеспечения, уровень пиратства в России составляет 94%. В западных странах уровень пиратства намного ниже: 50% в Германии и 35% в США. По данным МВД России, российский бюджет теряет 85 миллионов долларов в виде неуплаченных налогов производителями программного обеспечения. Деньги от продажи часто идут преступным организациям. Кроме того, российские компании теряют 105 миллионов долларов. Более 200 000 человек работают в 6 000 компаний, занимающихся разработкой программного обеспечения и баз данных. Этому производственному сектору грозит стагнация: у программистов просто пропадает стимул создавать новые передовые программные продукты.

Признание права является первым из способов защиты авторских прав, указанных в п. 1 ст. 18 Закона Российской Федерации «О правовой охране программ для ЭВМ и баз данных». Этот способ защиты играет прежде всего превентивную роль и служит созданию безопасности в отношениях между субъектами гражданского оборота. Признание права в качестве меры охраны применяется в случаях спора или противоречия относительно того, владеет ли данное лицо исключительным авторским правом на программу для ЭВМ или базу данных. Признание права в качестве средства правовой защиты может быть достигнуто только в судебном порядке путем подтверждения существования или отсутствия части или всего авторского права.

В соответствии со статьей 17(1) Закона Российской Федерации "О правовой охране программ для ЭВМ и баз данных" физическое или юридическое лицо, не соответствующее требованиям Закона об исключительных правах владельцев Права, в том числе ввоз на территорию Российской Федерации копий программы для ЭВМ или данных базы данных, произведенных без согласия правообладателя, является нарушением авторских прав. Это может выражаться в злоупотреблении авторскими правами, совершении действий, перечисленных в статье 10 Закона Российской Федерации «О правовой охране программ для ЭВМ и баз данных», без согласия правообладателя и т. д. Особый упор на ввоз копий программ для ЭВМ или баз данных, сделанных без разрешения владельцев программ или баз данных, обоснован тем, что в стране, где эти копии сделаны, такое действие считается законным и не может преследоваться по закону [16, 17].

ЗАКЛЮЧЕНИЕ

Информационная безопасность — одна из дисциплин, которая развивается очень быстрыми темпами. Этому способствует как общее развитие информационных технологий, так и постоянное противостояние злоумышленников и защитников.

К сожалению, такая динамичность объективно затрудняет надежную защиту. На это есть несколько причин:

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ