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

Независимо от того, какая применяется СУБД - Oracle, Sybase, IBM DB2, Progress и т.д., именно она содержит наиболее важную информацию. Естественно, что операционная система должна быть соответствующим образом защищена, но это только половина дела. Мощные СУБД содержат свои собственные системы защиты, отделенные от ОС (пожалуй только у Microsoft SQL Server система защиты интегрирована с защитой Windows NT). Каждая из них имеет подсистемы аудита, аутентификации, целостности и разграничения доступа. Отказ от настройки или неправильная конфигурация защиты базы данных сделает наиболее важную информацию легкой добычей для злоумышленников [1]. Для подключения к Microsoft SQL Server (дальнейшее изложение будет иллюстрироваться на примере этой СУБД, что, однако не означает отсутствие недостатков в защите у других СУБД) можно использовать различные сетевые протоколы - TCP/IP, Named Pipes, Encrypted Multi-Protocol. В первом случае, имя и пароль пользователя, проходящего аутентификацию на сервере базы данных, передаются в открытом виде и могут быть перехвачены при помощи простейшего анализатора протокола (sniffer). Аналогичным образом, можно поступить и при использовании протокола Named Pipes, в котором пароль посылается в формате UUENCODE, что также не является преградой для злоумышленников.

Рис. 1. Один из этапов настройки шаблона для анализа защищенности Microsoft SQL Server

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

xp_cmdshell ?NET USER Lexa password /ADD?
go
xp_cmdshell ?NET LOCALGROUP /ADD Administrators Lexa?
go

Первая команда позволяет создать пользователя с именем Lexa и паролем password. А с помощью третьей команды пользователь Lexa заносится в группу Administrators. Происходит это потому, что указанные команды выполняются с привилегиями той учетной записи, под которой загружен SQL-Server. По умолчанию это учетная запись System. В качестве другого примера можно назвать использование расширенных хранимых процедур (extended stored procedures), которые при помощи OLE Automation позволяют контролировать другие приложения. И таких примеров можно назвать множество не только для изделий от Microsoft.

Рис. 2. Мастера Rules Wizard в подсистеме Policy Manager

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

К другим распространенным уязвимостям баз данных можно отнести:
  • нарушение прав доступа к объектам баз данных (таблицам, хранимым процедурам и т.д.);
  • незащищенный удаленный доступ к базе данных;
  • одновременная работа с базой данных нескольких администраторов (учетная запись sa);
  • доступ к базе данных пользователя с учетной записью Guest;
  • неустановленное обновление для базы данных (например, Service Pack для SQL Server);
  • несоответствие требованиям перехода к 2000 году и т.д.

Кроме уязвимостей, присутствующих в самих СУБД, существует ряд «слабых мест» в самой операционной системе, которые существенным образом влияют на общий уровень защищенности базы данных:

  • неустановленные в операционной системе значения patch и hotfix;
  • незащищенная файловая система (например, FAT вместо NTFS);
  • запуск SQL-сервера под управлением любой учетной записи (в том числе и с правами администратора домена) и т.п.

Список уязвимостей можно продолжать очень долго. Например, система анализа защищенности Database Scanner, описываемая ниже, позволяет проверять более 200 уязвимостей.

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

Автоматизировать процесс поиска уязвимостей помогут средства анализа защищенности (Security Assessment System), также часто называемые сканерами безопасности (security scanner). Использование этих средств поможет определить уязвимости в корпоративной сети и устранить их до тех пор, пока ими воспользуются злоумышленники. Однако, если средств анализа защищенности, работающих на уровне сети и операционной системы, существует не один десяток, то средств, анализирующих базы данных намного меньше. На сегодняшний день всего два. Это система Database Scanner от Internet Security Systems, Inc. (http://www.iss.net) и система SQL Secure Policy компании BrainTree Security Software (http://www.braintree.co.uk, http://www.sqlsecure.com.).

Database Scanner

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

Система Database Scanner обнаруживает различные проблемы, связанные с безопасностью баз данных, начиная от «слабых» паролей и заканчивая «проблемой 2000 года». Встроенная база знаний (Knowledge Base), доступная непосредственно из создаваемых отчетов, рекомендует корректирующие действия, которые позволяют устранить обнаруженные уязвимости.

Текущая версия системы Database Scanner (2.1) обнаруживает более 200 узких место в защите СУБД путем анализа эффективности выполнения процедур аутентификации, авторизации и целостности. Все проверки, осуществляемые системой Database Scanner, можно разделить на 17 категорий, в том числе:

  • проверки подсистемы аудита СУБД;
  • проверки подсистемы резервного копирования;
  • проверки прав доступа пользователей к объектам СУБД;
  • проверки хранимых процедур (stored procedure);
  • проверки возможности осуществления различных атак.

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

В системе Database Scanner имеется подсистема Password Strength, которая позволяет проводить анализ парольной подсистемы выбранной СУБД. Такой анализ включает в себя использование как встроенного словаря часто используемых паролей (содержит более 30000 фраз), так и создание, и применение пользовательского файла паролей. Кроме того, подсистемой Password Strength проводится ряд стандартных проверок:

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

Администратор безопасности, проводящий анализ защищенности баз данных корпоративной сети, может использовать либо один из трех изначально устанавливаемых шаблонов, определяющих степень детализации сканирования (Top Secret, Confidential, Secure), либо создавать на их основе свои собственные шаблоны, задающие только те проверки, которые должны проводиться для выбранных серверов баз данных. Все созданные шаблоны могут быть сохранены для последующего использования.

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

Для периодического (или в заданное время) проведения анализа защищенности существует возможность запуска системы Database Scanner по расписанию. Для этого можно использовать сервис AT Windows NT и не только запускать систему Database Scanner, но и создавать отчеты по результатам ее работы.

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

Однако, как уже отмечалось выше, при построении комплексной системы защиты информации в корпоративной сети анализом защищенности только баз данных дело не ограничивается. Необходимо анализировать защищенность операционных систем, сетевых сервисов и протоколов, коммуникационного оборудования и т.д. Компания Internet Security Systems предлагает еще ряд средств обнаружения уязвимостей, функционирующих на уровне сети (система Internet Scanner), на уровне ОС и приложений (системы System Scanner и Security Manager). Общее число обнаруживаемых этими системами уязвимостей составляет 1600. На сегодняшний день это единственная компания, предлагающая средства анализа защищенности для всех уровней информационной инфраструктуры предприятия.

SQL <> Secure Policy

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

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

Настройка правил осуществляется при помощи Мастеров Правил (Rules wizards), которые позволяет очень точно и гибко настроить процесс оценки баз данных, учитывая специфику технологии обработки информации и политику безопасности, принятые в организации [3].

Система SQL <> Secure функционирует под управлением Windows 9x, NT и работает с СУБД Oracle и Sybase.

Как уже упоминалось, система SQL <> Secure Policy это не система анализа защищенности «в чистом виде». Помимо поиска и устранения уязвимостей, она обладает возможностью анализа журналов, создаваемых подсистемой аудита, контроля за применением уже использованных ранее паролей или единого пароля для множества распределенных баз данных (механизм Single Sign On) и т.д. Поэтому, если пользователю необходима только система анализа защищенности, то лучше воспользоваться системой Database Scanner, не отягощенной дополнительными, по отношению к анализу защищенности, функциями.

Положение в России

В России доступна система Database Scanner через единственного представителя компании Internet Security Systems в России и странах СНГ - НИП «Информзащита». У компании BrainTree Security Software представительств в России на данный момент нет.

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

Об авторe

Алексей Лукацкий — руководитель отдела Internet-решений научно-инженерного предприятия «Информзащита», Москва. С ним можно связаться по электронной почте: luka@infosec.ru

Литература

[1] Securing Microsoft SQL Server. Internet Security Systems. November, 1998.

[2] Database Scanner 2.0. User Guide.

[3] Policy Management Tools. SC Magazine. April, 1999. http://www.westcoast.com