Обзор Средства защиты информации и бизнеса 2006 подготовлен При поддержке
CNewsAnalytics 3Com TippingPoint

Программные хранилища могут быть опасны

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

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

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

Основные угрозы

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

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

Получить физический доступ к «бесхозному» компьютеру не составляет никакой сложности. А это значит, что потенциально злоумышленник может получить доступ к программному хранилищу. Фактически любой офис не является безопасной средой и представляет богатые возможности для проникновения злоумышленника, особенно обладающего навыками социальной инженерии. Программное хранилище закрытых ключей легального пользователя (сотрудника компании) может быть захвачено, скопировано или украдено вместе с ноутбуком или карманным компьютером. Причем в качестве злоумышленника можно легко представить не только «случайного гостя», но и коллегу по работе или даже уборщицу. Если задаться вопросом, почему уборщица могла бы заинтересоваться программным хранилищем, ответ прост — так проще всего реализовать атаку, направленную на отдельно взятую компанию. Для такого нападения естественная стратегия состоит в том, чтобы компания сама наняла сотрудника в штат. Например, ту же самую уборщицу или электрика, которым вполне может оказаться опытный социоинженер (хакер, совмещающий ИТ и социотехники для воздействия на людей с какой-либо целью). Компания нанимает электрика на небольшую зарплату, не подозревая, что стоимость его «работы» может обойтись ей намного дороже. Ведь электрик имеет физический доступ во все помещения офиса. Остаётся лишь дождаться удобного момента, и задачу можно считать выполненной.

Важно отметить, что простой блокировки компьютера недостаточно — злоумышленник может просто вручную извлечь жесткий диск и прочесть хранящиеся на нём файлы. Конечно, можно принять контрмеры против кражи программного хранилища, например, зашифровав содержимое жёсткого диска компьютера. Однако в большинстве случаев даже такой «грубый» вариант всё еще остаётся возможным.

Вторую угрозу представляет злонамеренное программное обеспечение (malicious software), к которому относятся вирусы, сетевые черви, трояны и др. Стремительное распространение вредоносных программ ежегодно наносит компаниям колоссальный ущерб. Заражение с помощью любого типа злонамеренного ПО может иметь разрушительные последствия для хранящегося на компьютере пользователя закрытого ключа, защищенного программными средствами. Написанная специально для этих целей программа-шпион (spyware) может просто считать файл программного хранилища без ведома хозяина компьютера и послать его своему автору. Такие программы незаметно «подсаживаются» на компьютер в ходе просмотра обычных с виду web-страниц.

Более того, описанная выше атака может носить массовый характер, и таким образом множество ключей, хранящихся на компьютерах, могут быть считаны и украдены одним единственным «шпионом». В качестве примера можно привести вирус под названием Caligula, выпущенный в конце 90-ых годов. Он был предназначен для похищения закрытых ключей пользователя системы PGP, которые хранились в программном хранилище.

Основные контрмеры

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

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

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

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

Пробуя вводить подобранные пароли, атакующий может угадать необходимую для доступа комбинацию. Такое нападение называют «атакой по словарю» или «словарной атакой» и оно в достаточной мере эффективно. Единственный способ предотвратить эту угрозу состоит в применении сложного пароля, содержащего символьные, цифровые, буквенные значения разных регистров, и к тому же состоящего из случайного набора символов. Качественный пароль может выглядеть примерно так: g1UY$^M#&6430Ff``@Nk. К сожалению, запомнить такую комбинацию для большинства пользователей не представляется возможным, особенно если принять во внимание тот факт, что паролей может быть несколько. Таким образом, в большинстве случаев, «словарные атаки» очень успешны.

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

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

Алексей Сабанов, Антон Крячков, Константин Демченко, Сергей Белов

Вернуться на главную страницу обзора

Версия для печати

Опубликовано в 2006 г.

Техноблог | Форумы | ТВ | Архив
Toolbar | КПК-версия | Подписка на новости  | RSS