Защита баз данных

Автор работы: Пользователь скрыл имя, 02 Октября 2009 в 19:14, Не определен

Описание работы

В реферате содержится информация о современных методах защиты баз данных.

Файлы: 1 файл

ЯП.docx

— 217.65 Кб (Скачать файл)

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

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

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

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

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

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

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

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

       Какие еще защитные механизмы можно  задействовать, чтобы решить проблему безопасности данных?

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

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

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

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

       Задачу  необходимо формулировать так: мы должны знать, кто, когда получает доступ к  данным и к каким.

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

       Именно  поэтому необходимо использовать внешние  средства аудита.

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

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

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

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

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

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

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

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

Информация о работе Защита баз данных