Поделиться через


Рекомендации по безопасности для Information Protection

Важно!

Версии пакета SDK службы microsoft Rights Management, выпущенные до марта 2020 г., устарели; Для использования выпуска за март 2020 г. необходимо обновить приложения, использующие более ранние версии. Подробные сведения см. в уведомлении об устаревании.

Для пакета SDK службы Microsoft Rights Management не планируется никаких дополнительных улучшений. Настоятельно рекомендуем внедрить пакет SDK для Microsoft Information Protection для служб классификации, маркировки и защиты.

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

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

Неохваченные темы

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

  • Управление процессом разработки программного обеспечения — управление конфигурацией, защита исходного кода, минимизация доступа к отлаженному коду и назначение приоритета ошибкам. Для некоторых клиентов безопасный процесс разработки программного обеспечения имеет колоссальное значение. Некоторые из них даже прописывают процесс разработки.
  • Распространенные ошибки кодирования — сведения о том, как предотвратить переполнение буфера. Чтобы узнать о распространенных угрозах и способах их устранения, рекомендуем прочесть последнее издание книги Writing Secure Code (Написание безопасного кода) Майкла Ховарда (Michael Howard ) и Дэвида Леблана (David LeBlanc) (Microsoft Press, 2002 г.).
  • Социотехника — сведения о процедурных и организационных мерах безопасности, с помощью которых можно защитить код от эксплуатации разработчиками или другими пользователями в организации производителя.
  • Физическая безопасность — сведения о блокировании доступа к базе кода и подписыванию сертификатов.
  • Развертывание и распространение предварительной версии программного обеспечения — сведения о распространении бета-версии программного обеспечения.
  • Управление сетью —сведения о системах обнаружения атак в физических сетях.

Модели рисков и их устранение

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

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

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

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

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

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

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

Вредоносные программы

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

Импорт вредоносных программ с помощью таблиц адресов

Пакет SDK защиты информации не поддерживает изменение кода во время выполнения или изменение таблицы адресов импорта (IAT). Такая таблица создается для каждой библиотеки DLL, загруженной в пространство процесса. Она задает адреса всех функций, которые импортирует приложение. Одна из распространенных атак — изменение записей IAT в приложении, чтобы адреса указывали на вредоносную программу. Пакет SDK останавливает приложение при обнаружении этого типа атак.

Минимальный стандарт

  • Таблицу адресов импорта невозможно изменять во время выполнения процесса приложения. В приложении указано множество функций, вызываемых во время выполнения с помощью таблиц адресов. Эти таблицы невозможно изменять во время или после выполнения. Помимо прочего, это ограничение означает, что вы не сможете выполнить профилирование кода приложения, подписанного с помощью рабочего сертификата.
  • Вы не сможете вызвать функцию DebugBreak из любой библиотеки DLL, указанной в манифесте.
  • Вы также не сможете вызвать LoadLibrary с установленным флагом DONT_RESOLVE_DLL_REFERENCES. Этот флаг сообщает загрузчику, что следует пропустить привязку к импортированным модулям, тем самым изменяя таблицу адресов импорта.
  • Вы не можете изменить отложенную загрузку путем изменения ключа компоновщика /DELAYLOAD во время или после выполнения.
  • Вы не можете изменить отложенную загрузку, предоставив собственную версию вспомогательной функции Delayimp.lib.
  • Пока существует среда пакета SDK для защиты информации, вы не сможете выгрузить модули, загруженные с задержкой модулями с проверкой подлинности.
  • Выгрузку отложенных модулей невозможно включить с помощью ключа компоновщика /DELAY:UNLOAD.

Неправильная интерпретация лицензионных прав

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

Azure Information Protection (AIP)

Система защиты информации упорядочивает права на несколько групп. Дополнительные сведения см. в разделе "Настройка прав на использование" для Information Protection Azure.

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

Минимальный стандарт

  • Реализация прав XrML версии 1.2 клиента должна соответствовать определениям этих прав, как описано в спецификациях XrML, доступных на веб-сайте XrML (http://www.xrml.org). Все права, относящиеся к приложению, должны быть определены для всех субъектов, заинтересованных в приложении.
  • Ваш набор тестов и процесс тестирования должны подтвердить, что приложение правильно функционирует в соответствии с правами, которые оно поддерживает. Кроме того, они должны подтвердить, что приложение не действует на основании неподдерживаемых прав.
  • Если вы создаете приложение для публикации, то должны предоставить доступ к информации, которая поясняет используемые встроенные права. Сюда входят те, которые не поддерживаются приложением публикации, а также способы интерпретации этих прав. Кроме того, пользовательский интерфейс должен четко объяснять пользователю, что означает каждое предоставленное или непредоставленное право для конкретного фрагмента информации.
  • Все права, которые абстрагируются путем включения в новые права, реализуемые приложением, должны быть приведены в соответствие с новой терминологией. Например, новое право, которое называется MANAGER, может включать отдельные права на ПЕЧАТЬ, КОПИРОВАНИЕ и ИЗМЕНЕНИЕ.

В настоящее время отсутствует.

Предпочтительный стандарт

В настоящее время отсутствует.

Дополнительная информация

Рекомендации по реализации приложений с помощью пакета SDK AIP включают в себя следующие статьи: