В настоящее время я пытаюсь понять механику AppContainer, которая используется для приложений WinGT в песочнице. Я понял, что AppContainers имеют свой собственный уровень целостности, который блокирует попытки чтения и записи активов с более высоким уровнем целостности. Но почему эти приложения не могут получить доступ к данным других приложений, работающих с одинаковым уровнем целостности?Уровень целостности AppContainer
И как работает доступ к объектам, когда приложение получает соответствующую возможность? Я предполагаю, например, что камера не помечена уровнем целостности «appcontainer». Поэтому любой доступ к нему приложением, запущенным в appcontainer, должен быть напрямую заблокирован. Но можно объявить о возможности камеры, и приложение сможет получить доступ к камере. Как это возможно? Могут ли возможности, обозначенные в SID, «расширить» уровень целостности приложения?
Заранее благодарен!
Спасибо за ваш ответ! Я знаю об этих двух возможностях, но даже если приложение получило соответствующую возможность, оно все еще работает на уровне целостности, поскольку оно не должно иметь доступа к чему-либо с более высокой целостностью. Afaik, проверки целостности выполняются до проверки SID. Я придумал следующую мысль: процесс брокера, через который приложение получает все «вещи с высокой степенью целостности», работает, по крайней мере, в средней целостности; поэтому все, что получает приложение, предоставляется ей брокером. – Fabian
Я согласен с тобой. Большинство вызовов от процесса к ядру являются прямыми, но некоторые из них, такие как чтение файла или доступ к веб-камере, требуют специального разрешения. Эти вызовы проксируются через брокера, который может запросить у пользователя согласие. Большинство ресурсов, требуемых для приложения, должны быть указаны как «возможности» в файле манифеста, который связан с двоичными файлами. [Link] (https://wiki.mozilla.org/Windows_8_Integration) –