Изоляция приложений Win32 — отличная функция безопасности, которую Microsoft представила в Windows 11 в прошлом месяце. Вот как она работает.
На своей ежегодной конференции Build в прошлом месяце Microsoft объявила о возможности запускать приложения Win32 изолированно в Windows 11. Компания не стала вдаваться в подробности в своем первоначальном сообщении в блоге, но выделила возможность запуска Win32. приложений в среде песочницы, чтобы остальная часть операционной системы была защищена от потенциально вредоносных программ. программное обеспечение. Теперь он раскрыл больше информации об этой конкретной возможности, в том числе о том, как она работает и вписывается в остальную инфраструктуру безопасности Windows.
Вице-президент Microsoft по безопасности ОС и предприятиям Дэвид Уэстон написал длинную Сообщение блога, объясняющий природу изоляции приложений Win32. Эта функция является еще одним вариантом безопасности песочницы, как и Песочница Windows и Microsoft Defender Application Guard, но он основан на AppContainers, а не на программном обеспечении на основе виртуализации, как две другие меры безопасности. Для тех, кто не знает, AppContainers служат способом управления выполнением процесса, инкапсулируя его и гарантируя, что он работает с очень низкими уровнями привилегий и целостности.
Microsoft настоятельно рекомендует использовать Интеллектуальное управление приложениями (SAC) и изоляция приложений Win32 в тандеме, защищая вашу среду Windows от ненадежных приложений, использующих 0-day уязвимости. Первый механизм безопасности останавливает атаки, устанавливая только доверенные приложения, в то время как второй может быть используется для запуска приложений в изолированной и безопасной среде, чтобы ограничить потенциальный ущерб и защитить пользователя конфиденциальность. Это связано с тем, что приложение Win32, работающее изолированно, не имеет того же уровня привилегий, что и пользователь системы.
Техническая фирма из Редмонда определила несколько ключевых целей изоляции приложений Win32. Во-первых, это ограничивает влияние скомпрометированного приложения, поскольку злоумышленники имеют доступ с низким уровнем привилегий к части операционной системы, и им потребуется провести сложную многоступенчатую атаку, чтобы прорваться через их песочницу. Даже если они успешны, это также дает более полное представление об их процессе, что значительно ускоряет внедрение и выпуск исправлений для смягчения последствий.
Это работает следующим образом: приложение сначала запускается с низким уровнем целостности через AppContainer, что означает что у них есть доступ к избранным API-интерфейсам Windows и они не могут выполнять вредоносный код, требующий более высоких привилегий. уровни. На следующем и последнем шаге принципы наименьших привилегий применяются путем предоставления приложению авторизованного доступа к защищаемым объектам Windows, что эквивалентно реализации Дискреционный список управления доступом (DACL) в Windows.
Еще одним преимуществом изоляции приложений Win32 является сокращение усилий разработчиков, поскольку создатели приложений могут использовать Application Capability Profiler. (ACP) доступно на GitHub чтобы понять, какие разрешения им точно нужны. Они могут включить ACP и запустить свое приложение в «режиме обучения» в изоляции приложений Win32, чтобы получать журналы о дополнительных возможностях, необходимых для запуска их программного обеспечения. ACP работает на основе серверной части уровня данных Windows Performance Analyzer (WPA) и журналов трассировки событий (ETL). Информацию из журналов, сгенерированных этим процессом, можно просто добавить в файл манифеста пакета приложения.
Наконец, изоляция приложений Win32 направлена на обеспечение беспрепятственного взаимодействия с пользователем. Изоляция приложений Win32 облегчает это, требуя, чтобы приложения использовали возможность «isolatedWin32-promptForAccess». для запроса пользователя, если ему требуется доступ к своим данным, таким как библиотеки .NET и защищенный реестр ключи. Подсказка должна быть значимой для пользователя, от которого запрашивается согласие. После предоставления доступа к ресурсу происходит следующее:
Когда пользователь дает согласие на определенный файл для изолированного приложения, изолированное приложение взаимодействует с Windows. Брокерская файловая система (BFS) и предоставляет доступ к файлам через драйвер мини-фильтра. BFS просто открывает файл и служит интерфейсом между изолированным приложением и BFS.
Виртуализация файлов и реестра помогает гарантировать, что приложения продолжают работать, не обновляя базовый файл или реестр. Это также сводит к минимуму любые трения с пользователем при сохранении совместимости приложений. Защищенные пространства имен создаются для предоставления доступа только к приложению и не требуют согласия пользователя. Например, можно предоставить доступ к папке со свойством, известным только приложению Win32 и необходимым для совместимости приложения.
Microsoft подчеркнула, что для обеспечения паритета функций между изолированными и неизолированными Приложения Win32, первые могут взаимодействовать с файловой системой и другими API-интерфейсами Windows, используя Windows БФС. Кроме того, записи в манифесте приложения также гарантируют, что приложение может безопасно взаимодействовать с элементами Windows, такими как уведомления оболочки и значки на панели задач. Ты можешь узнать больше об инициативе на GitHub можно здесь.