На главную страницу
На главную страницу Карта сайта Поиск по сайту Обратная связь
На страницы учебного центра
Организационно-правовые вопросы
Экономическая безопасность
Безопасность КИС
Защита речевой информации
Техническая защита объектов
Сертификация и лицензирование
Кадровая безопасность
Преступления в сфере высоких технологий
Нормативные документы
Полезные ресурсы

 

Принцип сокрытия структуры запроса для обеспечения защиты баз данных

 

А. Ж. Каливанов, к. т. н.

kaj@mail.ru

 

В статье предлагается способ защиты баз данных путем сокрытия структуры SQL-запросов, формируемых клиентским приложением. Материал изложен в соответствии с основными понятиями и определениями руководящих документов Государственной технической комиссии при Президенте РФ.

 

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

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

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

Информационным фондом называется запас информации, хранящийся в АС.

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

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

Доступ – это разрешение на получение информации, которое подразумевает либо знание способа, либо наличие и/или предоставление канала, либо же наличие и той и другой возможности одновременно для получения информации.

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

Под защитой от несанкционированного доступа понимают предотвращение или существенное затруднение несанкционированного доступа.

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

Субъект доступа – это лицо или процесс, действия которых регламентируются правилами разграничения доступа.

Объект доступа – это единица информационного ресурса автоматизированной системы, доступ к которой регламентируется правилами разграничения доступа.

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

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

Тогда, одним из основных источников угроз, характерных для приложений БД, является средство взаимодействия с СУБД – язык SQL (Structured Query Language) – мощный непроцедурный инструмент определения и манипулирования данными. Этот язык одинаково удобен для использования как разработчиком программ, так и нарушителем.

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

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

 

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

 

Сокрытие структуры SQL-запросов существенно затрудняет выполнение основных (согласно документам Гостехкомиссии России) способов НСД:

  • устраняется возможность непосредственного обращения к объектам БД, находящимся на сервере, иначе как с помощью данного клиентского приложения, так как при отсутствии инструментов обслуживания БД (SQL Explorer, Database Desktop, SQL+, MS Query и т. п.) устраняется возможность изучения структуры БД;
  • устраняется возможность создания программных и технических средств, выполняющих обращение к объектам БД, в обход средств защиты;
  • устраняется возможность внесения изменений в средства защиты БД;
  • устраняется возможность создания и запуска собственных хранимых процедур и функций по обработке информации.

При этом может быть установлена принадлежность АС к определенному классу защищенности.

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

Благодаря сокрытию структуры SQL-запросов естественным образом обеспечивается выполнение следующих требований Гостехкомиссии РФ.

Начиная с пятого класса защищенности СВТ от НСД к информации:

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

Начиная с четвертого класса защищенности СВТ от НСД к информации:

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

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

Данный подход был использован творческим коллективом MO SoftGroup при разработке автоматизированной системы слежения за подвижными объектами. Автор выражает благодарность составу группы за принятие изложенной выше идеи сокрытия структуры SQL-запросов и ее реализацию в программном продукте «КДМ Участок».

Литература:

1. Соколов А. В. Информационно-поисковые системы. – М.: Радио и связь, 1981.

2. Защита от несанкционированного доступа к информации. Термины и определения. Руководящий документ Гостехкомиссии России. – М., 1992.

3. Концепция защиты СВТ и АС от НСД к информации. Руководящий документ Гостехкомиссии России. – М., 1992.

4. Средства вычислительной техники. Защита от несанкционированного доступа к информации. Показатели защищенности от НСД к информации. Руководящий документ Гостехкомиссии России. – М., 1992.

5. Каливанов А. Ж. Эксплуатация баз данных. Учебное пособие. – СПб, 2002, ВКА, – 86 с.

 

 

"Защита информации. Кофидент", №4, 2003

 

| Начало | Новости | О проекте | О ЦПР | Правовая информация | Сотрудничество | Наши партнеры | Координаты |

Copyright © 2004-2016 ЧОУ ДПО «ЦПР». Все права защищены
info@cprspb.ru