E-mail:
Пароль:
Забыли пароль?

СУБД ЛИНТЕР - сделано в России

«Компьютер Пресс», № 12, 1999 г.

Виталий Максимов

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

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

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

Цель данной статьи – познакомить читателей с комплексом защиты информации от несанкционированного доступа, реализованном в системе управления базами данных (СУБД) ЛИНТЕР®. В 1998 году эта система была сертифицирована Гостехкомиссией при Президенте РФ по второму классу защищенности данных от несанкционированного доступа. На сегодняшний день ЛИНТЕР® – единственная СУБД, сертифицированная по такому высокому классу.

ЛИНТЕР® – реляционная система управления базами данных. В соответствии с моделью хранения, данные логически представлены в виде двумерных таблиц, что обеспечивает высокую степень независимости пользовательских программ от физического представления данных.

Итак, СУБД ЛИНТЕР® – открытая многопользовательская реляционная система, использующая для доступа к данным язык запросов SQL. Число таблиц в базе данных может находиться в промежутке между 1 и 65535. Каждая таблица может содержать 250 столбцов и до 1.000.000.000 строк. Максимальная длина строки 4.000 байт. Количество ключей в таблице ограничено только количеством столбцов. Длина ключа ограничена 1024 байтами. Минимальный уровень блокирования данных – запись. Максимальное число таблиц в запросе (на одном уровне) – 32. На данный момент максимальный объём информации, хранимой в одной таблице, фактически определяется объемом внешнего носителя. В одной таблице может быть до 192-х файлов (64 файла индексов, 64 файла данных и 64 файла больших байтовых объектов, а размер каждого файла теоретически не ограничен).

Индекс в СУБД ЛИНТЕР® строится по B*-дереву, данные и индексы таблицы хранятся в сжатом виде, кроме того, есть эффективный механизм переиспользования табличного пространства. Система поддерживает четыре режима обработки транзакций: Optimistic, Pessimistic, Autocommit, Read-only.

СУБД ЛИНТЕР® работает на многих программно-аппаратных платформах: UNIX SYSTEM V, SINIX, SUN Solaris, Digital UNIX, UNIXWare, USIX, FreeBSD, Linux, OS/9000, OS-9, QNX, Novell NetWare, VAX/VMS, OpenVMS, MS DOS, MS WINDOWS 3.xx, MS WINDOWS 95/98, MS WINDOWS NT, OS/2, SUN Solaris (SUN SPARC, INTEL), AIX (RS/6000), IRIX (SGI).

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

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

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

3. Дискреционная защита в СУБД ЛИНТЕР® реализована с помощью аппарата привилегий, которые можно подразделить на две категории: привилегии безопасности (позволяют выполнять административные действия) и привилегии доступа (определяют права доступа конкретных субъектов к определенным объектам).

4. Привилегии безопасности. Таких привилегий (категорий пользователей) три:

  • Администратор базы данных – категория DBA. Это управляющий созданием БД, ее конфигурированием, регистрацией пользователей, групп, ролей, записью регистрационной информации и т.п.
  • Привилегированные пользователи БД – категория RESOURCE. Это пользователи, которые имеют право на создание собственных объектов БД и управление привилегиями доступа к ним.
  • Пользователи БД – категория CONNECT оперируют с объектами БД в рамках выделенных им привилегий доступа.

5. В СУБД ЛИНТЕР® реализованы следующие привилегии доступа:

  • SELECT – на выборку данных,
  • INSERT – на добавление данных,
  • DELETE – на удаление данных,
  • UPDATE – на обновление данных,
  • ALTER – на изменение параметров таблицы,
  • INDEX – на создание/удаление индексов,
  • ALL – включает все вышеперечисленные права доступа.

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

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

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

Для этого в СУБД ЛИНТЕР® используются метки доступа. Метка доступа состоит из трех частей: группы
доступа
(именованная совокупность пользователей) и двух уровней доступа.
Для субъектов базы данных они называются: уровень доверия пользователя (WAL) и уровень доступа пользователя (RAL). Для объектов базы данных они называются: уровень чтения данных (RAL) и уровень доступа данных (WAL). Метки доступа могут быть назначены всем субъектам базы и объектам: начиная от таблиц и до полей записей включительно.

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

8. Контроль доступа с удаленных станций или сопоставление пользователя с устройством позволит учитывать различный уровень защищенности самих клиентских станций. При правильной политике безопасности ЛИНТЕР® не допустит использование канала связи, в котором ценная информация может быть получена пользователем, не обладающим соответствующими правами доступа.

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

9. Протоколирование работы или система слежения ЛИНТЕР® применяется для контроля функционирования подсистемы защиты, обнаружения попыток несанкционированного доступа, исправления их последствий и предотвращения их в будущем.

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

10. Контроль за хранением информации со стороны СУБД ЛИНТЕР® позволяет учитывать различный уровень защищенности внешних устройств постоянного хранения информации для размещения таблиц данных и временных рабочих файлов. Например, часть таблиц может быть расположена на диске сервера, находящегося в охраняемом помещении, а часть размещена на жестком диске другой ЭВМ или даже на гибком диске. Защищённость устройства в последнем случае гораздо более низкая, и, следовательно, здесь не может быть расположена секретная информация.

Доступ к устройству в ЛИНТЕР® может быть разрешен/запрещен различным группам пользователей. Кроме того, устройству назначается метка доступа, характеризующая его уровень защищенности и ограничивающая степень секретности содержащейся на нем информации.

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

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

В язык SQL, используемый в ЛИНТЕР® введены многие элементы, обеспечивающие совместимость с другими системами. Интерфейсные утилиты системы ориентированы на стандарт CUA. Пользователь, привыкший к аналогичным системам, легко освоит работу и в среде ЛИНТЕР®.

Интерфейс ODBC позволяет осуществлять максимальную переносимость приложения с одной СУБД на другую без учета их специфики. Поэтому в связи с совместимостью, конечно же, необходимо упомянуть об ODBC-драйвере ЛИНТЕР® (спецификация – ODBC 3.0), а это значит, что все существующие средства разработки и то, что опирается на ODBC-стандарт, будут работать с СУБД ЛИНТЕР® без ограничений.

ЛИНТЕР® JDBC (спецификация JDBC 1.1) позволяет писать приложения на Java, используя СУБД ЛИНТЕР®. Java-программа может быть разработана в виде апплета, загружаемого через Internet и запускаемого на стороне клиента, или в виде приложения, постоянно находящегося на стороне клиента. В любом случае интерфейс JDBC позволяет Java-приложению подключаться к удаленным базам данных, направлять к ним запросы и получать результаты обработки запросов.
При этом реализованы следующие типы драйверов:

  • Pure Java client – клиент полностью написан на Java. Налицо преимущества этого типа – реализация классов на Java позволяет получить набор реализующих классов и использовать их в клиентском апплете. К недостаткам этого типа можно отнести невысокую производительность из-за медлительности java.net.*.
  • Native-Java client - кроме классов, реализующих интерфейс JDBC, для работы необходимо иметь динамически подключаемую библиотеку трансляции вызовов к СУБД ЛИНТЕР®. К недостаткам этого типа можно отнести необходимость инсталляции этой библиотеки, зато это даст существенный выигрыш в скорости (в 3-5 раз по сравнению с использованием драйвера типа Pure Java client).

Основные сетевые протоколы, поддерживаемые системой: TCP/IP, IPX/SPX, DECNet. Имеются средства конвертации данных из DBF-формата, имеются программные интерфейсы для работы с ЛИНТЕР® из Clipper, FoxPro.

Отметим так же совместимость ЛИНТЕР® с СУБД Oracle на уровне Pro*C и OCI. Благодаря библиотеке OraLin, приложение, работающее с СУБД Oracle, будет с таким же успехом работать (после перекомпоновки, а в Windows, в случае использования динамически подгружаемых библиотек, и без неё) и с ЛИНТЕР®, совершенно не заметив подмены. Кроме того, для более полной совместимости с СУБД Oracle был расширен синтаксис языка запросов, который в данный момент поддерживает многое из того, что и Oracle SQL, вплоть до иерархических запросов. Таким образом, благодаря всем вышеперечисленным возможностям, для многочисленных пользователей Oracle переход к использованию СУБД ЛИНТЕР® не составит большого труда.

Имеется также средство – LinTcl, которое расширяет возможности Tcl/Tk (Tcl – Tool Command Language, Tk -
Tool kit
) для работы с СУБД ЛИНТЕР®, что позволяет использовать Tcl/Tk для быстрого написания информационных приложений в операционных средах, в которых работает Tcl/Tk (Unix, Windows NT/95).

В СУБД ЛИНТЕР® реализован язык Intcom, предназначенный для создания прикладных информационных систем и ориентированный на прикладного программиста. Являясь 4GL, Intcom содержит средства для организации экранного интерфейса (ориентация на стандарт CUA – Common User Access) и доступа к базам данных ЛИНТЕР® (на основе стандарта ANSI SQL-92).
В стандартную поставку СУБД ЛИНТЕР® также входит инструментальное средство ЛАКУНА, предназначенное для быстрой разработки приложений типа клиент-сервер, ориентированных на обработку данных с использованием СУБД ЛИНТЕР®. Разработка приложений средствами ЛАКУНЫ выполняется в интерактивном режиме с хранением кода в служебных таблицах базы. В окончательном виде приложение представляет собой набор структур данных (документов) и правил (процедур) их обработки.

В настоящее время российские пользователи все чаще обращают внимание на системы, использующие клиент серверную технологию. Это объясняется тем, что файл серверные системы не удовлетворяют растущим потребностям пользователей. (Основные претензии, высказываемые пользователями, касаются низкой скорости и недостаточных объемов обрабатываемых данных). Компания РЕЛЭКС позиционирует СУБД ЛИНТЕР® именно как систему, призванную заменить файл серверные СУБД.

К сожалению, в рамках журнальной статьи невозможно рассказать обо всех возможностях обработки данных, реализованных в СУБД ЛИНТЕР®. Желающим подробнее познакомиться с системой могу посоветовать обратиться к ее разработчикам – компании РЕЛЭКС.
В заключение хочется напомнить, что идеальной системы, удовлетворяющей абсолютно всем требованиям заказчика не существует. Это относиться и к средствам защиты информации. Поэтому, чтобы обеспечить максимальную защиту данных, хранящихся в Вашем компьютере, необходимо использовать комплексный подход к решению задачи. Это означает использование только лицензионного программного обеспечения, гарантирующего высокий уровень надежности, причем это обеспечение лучше устанавливать на компьютеры, купленные у крупных производителей, которые в свою очередь гарантируют стабильную работу оборудования. Это, конечно, может оказаться достаточно дорогим удовольствием (гораздо дороже, чем пиратские диски, купленные с лотка на улице и компьютеры, собранные соседом в гараже), но здесь Вам придется выбирать: потратить часть денег сегодня, или потерять гораздо больше в случае разглашения или потери информации.


Возврат к списку

ѕрокрутить вверх