Технологические методы защиты информации

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

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

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

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

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

Рассмотрим способы защиты базы данных от следующих по­тенциальных опасностей:

• похищение и фальсификация данных;

• утрата конфиденциальности (нарушение тайны);

• нарушение неприкосновенности личных данных;

• утрата целостности;

• потеря доступности.

Это основные направления, по которым руководство предпри­ятия должно принимать меры, обеспечивающие снижение степе­ни риска потерь или повреждения данных.

 

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

В табл. 12.1 показаны примеры возможных опасностей для ин­формационных систем.

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

 

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

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

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

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

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

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

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

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

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

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

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

Обеспечение защиты информации включает в себя:

• разработку показателей, характеризующих технологическую безопасность информационных систем;

• разработку требований к архитектуре баз данных;

• наличие трудовых и материальных ресурсов;

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

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

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

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

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

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

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

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

• эффективным контролем за доступом к данным;

• обеспечением высокой степени конфиденциальности и целост­ности данных;

• контролем данных, поступающих из внешней среды.

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

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

Приведенные критерии используются в основном при испыта­нии информационных систем и на завершающих фазах комплекс­ной отладки.

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

Для выполнения этого требования необходимо наличие про­граммной и информационной избыточности системы в виде ресур­сов внешней и внутренней памяти ЭВМ.

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

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

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

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

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

Методы обеспечения технологической безопасности информа­ционных систем.В табл. 12.1 были приведены возможные опасно­сти для информационных систем. Рассмотрим основные уязвимые объекты для неумышленных угроз. Такими объектами являются:

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

• информация, накопленная в базах данных;

• объектный код программ, исполняемых вычислительными средствами в процессе функционирования ИС;

• информация, выдаваемая потребителям и на исполнитель­ные механизмы.

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

• системные ошибки при разработке технического задания на разработку удаленных баз данных;

• алгоритмические ошибки проектирования и эксплуатации баз данных;

• ошибки программирования;

• недостаточная эффективность используемых методов и средств оперативной защиты программ и данных;

Внешние источники угроз безопасности ИС:

• ошибки оперативного и обслуживающего персонала в про­цессе эксплуатации баз данных;

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

• сбои и отказы аппаратуры;

• выход изменений состава и конфигурации ИС за пределы, проверенные при испытаниях или сертификации.

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

Современные технологии разработки удаленных баз данных определяют следующие методы и средства, позволяющие с макси­мальным эффектом обеспечить технологическую безопасность ИС:

• разработка баз данных в полном соответствии с методологией их проектирования (см. гл. 2, 7);

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

• применение экспертных систем в процессе сертификации СУБД и сдачи их в эксплуатацию;

• применение программно-аппаратных методов защиты инфор­мации в критических ситуациях;

• физическое уничтожение информации в критических ситуа­циях.

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

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

К программно-аппаратным методам защиты информации в базах данных относятся авторизация пользователей, примене­ние представлений, резервное копирование и восстановление, шифрование и создание массивов независимых дисковых нако­пителей.

Авторизация пользователей

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

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

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

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

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

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

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

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

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

Для получения пользователем права доступа к СУБД может при­меняться отдельная процедура.

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

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

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

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

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

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

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

Стандарт ISO/EC9075:2003 определяет следующий набор при­вилегий языка SQL:

SELECT — право выбирать данные из таблицы;

INSERT — право вставлять в таблицу новые строки;

UPDATE — право изменять данные в таблице;

DELETE — право удалять строки из таблицы;

REFERENCES — право ссылаться на столбцы указанной таб­лицы в описании требований поддержки целостности данных.

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

Привилегия REFERENCES также может распространяться толь­ко на отдельные столбцы таблицы, что позволит использовать их имена в формулировках требований защиты целостности данных (например, в конструкциях CHECK FOREIGN REY), входящих в определения других таблиц, тогда как применение для подобных целей остальных столбцов будет запрещено.

Когда пользователь с помощью оператора CREATE TABLE создает новую таблицу, он автоматически становится ее вла­дельцем и получает по отношению к ней полный набор приви­легий.

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

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

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

Привилегии INSERT, UPDATE, DELETE в отношении соз­данного представления пользователь получит только в том слу­чае, если он имеет соответствующие привилегии в отношении всех используемых в представлении таблиц.

Предоставление привилегий другим пользователям. Оператор GRANT используется для предоставления привилегий определен­ным пользователям в отношении поименованных объектов базы данных с разрешения ее владельца.

Оператор GRANT имеет следующий формат:

 

Параметр PrivilegeList представляет собой список, состоящий из одной или более привилегий, разделенных запятыми:

 

Кроме того, для упрощения в операторе GRANT можно ука­зать ключевое слово ALL PRIVILEGES, что позволит предоста­вить указанному пользователю все шесть существующих привиле­гий без необходимости их перечисления.

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

Параметр ObjectName может представлять собой имя таблицы базы данных, представления, домена, набора символов, провер­ки или транзакции.

Конструкция WITH GRANT OPTION позволяет всем пользо­вателям, указанным в списке параметра AutohrizationldList, пере­давать другим пользователям все предоставленные им в отноше­нии указанного объекта привилегии. Если эти пользователи, в свою очередь, передадут собственные полномочия другим пользовате­лям с указанием конструкции WITH GRANT OPTION, то послед­ние также получат право передавать свои полномочия. Если же эта конструкция не будет указана, получатель привилегии не сможет передавать свои права другим пользователям. Таким образом, вла­делец объекта может четко контролировать, кто получил право доступа к принадлежащему ему объекту и какие полномочия пре­доставлены этому лицу.

Приведем пример предоставления пользователю с идентифи­катором Administrator всех привилегий доступа к таблице МК (Мар­шрутная карта):

 

В результате выполнения этого примера пользователь с иден­тификатором Administrator получает право выбирать данные из таблицы МК, а также вставлять, обновлять или удалять из нее строки. Кроме того, пользователь Administrator может ссылаться на таблицу МК и все ее столбцы в любой таблице, создаваемой им впоследствии. Так как в данном примере присутствует конст­рукция WITH GRANT OPTION, пользователь Administrator смо­жет передавать полученные им привилегии по своему усмотре­нию другим пользователям.

Приведем пример предоставления пользователям с идентифи­каторами Texnolog и Konstruktor только привилегий SELECT и UPDATE на столбец NaimOper таблицы МК (Маршрутная карта):

 

Поскольку в последнем примере отсутствует конструкция WITH GRANT OPTION, указанные пользователи не смогут передать полученные привилегии другим пользователям.

Для отмены предоставленных пользователям привилегий ис­пользуют оператор REVOKE, который имеет следующий формат:

 

Здесь ключевые слова ALL PRIVILEGES означают, что для указанного пользователя отменяются все привилегии, предостав­ленные ему ранее тем пользователем, который ввел данный опе­ратор. Необязательная конструкция GRANT OPTION FOR позво­ляет для всех привилегий, переданных в исходном операторе GRANT конструкции WITH GRANT OPTION, отменять возмож­ность их передачи. Назначение ключевых слов RESTRICT и CASCADE аналогично назначению, которое они имеют в опера­торе DROP TABLE (см. гл. 8).

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