Предоставление AppContainer доступа к ресурсам

Вы можете изменить access control list (ACL) защищаемых ресурсов, чтобы разрешить доступ из Internet Explorer AppContainer. Но поскольку такие изменения влияют на профиль безопасности устройства пользователя, предоставлять доступ следует только после тщательного рассмотрения этого вопроса.

Вопросы безопасности перед предоставлением доступа

Элементы управления ActiveX работают в рамках процесса IE, поэтому надстройки требуют тесной интеграции (и сотрудничества) с моделью безопасности IE.

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

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

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

  • Содержит ли ресурс персональные данные пользователя? Если да, доступ нельзя предоставлять без уведомления пользователя и получения его согласия.
  • Может ли AppContainer запустить атаку против системы или других процессов AppContainer при получении доступа к информации, защищенной ресурсом? Если да, доступ предоставлять нельзя.
  • Может ли AppContainer использовать доступ к ресурсу для нарушения работы служб на устройстве? Например, может ли запись на ресурс создать блокирующую операцию? Можно ли использовать поведение для осуществления атаки типа "отказ в обслуживании" или так называемой атаки "захватом семафора"? Если да, доступ предоставлять нельзя.
  • Назначаете ли вы наименьший требуемый доступ? Если вы предоставляете, например, право записи, действительно ли AppContainer обновляет данные?
  • При использовании других процессов для потребления данных, предоставленных ненадежным источником (например, AppContainer), рассматривайте данные как недоверенные и потенциально вредоносные.

Решения, касающиеся доступа к ресурсам, затрагивают вопросы безопасности и, следовательно, могут иметь серьезные последствия.

Предоставление AppContainer доступа к ресурсам

Ресурсы защищены списками управления доступом (ACL), в которых описан разрешенный доступ. Чтобы предоставить IE AppContainer доступ к ресурсам, обновите security descriptor (SD), связанный с ресурсом:

  • Добавьте ACCESS_ALLOWED_ACE, который предоставляет доступ пакету security identifier (ИД безопасности), соответствующему AppContainer.
  • Если вы пользуетесь SDDL, используйте соответствующий ИД безопасности пакета: ("A;OICI;0x1200a9;;; S-1-15-3-4096").
Для обновления ACL можно использовать различные средства, в том числе:

  • Пользовательский интерфейс ACL.
  • Служебную программу командной строки lcacls.exe.
  • Командлет PowerShell set-acl.

См. также:

Предоставление доступа программными средствами

Вы также можете создать и установить в коде дескриптор безопасности, как показано здесь:


//Security Descriptor example
SID_IDENTIFIER_AUTHORITY AppPackageAuthority = SECURITY_APP_PACKAGE_AUTHORITY;
PSID Sid = NULL;
PACL Acl;
//
// TODO: Allocate Acl with appropriate size and check for error.
//
if (!AllocateAndInitializeSid(&AppPackageAuthority,
2,
SECURITY_APP_PACKAGE_BASE_RID,
SECURITY_CAPABILITY_INTERNET_EXPLORER,
0, 0, 0, 0, 0, 0,
&Sid))
{
//
// TODO: Handle error.
//
}
//
// TODO: Place other ACEs as before.
//
if (!AddAccessAllowedAceEx(Acl, ACL_REVISION,
CONTAINER_INHERIT_ACE | OBJECT_INHERIT_ACE,
(SYNCHRONIZE | FILE_READ_DATA ), Sid))
{
//
// TODO: Handle error.
//
}
//
// TODO: Set ACL to security descriptor and apply security descriptor to object
//


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

Примечание  Помните, что для предоставления доступа дескриптор безопасности (SD) должен включать элемент управления доступом (ACE) для IE AppContainer.

Связанные разделы

Расширенный защищенный режим (EPM) можно включить в классическом браузере
Поддержка расширенного защищенного режима (EPM)
Определение уровня целостности и изоляции
Создание и открытие защищаемых объектов

 

 

Показ:
© 2014 Microsoft