Безопасная Среда Для Выполнения Криптографических Операций

«Я определенно думаю, что криптография становится менее важной.

На самом деле, даже самые безопасные компьютерные системы в самых изолированных местах в последние годы были скомпрометированы с помощью ряда атак APT или других передовых технологий», — сказал Ади Шамир, участвуя в сессии по криптографии на конференции RSA. О чем говорит «отец-основатель» криптографии с открытым ключом? Сегодня невозможно представить защиту информации без криптографии.

Надежность современных криптографических алгоритмов еще не подвергалась сомнению.

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

Есть много причин для этого.

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

, а обсуждаются исключительно технические аспекты.

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

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

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

Что должна обеспечивать среда выполнения криптографических операций:

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

Отдельный момент — удобство использования решения.

Это требование не техническое, а скорее коммерческое.

И конечно, в этом вопросе нет строгой формализации.

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

Ниже приведен краткий обзор.

Антивирусы и песочницы К «первой линии защиты» относятся различные средства защиты программного обеспечения, установленные в системе.

Следует отметить, что эти инструменты не являются самой средой, а используются для создания защищенной среды в ОС компьютера.

К таким инструментам относятся антивирусы и различные программные песочницы.

Использование этих инструментов значительно снижает риск несанкционированного доступа к данным во время критически важных операций.

Однако, как показывает практика, их использование не гарантирует защиты.

Ошибки в общесистемном ПО и постоянно развивающееся шпионское ПО позволяют обойти практически любой механизм защиты ПО.

Использование модуля доверенной загрузки Доверенный загрузочный модуль (TLM) и доверенная среда звучат одинаково, но это не одно и то же.

Действительно, использование MDZ решает некоторые проблемы создания доверенной среды.

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

Такое решение повышает общий уровень безопасности до загрузки системы, но после загрузки ОС с установленным MDZ также подвержена атакам, как и обычная система.

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

Этот подход может быть реализован различными способами.

Однако все они имеют некоторые недостатки.

  • Образ системы является важнейшим компонентом решения.

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

  • Уже работающая доверенная ОС может быть атакована, как и обычная система.

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

  • Удобство использования:
    • В большинстве случаев требуется перезагрузка системы;
    • Пользователь вынужден использовать среду без привычных инструментов;
    • Связь между доверенными и ненадежными средами затруднена.

Существует два основных подхода к использованию загрузки из образа.

Виртуальная машина.

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

Как и другие механизмы защиты программного обеспечения, он снижает риск, но не гарантирует безопасность.

Загрузитесь с LiveCD/LiveUSB. При построении такого решения необходимо создать образ системы, обладающий необходимым функционалом.

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

При планировании запуска системы на разных компьютерах необходима поддержка разных аппаратных платформ.

Для безопасного использования необходимо решить все вышеперечисленные проблемы.

Некоторые проблемы можно решить, используя защищенные носители.

Загрузка с защищенного носителя Более продвинутый вариант загрузки из образа ОС — использование защищенного носителя.

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

Например, ОС, с помощью которой можно подключаться только к определенному серверу и выполнять строго определенные действия.

С точки зрения безопасности риски при использовании такого решения стремятся к нулю.

Однако при наличии ошибок на сервере системы возможность атаки сохраняется.

Защита образа системы от несанкционированной модификации реализована с помощью специальных носителей.

Специальный носитель также реализует безопасное хранение криптографических ключей.

Что касается удобства использования.

Основным недостатком всех подобных решений является «изоляция» от основной системы, а также необходимость перезагрузки системы для запуска доверенной среды.

То есть в таком решении отсутствуют привычные инструменты работы, а также усложняется передача данных между доверенными и штатными приложениями ОС.

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

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

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

Эти компьютеры могут иметь сетевое соединение напрямую друг с другом или через сервер.

Загрузка кода в одно ядро Это решение имеет смысл выделить в отдельный класс из-за оригинальности используемого механизма.

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

В первом ядре можно переключаться между работающей ОС и исполняемым кодом.

Заявлено, что ОС не имеет доступа к первому ядру с загруженной программой.

Однако есть возможность передавать данные из ОС в выделенное ядро для «доверенной» обработки.

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

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

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

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

Внешние доверенные устройства Идея переноса критически важных операций на отдельное специализированное устройство не нова.

К критическим операциям в данном случае относятся работа с ключами и контроль обрабатываемой информации.

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

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

Проблему безопасной работы с ключами давно и весьма эффективно решают смарт-карты и токены с криптографией на борту.

Ключи генерируются аппаратно на устройствах, на устройствах выполняются криптографические операции, и ключи никогда не покидают устройства.

Права доступа чаще всего разграничиваются с помощью PIN-кода.

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

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

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

Существует три основных механизма контроля:

  • Надежный механизм ввода данных.

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

    Типичным примером являются так называемые «криптокалькуляторы», на клавиатуру которых вводятся данные платежа, а затем на основе секрета устройства (или секрета платежной карты) генерируется код подтверждения платежа.

    Основным недостатком решения является необходимость ввода данных вручную.

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

  • Визуальный контроль данных осуществляется с помощью дисплея доверенного устройства.

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

    Корректность данных проверяется пользователем устройства.

    Если пользователь подтверждает правильность данных, генерируется код подтверждения.

    Устройства могут иметь разные форм-факторы и иметь разные интерфейсы обмена данными.

    На данный момент это наиболее удобные решения для создания доверенной среды.

  • Получайте данные из надежного источника с криптографической проверкой авторства.

    Получение данных от доверенного сервера приложений и расшифровка (проверка подписи) на доверенном устройстве.

    Может комбинироваться с визуальным контролем данных.

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

Достоверность данных обеспечивается наличием собственных интерфейсов ввода/вывода.

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

  • Эффективно решить проблему без отдельного от основного компьютера устройства невозможно.

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

  • Внешние подключенные устройства увеличивают свою функциональность.

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

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

Теги: #информационная безопасность #Доверенная среда #Криптография #информационная безопасность

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.