Обеспечение защиты персональных данных в субд oracle. Основные аспекты безопасности субд: что следует знать

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

Идентификация и аутентификация пользователей;

Управление доступом к данным (владелец объекта передает права доступа к нему по своему усмотрению);

Механизм подотчетности всех действий, влияющих на безопасность;

Защита регистрационной информации от искажений и ее анализ;

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

Защита информации, передаваемой по линиям связи.

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

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

Существуют два специфических сценария атаки на СУБД:

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

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

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

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

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

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

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

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

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

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

Для поддержки безопасности баз данных разрабатывается множество продуктов. Среди них известны продукты фирм DBSecure и BrainTree Security Software. SQL Auditor DBSecure оценивает риски в базе данных Microsoft SQL Server, выявляет слабые пароли, нарушения режимов эксплуатации, загрузочные атаки и другие формы несанкционированного доступа. В пакете SQL Secure фирмы BrainTree управление безопасностью сосредоточено на единой консоли. Компонент Password Manager анализирует пароли на слабость, управляет процессом присвоения паролей и сроками их действия. Компонент Policy Manager помогает пользователям оценивать свои базы данных на соответствие стандартам безопасности.

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

Закон о защите персональных данных не выполняется. Почему?

Для начала, вспомним некоторые положения №152-Федерального Закона "О персональных данных" .

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

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

Кроме этого, в требованиях закона "О защите персональных данных" №152-ФЗ содержатся некоторые, мягко говоря, непривычные для российских организаций процедуры, такие как:

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

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

Стоит добавить, что по некоторым данным, упомянутая классификация и соответствующие каждому классу требования, согласно постановлению Правительства №781, уже разработаны ФСТЭК, ФСБ и Мининформсвязи России и в ближайшее время будут опубликованы. Этот долгожданный во многом документ прольет свет на эти и другие аспекты практического применения ФЗ-152. Но основные надежды, которые с ним связаны, заключаются в получении практических инструкции по реализации требований закона для государственных организаций, обрабатывающих ПД граждан.

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

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

Закон суров, но справедлив

Не менее интересно и то, какие возможности предусматривает закон для самих граждан - субъектов персональных данных. В дополнение к вышесказанному вспомним другие положения закона. Согласно части 4 статьи 14 ФЗ-152 субъект персональных данных имеет право на получение при обращении или при получении запроса информации, касающейся обработки его ПД, в том числе содержащей: подтверждение факта обработки персональных данных оператором, а также цель такой обработки; способы обработки ПД, применяемые оператором; сведения о лицах, которые имеют доступ к ПД; перечень обрабатываемых персональных данных и источник их получения; сроки обработки ПД, в том числе сроки их хранения; сведения о том, какие юридические последствия для субъекта персональных данных может повлечь за собой обработка его ПД. По сути, это тоже трудновыполнимая задача для оператора, ведь никто не отменял ст.137 УК РФ "Нарушение неприкосновенности частной жизни" от 13 июня 1996г. В статье, в частности, говорится, что уголовную ответственность влечет: незаконное собирание или распространение сведений о частной жизни лица, составляющих его личную или семейную тайну, без его согласия либо распространение этих сведений в публичном выступлении, публично демонстрирующемся произведении или средствах массовой информации, если эти деяния совершены из корыстной или иной личной заинтересованности и причинили вред правам и законным интересам граждан.

Согласно статье 17 ФЗ-152 в случае, если субъект ПД считает, что оператор осуществляет обработку его ПД с нарушением требований настоящего Федерального закона или иным образом нарушает его права и свободы, субъект ПД вправе обжаловать действия или бездействие оператора в уполномоченный орган по защите прав субъектов ПД или в судебном порядке. При этом лица, виновные в нарушении требований, несут административную, гражданскую, уголовную и иную, предусмотренную законодательством, ответственность.

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

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

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

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

Как правильно защищать базы данных?

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

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

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

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

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

Основные компоненты системы защиты баз данных

Классическая схема защиты баз данных (БД) подразделяется на следующие обязательные процедуры:

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

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

Разграничение доступа

Преследуя цель защиты БД от инсайдерских угроз, для обеспечения разграничения доступа в версии СУБД 10g Release 3 компания Oracle выпустила новый продукт Database Vault , предназначенный для предотвращения несанкционированного доступа к информации пользователей, в том числе наделенных особыми полномочиями, например, администраторов базы данных. Набор правил в Database Vault , разграничивающих доступ, достаточно широк. Например, руководство организации может определить правила, согласно которым для решения задач, предполагающих доступ к критичной информации, потребуется одновременное присутствие двух сотрудников. Таким образом, Database Vault решает следующие проблемы:

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

Защита доступа

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

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

Итак, рассмотрим подробнее способы аутентификации в СУБД Oracle .

Аутентификация средствами операционной системы

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

Аутентификация при помощи сетевых сервисов

Данный вид аутентификации обеспечивает опция сервера Oracle Advanced Security . Она предоставляет следующие службы:

1. SSL - аутентификация использует протокол SSL (Secure Socket Layer) - протокол уровня приложений. Он может использоваться для аутентификации в БД и в общем случае (если далее используется аутентификация пользователя средствами СУБД) не зависит от системы глобального управления пользователями, обеспечиваемой службой каталога Oracle - Oracle Internet Directory .

2. Аутентификация службами третьих сторон.

На основе Kerberos . Применение Kerberos как системы аутентификации с доверенной третьей стороной, основано на использовании, т.н. общего секрета. Это предопределяет безопасность и надежность доверенной стороны и дает возможность использования Single Sign - On , централизованного хранения паролей, прозрачной аутентификации через связи БД (database links), а также средств усиленной безопасности на рабочих станциях.

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

  • протокол SSL
  • набор OCI (Oracle Call Interface - прикладной интерфейс доступа к БД) и PL / SQL функций
  • доверенные сертификаты (trusted certificate), для проверки подлинности сертификатов, предъявляемых пользователями (приложениями)
  • Oracle wallets - ключевые контейнеры, содержащие личный ключ (private key) пользователя, его сертификат и цепочки доверенных сертификатов
  • Oracle AS Certificate Authority - компонента Oracle Application Server , предназначенная для издания сертификатов и дальнейшего управления ими
  • - Oracle Wallet Manager (OWM) - компонента СУБД для управления wallet "ами

На основе RADIUS . СУБД Oracle поддерживает протокол RADIUS (Remote Authentication Dial - In User Service) - стандартный протокол для аутентификации удаленных пользователей. При этом становятся доступны службы и устройства аутентификации третьих производителей, с которыми может взаимодействовать сервер RADIUS (например, устройства генерации одноразовых паролей, биометрические устройства и т.п.).

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

  • Oracle Internet Directory (OID) позволяет централизованно хранить и управлять информацией о пользователях (т.н. enterprise -пользователях). Позволяет иметь единственную учетную запись пользователя для многих баз данных. Возможна интеграция со службами каталогов третьих производителей, например, MS Active Directory или iPlanet . OID позволяет гибко управлять атрибутами безопасности и привилегиями каждого пользователя, включая тех, кто аутентифицируется по цифровым сертификатам. Для повышения безопасности во время процесса аутентификации возможно использование SSL -протокола.
  • Oracle Enterprise Security Manager - утилита управления пользователями, группами, ролями и привилегиями.

3. Аутентификация в многоуровневых приложениях

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

Шифрование данных

Для защиты данных, передаваемых в сети, в СУБД Oracle, начиная с версии 8i, используется возможности опции Oracle Advanced Security , в которой предусмотрена функция Network encryption , позволяющая шифровать весь поток данных. Безопасность информации обеспечивается секретностью ключа, которым шифруются данные.

Network encryption позволяет добиться высокого уровня безопасности. Поддерживаются следующие алгоритмы шифрования AES (только 10 g /11g). DES , 3 DES , RC 4(только 10 g /11g).

Защита передаваемых в сети данных в приложениях Oracle обеспечивается протоколом SSL по алгоритмам, которые поддерживается сервером приложений, как правило, это WEB -сервер Oracle.

Защиту данных на носителе обеспечивают два компонента СУБД Oracle - пакеты, реализующие алгоритмы шифрования и опция Transparen t Data Encryption (T DE). Начиная с версии 8i, СУБД Oracle предоставляет для разработчиков приложений пакеты хранимых процедур, реализующих алгоритмы: DES с длиной ключа 56 бит, Triple DES с длиной ключа 112 и 168 бит , A ES с длиной ключа 128, 192 и 256 бит RC 4 (только 10 g /11g).

Опция T DE появилась в версии СУБД Oracle 10g Release 2 как составная часть Advanced Security. Она позволяет выборочно шифровать колонки таблиц с применением алгоритмов Triple DES (c длиной ключа 168 бит), AES (c длиной ключа 128, 192 или 256 бит). Управление ключами шифрования берет на себя ядро БД, а применение такого шифрования не требует переделки клиентского и серверного прикладного ПО. В версии СУБД 11g и выше появилась возможность зашифрования табличного пространства целиком.

Аудит доступа к данным

СУБД Oracle имеет мощные средства аудита действий пользователей, включающих как доступ к данным, так и события регистрации/выхода и изменения структуры БД. Начиная с версии 9i, СУБД оснащается опцией подробного аудита (Fine Grained Audit Control), которая позволяет проводить аудит доступа по условиям, определяемым достаточно гибкими настраиваемыми правилами. Однако, данные средства аудита не позволяет проследить за действиями, которые совершаются администратором базы данных, а также не мешают ему изменять журнал аудита, удаляя любые строки и не оставляя следов подобных действий. Возникшая необходимость аудита деятельности и защиты данных аудита от привилегированных пользователей, включая администраторов БД, побудило Oracle разработать новую концепцию аудита. В её основу положена идея, на которой базируется функционал Database Vault : администратор БД изолирован от управления аудитом, что по поянтным причинам обеспечивает более высокий уровень безопасности БД. Как и в случае Database Vault правила назначения аудита в Audit Vault очень гибкие.

Достаточно ли встроенных средств защиты?

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

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

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

От сторонников такого подхода при разработке и эксплуатации ИС чаще всего можно услышать следующие аргументы:

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

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

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

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

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

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

Достаточно ли парольной аутентификации?

Действительно, простота использования парольной защиты не вызывает сомнений. Но простота и надёжность защиты в данном случае малосовместимы. В безопасности и удобстве эксплуатации такая технология себя изживает. Надежность пароля и, следовательно, безопасность его использования, напрямую зависит от его качества (применяемые символы, их регистр, отличие от осмысленных слов). А удобство использования стремительно падает даже при незначительном усилении "безопасности" пароля, ведь запомнить нечитаемую комбинацию символов довольно сложно. Обратимся к цифрам и фактам. Пароли пользователей хранятся в СУБД Oracle в виде хеш-значений и доступны для чтения привилегированным пользователям. Алгоритм вычисления хеша пароля давно известен. Наиболее полное исследование стойкости паролей в Oracle проведено компанией Red - Database - Security GmbH - ведущего мирового эксперта в области безопасности продуктов Oracle. Вот некоторые данные по стойкости паролей для версий СУБД 7-10g:

На компьютере с Pentium 4 3 GHz требуемое время составляет (атака простым перебором):

  • 10 секунд все 5- символьные комбинации
  • 5 минут все 6- символьные комбинации
  • 2 часа все 7- символьные комбинации
  • 2,1 дня все 8- символьные комбинации
  • 57 дней все 9- символьные комбинации
  • 4 года все 10- символьные комбинации

И это при использовании далеко не самого мощного компьютера. При наращивании производительности атака по словарю проводится ещё быстрее. Нельзя сказать, что Oracle не реагирует на подобное положение дел - в версии СУБД 11g положение значительно улучшилось. Был усилен алгоритм выработки хеша и качество формирования паролей. В результате приведенные выше цифры выросли в 2.5-3 раза. Но, несмотря на такие улучшения, Oracle рекомендует использовать средства усиленной аутентификации, которые также были доработаны в лучшую сторону, например, стало возможно использовать HSM (Hardware Security Module) для аутентификации и хранения ключей шифрования.

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

Низкая стоимость владения - миф?

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

Уязвимы ли встроенные средства защиты?

И в этом вопросе мы вновь сталкиваемся с расхожим мнением о том, что штатные средства безопасности недостаточны. Как объяснить возникновение такого мнения, особенно при учёте того, что и встроенные средства защиты чаще всего используется далеко не на 100%. Т

Что же касается уязвимостей встроенных средств защиты в Oracle, то ситуация здесь ровно такая же как и в других сложных системах. Корпорация Oracle традиционно ответственно относится к обнаружению и устранению найденных уязвимостей. Регулярно (4 раза в год) выпускаются обновления CPU (Critical Patch Update), устраняющие бреши, обнаруженные как самой корпорацией Oracle, так и десятками других компаний, наиболее известная из которых - уже упоминавшаяся Red - Database - Security GmbH . Так, например, в CPU за октябрь 2007 г. были устранены 27 уязвимостей в СУБД, 11 - в сервере приложений, 13 - в различных приложениях. Учитывая число продуктов Oracle , их версий и программно-аппаратных платформ для них, это не так уж и много.

Своя разработка vs поддержка вендора

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

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

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

Возможности усиления функций защиты: когда это необходимо?

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

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

Алгоритмы российской криптографии (PKI, ЭЦП, шифрование в сети и на носителе)

Реализация шифрования при записи на носитель без использования TDE

Хранение ключевого материала.

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

Применение отечественных криптографических алгоритмов

Криптографические алгоритмы могут использоваться в процессе аутентификации, выработки ЭЦП (ГОСТ Р 34.10-2001), для защиты канала связи (ГОСТ 28147-89, ГОСТ Р 34.11-94) и шифрования данных (ГОСТ 28147-89). Встроенные средства Oracle не реализуют данные алгоритмы ни в СУБД, ни в сервере приложений, ни в приложениях. Реализацию криптографии в виде библиотек, стандартных поставщиков криптографии (CSP), комплектов разработчика (SDK) предлагают несколько российских производителей - КриптоПро, Сигнал-Ком, Инфотекс, Лисси, КриптоКом, КриптоЭкс и др. Однако, заставить продукты Oracle работать с предлагаемыми библиотеками достаточно проблематично. Дело даже не в том, что данные средства не совместимы на уровне программно-аппаратного обеспечения - встраивание криптографии в продукты Oracle не должно нарушать лицензионного соглашения вендора относительно целостности ПО. Если с ИС, построенными на основе сервера приложений Ora cle или всего множества приложений Oracle, проблем со встраиванием, как правило, не возникает, то с СУБД дело обстоит сложнее. Вследствие того, что ядро СУБД не имеет программного интерфейса к криптооперациям (аутентификация, шифрование), приходится применять обходные пути. Например, использовать протокол аутентификации Kerberos или генераторы одноразовых паролей с протоколом RADIUS, а защиту канала связи осуществлять с помощью сертифицированных программных средств.

Шифрование данных без использования TDE

Несмотря на чрезвычайную простоту опции Oracle TDE, от ее использования часто приходится отказываться. Основных причин две:

Не поддерживаются некоторые типы данных

Нет возможности штатно применить российские криптоалгоритмы

Нет реальной защиты от привилегированных пользователей.

Первая проблема в принципе решается с помощью продуктов сторонних разработчиков - DbEncrypt for Oracle (Application Security, Inc.), eToken SafeData (Aladdin Software Security R . D .), The Encryption Wizard for Oracle (Relational Database Consultants , Inc .). Вторая проблема принципиально решается таким же образом, но здесь вариантов меньше - eToken SafeData или The Encryption Wizard for Oracle . Причем для первого продукта требуется дополнительная сборка версии (в зависимости от применяемого производителя сертифицированной криптографии), а по второму продукту, просто не удалось найти нужную информацию. Третья проблема, в принципе, могла бы быть решена с помощью совместного использования опций TDE и Oracle Database Vault , но в этом случае полномочия администратора СУБД плавно перетекают к администратору Database Va u lt, т.е. проблема защиты от привилегированных пользователей сохраняется.

Хранение ключевого материала

Ключевой материал (сертификаты, закрытые ключи, ключи шифрования), используемые встроенными средствами обеспечения безопасности Oracle для аутентификации или шифрования данных, хранятся в ключевых контейнерах, (т.н. бумажниках - wallets) как обычные файлы. Для доступа к информации в бумажнике требуется пароль. Часто такой способ хранения не отвечает требования по безопасности, особенно на рабочих станциях клиентов. СУБД Oracle , начиная с версии 10g, позволяет хранить закрытые ключи на аппаратных устройствах, поддерживающих стандарт PKCS#11. В то же время Oracle никак не гарантирует работу аппаратных устройств, отличных от устройств производства nCipher (nCipher Corporation Ltd.). Это не всегда приемлемо, например, если предполагается использование только сертифицированных аппаратных средств. И в этом случае проблема хранения ключей и сертификатов может быть решена с помощью решений сторонних производителей. На российском рынке, пожалуй, единственным в своем классе продуктом является eToken SecurLogon для Oracle (Aladdin Software Security R.D.) .

Заключение

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

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

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

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

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

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

История развития СУБД

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

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

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

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

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

Современные проблемы обеспечения безопасности БД

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

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

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

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

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

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

Особенности защиты БД

Хранилища данных включает в себя два компонента: хранимые данные (собственно БД) и программы управления (СУБД).

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

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

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

Архитектура применяемых языков, по крайней мере, то, что касается специализированных языков и наборов функций, напрямую связана с моделью данных, применяемой для хранения информации. Таким образом, модель определяет особенности языка, и наличие в нем тех или иных уязвимостей. Причем такие уязвимости, например, как инъекция, выполняются по-разному (sql-инъекция, java-инъек­ция) в зависимости от синтаксиса языка.

Требования к безопасности БД

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

Не зависящими от данных мож­но назвать следующие требования к безопасной системе БД:

  • Функционирование в доверенной среде.

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

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

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

  • Организация безопасной и актуальной настройки СУБД.

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

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

  • Безопасность пользовательского ПО.

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

  • Безопасная организация и работа с данными.

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

Основные аспекты создания защищенных БД

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

  • Разработка комплексных методик обеспечения безопасности хранилищ данных на предприятии.

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

  • Оценка и классификация угроз и уязвимостей СУБД.

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

  • Разработка стандартных механизмов обеспечения безопасности.

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

Об авторе

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

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

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

Парольная защита;

Шифрование данных и программ;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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