Научная статья на тему 'Использование субд «Ред База данных » для построения защищенных информационных систем'

Использование субд «Ред База данных » для построения защищенных информационных систем Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
249
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СУБД / ЗАЩИТА ИНФОРМАЦИОННЫХ СИСТЕМ / DBMS / PROTECTION OF INFORMATION SYSTEMS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Симаков Роман Александрович

В статье рассматриваются вопросы реализации безопасности реляционных СУБД и, в частности, СУБД «Ред База Данных». Приводиться описание функций СУБД и их соответствие показателям 5 класса защищённости информационных систем согласно классификации ФСТЭК.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

USING «RED DATABASE» DBMS FOR BUILDING SAFETY INFORMATION SYSTEMS

This article describes implementation of security functions in «Red Database» DBMS. There are features of DBMS and how they are related to FSTE C requirements for information systems of 5 class of safety. Such functional is necessary for building reliable modern information system.

Текст научной работы на тему «Использование субд «Ред База данных » для построения защищенных информационных систем»

использование субд «ред база данных»

для построения защищённых информационных систем

© СИМАКОВ Роман Александрович

кандидат технических наук, директор по производству ООО «Ред Софт Муром».

Ш +7(920) 900-65-02, И [email protected]

В статье рассматриваются вопросы реализации безопасности реляционных СУБД и, в частности, СУБД «Ред База Данных». Приводиться описание функций СУБД и их соответствие показателям 5 класса защищённости информационных систем согласно классификации ФСТЭК.

Ключевые слова: СУБД, защита информационных систем.

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

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

Согласно требованию руководящего документа [1] автоматизированная система пятого класса защищённости должна обеспечивать:

1) дискреционный принцип контроля доступа;

2) механизмы аутентификации пользователей;

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

4) контроль целостности системы;

5) регистрацию событий происходящих в системе;

6) гарантию проектирования;

7) тестирование работы системы на предмет выявления появившихся уязвимостей;

8) набор конструкторской, проектной и другой документации.

В статье подробно рассматривается реализация требований 1-4 в реляционной СУБД «Ред База Данных» как автоматизированной системе. Функция 5 была подробно описана во втором номере этого журнала [2, с. 73-79]. Требования 6-8 обеспечиваются набором мероприятий и документов и в статье будут пропущены. Интересующийся читатель может найти более обширную информацию на сайте разработчика [3].

Научно-практический журнал. ISSN 1995-5731

Дискреционный принцип контроля доступа

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

Вся работа с объектами БД осуществляется посредством выполнения запросов на языке SQL, который в свою очередь подразделяется на два подмножества: DDL (Data Definition Language — язык определения данных) и DML (Data Manupulation Language - язык манипулирования данными). С помощью DDL происходит определение и изменение метаданных, т.е. модернизация структуры БД путем добавления, изменения и удаления таких объектов, как: таблицы, представления, хранимые процедуры, определяемые пользователем процедуры и функции, генераторы, домены, индексы, роли, исключения.

Примерами DDL-операций может служить:

1. CREATE/ALTER/DROP TABLE...

2. CREATE/ALTER/DROP PROCEDURE...

3. CREATE/ALTER/DROP VIEW...

4. CREATE/ALTER/DROP ROLE...

5. ряд других.

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

Примерами DML-операций является:

1. SELECT * FROM ANYTABLE;

2. INSERT INTO TABLE_WORKERS VALUE(1, 'Иванов');

3. DELETE FROM TABLE_B WHERE

ID=2;

4. UPDATE TABLE_C SET FЮ=Иванова' WHERE ID=34;

5. ряд других.

СУБД «Ред База Данных», кроме объектов базы данных, предоставляет ряд так называемых сервисов. Это функции, исполняемые сервером по запросу пользователя. В версии «Ред

База Данных 2.1» поддерживаются следующие сервисы:

1) резервное копирование (Backup Database, GBAK);

2) восстановление базы из бэкапа (Restore Database, GBAK);

3) получение списка пользователей (Display User, GSEC);

4) добавление пользователя (Add User, GSEC);

5) удаление пользователя (Delete User, GSEC);

6) редактирование пользователя (Modify User, GSEC);

7) получение свойств БД (Database Properties, GFIX);

8) анализ и восстановление поврежденной БД (Repair Database, GFIX);

9) получение статистики БД (Database Stats, GSTAT);

10) получение лога сервера (Get Log

File).

Таким образом, мы имеем три множества допустимых действий со стороны пользователя, которые он может совершать и которые требуется контролировать с целью предотвращения несанкционированного доступа (НСД): 1 -DDL-операции, 2 - DML-операции, 3 - запуск сервисов. СУБД «Ред База Данных» реализует полный контроль над всеми операциями.

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

Например,

GRANT SELECT ON TABLE WORKERS TO Ivanov;

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

GRANT SELECT ON TABLE WORKERS TO Petrov.

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

Для удобства управления набором прав, существует понятие РОЛЬ (Role). Пользователь, обладающий необходимыми полномочиями,

Информационная безопасность регионов. 2009. № 2 (5)

может создать роль и назначить ей набор прав, аналогично описанному выше. Далее можно всего лишь сопоставить эту роль с другим пользователем, и он при входе уже будет иметь необходимый набор привилегий для работы с объектами. Это очень удобно и позволяет быстро добавлять и удалять пользователей в системе. Например, SYSDBA может сделать роль MANAGER, назначить ей право читать таблицу WORKERS и дать эту роль пользователю Ivanov.

CREATE ROLE MANAGER;

GRANT SELECT ON TABLE WORKERS TO MANAGER;

GRANT MANAGER TO Ivanov;

Теперь пользователь Ivanov снова получает возможность выбирать из таблицы WORKERS.

Отозвать выданные ранее права можно с помощью команды REVOKE. Она действует противоположно оператору GRANT. Например,

REVOKE SELECT ON TABLE WORKERS FROM Ivanov.

Механизмы аутентификации пользователей

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

К факторам аутентификации относятся:

1) пароль пользователя;

2) контекст его работы в системе;

3) сертификат пользователя.

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

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

Пароль

Пароль хранится на сервере в виде необратимого хеш-значения. В качестве протокола аутентификации применяется протокол MS-CHAP [4], когда хеш-значение пароля, введён-

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

Контекст работы пользователя в системе

Если в организации установлена сеть компьютеров и единый каталог пользователей (LDAP, Active Directory), то становиться возможно использовать имя, под которым пользователь вошёл в систему. ОС при входе пользователя самостоятельно производит авторизацию, а мы можем воспользоваться её результатом. На данный момент такое возможно только при использовании Windows. В Windows API есть специальные функции, в результате вызова которых получаем имя пользователя, вошедшего в систему.

Сертификат пользователя

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

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

Очистка памяти

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

СУБД «Ред База Данных» имеет средства, позволяющие настраивать параметры очистки

Научно-практический журнал. ISSN 1995-5731

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

Контроль целостности системы

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

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

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

уже определяется политикой организации и для каждого конкретного случая отдельно.

Заключение

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

Библиографический список

1. Руководящий документ. Средства вычислительной техники. Межсетевые экраны. Защита от несанкционированного доступа к информации. Показатели защищённости от несанкционированного доступа к информации. Утверждено решением председателя Государственной технической комиссии при Президенте Российской Федерации от 25 июля 1997 г. URL: http://www. fstec.ru/_d0cs/d0c_3_3_006.htm (дата обращения: 13.09.2009).

2. Симаков Р. А., Стародубов Д. Н. Аудит изменений в СУБД «Ред База Данных» [Текст] / / Информационная безопасность регионов. -2008. - № 2 (3). - ISSN-1995-5731.

3. Компания «Ред Софт» [Сайт]. URL: http://www. red-soft.biz (дата обращения: 13.09.2009).

4. URL: http://en.wikipedia.org/wiki/MS-CHAP (дата обращения: 13.09.2009).

Информационная безопасность регионов. 2009. № 2 (5)

i Надоели баннеры? Вы всегда можете отключить рекламу.