Алгоритмы и модели доступа к записям баз данных
Покупка
Тематика:
Базы и банки данных. СУБД
Издательство:
Горячая линия-Телеком
Год издания: 2011
Кол-во страниц: 182
Дополнительно
Рассмотрены вопросы проектирования защищенных баз дан-
ных с использованием ограничения доступа к отдельным записям.
Рассмотрено как ограничение несанкционированного доступа к за-
писям, так и предоставление ложной маскировочной информации
вместо запрашиваемой.
Для специалистов и научных работников в области разработки
информационных систем и защиты информации, квалифицирован-
ных программистов, будет полезна студентам и аспирантам.
Тематика:
ББК:
УДК:
ОКСО:
- 10.00.00: ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ
- ВО - Бакалавриат
- 10.03.01: Информационная безопасность
- ВО - Магистратура
- 10.04.01: Информационная безопасность
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
УДК 621:391. ББК 007:519.876 Б24 Р е ц е н з е н т ы : доктор техн. наук, профессор Е. А. Саксонов; кафедра «Вычислительные системы и сети» Московского государственного института электроники и математики (технический университет); доктор техн. наук, профессор, С. В. Скворцов; кафедра «Систем автоматизированного проектирования вычислительных средств» Рязанского государственного радиотехнического университета. Баранчиков А. И., Баранчиков П. А., Пылькин А. Н. Б74 Алгоритмы и модели ограничения доступа к записям БД. – М.: Горячая линия – Телеком, 2011. – 182 с.: ил. ISBN 978-5-9912-0203-9. Рассмотрены вопросы проектирования защищенных баз данных с использованием ограничения доступа к отдельным записям. Рассмотрено как ограничение несанкционированного доступа к записям, так и предоставление ложной маскировочной информации вместо запрашиваемой. Для специалистов и научных работников в области разработки информационных систем и защиты информации, квалифицированных программистов, будет полезна студентам и аспирантам. ББК 007:519.876 Адрес издательства в Интернет WWW.TECHBOOK.RU Научное издание Баранчиков Алексей Иванович, Баранчиков Павел Алексеевич, Пылькин Александр Николаевич Алгоритмы и модели ограничения доступа к записям БД Монография Компьютерная верстка И. А. Благодаровой Обложка художника В. Г. Ситникова Подписано в печать 17.05.2011. Печать офсетная. Формат 60×88/16. Уч. изд. л. 11,35. Тираж 500 экз. ISBN 978-5-9912-0203-9 © А. И. Баранчиков, П. А. Баранчиков, А. Н. Пылькин, 2011 © Издательство «Горячая линия–Телеком», 2011
Введение Работа позволила внести вклад в развитие теории реляционных баз данных по следующим направлениям. Теория проектирования реляционных баз данных в процессе своего развития основывалась на нескольких постулатах, одним из которых являлась то, что участвующие в процессе проектирования атрибуты принимались совершенно равноправными. Другими словами реальные свойства, присущие атрибутам в конкретной предметной области полностью игнорировались в алгоритмах синтеза схем реляционных баз данных. Это было оправдано в те годы, когда не так остро стояла проблема информационной безопасности и данные защищались исключительно штатными средствами операционных систем и систем управления базами данных. Последние десятилетия были ознаменованы широчайшим развитием глобальных сетей, ставших основой распределенных баз данных, когда потребовались дополнительные средства для обеспечения безопасности данных. Отличительной чертой стала необходимость комплексного решения проблемы. Одной из реальных причин, тормозящих развитие теории проектирования реляционных баз данных и оказалась невозможность учитывать в алгоритмах синтеза различия атрибутов по их степени конфиденциальности. Настоящая работа как раз и посвящена некоторым аспектам дальнейшего развития теории проектирования РБД, связанным с решением проблемы сохранения целостности данных в следующих случаях: – ограничение доступа пользователей к отдельным кортежам отношений; – возникновением конфликтов с ключами отношений; – ведением в базах данных маскирующей информации.
Г л а в а 1 СОВРЕМЕННОЕ ОГРАНИЧЕНИЕ ДОСТУПА К ИНФОРМАЦИИ В БД 1.1. Проектирование схем БД В 90-е и 2000-е годы большое внимание уделялось корректному проектированию баз данных. Избыточность информации в реляционных БД, как и в других моделях БД, является потенциальным источником потери информации. Если информация, которая в БД дублирована, будет изменяться не синхронно, то впоследствии, пользователь получит множество вариантов информации. Заключить, какой из экземпляров верен, будет уже невозможно. Поэтому многие работы были посвящены нормализации, созданию новых критериев качества схем БД [1], были предложены многочисленные алгоритмы нормализации [2], большой вклад внес Д. Мейер [3]. Нормализация как средство борьбы с избыточностью информации в БД изначально производилась на основе функциональных зависимостей атрибутов, составленных в диаграмму [3]. Однако существуют и более сложные зависимости, чем просто определение значения одного атрибута по значению другого атрибута. Этому вопросу также были посвящены отдельные работы [4]. Были предложены показатели достоверности информации при отображении предметных областей пользователей в каноническую структуру БД, канонической структуры в логическую и логической структуры БД в физическую. Достоверность хранимой в БД информации определяется с учетом достоверности информационных элементов и достоверности путей доступа к ним [5]. Некоторые разработки были ориентированы также и на строгое формальное описание доменов к определенным данным [6]. 1.1.1. Ограничение целостности данных Ограничение целостности данных стало важной задачей, что связано со сложностью структуры данных и важностью хранимой в БД информации.
Современное ограничение доступа к информации в БД 5 Были разработаны алгоритмы, позволяющие автоматически отслеживать нарушение целостности данных [7], что позволяет оперативно отреагировать на изменения данных, например путем повторного введения нецелостной информации или восстановления данных из резервных копий. Такие алгоритмы были разработаны как для реляционных БД, так и для объектно-реляционных, чья струтура несколько сложнее, и реализация ограничений вводимых в них может быть значительно более комплексной задачей [8]. Для некоторых СУБД, поддерживающих «переписывание» запросов при их выполнении, такие проверки целостности данных могут быть выполнены при таком «переписывании» [9]. Разработано дифференциальное исчисление для логики 1-го порядка для поддержки целостности БД. Формальное дифференцирование операторов 1-го порядка можно использовать для проверки целостности данных, поскольку, если ограничение БД выражено в форме оператора 1-го порядка, то его производная относительно транзакции обеспечивает необходимое и достаточное условие сохранения целостности данных. Проверка производной зачастую бывает намного проще, чем проверка исходного ограничения, поскольку производится дифференциально, при предположении о целостности данных по транзакции. Фактически проверяются только новые изменения, способные привести к нарушению ограничений БД [10]. Были предложены подходы, вводящие в классическую реляционную модель данных расширения, повышающие степень целостности данных за счет применения расширенной реляционной модели данных, которая позволяет учитывать зависимости между данными, не поддерживаемые известными моделями данных [11]. 1.1.2. Уникальность ключей Автоматизация производства и развитие средств вычислительной техники привели к тому, что работать с ИС стали не квалифицированные техники, а операторы ЭВМ, часто не имеющие достаточных навыков, чтобы самостоятельно работать с ЭВМ. Это привело к внесению в БД различных ошибок: например, добавление различных записей об одной физической сущности.
Глава 1 6 Вследствие этого возникла проблема поиска записей об одинаковых сущностях, представленных в различных БД. Существуют случаи, когда копии записей не разделяют общих ключей и содержат ошибки, которые могут являться результатом ошибок перезаписи, отсутствия стандартных форматов или любой комбинации этих факторов [12]. Эта проблема является критически важной при ограничении доступа к данным в БД, так как она затрудняет идентификацию записи, а следовательно — авторизацию пользовательских действий с этой записью. Для правильного выявления ключей необходимо проанализировать всю схему БД и выявить в ней F-зависимости, так как существует вероятность того, что изначально ключи выявлены неверно. Для этого разработаны специальные методы, позволяющие автоматизировать этот процесс на основе анализа модификаций данных, проводимых в транзакция [13]. В случае неверного соответствия отношений выявленным функциональным зависимостям необходимо проводить декомпозицию таких отношений [14]. Однако существуют и нечеткие функциональные зависимости, которые сложно выявить обычными методами. Например, это могут быть вычислимые атрибуты, где значение атрибута в родительской таблице вычисляется по значениям в записях дочерних таблиц. 1.1.3. Восстановление данных Существуют также и алгоритмы, позволяющие возобновить целостность данных, потерянную при каких-либо ситуациях [15]. Разработаны алгоритмы такого восстановления посредством нейронных сетей [16]. Корпоративные БД часто требуют хранения огромного количества отдельных записей и выполнения множества загрузок на протяжении всего срока действия БД. Операция загрузки может выполнять вставку строки в БД с новыми значениями ключей, может обновлять строки с существующими значениями ключей, но различными неключевыми значениями или может удалять строки с ключевыми значениями, присутствовавшими в БД перед загрузкой. Для СУБД, используемых в хранилищах данных современных
Современное ограничение доступа к информации в БД 7 компаний, разработаны эффективный метод и система поддержания истории содержания БД в процессе модификации БД в соответствии с последовательностью событий. Система способна возвращать назад данные, подаваемые одним или группой поставщиков, в соответствии с заданными событиями. Такая задача решается путем применения механизма слежения за изменениями в контенте БД, где множество загрузок выполняется так, что при незавершении одной из загрузок этот незавершенный шаг игнорируется системой. Система сформирована на базе процессора и памяти для отображения изменений в содержании БД посредством автоматически считываемых команд для выполнения системой серии шагов. Табличная структура в первой загрузке может отличаться от табличной структуры в последующей загрузке. Кроме того, табличные строки БД и табличные строки загрузки могут быть связаны через секретный ключ. Существуют различные разработки, направленные на более быструю и эффективную реализацию восстановления данных после информационных атак. Предлагаемый метод восстановления ускоряет выполнение фаз аннулирования и повторения операций, необходимых при восстановлении, и базируется на комбинировании или слиянии ложных или испорченных транзакций. Такие объединенные транзакции исполняются во время фаз аннулирования и повторения вместо исполнения индивидуальных транзакций [17]. 1.1.4. Кластеры Развитие вычислительное техники происходило довольно большими темпами, однако вычислительные мощности самих микропроцессорных кристаллов росли все медленнее. Разрабатывались различные технические решения, одним из первых было использование многопроцессорных ЭВМ. Однако сложность аппаратуры материнских плат, поддерживающих установку 2-х и более микропроцессоров, привела к возрастанию цен на такие решения. Для построения высокопроизводительных систем стали широко применяются кластеры. При организации обработки данных в БД на кластере существует ряд сложностей, связанных с тем, что фактически вычисления
Глава 1 8 производятся на различных ЭВМ, что осложняет синхронизацию данных между элементами кластера. Если синхронизация данных не будет проведена должным образом, среди различных вариантов данных в отдельных экземплярах БД будет невозможным заключение о том, какие данные являются актуальными, а какие – устаревшими. Этой тематике также были посвящены некоторые научные работы [18]. 1.1.5. Аномалия удаления В ряде СУБД, например в mySQL, отсутствует реализация внешних ключей. В результате длительной эксплуатации информационной системы (ИС), работающей на этой СУБД, в БД могут появляться записи в дочерних таблицах, не имеющие соответствующих им записей в родительских таблицах, что связано с постоянной доработкой ИС в ее жизненном цикле либо недостаточным вниманием со стороны разработчиков, уделенным ограничению целостности данных. Например, такая ситуация может иметь место в результате удаления ставших ненужными записей в родительских таблицах. В таком случае имеем аномалию удаления записи. Подобные ситуации и методы ограничения целостности в БД рассмотрены в [15]. Некоторые среды работы с БД, например Java Persistence API, выводят ошибки при таких аномалиях и не запускаются. В результате злоумышленник может специально создать аномальную ситуацию, чтобы вызвать DoS-атаку в ИС. 1.1.6. Борьба с аномалиями В БД существует множество разновидностей аномалий схем темпоральных БД [19]. Разработаны специальные методы обнаружения аномалий [20] на основе специальных алгоритмов, включающих средства нечетких множеств. Для ликвидации аномалий Э. Коддом был предложен подход к нормализации БД, который в дальнейшем был развит Д. Мейером [3]. В идеале, если БД будет соответствовать самым «высоким» нормальным формам, это существенно снизит риски нецелостности данных, а следовательно, поможет избежать утери данных. Как правило, при аномалиях в БД речь не идет об утечке или краже данных. Однако в случае неверной обработки ситуации приложе
Современное ограничение доступа к информации в БД 9 ние, имеющее доступ к закрытым данным, вызовет у себя какуюлибо уязвимость и этой уязвимостью можно будет воспользоваться как и обычной уязвимостью СУБД. 1.1.7. БД реального времени В широкую эксплуатацию на границе 90-х и 2000-х годов вошли СУБД реального времени, для которых важной характеристикой является малое время обработки запроса, так чтобы очередь выполнения запросов не росла со временем. Большинство СУБД могут выполнять это требование, что эксплуатируется в промышленности. Однако у них существует вероятность роста очереди запросов. СУБД реального времени специально проектируются с учетом требования ограниченного времени ожидания обработки запросов, что сделало их реализацию сложнее, чем обычных СУБД. Для соблюдения ограничений на временную целостность информации в БД реального времени исследована эффективность решения проблемы в рамках традиционной приближенной обработки запросов, использующейся для выдачи приближенных ответов за заданное время [21]. Были разработаны методы для получения детерминированных корректных численных ответов на запросы ad hoc в БД в реальном времени. Метод пригоден для БД произвольного размера и не требует каких-либо знаний о статистических характеристиках данных. На выходе пользователь получает, наряду с ответом, оценку его надежности [22]. 1.2. Современные разработки по ограничению доступа в БД К начале 2000-х годов информатизация общества развилась настолько, что стала неотъемлемой частью производства, проникая во все сколь угодно малые организации. Работоспособность ИС теперь стала критически важной для всех сфер производства, а ее отсутствие может привести к крупным финансовым потерям. Такая зависимость от ЭВМ стала очень часто эксплуатироваться недоброжелателями в виде различных атак. Использование ИС практически всеми сотрудниками предприятия привело к появлению внутренних угроз для ИС –
Глава 1 10 внутренних атак. Так, саботаж в информационной сфере внутри одного предприятия может вывести предприятие из производства на несколько дней. Информационные атаки отличаются сложностью обнаружения и расследования, что привело к их широкому распространению. Большое внимание стало уделяться распределению доступа, чтобы обезопасить информацию, хранящуюся в системе, от пользователей этой же ИС, не нуждающихся в доступе к такой информации. Если в 90-х годах такое распределение доступа организовывалось на основе ограничения доступа к объектам БД: таблицам, процедурам и представлениям, то теперь этого стало недостаточно [23]. К одному и тому же объекту БД может иметь доступ множество пользователей, имеющих потребности в доступе к различным записям этих объектов БД [24]. Этому вопросу стало уделяться много внимания в научных исследованиях [25]. Администраторы БД стремились сбалансировать требования по конфиденциальности в соответствии с потребностями законных пользователей для облегчения доступа и анализа организационных данных. Используя статистические БД, администраторы БД предоставляют пользователям доступ для сбора статистической информации, но не информации, касающейся конкретного объекта [26]. 1.2.1. Гибкий доступ к БД В своей работе Min-A Jeong, Jung-Ja Kim и Yonggwan Won «Организация гибкой системы доступа к БД с использованием различных политик» («A flexible database security system using multiple access control policies») рассмотрели создание расширенного механизма доступа, позволяющего управлять доступом пользователей к группам данных различной величины, и разрешенного при частом изменении прав доступа пользователей к защищаемым объектам[27]. Группы данных d определяются по именам таблиц, атрибутов и/или записей таблиц и подвергаются политике, определенной уровнем секретности, полями и прочими политиками доступа. Предлагаемая система доступа реализуется в 2 этапа. На первом этапе производится контроль по модифицированному мандатному