Изолацията на приложението Win32 е страхотна възможност за сигурност, която Microsoft представи в Windows 11 миналия месец, ето как работи.
На годишната си конференция Build миналия месец Microsoft обяви възможността да стартирайте Win32 приложения изолирано в Windows 11. Компанията не навлезе в много подробности в първоначалната си публикация в блога, но подчерта опцията за стартиране на Win32 приложения в среда на пясъчник, така че останалата част от операционната система да е защитена от потенциално злонамерени софтуер. Сега той разкри повече информация за тази конкретна възможност, включително как работи и се вписва в останалата инфраструктура за сигурност на Windows.
Вицепрезидентът на Microsoft по сигурността на ОС и предприятията Дейвид Уестън написа дълга статия блог пост, обясняващ естеството на изолацията на приложението Win32. Функцията е още една опция за сигурност на пясъчника, точно като Windows Sandbox и Microsoft Defender Application Guard, но е базиран на AppContainers, а не базиран на виртуализация софтуер като другите две мерки за сигурност. За тези, които не знаят, AppContainers служат като начин за контролиране на изпълнението на процес, като го капсулират и гарантират, че работи на много ниски нива на привилегия и интегритет.
Microsoft силно препоръчва използването Smart App Control (SAC) и изолиране на приложения Win32 в тандем, като същевременно защитава вашата Windows среда от ненадеждни приложения, които използват 0-дневни уязвимости. Първият защитен механизъм спира атаките, като инсталира само надеждни приложения, докато вторият може да бъде използвани за стартиране на приложения в изолирана и сигурна среда, за да се ограничат потенциалните щети и да се защити потребителят поверителност. Това е така, защото приложение Win32, работещо изолирано, няма същото ниво на привилегия като потребителя на системата.
Технологичната фирма от Редмънд е идентифицирала няколко ключови цели на изолацията на приложението Win32. За начало ограничава въздействието от компрометирано приложение, тъй като нападателите имат достъп с ниски привилегии до част от операционна система и те ще трябва да свържат сложна, многоетапна атака, за да пробият пясъчника си. Дори и да са успешни, това дава по-добра представа и за техния процес, което прави много по-бързо внедряването и доставянето на смекчаващи корекции.
Начинът, по който работи това, е, че приложението първо се стартира на ниски нива на интегритет чрез AppContainer, което означава че имат достъп до избрани Windows API и не могат да изпълняват зловреден код, който изисква по-високи привилегии нива. В следващата и последна стъпка принципите на най-малката привилегия се прилагат чрез предоставяне на оторизиран достъп на приложение до защитени обекти на 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 BFS. Освен това, записите в манифеста на приложението също така гарантират, че приложението може безопасно да взаимодейства с елементи на Windows като известия на обвивката и икони в системната област. Можеш научете повече за инициативата в GitHub тук.