ЗНАЕТЕ ЛИ ВЫ?

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[WITH GRANT OPTION ]

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

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

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

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

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

Методы и средства защиты

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

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

1.Внешний уровень, охватывающий всю территорию расположения ВС.

2.Уровень отдельных сооружений или помещений расположения устройств ВС и линий связи с ними.

3.Уровень компонентов ВС и внешних носителей информации.

4.Уровень технологических процессов хранения, обработки и передачи информации.

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

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

1.физические;

2.аппаратные;

3.программные;

4.организационные.

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

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

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

· телевизионные системы наблюдения за охраняемыми объектами;

· кабельные системы, в которых небольшие объекты окружают кабелем, чувствительным к приближению нарушителя;

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

· механические и электронные замки на двери и ворота;

· системы нейтрализации излучений.

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

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

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

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

^ Программно-аппаратные методы защиты

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

Решение этих задач в системах защиты обеспечивается следующими способами:

1.защитой от несанкционированного доступа (НСД) к ресурсам со стороны пользователей и программ;

2.защитой от несанкционированного использования (НСИ) ресурсов при наличии доступа;

3.защитой от некорректного использования ресурсов;

4.внесением структурной, функциональной и информационной избыточ­ности;

5.высоким качеством разработки программно-аппаратных средств.
Рассмотрим перечисленные способы более подробно и укажем методы их реализации.

^ 1. Для защиты от НСД прежде всего необходима эффективная система регистрации попыток доступа в систему со стороны пользователей и программ, а также мгновенная сигнализация о них отвечающим за безопасность ВС лицам. Именно отсутствие надежной системы регистрации и сигнализации при НСД, а также наличие обходных путей или «дыр» в ВС, является причиной незаконного проникновения в систему. Чтобы регистрировать события подключения к системе, в ВС обычно ведется специальный журнал или база данных.

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

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

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

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

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

· запрос секретного пароля;

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

· проверка наличия физического объекта, представляющего собой электронный аналог обычного ключа (электронный ключ);

· применение микропроцессорных карточек;

· активные средства опознавания;

· биометрические средства.

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

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

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

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

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

Для защиты информационно-программных ресурсов ВС от несанкционированного использования применяются следующие варианты защиты: от копирования, исследования (программ), просмотра (данных), модификации и удаления.

 

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

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

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

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

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

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

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

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

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

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

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

Средства защиты БД

Средства защиты БД в различных СУБД несколько отличаются друг от друга. На основе анализа современных СУБД фирм Borland и Microsoft можно утверждать, что средства защиты БД условно делятся на две группы: основные и дополнительные.

К основным средствам защиты информации можно отнести следующие средства:

· парольной защиты;

· шифрования данных и программ;

· установления прав доступа к объектам БД;

· защиты полей и записей таблиц БД.

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

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

^ Шифрование исходных текстов программ позволяет скрыть от несанкционированного пользователя описание соответствующих алгоритмов.

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

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

· просмотр (чтение) данных;

· изменение (редактирование) данных;

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

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

· все операции, в том числе изменение структуры таблицы.

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

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

· полный запрет доступа;

· только чтение;

· разрешение всех операций (просмотр, ввод новых значений, удаление и изменение).

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

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

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

^ К дополнительным средствам защиты БД можно отнести такие, которые нельзя прямо отнести к средствам защиты, но которые непосредственно влияют на безопасность данных. Их составляют следующие средства:

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

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

· обеспечения целостности связей таблиц;

· организации совместного использования объектов БД в сети.

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

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

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

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

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

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

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

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

 





Последнее изменение этой страницы: 2017-01-25; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.238.190.82 (0.018 с.)