Современные технологии защиты данных при их хранении
Алексей Раевский
raevsky@securit.ru
Современные корпорации сталкиваются с бурным ростом объемов данных, необходимых для их повседневной работы. Этот рост вызван потребностью постоянно иметь "на кончиках пальцев" финансовую, маркетинговую, техническую, статистическую и другую информацию для оперативного реагирования на изменения рыночной ситуации, поведение конкурентов и клиентов. Для этого применяются различного рода хранилища, сети хранения данных, массивы накопителей на жестких дисках и лентах.
Однако высокая степень централизации корпоративной информации делает ее более уязвимой и упрощает задачу злоумышленнику, который поставил себе цель получить доступ к этой информации. Ситуация усугубляется тем, что современные технологии хранения данных, начиная от обычного файл-сервера и заканчивая такими архитектурами, как SAN или NAS, практически не предусматривают встроенных средств разграничения доступа и защиты информации.
Таким образом, часто, если не всегда, конфиденциальная информация, которая представляет ценность для компании и утечка которой чревата серьезными неприятностями — ущербом для деловой репутации, судебными исками или потерей конкурентных преимуществ, практически никак не защищена от ряда угроз.
Основные уязвимости
Поскольку информация в корпоративных сетях обычно хранится на жестких дисках и магнитных лентах, именно они представляют собой основное уязвимое место. Простейший вариант утечки конфиденциальной информации в этом случае — попадание носителя с информацией в чужие руки. Это может произойти как в результате намеренной, спланированной акции по изъятию или хищению носителей или компонентов информационной системы, так и в результате случайного попадания носителя в чужие руки — например, при отправке жесткого диска в ремонт.
Что касается магнитных лент, то с ними ситуация еще хуже. Во-первых, они довольно компактны, их можно легко вынести за пределы контролируемой территории, а пропажа будет заметна не сразу. Во-вторых, они, как правило, содержат полную копию всей информации с нескольких, а то и со всех серверов информационной системы. Наконец, существуют специальные регламенты, касающиеся восстановления бизнеса после бедствий (disaster recovery), в соответствии с которыми резервные копии информации должны храниться в специальном депозитарии или, по крайней мере, за пределами офиса, что также расширяет круг лиц, которые могут получить доступ к этим копиям, и соответственно повышает вероятность утечки.
Задачу обеспечения безопасности хранилищ данных нельзя решить с помощью средств защиты периметра сети, таких, как межсетевые экраны, средства обнаружения и предотвращения атак (IDS/IPS) и средства организации виртуальных частных сетей (VPN). Во-первых, эти средства никак не ограничивают возможности легальных пользователей корпоративной сети, а во-вторых, наличие хотя бы одной бреши в защите позволит злоумышленнику получить доступ к хранимым данным.
Не работают в этом случае и средства аутентификации — не важно, многофакторной ли, парольной, биометрической или с использованием смарт-карт, — потому что аутентификация не спасет, если злоумышленник получит физический доступ к носителю информации. Так, по различным оценкам, от 50 до 80% атак, направленных на получение информации ограниченного доступа, начинается из локальной сети предприятия (интрасети).
Общие принципы защиты данных при хранении
Из того, что сказано выше, становится ясно, что единственный способ защиты от перечисленных угроз — это шифрование данных. Если информация зашифрована, даже попадание носителя информации в руки злоумышленнику не приведет к утечке информации, если у него нет ключа шифрования.
Современные симметричные алгоритмы шифрования с длиной ключа от 128 бит требуют астрономических ресурсов для полного перебора всего множества ключей, и даже объединение многих компьютеров в сеть для перебора ключей не даст результатов в обозримом будущем. Так, в рамках международного проекта distributed.net удалось пока "осилить" только 64-разрядный ключ, и с декабря 2002 г. до сих пор идет работа над взломом 72-разрядного, причем к моменту написания данной статьи было перебрано менее 0,2% всех возможных вариантов ключей шифрования.
Уничтожение информации
Использование шифрования, как ни странно это может показаться, весьма эффективно для уничтожения информации. Если зашифровать информацию, а ключ шифрования уничтожить, то при должной длине и качестве ключа и надежном алгоритме шифрования восстановить данные будет невозможно, поскольку зашифрованные данные без ключа — просто мусор.
Таким образом, в некоторых приложениях, требующих специального регламента по уничтожению информации на носителях, часто бывает достаточно зашифровать данные и уничтожить в случае чего ключ шифрования, тем более что несколько десятков байт уничтожить существенно проще, чем несколько сотен гигабайт.
Это может быть "мягкой" альтернативой или дополнением к специальным устройствам для уничтожения информации, после срабатывания которых носитель информации, как правило, приходит в негодность.
Программные средства защиты информации на дисках
Наиболее очевидный вариант реализации программной системы защиты информации при ее централизованном хранении предусматривает "прозрачное" шифрование данных, хранимых на жестких дисках. Это означает, что все данные при их записи на диск автоматически зашифровываются, а при чтении — расшифровываются. Шифрование выполняется программным драйвером-фильтром, ключ находится в оперативной памяти.
Такая система устанавливается на сервер, к которому непосредственно подсоединены носители с защищаемой информацией. Это могут быть обычные жесткие диски (IDE или SCSI), RAID-массивы, хранилища данных, подключаемые по Fibre Channel, и т. д.
Обычно ядро системы состоит из двух драйверов (рис. 1). Один представляет собой фильтр ввода-вывода соответствующей подсистемы, а второй, криптоядро, реализует один или несколько алгоритмов шифрования и может быть как полноценным драйвером, так и динамической библиотекой нулевого кольца. Такая архитектура, во-первых, дает возможность использовать одно общее криптоядро для различных применений, а во-вторых, обеспечивает большую гибкость в нелегком деле преодоления законодательных ограничений в области регулирования оборота криптографических средств. Отдельные модули реализуют пользовательский интерфейс с ядром системы, при этом возможно удаленное администрирование системы, с любой рабочей станции сети или через Интернет.
Рис. 1. Архитектура системы защиты информации на дисках.
|
Стоит также упомянуть особенность, без которой не обошелся никто из разработчиков подобных систем. Речь идет о возможности экстренного отключения ядра системы и стирания ключей шифрования из памяти сервера по специальному сигналу — "тревога". Такой сигнал также может подаваться удаленно, причем спектр устройств, обеспечивающих подачу сигнала, довольно высок — начиная от обычной кнопки, замыкающей две линии на порту RS-232, до радиобрелока, GSM-модема или датчика охранной сигнализации.
Существует ряд систем, работающих по вышеописанному принципу, причем подчеркнем,
что именно российские разработчики достигли в этой области наибольших успехов.
В качестве примера можно упомянуть такие продукты, как StrongDisk Server компании
"Физтех-софт" (http://www.phystechsoft.ru),
"Индис-сервер" от "ЛАН Крипто" (http://www.lancrypto.ru)
и Zserver компании SecurIT (http://www.securit.ru).
Ниже мы рассмотрим функциональные возможности продуктов подобного класса, как стандартные, присутствующие практически во всех продуктах, так и уникальные, не имеющие аналогов.
Генерация ключей
Генерация ключей шифрования — это наиболее тонкий момент любой системы шифрования данных. От того, как сгенерирован ключ шифрования, зависит стойкость системы: ведь любая ошибка или небрежность в реализации этого процесса может существенно упростить криптоанализ и снизить стойкость.
Лучший ключ шифрования — это совершенно случайная последовательность битов, а в цифровых устройствах фактор случайности, как правило, сведен к минимуму. Наиболее целесообразный способ генерации ключей — это измерение интервалов между нажатиями клавиш в процессе работы пользователя и формирование на их основе случайной последовательности.
Кворум ключей шифрования
Кворум ключей шифрования — это новая функция, присутствующая далеко не во всех системах. Она может быть полезна в том случае, когда требуется распределить ключ шифрования среди нескольких пользователей, для снижения риска "человеческого фактора". Например, ключ шифрования по специальной формуле разбивается на n частей одинакового размера, так, что для его восстановления достаточно любых k частей (k ? n). В этом случае говорят о кворуме ключей k/n.
На практике распространены схемы кворума ключей 2/2, 2/3, 2/5 и 3/5. Например, в варианте 2/3 ключ разбивается на три части и по одной выдается системному администратору, офицеру безопасности и руководителю компании. Чтобы получить доступ к зашифрованным данным, необходимо загрузить на сервер любые две части. В этом случае сохраняется гибкость системы и существенно снижается риск — компрометация какой-либо одной части ключа не приведет к компрометации зашифрованных данных.
Первоначальное зашифровывание дисков
После установки системы и генерации ключей шифрования необходимо зашифровать те диски, на которых хранится конфиденциальная информация. Эта операция выполняется один раз, сразу после установки системы и генерации ключей шифрования. В зависимости от объема шифруемого раздела первоначальное зашифровывание может занять довольно много времени; кроме того, некоторые системы монопольно блокируют доступ к шифруемому разделу, не позволяя другим процессам обращаться к нему. Это не всегда удобно, поскольку в современных условиях бизнеса простой сервера даже в ночное время не всегда приемлем.
В более продвинутых продуктах реализован ряд функций, позволяющих свести время простоя сервера к минимуму. Во-первых, это так называемое фоновое шифрование раздела. В этом случае процесс шифрования раздела запускается в фоновом режиме, а доступ к разделу не блокируется. Драйвер-фильтр в каждый момент времени знает, где проходит граница между зашифрованной частью раздела и незашифрованной, и может корректно обработать операции чтения-записи.
Во-вторых, это быстрое форматирование раздела с шифрованием. Данная возможность предназначена для тех случаев, когда шифруемый раздел вообще не содержит никаких данных, например, когда система ставится на только что купленный сервер. Удивительно, но некоторые системы даже при том, что раздел пуст, все равно заставляют пользователя шифровать его.
В других системах можно просто "включить" режим прозрачного шифрования для выбранного раздела, а потом создать на нем файловую систему в процессе выполнения стандартной операции быстрого форматирования. Таким образом, получится новый зашифрованный раздел с файловой системой. Правда, такой метод подходит лишь для пустого, не содержащего полезной информации раздела.
Централизованное администрирование
Для удобства управления системой администраторская консоль должна обеспечивать одновременное управление несколькими серверами с любой рабочей станции сети или через Интернет. При этом весь трафик, передаваемый по сети, должен шифроваться, поскольку в процессе управления по открытым каналам связи могут передаваться ключи шифрования. Для взаимной аутентификации клиента и сервера и для обмена сессионными ключами, как правило, используется специальный алгоритм, например, Диффи — Хеллмана.
Не очень удачным представляется подход, когда используются стандартные высокоуровневые протоколы удаленного управления, такие, как MMC (Microsoft Management Console) или Remote Desktop. Причина в том, что эти протоколы не предусматривают встроенных возможностей защиты каналов связи, так что об этом приходится заботиться отдельно, а технология MMC вообще построена на базе протокола RPC, который, во-первых, требует для своей работы более десятка портов TCP/IP, а во-вторых, как показали недавние вирусные эпидемии, очень небезопасен.
Программные средства защиты информации на лентах
Несмотря на кажущиеся различия, системы шифрования данных в процессе резервного
копирования имеют много общего с системами защиты дисков. Тем не менее по каким-то
причинам системы защиты информации на лентах не получили такого развития. Из
существующих на сегодня подобных систем можно назвать только встроенную в последние
версии ПО резервного копирования BrightStor ARCserve Backup от CA (http://www.ca.com)
функциональность шифрования данных и универсальную систему Zbackup от SecurIT.
Отметим, что встраивание функционала шифрования данных в ПО резервного копирования — вполне логичный и ожидаемый процесс, поскольку в отличие от дисков, с которыми может работать практически любое приложение, запись на магнитную ленту в процессе резервного копирования выполняется одним-единственным приложением, которое перед записью вполне может эти данные зашифровать. Тем не менее такая функциональность встроена только в один программный пакет для резервного копирования на ленту, да и сама реализация, по отзывам многих экспертов, способна удовлетворить далеко не самых взыскательных пользователей.
Поэтому остановимся подробнее на универсальной системе защиты информации при ее резервном копировании на ленту Zbackup. Подчеркнем, что это не система резервного копирования, она лишь обеспечивает защиту данных на магнитных лентах, записываемых в процессе штатной работы ПО резервного копирования (например, ARCserve Backup от CA или Veritas Backup Exec) на серверах, причем таких компонентов ПО резервного копирования, которые непосредственно взаимодействуют с устройствами резервного копирования — стримерами. Иначе говоря, Zbackup устанавливается на серверах, где работают сервисы поддержки ленты (Tape Engine Service); на рабочие станции с программами — агентами резервного копирования устанавливать ее не требуется.
Шифрование проводится на уровне физических секторов, при форматировании лент и записи на них непосредственно самим ПО резервного копирования. Для запуска шифрования достаточно загрузить в систему ключ шифрования и связать его с устройством резервного копирования (стримером).
После установки Zbackup в работе программ резервного копирования ничего не меняется, но данные, содержащиеся на зашифрованных лентах, становятся недоступными для простого считывания любыми программами, поскольку данные находятся на ленте в зашифрованном виде, расшифровываются при чтении и зашифровываются при записи. При попытке чтения зашифрованных лент в программах резервного копирования без ввода соответствующих ключей шифрования такие ленты будут распознаваться как ленты неизвестного формата или пустые.
Аппаратные средства защиты данных при хранении
Несмотря на универсальность и удобство программных средств, бывают ситуации, в которых они неприменимы. Рассмотрим ряд таких ситуаций.
Нехватка производительности. Несмотря на то, что производители современных
программных систем уделяют очень много внимания оптимизации критических участков
кода, и средние потери производительности не превышают 10-15%, иногда и это
бывает неприемлемым.
Устройства NAS. Типичные устройства NAS (network attached storage) представляют
собой хранилище данных и сетевую ОС в одном устройстве. Таким образом, понятие
"компьютер в роли файл-сервера", на который можно поставить какое-то дополнительное
ПО, фактически ни к чему не относится.
Некоторые реализации архитектуры SAN. В некоторых случаях, когда для
организации хранилища данных используется архитектура SAN, применение программных
средств защиты также невозможно. Например, при процедуре serverless backup данные
копируются по сети SAN непосредственно с дискового массива на ленточную библиотеку,
без участия каких-то дополнительных устройств или ПО.
В этих, а также в ряде других ситуаций более уместно применение аппаратных средств защиты хранилищ данных.
Разработка и производство устройств защиты хранилищ данных — достаточно новая сфера информационной безопасности. Тем не менее разработчикам и производителям таких устройств удалось добиться впечатляющих результатов и продемонстрировать свое инженерное искусство.
Например, устройство защиты хранилищ данных DataFort (рис. 2), выпускаемое
компанией Decru (http://www.decru.com), вошло
в престижный список eWeek Top 10 Products of 2004. Рассмотрим его возможности
более подробно.
Рис. 2. Устройство Decru DataFort.
|
Decru DataFort представляет собой устройство в стоечном формате 1U или 2U, которое может подключаться к сети Ethernet или Fibre Channel. Устройство может шифровать данные, которые хранятся на устройствах NAS или SAN и на магнитных лентах.
Основной компонент устройства — специально сконструированный криптопроцессор SEP (Storage Encryption Processor), который обеспечивает шифрование со скоростью несколько гигабит в секунду и надежное хранение ключей шифрования.
Схема управления ключами в DataFort заслуживает более подробного описания. Для шифрования разделов данных, каталогов и даже отдельных файлов можно использовать различные ключи, которые называются рабочими. Рабочие ключи шифрования хранятся непосредственно в защищенном хранилище SEP и никогда не покидают его пределов в открытом виде.
Резервные копии рабочих ключей хранятся на выделенной рабочей станции под управлением Windows (рис. 3), на которой установлено ПО Lifetime Key Management (LKM). Резервное копирование осуществляется по протоколу TCP/IP, причем рабочие ключи зашифрованы мастер-ключом устройства DataFort. Мастер-ключ вводится в устройство при его инициализации, перед вводом в эксплуатацию, и хранится на смарт-картах с использованием схемы кворума ключей 2/3, 2/5 или 3/5. Мастер-ключ требуется только при инициализации нового устройства, для загрузки в него конфигурации и рабочих ключей из LKM. В остальное время смарт-карты с мастер-ключом не нужны и могут храниться у доверенных лиц в надежном месте.
Рис. 3. Пример развертывания устройства DataFort.
|
Для защиты данных в сетях SAN используется оригинальная идея разбиения хранилища на криптографические разделы Cryptainer, информация на которых может шифроваться разными ключами для разных групп пользователей. Это позволяет решить одну из главных проблем защиты данных и разграничения доступа в хранилищах SAN, которая заключается в том, что информация для разных групп пользователей и разного уровня конфиденциальности хранится на одном устройстве.
Таким образом, устройство DataFort полностью прозрачно как для хранилищ данных, так и для клиентов, и не требует никаких изменений в ПО на клиентских и серверных местах. По сути, DataFort выступает в роли своеобразного прокси, представляясь хранилищем данных для клиентов и клиентом — для хранилищ данных.
Устройство DataFort может поставляться с отключенным шифрованием, при этом оно служит только для разграничения доступа.
С целью повышения надежности и производительности системы несколько устройств DataFort (до 32) можно объединить в кластер.
Увы, у аппаратных средств защиты хранилищ данных есть один, но очень серьезный недостаток — довольно высокая стоимость. В сравнении с программными средствами стоимость аппаратных устройств выше в 10-20 раз, а если учитывать дополнительные расходы на приобретение и внедрение таких устройств — то и больше. Таким образом, позволить себе подобную роскошь могут лишь довольно крупные компании, для которых затраты свыше 100 тыс. долл. только на защиту хранилищ данных будут оправданны.