Назад | Перейти на главную страницу

Какой механизм безопасности предотвращает доступ на запись к определенным папкам в Windows?

В Windows 2012 R2 \ 8.1 есть определенные папки, содержимое которых недоступно для записи - один из примеров - Program Files \ WindowsApps (в котором хранятся приложения, загруженные из Магазина Windows). Очевидно, это сделано намеренно - чтобы люди не могли изменять код, который не должен быть доступен для конечных пользователей, - но какой именно механизм останавливает это? В качестве упражнения я пробовал различные средства, чтобы обойти его, но, даже получив право владения каталогом, предоставив моему пользователю разрешение на полный контроль над ним и убедившись, что не установлены флаги только для чтения, я все еще получаю отказ в разрешении, пытаясь записать новый файл в эта зона. Я даже пытался сделать это из командной строки, запущенной как «Система» (через sysinternals psexec), но получаю ту же ошибку.

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

Причина вопроса кстати в том, что я пишу презентацию о безопасности приложений Магазина Windows и знаю, что кто-то спросит меня, что мешает конечным пользователям войти туда и изменить их. Любые указатели на конкретную документацию по этому вопросу от MS были бы замечательными, если бы кто-нибудь когда-либо видел такое (я много искал, но ничего не нашел). Приносим извинения, если этот вопрос кажется немного связанным с клиентом, но я вижу, что он уже задавался в SuperUser несколько раз, и никто, похоже, не знает ответа. Большое спасибо за любую помощь.

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

Думайте об этом как о песочнице Apple на iOS. Он предназначен для следующих целей:

  • Остановить файлы от изменения (изменение настроек / параметров / значений)
  • DRM (часть магазина Windows использует DRM, и это папка с файлами conf)
  • SHA / MD5 (чтобы убедиться, что контрольные файлы такие же, как и они, также хранятся в этой папке для приложений)

Я попытаюсь откопать имеющуюся у меня статью разработчиков, которую я получил на конференции по сборке Microsoft, когда была выпущена 8.1.

Хотя это было дополнительно заблокировано в 8.1, в 8 вы можете получить право владения + контроль, добавив папку, которой должен владеть Administrators а затем предоставить пользователю полный контроль.

Как ни странно, если вы используете диск, отличный от Windows 8, вы можете изменить эти файлы по своему усмотрению, хотя это может привести к сбою проверки SHA / MD5 и повредить все, что может быть в этой папке.