Программные продукты и системы. Основные аспекты безопасности субд: что следует знать

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

Далее для назначения/отмены привилегий используется язык SQL, включающий операторы GRANT, REVOKE и т. п. Большинство современных реляционных СУБД поддерживает дискреционную (DAC) и мандатную (MAC) модели разграничения доступа, а также дополнительные средства обеспечения безопасности.

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

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

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

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

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

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



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

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

2.1. Источники угроз информации баз данных

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

Сформулируем перечень внешних и внутренних угроз информационной безопасности баз данных.

Внешними дестабилизирующими факторами, создающими угрозы безопасности функционированию систем баз данных и СУБД, являются:

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

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

Сбои и отказы в аппаратуре вычислительных средств;

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

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

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

Системные ошибки при постановке целей и задач проектирования автоматизированных информационных систем и их компонент, допущенные при формулировке требований к функциям и характеристикам средств обеспечения безопасности системы;

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

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

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

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

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

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

2.2. Классификация угроз информационной безопасности баз данных

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

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

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

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

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

Классификация по цели реализации угрозы:

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

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

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

Классификация по природе возникновения угрозы:

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

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

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

1. Угрозы, непосредственным источником которых является человек:

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

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

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

Взлом системы защиты с целью выполнения деструктивных действий лицом, не являющимся законным пользователем системы;

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

2. Угрозы, непосредственным источником которых являются штатные программно-аппаратные средства информационной системы:

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

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

Отказы и сбои в работе операционной системы, СУБД и прикладных программ.

3. Угрозы, непосредственным источником которых являются несанкционированно используемые программно-аппаратные средства:

Нелегальное внедрение и использование программ, не являющихся необходимыми для выполнения нарушителем своих служебных обязанностей;

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

Заражение компьютера вирусами с деструктивными функциями;

Работа генераторов шума и подобных источников электромагнитного излучения.

4. Угрозы, непосредственным источником которых является среда обитания:

Внезапное и длительное отключение систем электропитания;

Техногенные и природные катастрофы;

Всплески природных электромагнитных излучений.

Классификация по расположению источника угроз.

1. Угрозы, источник которых расположен вне контролируемой зоны места расположения автоматизированной информационной системы:

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

Блокирование физического доступа на объект размещения автоматизированной системы обслуживающего персонала или пользователей;

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

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

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

Физическое разрушение линий связи или аппаратуры, обеспечивающей работу информационной системы;

Считывание конфиденциальной информации из аппаратных средств телекоммуникационной или вычислительной техники с использованием перехвата электромагнитных излучений;

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

3. Угрозы, источник которых имеет доступ к терминальным ус тройствам автоматизированной информационной системы:

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

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

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

Получение конфиденциальной информации из распечаток результатов выполнения запросов и иных выводимых системой данных.

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

Физическое разрушение элементов серверов и коммутационной аппаратуры;

Выключение электропитания серверов и коммутационной аппаратуры;

Остановка серверных и иных критически важных для функционирования автоматизированной системы процессов;

Уничтожение или модификация критически важных для функционирования автоматизированной системы файлов операционной системы;

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

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

1. Угрозы нарушения информационной безопасности данных, хранимых на внешних запоминающих устройствах:

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

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

Дискредитация криптографических систем защиты информации путем создания копии носителей ключевой информации;

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

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

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

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

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

3. Угрозы нарушения информационной безопасности данных, отображаемой на терминале пользователя или принтере:

Организация имитации процесса установления взаимодействия с сервером (ложной сессии) с целью получения идентификаторов и аутентифицирующей информации пользователей;

Изменение элементов данных, выводимых на терминал пользователя за счет перехвата потока вывода;

Изменение элементов данных, выводимых на принтер за счет перехвата потока вывода.

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

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

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

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

Физического;

Технологического;

Логического (процедурного);

Человеческого.

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

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

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

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

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

2.3. Угрозы, специфичные для систем управления базами данных

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

Угрозы конфиденциальности информации.

К угрозам такого типа можно отнести:

1. Инъекция SQL. Во многих приложениях используется динамический SQL- формирование SQL-предложений кодом программы путем конкатенации строк и значений параметров. Зная структуру базы данных, злоумышленник может либо выполнить хранимую программу в запросе, либо закомментировать «легальные» фрагменты SQL-кода, внедрив, например, конструкцию UNION, запрос которой возвращает конфиденциальные данные. II последнее время даже появились специальные программы, автоматизирующие процесс реализации подобных угроз.

2. Логический вывод на основе функциональных зависимостей.

3. Логический вывод на основе ограничений целостности.

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

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

Рассмотрим угрозы целостности информации, специфические для систем управления базами данных. Модификация данных в реляционных СУБД возможна с помощью SQL-операторов UPDATE, INSERT и DELETE. Потенциальная опасность возникает из-за того, что пользователь, обладающий соответствующими привилегиями, может модифицировать все записи в таблице. Ограничить множество записей, доступных для модификации, можно с помощью создания представлений с оператором CHECK, но этот (равно как и любой другой) требует предварительного осмысливания существа задачи и соответствующего проектирования схемы.

Специфичными для систем управления базами данных угрозами доступности являются:

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

2. Блокировка записей при изменении. Заблокировав записи или всю таблицу, злоумышленник может на значительное время сделать ее недоступной для обновления.

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

Практически все современные СУБД имеют встроенный процедурный язык программирования (PL/SQL, Transact SQL и т.п.) Программы на этом языке хранятся внутри базы данных и выполняются исполняющей подсистемой сервера баз данных. наличие и широкое использование производителями прикладного программного обеспечения механизма скрытия исходных текстов хранимых программ затрудняют его обнаружение. Также возможны многочисленные скрытые каналы, обусловленные семантикой данных и необходимостью обеспечения работы в условиях многопользовательского доступа.

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

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Введение

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

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

Комплексное обеспечение информационной безопасности заключается в сочетании:

- конфиденциальности: предоставлении доступа к информации только авторизованным сотрудникам;

- целостности: защиты от модификации или подмены информации;

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

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

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

Новосибирское авиационное производственное объединение (НАПО), для нужд которого был разработан дипломный проект, сегодня является одним из крупнейших авиастроительных предприятий России и предлагает своим клиентам высококачественную продукцию и большой комплекс услуг. Объединение обеспечивает техническое сопровождение самолетов в течение всего жизненного цикла, в том числе поставку запасных частей, ремонт и модернизацию, обучение летного и технического персоналов. На предприятии выпускается большая номенклатура товаров народного потребления, инструментов и предлагается большой комплекс услуг. Также объединение включает авиакомпанию, которая занимается чартерной перевозкой пассажиров и грузов весом до 20т, в том числе скоропортящихся грузов, а также предоставляет любые услуги на вертолетах «Ми-8». Основная продукция НАПО - самолеты военного и гражданского назначения. Конструкторские разработки и вся информация НАПО обо всем жизненном цикле самолетов является государственной тайной и обсуждению в данной работе не подлежит.

С развитием информатизации и автоматизации деятельности ОАО «НАПО им. В.П.Чкалова», с увеличением объемов информации, обрабатываемой в информационной системе предприятия, одновременно, с увеличением степени важности информации и критичности выполнения информационно-вычислительных процессов требуется особое внимание к вопросам обеспечения информационной безопасности.

В соответствии с принятой на предприятии «Политикой информационной безопасности» и СТП 525.588-2004 «Система менеджмента качества» кроме информации, защите подлежат также средства информатизации -- средства вычислительной техники, коммуникационное оборудование, программное обеспечение, автоматизированные системы ведения баз данных, а также информационно-вычислительные процессы -- процессы передачи, обработки и хранения информации. Целью предпринимаемых мер по защите информации является обеспечение корректного и безопасного функционирования средств информатизации и установление ответственности за выполнение необходимых процедур.

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

Целью дипломного проекта является реализация эффективной защиты производственной базы данных ОАО «НАПО им. В.П.Чкалова».

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

В дипломном проекте рассмотрены следующие задачи:

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

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

внедрение средств защиты на уровне системы управления базами данных (далее СУБД);

разработка и введение в эксплуатацию защищенного клиент-серверного приложения;

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

раздел охраны труда;

организационно - экономическая часть проекта.

В данном дипломном проекте рассматриваемой СУБД является Microsoft SQL Server. Разработка приложения осуществляется с использованием технологий Microsoft (dot)NET, которая предполагает трехуровневую организацию: сервер данных (Microsoft SQL Server), сервер приложений (IIS 5.0 & .NET Framework 2.0) и web-клиент (IE 6.0). Кроме того, для формирования отчетов используется инструментальное программное обеспечение Crystal Reports 8.0.

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

1. Анализ вопроса защиты баз данных

1.1 Постановка задачи и ц елесообразность защиты баз данных

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

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

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

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

· многие даже не догадываются о том, что их базы данных крадут;

· кража и причиненный ущерб имеют латентный характер;

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

Причины такого положения следующие:

· Высокая латентность подобных преступлений (понесенные потери обнаруживаются спустя некоторое время) и достаточно редко раскрываются. Эксперты называют следующие цифры по сокрытию: США - 80%, Великобритания - до 85%, Германия - 75%, Россия - более 90%. Стремление руководства умолчать, с целью не дискредитировать свою организацию, усугубляет ситуацию.

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

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

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

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

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

1. 2 Р оссийское законодательство в области защиты баз данных

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

Законодательная база Российской Федерации в этой области строится на нескольких документах. Во-первых, сама базы данных является результатом творческой деятельности и защищается законами об авторском праве (закон 09.07.93 N 5351-1 "Об авторском праве и смежных правах"). Во-вторых, использование компьютерных базы данных и их распространение регламентируется законами о защите баз данных (закон от 23.09.92 N 3523-1 "О правовой охране программ для ЭВМ и баз данных"). В-третьих, федеральный закон от 27 июля 2006 г. № 149-ФЗ «Об информации, информационных технологиях и защите информации» ставит вне закона торговлю приватными базами данных, обеспечивает контроль над оборотом личных сведений граждан и требует от организаций обеспечить защиту персональных данных служащих и клиентов. И последнее, закон "О персональных данных» регулирует порядок обработки персональных данных и направлен на защиту баз данных. Отсюда следует вывод, что на государственном уровне вопрос защиты баз данных должным образом не проработан, не существует четкой методики защиты, поэтому только организация комплексной защиты на административном, процедурном, программно-техническом и законодательном уровнях смогут обеспечить необходимый уровень защищенности.

1. 3 Структурные уровни и этапы построения защищенной баз ы данных

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

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

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

Процесс построения защиты базы данных можно разделить на этапы

· анализ предметной области и проектирование базы данных;

· составление пользователей и разделение их обязанностей;

· ввод данных;

· анализ существующих угроз;

· выработка модели нарушителя;

· выработка подхода к построению защиты;

· организация защиты средствами СУБД;

· разработка защищенного приложения, работающего с базой данных;

· защита сетевых ресурсов предприятия;

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

· первый уровень - уровень СУБД;

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

· третий уровень - уровень сетевых ресурсов.

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

Рисунок 1.1 - Уровни взаимодействия пользователей с базой данных

· физическом размещении в памяти данных и их описаний;

· механизмах поиска запрашиваемых данных;

· проблемах, возникающих при одновременном запросе одних и тех же данных многими пользователями (прикладными программами);

· способах обеспечения защиты данных от некорректных обновлений и (или) несанкционированного доступа;

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

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

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

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

Выводы

2. Угрозы безопасности баз данных

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

2. 1 Особенности современных автоматизированных систем как объекта защ и ты

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

В распределенных АС возможны все "традиционные" для локально расположенных (централизованных) вычислительных систем способы несанкционированного вмешательства в их работу и доступа к информации. Кроме того, для них характерны и новые специфические каналы проникновения в систему и несанкционированного доступа к информации, наличие которых объясняется целым рядом их особенностей.

Перечислим основные из особенностей распределенных АС:

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

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

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

абстрагирование владельцев данных от физических структур и места размещения данных;

использование режимов распределенной обработки данных;

участие в процессе автоматизированной обработки информации большого количества пользователей и персонала различных категорий;

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

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

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

2. 2 Уязвимость основных структурно-функциональных элементов

В общем случае АС состоят из следующих основных структурно-функциональных элементов:

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

серверов (служб файлов, баз данных) высокопроизводительных ЭВМ, предназначенных для реализации функций хранения, печати данных, обслуживания рабочих станций сети действий;

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

каналов связи (локальных, телефонных, с узлами коммутации и т.д.).

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

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

2. 3 Угрозы безопасности БД и субъектов информационных отнош е ний

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

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

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

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

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

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

Проведем анализ мест утечки информации (уязвимые места или потенциальные угрозы):

1. человеческий фактор (пользователь);

2. тиражирование данных;

3. хищение базы данных, уничтожение базы данных;

4. перехват сетевого трафика;

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

6. хищение носителей информации, предназначенных для содержания резервных данных;

7. программно-аппаратные закладки в ПЭВМ;

8. компьютерные вирусы, логические бомбы;

9. нарушение работоспособности сети предприятия;

10. производственные и технологические отходы;

11. обслуживающий персонал;

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

13. стихийные бедствия;

14. форс-мажорные обстоятельства.

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

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

Теперь рассмотрим угрозы, учитывая базовые задачи обеспечения защиты.

Распределим угрозы на угрозу конфиденциальности, целостности и доступности.

1. Угроза раскрытия конфиденциальности:

· перехват данных;

· хранение данных на резервных носителях;

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

· злоупотребление полномочиями;

· выставки или ярмарки, выставляющие на всеобщее обозрение передовые разработки или производственные образцы, на которых могут остаться данные о системе;

· утечка и преднамеренный сбор информации:

· об объекте и предприятии, к которому он принадлежит;

· о лицах, работающих или присутствующих на объекте;

· о хранимых ценностях и имуществе;

· о прочих предметах, являющихся потенциальными целями преступного посягательства.

· иные угрозы

2. Угроза нарушения целостности:

· нарушение статической целостности

· ввод неверных данных, программ;

· изменение данных, программ;

· нарушение целостности кабельного хозяйства;

· нарушение динамической целостности

· дублирование данных;

· переупорядочивание данных;

· нарушение последовательности операций.

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

3. Угроза отказа в доступности:

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

· внутренний отказ информационной системы:

· разрушение данных;

· разрушение или повреждение аппаратных средств;

· отказы программного обеспечения;

· отступление (случайное или умышленное) от установленных правил эксплуатации;

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

· ошибки при (пере) конфигурировании системы;

· технические неисправности/отказ аппаратуры.

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

· отказ пользователей:

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

· невозможность работать с системой в силу отсутствия соответствующей подготовки (недостаток «компьютерной грамотности», неумение работать с документацией);

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

· отказ поддерживающей инфраструктуры:

· нарушение работы (случайное или умышленное) систем связи, электропитания, водо- и/или теплоснабжения, кондиционирования;

· разрушение или повреждение помещений;

· невозможность или нежелание обслуживающего персонала и/или пользователей выполнять свои обязанности (гражданские беспорядки, аварии на транспорте, террористический акт или его угроза, забастовка);

· "обиженные" сотрудники - нынешние и бывшие;

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

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

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

Следующим этапом будет выработка неформальной модели нарушителя, которая

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

2. 4 Неформальная модель нарушителя

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

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

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

При разработке модели нарушителя определяются:

· предположения о мотивах действий нарушителя (преследуемых нарушителем целях);

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

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

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

1) по принадлежности к системе:

· зарегистрированный пользователь, т.е. сотрудник фирмы

· незарегистрированный пользователь, т.е. лицо, не причастное к работе фирмы;

· обиженные" сотрудники - нынешние и бывшие знакомы с порядками в организации и способны нанести немалый ущерб;

· совместно, состоя в сговоре;

2) по степени случайности или наличию умысла:

· без умысла (халатность, неосторожность, небрежность или незнание);

· со злым умыслом, то есть продуманно;

3) по мотиву:

· безответственность: пользователь целенаправленно или случайно производит какие-либо разрушающие действия, не связанные со злым умыслом, в большинстве случаев это следствие некомпетентности или небрежности;

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

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

4) по задаче внедрения:

· изменение или разрушение программ, данных;

· внедрение другого вредоносного ПО;

· получение контроля над системой;

· агрессивное потребление ресурсов;

5) по уровню знаний:

· знает функциональные особенности, основные закономерности формирования в ней массивов данных и потоков запросов к ним, умеет пользоваться штатными средствами;

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

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

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

6) по виду доступа:

· программный (н-р, закладки);

· физический (н-р, подсоединение к кабелю, подключение внешних устройств);

· совместный;

7) по уровню возможностей (используемым методам и средствам):

· применяющий чисто агентурные методы получения сведений;

· применяющий пассивные средства (технические средства перехвата без модификации компонентов системы);

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

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

8) по месту действия:

· без доступа на контролируемую территорию организации;

· с контролируемой территории без доступа в здания и сооружения;

· внутри помещений, но без доступа к техническим средствам АС;

· с рабочих мест конечных пользователей (операторов) АС;

· с доступом в зону данных (баз данных, архивов);

· с доступом в зону управления средствами обеспечения безопасности АС;

9) по последствиям:

· не серьезные, которые просто показали уязвимость;

· средние;

· серьезные;

· сверхсерьезные;

9). по компонентам информационной системы, на которые нацелены:

· информация

· программы и данные

· аппаратура;

· документация;

· поддерживающая инфраструктура;

10) . по времени действия:

· в процессе функционирования АС (во время работы компонентов системы);

· в период неактивности компонентов системы (в нерабочее время, во время плановых перерывов в ее работе, перерывов для обслуживания и ремонта);

· как в процессе функционирования АС, так и в период неактивности компонентов системы;

11). по характеру действий нарушителей:

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

· нарушитель, планируя попытки НСД, скрывает свои несанкционированные действия от других сотрудников;

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

Определение конкретных значений характеристик возможных нарушителей в значительной степени субъективно.

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

2. 5 Политика безопасности предприятия

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

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

Политика безопасности предприятия ОАО «НАПО им. В.П.Чкалова» прописана в одноименном документе «Политика информационной безопасности предприятия» и является обязательной для исполнения сотрудниками предприятия. Политика информационной безопасности разработана на основе требований законодательства Российской Федерации в области информационной безопасности и защиты информации, а также рекомендаций стандарта ISO/IEC 17799-2000.В документе определяется ответственность сотрудников за реализацию соответствующих положений и разделов политики.

Выводы

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

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

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

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

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

3. Защита со стороны СУБД

Одним из необходимых уровней реализации защиты базы данных является защита базы данных со стороны СУБД (рисунок 2), с помощью которого она организована. В данном дипломном проекте рассматриваемой СУБД является Microsoft SQL Server (сокращенно и далее MS SQL Server).

Рисунок 3.1 - Уровни защиты базы данных

3. 1 Проектирование базы данных

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

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

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

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

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

· функционирование в неоднородной среде на нескольких аппаратных платформах;

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

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

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

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

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

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

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

Предметная область.

Под данными понимается конкретное устройство ВТ и его характеристики. Для учета средств ВТ необходимо знать прежде всего единицу ВТ, которая в последствии будет подлежать учету. Единицей ВТ может быть: монитор, системный блок, клавиатура, принтер, сканер, копир и т.д.. В свою очередь системный блок может включать в себя материнскую плату, оперативную память, CD-ROM, DVD-ROM, ZIP, и т.д. Каждая из перечисленных единиц ВТ имеет уникальные атрибуты-характеристики, определяемые спецификой техники. Помимо единицы ВТ, в проекте должно быть использовано такое понятие как АРМ (автоматизированное рабочее место), к которому должно быть прикреплено СВТ (средство ВТ), если устройство находится в обращении. Устройство имеет свою модель, тип, характеристику и значение этой характеристики.

Рассмотрим на примере. Допустим, на крупном предприятие было принято решение о подключении одного из его подразделений к ЛВС. Прежде чем заниматься прокладкой кабелей, настройкой сети, и непосредственным подключением, нужно произвести учет СВТ. Так как часть оборудования пришлось модернизировать, часть оставить для использования, а часть списать, то это все необходимо отобразить в учете. 25 мая 2005 было закуплено 25 принтеров Color HP Laser Jet 2600n(A4,8 с/мин,ч/б/цв, USB,лоток на 250 листов, встроенный сервер печати Fast Ethernet, Win 2000/XP,Server 2003, до 35000 стр/мес.). В этом случае: тип оборудования - принтеров, модель-Color HP Laser Jet 2600n, характеристики и значения - формат(A4), скорость(8 с/мин), печать(ч/б/цв), разъем(USB), ОС(Win 2000/XP,Server 2003), дополнительная информация (все остальное).

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

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

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

Таблица 3.1 - Характеристики средств ВТ

Информация об устройстве ВТ

модель оборудования

фирма-поставщик

шифр оборудования

фирма-производитель

тип оборудования

№ счет-фактуры

серийный номер

бухгалтерский шифр

гарантия поставщика в месяцах

балансовый счет

гарантия производителя в месяцах

дополнительная информация

сумма приобретения

задействовано или списано

инвентарный номер

подключение к сети

дата приобретения

Акты модернизации

номер акта

подразделение исполнителя

ФИО исполнителя

устройство, которое подлежит записи в акт

подразделение принимающего

дата проведения операции

ФИО принимающего

Журнал учета перемещения выч.техники между АРМ и история АРМа

перемещаемое устройство

дата проведения операции

ФИО исполнителя

конкретное действие: изъятие или добавление

подразделение исполнителя

ФИО принимающего

специализация

подразделение принимающего

Фирма - производитель

название производителя

адрес в Интернете

эл. почта

Фирма-поставщик

название фирмы-поставщика

адрес в Интернете

эл. почта

Автоматизированное рабочее место

ФИО ответственного лица

Окончание табл. 3.1

наименование подразделения

телефон(ы) отв. лица

местоположение, объект

местоположение, офис

Подразделение

шифр подразделения

название подразделения

ФИО начальника подразделения

Подобные документы

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

    дипломная работа , добавлен 05.02.2017

    Проектирование и создание информационной базы данных для управления предприятием "Завод металлоизделий". Данные для базы, предметная область, атрибуты объектов базы данных. Объектные отношения, их ключи, связи объектов и отношений базы данных предприятия.

    реферат , добавлен 04.12.2009

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

    курсовая работа , добавлен 07.10.2016

    Законодательные основы защиты персональных данных. Классификация угроз информационной безопасности. База персональных данных. Устройство и угрозы ЛВС предприятия. Основные программные и аппаратные средства защиты ПЭВМ. Базовая политика безопасности.

    дипломная работа , добавлен 10.06.2011

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

    курсовая работа , добавлен 18.06.2012

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

    курсовая работа , добавлен 14.01.2015

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

    курсовая работа , добавлен 08.08.2012

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

    контрольная работа , добавлен 26.05.2014

    Описание предметной области разрабатываемой базы данных для теннисного клуба. Обоснование выбора CASE-средства Erwin 8 и MS Access для проектирования базы данных. Построение инфологической модели и логической структуры базы данных, разработка интерфейса.

    курсовая работа , добавлен 02.02.2014

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

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

Физическое повреждение компьютера, неправильная кодировка или коррупция, и перезагрузка данных, вот практически все потенциальные угрозы для базы данных. А это означает, что есть много мер безопасности - от брандмауэров до аудита и резервного копирования дисков - свести любой возможный ущерб к минимуму и предотвратить потерю всей базы данных. Большинство предприятий имеют собственные протоколы безопасности данных для защиты от определенных атак и возможного ущерба.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

СУБД в своих системных каталогах хранит как описание самих пользователей, так и описание их привилегий по отношению ко всем объектам.

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

В ряде СУБД вводится следующий уровень иерархии пользователей - это администратор БД. В этих СУБД один сервер может управлять множеством СУБД (например, MS SQL Server, Sybase).

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

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

В стандарте SQL определены два оператора: GRANT и REVOKE соответственно предоставления и отмены привилегий.

Оператор предоставления привилегий имеет следующий формат:

GRANT {<список действий>| ALL PRIVILEGES }

ON <имя_объекта> ТО {<имя_пользователя>

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

Параметр ALL PRIVILEGES указывает, что разрешены все действия из допустимых для объектов данного тина.

<имя_объекта> - задает имя конкретного объекта: таблицы, представления, хранимой процедуры, триггера.

<имя_пользователя> или PUBLIC определяет, кому предоставляются данные привилегии.

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

Рассмотрим пример, пусть у нас существуют три пользователя с абсолютно уникальными именами userl, user2 и userS. Все они являются пользователями одной БД.

User1 создал объект Таb1, он является владельцем этого объекта и может передать права на работу с эти объектом другим пользователям. Допустим, что пользователь user2 является оператором, который должен вводить данные в ТаЫ (например, таблицу новых заказов), а пользователь user 3 является большим начальником (например, менеджером отдела), который должен регулярно просматривать введенные данные.

Для объекта типа таблица полным допустимым перечнем действий является набор из четырех операций: SELECT, INSERT, DELETE, UPDATE. При этом операция обновление может быть ограничена несколькими столбцами.

Общий формат оператора назначения привилегий для объекта типа таблица будет иметь следующий синтаксис:

GRANT {[.INSERT][.DELETE][,UPDATE (<список столбцов»)]}

ON <имя таблицы»

ТО {<имя_пользователя> | PUBLIC }

Тогда резонно будет выполнить следующие назначения:

Эти назначения означают, что пользователь user2 имеет право только вводить новые строки в отношение Таb1, а пользователь user3 имеет право просматривать все строки в таблице Таb1.

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

GRANT SELECT. UPDATE (COST) ON Tabl TO user3

Если наш пользователь userl предполагает, что пользователь user4 может его замещать в случае его отсутствия, то он может предоставить этому пользователю все права по работе с созданной таблицей Таb1.

GRANT ALL PRIVILEGES

TO user4 WITH GRANT OPTION

B этом случае пользователь user4 может сам назначать привилегии по работе с таблицей Таb1 в отсутствие владельца объекта пользователя user1. Поэтому в случае появления нового оператора пользователя user5 on может назначить ему права на ввод новых строк в таблицу командой

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

GRANT SELECT, UPDATE, DELETE

WITH GRANT OPTION.

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

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

Так как представления могут соответствовать итоговым запросам, то для этих представлений недопустимы операции изменения, и, следовательно, для таких

представлений набор допустимых действий ограничивается операцией SELECT. Если же представления соответствуют выборке из базовой таблицы, то для такого представления допустимыми будут все 4 операции: SELECT, INSERT, UPDATE и DELETE.

Для отмены ранее назначенных привилегий в стандарте SQL определен оператор REVOKE. Оператор отмены привилегий имеет следующий синтаксис:

REVOKE {<список операций | ALL PRIVILEGES}

ON <имя_объекта>

FROM {<список пользователей | PUBLIC } {CASCADE | RESTRICT }

Параметры CASCADE или RESTRICT определяют, каким образом должна производиться отмена привилегий. Параметр CASCADE отменяет привилегии не только пользователя, который непосредственно упоминался в операторе GRANT при предоставлении ему привилегий, но и всем пользователям, которым этот пользователь присвоил привилегии, воспользовавшись параметром WITH GRANT OPTION.

Например, при использовании операции:

REVOKE ALL PRIVILEGES

TO user4 CASCADE

будут отменены привилегии и пользователя users, которому пользователь user4 успел присвоить привилегии.

Параметр RESTRICKT ограничивает отмену привилегий только пользователю, непосредственно упомянутому в операторе REVOKE. Но при наличии делегированных привилегий этот оператор не будет выполнен. Так, например, операция:

REVOKE ALL PRIVILEGES

TO user4 RESTRICT

не будет выполнена, потому что пользователь user4 передал часть своих полномочий пользователю user5.

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

Поэтому корректным будет следующее использование оператора REVOKE:

TO user2,user4 CASCADE

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

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

Если вы хотите изменить это условие, то после создания хранимой процедуры необходимо записать оператор REVOKE. REVOKE EXECUTE ON COUNT_EX TO PUBLIC CASCADE И теперь мы можем назначить новые права пользователю user4.

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

GRANT CREATE TABLE, ALTER TABLE.

DROP TABLE ON DB_LIB TO userl

В этом случае пользователь userl может создавать, изменять или удалять таблицы в БД DB_LIB, однако он не может разрешить создавать или изменять таблицы в этой БД другим пользователям, потому что ему дано разрешение без права делегирования своих возможностей.

В некоторых СУБД пользователь может получить права создавать БД. Например, в MS SQL Server системный администратор может предоставить пользователю main_user право на создание своей БД на данном сервере. Это может быть сделано следующей командой:

GRANT CREATE DATABASE

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

В СУБД, которые поддерживают однобазовую архитектуру, такие разрешения недопустимы. Например, в СУБД Oracle на сервере создается только одна БД, но пользователи могут работать па уровне подсхемы (части таблиц БД и связанных с ними объектов). Поэтому там вводится понятие системных привилегий. Их очень много, 80 различных привилегий.

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

Реализация системы защиты в MS SQL Server

SQL server 6.5 поддерживает З режима проверки при определении прав пользователя:

1. Стандартный (standard).

2. Интегрированный (integrated security).

3. Смешанный (mixed).

Стандартный режим защиты предполагает, что каждый пользователь должен иметь учетную запись как пользователь домена NT Server. Учетная запись пользователя домена включает имя пользователя и его индивидуальный пароль. Пользователи доменов могут быть объединены в группы. Как пользователь домена пользователь получает доступ к определенным ресурсам домена. В качестве одного из ресурсов домена и рассматривается SQL Server. Но для доступа к SQL Server пользователь должен иметь учетную запись пользователя MS SQL Server. Эта учетная запись также должна включать уникальное имя пользователя сервера и его пароль. При подключении к операционной среде пользователь задает свое имя и пароль пользователя домена. При подключении к серверу баз данных пользователь задает свое уникальное имя пользователя SQL Server и свой пароль.

Интегрированный режим предполагает, что для пользователя задается только одна учетная запись в операционной системе, как пользователя домена, a SQL Server идентифицирует пользователя по его данным в этой учетной записи. В этом случае пользователь задает только одно свое имя и один пароль.

В случае смешанного режима част], пользователей может быть подключена к серверу с использованием стандартного режима, а часть с использованием интегрированного режима.

В MS SQL Server 7.0 оставлены только 2 режима: интегрированный, называемый Windows NT Authentication Mode (Windows NT Authentication), и смешанный, Mixed Mode (Windows NT Authentication and SQL Server Authentication). Алгоритм проверки аутентификации пользователя в MS SQL Server 7.0 приведен на рис. 13.1.

Рис. 13.1. Алгоритм проверки аутентификации пользователя в MS SQL Server 7.0

При попытке подключения к серверу БД сначала проверяется, какой метод аутентификации определен для данного пользователя. Если определен Windows NT Authentication Mode, то далее проверяется, имеет ли данный пользователь домена доступ к ресурсу SQL Server, если он имеет доступ, то выполняется попытка подключения с использованием имени пользователя и пароля, определенных для пользователя домена; если данный пользователь имеет права подключения к SQL Server, то подключение выполняется успешно, в противном случае пользователь получает сообщение о том, что данному пользователю не разрешено подключение к SQL Server. При использовании смешанного режима аутентификации средствами SQL Server проводится последовательная проверка имени пользователя (login) и его пароля (password); если эти параметры заданы корректно, то подключение завершается успешно, в противном случае пользователь также получает сообщение о невозможности подключиться к SQL Server.

Для СУБД Oracle всегда используется в дополнение к имени пользователя и пароля в операционной среде его имя и пароль для работы с сервером БД.

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

Второй задачей при работе с БД, как указывалось ранее, является проверка полномочий пользователей. Полномочия пользователей хранятся в специальных системных таблицах, и их проверка осуществляется ядром СУБД при выполнении каждой операции. Логически для каждого пользователя и каждого объекта в БД как бы строится некоторая условная матрица, где по одному измерению расположены объекты, а по другому - пользователи. На пересечении каждого столбца и каждой строки расположен перечень разрешенных операций для данного пользователя над данным объектом. С первого взгляда кажется, что эта модель проверки достаточно устойчивая. Но сложность возникает тогда, когда мы используем косвенное обращение к объектам. Например, пользователю user_N не разрешен доступ к таблице Таb1, но этому пользователю разрешен запуск хранимой процедуры SP_N, которая делает выборку из этого объекта. По умолчанию все хранимые процедуры запускаются под именем их владельца.

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

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

Кроме того, при работе в сети существует еще проблема проверки подлинности полномочий.

Эта проблема состоит в следующем. Допустим, процессу 1 даны полномочия по работе с БД, а процессу 2 такие полномочия не даны. Тогда напрямую процесс 2 не может обратиться к БД, но он может обратиться к процессу 1 и через него получить доступ к информации из БД.

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

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

Заметим, что модель безопасности, основанная на базовых механизмах проверки полномочий и проверки подлинности, не решает таких проблем, как украденные пользовательские идентификаторы и пароли или злонамеренные действия некоторых пользователей, обладающих полномочиями, - например, когда программист, работающий над учетной системой, имеющей полный доступ к учетной базе данных, встраивает в код программы «Троянского коня» с целью хищения или намеренного изменения информации, хранимой в БД. Такие вопросы выходят за рамки нашего

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

Обобщеннаяархитектура СУБД

Мы рассмотрели отдельные аспекты работы СУБД. Теперь попробуем кратко обобщить все, что узнали, и построим некоторую условную обобщенную структуру СУБД. На рис. 14.1 нзрбражена такая структура. Здесь условно показано, что СУБД должна управлять внешней памятью, в котором расположены файлы с данными, файлы журналов и файлы системного каталога.

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

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

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

Условно оперативную память, которой управляет СУБД, можно представить как совокупность буферов, хранящих страницы данных, буферов, хранящих страницы журналов транзакций и область совместно используемого пула (см. рис. 14.2). Последняя область содержит фрагменты системного каталога, которые необходимо постоянно держать в оперативной памяти, чтобы ускорить обработку запросов пользователей, и область операторов SQL с курсорами. Фрагменты системного каталога в некоторых реализациях называются словарем данных. В стандарте SQL2 определены общие требования к системному каталогу.

Рис. 14.1. Обобщенная структура СУБД

Рис. 14.2. Оперативная память, управляемая СУБД

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

Каждая таблица системного каталога содержит информацию об отдельных структурных элементах БД. В стандарте SQL2 определены следующие системные таблицы:

Таблица 14.1. Содержание системного каталога по стандарту SQL2

Системная таблица

Одна строка для каждого идентификатора

пользователя с зашифрованным паролем

Одна строка для каждой информационной

DATA_TYPE_DESCRIPTION

Одна строка для каждого домена или

столбца, имеющего определенный тип

Одна строка для каждого домена

DOMAIN_CONSTRA1NS

Одна строка для каждого ограничивающего

условия, наложенного на домен

Одна строка для каждой таблицы с

указанием имени, владельца, количества

столбцов, размеров данных столбцов, и т. д.

Одна строка для каждого представления с

указанием имени, имени владельца,

запроса, который определяет представление

Одна строка для каждого столбца с

указанием имени столбца, имени таблицы

или представления, к которому он

относится, типа данных столбца, его

размера, допустимости или недопустимости

неопределенных значений (NULL) и т. д.

VIEW_TABLE_USAGE

Одна стр.ока для каждой таблицы, на

представлении (если представление

многотабличное, то для каждой таблицы

заносится одна строка)

VIEW_COLUMN_USAGE

представлении

TABLE_CONSTRAINS

Одна строка для каждого условия

ограничения, заданного в каком-либо

определении таблицы

KEY_COLUMN_USAGE

Одна строка для каждого столбца, на

который наложено условие уникальности и

который присутствует в определении

первичного или внешнего ключа (если

первичный или внешний ключ заданы

несколькими столбцами, то для каждого из

них задается отдельная строка)

REFERENTIAL_CONSTRAINTS Одна строка для каждого внешнего ключа, присутствующего в определении таблицы

CHECK_ CONSTRAINTS Одна строка для каждого условия проверки, заданного в определении таблицы

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

Системная таблица

CHECK_COLUMN_USAGE

Одна строка для каждого столбца, на

ограничительном условии для домена или

ином ограничительном условии

Одна строка для каждого декларативного

утверждения целостности

TABLE_PRIVILEGES

предоставленной на какую-либо таблицу

COLUMN_PRIVILEGES

Одна строка для каждой привилегии,

предоставленной на какой-либо столбец

USAGE_PRIVILEGES

Одна строка для каждой привилегии,

предоставленной на какой-либо домен, набор

символов и т. д.

Одна строка для каждого заданного набора

символов

Одна строка для заданной

последовательности

Одна строка для каждого заданного

преобразования

Одна строка для каждого заданного языка,

поддерживаемого СУБД

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

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

Область SQL содержит данные связывания, временные буферы, дерево разбора и план выполнения для каждого оператора SQL, переданного серверу БД. Область разделяемого

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

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

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

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

Методы синтаксической оптимизации запросов

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

К методам, используемым при синтаксической оптимизации запросов, относятся следующие:

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

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

(n+12)*R.B OC 100

здесь n - переменная языка, R.B - имя столбца В отношения R, ОС - допустимая операция сравнения.

Каноническим представлением такого предиката может быть

R.В ОС 100/(n+12)

В этом случае мы один раз для заданного значения переменной п вычисляем выражение в скобках и правую часть операции сравнения 100/(n +12), а потом каждую строку можем сравнивать с полученным значением.

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

предикат соединения; особенно важен случай эквисоединения, когда ОС - это равенство). Если в начальном представлении предикат имеет вид:

12*(Rl.A)-n*(R2.B) ОС m,

R1.A ОС (m+n*(R2.B)/12

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

R1 NATURAL JOIN R2

WHERE R1.A ОС a AND

Здесь а и b некоторые константы, которые ограничивают значение атрибутов отношений

предикат соединения; особенно важен случай зквисоединения, когда ОС - это равенство). Если в начальном представлении предикат имеет вид:

12*(Rl.A)-n*(R2.B) ОС m,

то его каноническое представление:

R1.A ОС (m+n*(R2.B)/12

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

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

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

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

Преобразования запросов с изменением порядка реляционных операций. В

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

Например, имеем следующий запрос:

Rl NATURAL JOIN R2 WHERE R1.A ОС a AND R2.B С b

Здесь а и b некоторые константы, которые ограничивают значение атрибутов отношений R1 и R2.

Если мы его рассмотрим в терминах реляционной алгебры, то это естественное соединение отношений R1 и R2, в которых заданы внутренние ограничения на кортежи каждого отношения.

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

Поэтому данный запрос будет эквивалентен следующей последовательности операций реляционной алгебры:

R3 =.R1 R4 = R2 R5 = R3**R4

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

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

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

Каноническим представлением запроса на п отношениях называется запрос, содержащий n-1 предикат соединения и не содержащий предикатов с вложенными подзапросами. Фактически каноническая форма - это алгебраическое представление запроса.

Например, запрос с вложенным подзапросом:

(SELECT R2.B FROM R2 WHERE Rl.C = R2.D)

эквивалентен

WHERE Rl.A = R2.B AND Rl.C = R2.D)

Второй запрос:

(SELECT Rl.A FROM Rl WHERE Rl.K =

(SELECT AVG (R2.B) FROM R2 WHERE Rl.C = R2.D)

(SELECT Rl.A FROM Rl. R3

WHERE Rl.C = R3.D AND Rl.K = R3.L)

R3 = SELECT R2.D, L AVG (R2.B)

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

Заметим, что в кратко описанном нами подходе имеются некоторые тонкие семантические некорректности. Известны исправленные методы, но они слишком сложны технически, чтобы рассматривать их в данном пособии.

Методы семантической оптимизации запросов

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

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

Использование ограничений целостности при анализе запросов. Ограничения целостности связаны с условиями, которые накладываются на значения столбцов таблицы. При выполнении запросов над таблицами условия запросов объединяются специальным образом с условиями ограничений таблицы и полученные обобщенные предикаты уже анализируются. Допустим, что мы ищем в нашей библиотеке читателей с возрастом более 100 лет, но если у нас есть ограничение, заданное для таблицы READERS, которое ограничивает дату рождения наших читателей, так чтобы читатель имел дату рождения в пределах от 17 до 100 лет включительно. Поэтому оптимизатор запроса, сопоставив два эти предиката, может сразу определить, что результатом запроса будет пустое множество.

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

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

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

популярными являются инструментальные системы быстрой разработки приложений

(RAF Rapid Application Foundation) продукты компании Advanced Information System,

инструментальной среды Power Builder фирмы Power Soft, системы SQL Windows фирмы

Тема: Проблемы безопасности баз данных. Обеспечение безопасности в СУБ

Тип: Курсовая работа | Размер: 46.53K | Скачано: 76 | Добавлен 15.10.16 в 05:44 | Рейтинг: 0 | Еще Курсовые работы


ВВЕДЕНИЕ... 3

Глава 1.Определение защиты информации.... 7

1.1.Основные определения и понятия .. 7

1.2. Защита информации в базах данных .. 10

Глава 2.Ключевые подходы защиты базы данных 15

2.1.Политика прав доступа к данным ... 15

2.2. Система защиты СУБД Access . 16

2.3. Организация системы защиты СУБД MS SQL Server .. 21

ЗАКЛЮЧЕНИЕ... 33

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ..... 37

ВВЕДЕНИЕ

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

Надёжность, достоверность и неотказуемость;

Стоимость решения, стоимость администрирования;

Соответствие общепринятым стандартам;

Простота интеграции в готовые решения и в новые разработки.

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

Также необходимо обратить внимание на следующие аспекты:

Интеграцию с внешними системами аутентификации;

Безопасность соединений;

Защиту данных на любом уровне;

Выборочное шифрование данных;

Подробный аудит действий пользователей;

Централизованное управление аутентификацией и авторизацией пользователей.

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

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

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

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

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

Определение угроз безопасности и групп потенциальных нарушителей;

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

Определение групп пользователей системы;

Определение объектов, хранящих данные и подлежащих защите;

Определение политик безопасности;

Определение методов хранения связей пользователь - права доступа - данные;

Выбор метода аутентификации и способов её реализации;

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

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

Именно поэтому защищённая система должна быть спроектирована и построена так, чтобы:

Файлы программного обеспечения СУБД не были доступны по сети;

К файлам БД на сервере не было доступа по сети — пользователи получают доступ

к информации, хранящейся в БД, только посредством СУБД;

Сами файлы БД были зашифрованы. Шифрование файлов БД используется как

простой и эффективный способ защиты данных от несанкционированного доступа

в случае физического обращения злоумышленника к носителю информации;

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

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

Объект исследования в данной работе это база данных. Мы будем рассматривать как понятие базы данных в целом, так и будем рассматривать конкретные примеры некоторых основных баз данных, таких как MS SQL Server, Oracle, Microsoft Access.

Большая часть терминов и основных понятий была взята из книги авторов Голицына О.Л., Максимов Н.В. и др. «Базы данных», это позволило дать вначале своего рода введение в основную часть курсовой работы.

Таким образом, в данной работе мы рассмотрим как обобщённые понятия и задачи базы данных, так и конкретные примеры и проблемы встречающиеся в частных случаях.

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

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

  1. Артёмов.Д.К., «Microsoft SQL Server 2000: профессионалы для профессионалов» - Ростов на Дону: Русская Редакция, 2005, С. 88-112
  2. Голицына О.Л., Максимов Н.В. и др. «Базы данных» - Москва: ИНФРА-М,2007,С. 10-135.
  3. Гольев Ю.И., Ларин Д.А., Тришин А.Е., Шанкин Г.П. Криптографическая деятельность в США XVIII-XIX веков. // Защита информации. Конфидент. №6, 2004, С. 68-74
  4. Гринвальд Р., Стаковьяк Р., Стерн Дж.« Oraclee 11g. Основы. 4-е изд.» - Москва: Символ, 2009 - С. 65-97
  5. ГашковС. Б. У., Э. А. Применко, М. А. Черепнев «Криптографические методы защиты информации» - Москва: Академия, 2010, С 40-45
  6. Дунаев В. И. «Базы данных. Язык SQL для студента» - Санкт Петербург: СПб:Питер, 2007, С. 91-95
  7. Ищейнов В. Я., М. В. Мецатунян «Защита конфиденциальной информации» - Челябинск:Форум, 2009,С.114-145
  8. Корнеев И. К., Е. А. «Защита информации в офисе» - Казань: ТК Велби, 2008, С.38-56
  9. Кошелев В.Е., «Базы данных в Access 2007» - Москва: Бином, 2009, С. 47 - 98
  10. Кригель А. К., Борис Трухнов «SQL. Библия пользователя»- Москва: Вильям, 2010, С. 68 - 71
  11. Кумскова И. А. «Базы Данных».-Москва:КноРус, 2011, С. 140-142
  12. Партыка Т.Л., Попов И.И. «Информационная безопасность» - Москва: Форум: инфра, 2004, С. 45-87
  13. Северин В. А. «Комплексная защита информации на предприятии» - Москва:Городец,2008, С 92
  14. Сергеева Ю. С. «Защита информации. Конспект лекций» - Санкт Петербург: А-Приор, 2011, С. 150-176
  15. Смирнов.С. Н. «Безопасность систем баз данных» - Москва: Гелиос АРВ,2007, 224 с.
  16. Безопасность баз данных на примере Oraclee [Электронный ресурс].URL: http://www.flenov.info/favorite.php?artid=32


Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: