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

Десять основных аспектов секретности СУБД ЛИНТЕР

Десять основных аспектов секретности СУБД ЛИНТЕР

Выставка-конференция «МОДУЛЬ 2006»

Павел Пасечник

Презентация к докладу в формате PPT (8 668 Kb)

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

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

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

СУБД ЛИНТЕР® и её клоны – это единственная универсальная система данного класса прошедшая полную процедуру сертификации на 2-й класс защиты от несанкционированного доступа.

С момента своего рождения в 1990 году (см. слайд №2) до настоящего времени СУБД ЛИНТЕР® является единственной отечественной реляционной СУБД полностью созданной российскими специалистами и обладающей уникальными возможностями для применения в проектах МО РФ.

Комплекс средств защиты (КСЗ) СУБД ЛИНТЕР® состоит из двух частей (см. слайд №5):

  • Базового набора возможностей
  • Расширенного набора возможностей

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

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

Как и во многих системах в ЛИНТЕР® присутствуют три главные категории пользователей
(см. слайд №6). Это:

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

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

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

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

  • уровни (секретности/важности);
  • группы.

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

Такой принцип защиты информации называется мандатным принципом разграничения доступа
(см. слайд №8).

Мандатный принцип состоит в сопоставлении субъектам (пользователям) и объектам (таблицы, столбцы и т.д. вплоть до полей записей) системы различных меток доступа (см. слайд №9). Таким образом, при попытке субъекта получить доступ к объекту (чтение или запись) дополнительно к дискреционному набору правил происходит сопоставление его меток доступа с метками доступа объекта. Таким образом, пользователь сможет работать только с теми данными, доступ к которым ему разрешен.

Секретность, видимость и интегрированные показатели

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

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

Это «предназначение» может иметь различные назначения (функции), например:

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

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

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

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

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

Дело в том, что все агрегаты (сумма, среднее, минимум, максимум и т.п.) СУБД ЛИНТЕР® так же подсчитывает в соответствии с метками секретности. Поэтому приложение получит непротиворечивые данные строго в соответствии со статусом (меткой) того, кто этим приложением пользуется (см. слайд №11).

Секретность и специальная информация

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

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

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

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

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

Отметим, что в поиске обязательно участвует метка пользователя. И в соответствии с ней СУБД ЛИНТЕР® «отбирает» из найденного обычными способами то, что доступно именно данному пользователю.

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

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

Все вышесказанное относится не только к словным индексам, но так же и к тем индексам, которые планируется реализовать в ЛИНТЕР® в будущем.

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

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

Геометрические объекты ЛИНТЕР®, так же как изображения и документы защищаются СУБД как единое целое.

Секретность и версионность данных

В последних версиях СУБД ЛИНТЕР® (v.6.1 и выше) для повышения независимости работы приложений принята технология многоверсионности.

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

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

Не смотря на такое усложнение многопользовательской работы, в ЛИНТЕР® сохранились все требования, предъявляемые отечественным стандартом по защите данных ко 2-му классу.

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

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

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

Секретность и индексация данных

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

Причём неважно, какие это данные базовые или вспомогательные.

То есть это могут быть

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

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

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

Если ключ составной, то каждое поле такого ключа снабжено меткой секретности.

Если речь идёт о словном индексе, то все слова одного документа получают соответствующую метку.

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

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

Вопрос о том, когда недостаточно всего того, о чём рассказывалось выше, неуместен. Государственный стандарт здесь неумолим, – необходимо, чтобы защита данных совершалась несколькими аппаратами СУБД.

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

Таким дополнительным аппаратом, усложняющим попытки взлома, служит AUDIT-подсистема
СУБД ЛИНТЕР®
. (см. слайд №16)

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

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

Таким образом, при включенной AUDIT-подсистеме СУБД ЛИНТЕР® злоумышленнику не удастся незаметно «взломать» систему. Его действия будут запротоколированы, и из протокола будут ясны его цели, время атаки на данные, место (адрес в системе) атаки на данные, имя, под которым произведена атака и т.д. и т.п.

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

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

  • системные события (старт/останов/рестарт ядра, старт/останов подсистемы аудита, регистрация кодов завершения ЛИНТЕР®);
  • события, связанные с изменением схемы БД (создание/удаление объектов БД);
  • события, связанные с подсистемой доступа (создание/изменение/удаление субъектов, привилегий, групп, уровней и т.д.);
  • события, связанные с таблицами (выборка, изменение, добавление, удаление строк и т.д.);
  • события, связанные с пользователями (соединение/отсоединение, открытие/закрытие курсоров, завершение транзакций, отказ в доступе и т.д.).

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

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

Одним словом, AUDIT-подсистема – это дополнительный, но столь же важный элемент защиты информации.

Организация рабочих станций. Предотвращение утечек данных

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

Хорошо защищённая система это не только хорошо защищённый сервер, это ещё и хорошо организованное взаимодействие в сети.

И в этом так же может помочь СУБД ЛИНТЕР®.

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

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

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

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

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

Шифрация базы данных

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

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

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

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

Таким образом, даже при наличии физического доступа к файлам БД, злоумышленник не получит доступа к секретной информации.

Принцип разумной достаточности

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

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

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

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

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

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

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

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

Так в некоторых случаях объём базы данных может увеличиться почти в 2 раза!

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

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

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

Очевидно, что нужно достаточно разумно относиться к возможностям КСЗ СУБД ЛИНТЕР®. Они предусматривают многие возможности, но в каждом конкретном случае нужны обычно только некоторые из них.

Обеспечение режима высокой готовности

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

Важные данные должны быть не только защищены, но и всегда доступны разрешённым пользователям в требуемое время (для некоторых категорий пользователей – в любое время). От доступности данных могут зависеть жизни и судьбы людей и целых стран. А возможно и всей планеты!

Для обеспечения режима высокой готовности в СУБД ЛИНТЕР® реализована поддержка резервных
серверов – горячее резервирование .

Подсистема горячего резервирования (“hot standby server”) позволяет использовать СУБД ЛИНТЕР® для построения программных комплексов с жёсткими требованиями по отказоустойчивости, перебои в работе которых должны быть сведены к минимуму или вообще исключены.

Механизм поддержки резервных серверов СУБД ЛИНТЕР® позволяет снизить время простоя АС в случае:

  • отказа оборудования (аппаратный сбой, нехватка ресурсов и т.п.);
  • программного сбоя ОС;
  • проведения плановых работ (плановый ремонт, замена устройств и т.п.);
  • возникновения любых других ситуаций, приводящих к остановке основного сервера баз данных.

Почему ЛИНТЕР®?

Вопрос совершенно не лишний. Если не главный.

  • Отечественная

Это одно из уникальных свойств нашей системы. Разработчики СУБД ЛИНТЕР® – граждане России. Работают в России и на благо России.

Наша компания открыта для государственных структур. Мы считаем своим долгом делать качественные продукты.

  • Уникальная СУБД по защите данных

По нашим данным СУБД ЛИНТЕР® – единственная СУБД подобного класса, удовлетворяющая всем характеристикам, приведённым в этом докладе.

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

  • Сертифицированная

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

Это говорит о том, что государственным органам переданы наши алгоритмы, тексты программ, программы тестирования. В то же время исходный программный код закрыт, что делает ЛИНТЕР® более защищённой, в отличие от систем построенных на продуктах с открытым кодом (например, на основе PostgreSQL , InterBase/Firebird и др.)

Государством так же признана (сертифицирована) и компания РЕЛЭКС, как предприятие достаточно надёжное для работы с государственными заказчиками любого уровня (см. слайды №22-24).

  • Совместимая (поддерживает отечественные/мировые стандарты

СУБД ЛИНТЕР® изначально строилась как система, удовлетворяющая мировым стандартам на язык ANSI SQL .

В составе ЛИНТЕР® вы найдёте ODBC- и JDBC-драйверы; стандартные сетевые протоколы; поддержку национальных кодировок, в том числе азиатских и UNICODE.

Кроме того, поддержка отечественных стандартов по SQL и по комплексу средств защиты говорит о максимальном стремлении руководства компании РЕЛЭКС к созданию продукта, который можно будет легко встраивать в отечественные и мировые системы.

  • Надежная

СУБД ЛИНТЕР® – это надёжная система, которая используются многими предприятиями как у нас в стране, так и за её пределами.

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

Кратко можно только обозначить: системный журнал транзакций, тёплый рестарт, горячее и холодное тестирование структур базы данных ЛИНТЕР, горячее резервирование и т.п.

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

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

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

  • Многоплатформенная

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

Среди них как достаточно популярные платформы, так и очень специфические, рассчитанные на работу в реальном масштабе времени или на портативных компьютерах (КПК).

  • Масштабируемая

СУБД ЛИНТЕР® давно и успешно развивается в этом направлении.

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

  • Развивающаяся

СУБД ЛИНТЕР® непрерывно развивается и совершенствуется.

Здесь мы укажем основные направления развития системы:

  • увеличение эффективности;
  • повышение надёжности;
  • улучшение многопользовательской работы;
  • новые типы данных;
  • новые типы индексов.

Однако ещё раз следует обратить внимание, что аппарат КСЗ СУБД ЛИНТЕР® не покинет систему ни при каких её изменениях.

  • Разнообразные средства разработки приложений

Здесь пользователь может найти много интересных систем, начиная с самого низкого уровня (C/C++), до визуальных средств разработки. Благодаря большому количеству поддерживаемых программных интерфейсов (API) разработка приложений может вестись практически на любых языках программирования с использованием всех известных сред разработки и проектирования.

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

  • Со средствами поддержки задач реального времени

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

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

Есть множество примеров успешного использования СУБД ЛИНТЕР® в системах управления, работающих в режиме реального времени.

  • Стабильный коллектив обслуживания и развития с 20-летним стажем

Разработчики – это очень важная составляющая любой системы. Обычно системы без людей умирают.

Компании РЕЛЭКС удалось не только сохранить, но и значительно расширить уникальный опыт и уникальных конструкторов отечественной СУБД.

Кроме того, в РЕЛЭКС ведутся интенсивные исследования в различных областях научно-технических знаний о базах данных.

Это как раз тот показатель, который говорит – насколько мы «всерьёз и надолго».

  • С 15-летней историй использования по всему миру

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

Подобная статистика говорит о многом. Особенно в нашей стране. Особенно в эпоху перемен.

РЕЛЭКС уже перешагнул этот критический возраст – нам 16 лет!

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

Это может показаться рекламным заявлением, расценено как высокопарные слова, но это действительно так.

Особенно если учесть, что приложения, построенные на использовании СУБД ЛИНТЕР®, работают не только в России, но так же и в Беларусии, на Украине, в Соединённых Штатах, Японии и других странах.


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

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