Izolacja aplikacji Win32 to sprytna funkcja bezpieczeństwa, którą Microsoft wprowadził w systemie Windows 11 w zeszłym miesiącu, tak to działa.
Na dorocznej konferencji Build w zeszłym miesiącu Microsoft ogłosił możliwość uruchamiaj aplikacje Win32 w izolacji w systemie Windows 11. Firma nie zagłębiała się w wiele szczegółów w swoim początkowym poście na blogu, ale podkreśliła opcję uruchomienia Win32 aplikacje w środowisku piaskownicy, aby reszta systemu operacyjnego była zabezpieczona przed potencjalnie złośliwym oprogramowaniem oprogramowanie. Teraz ujawnił więcej informacji o tej konkretnej funkcji, w tym o tym, jak działa i pasuje do reszty infrastruktury bezpieczeństwa systemu Windows.
Wiceprezes firmy Microsoft ds. bezpieczeństwa systemów operacyjnych i przedsiębiorstw, David Weston, napisał długi artykuł post na blogu, wyjaśniając naturę izolacji aplikacji Win32. Ta funkcja jest kolejną opcją bezpieczeństwa piaskownicy, podobnie jak Piaskownica Windows i Microsoft Defender Application Guard, ale opiera się na AppContainers, a nie na oprogramowaniu opartym na wirtualizacji, jak pozostałe dwa środki bezpieczeństwa. Dla nieświadomych, AppContainers służą jako sposób kontrolowania wykonywania procesu poprzez hermetyzację i zapewnienie, że działa on na bardzo niskich poziomach uprawnień i integralności.
Firma Microsoft zdecydowanie zaleca używanie Inteligentna kontrola aplikacji (SAC) i izolację aplikacji Win32 jednocześnie zabezpieczając środowisko Windows przed niezaufanymi aplikacjami, które wykorzystują luki typu 0-day. Pierwszy mechanizm bezpieczeństwa powstrzymuje ataki, instalując tylko zaufane aplikacje, podczas gdy drugi może to zrobić używane do uruchamiania aplikacji w odizolowanym i bezpiecznym środowisku w celu ograniczenia potencjalnych szkód i ochrony użytkownika Prywatność. Dzieje się tak, ponieważ aplikacja Win32 działająca w izolacji nie ma takiego samego poziomu uprawnień jak użytkownik systemu.
Firma technologiczna z Redmond określiła kilka kluczowych celów izolacji aplikacji Win32. Na początek ogranicza wpływ zainfekowanej aplikacji, ponieważ osoby atakujące mają niski poziom uprawnień dostępu do części system operacyjny i musieliby połączyć złożony, wieloetapowy atak, aby przebić się przez ich piaskownicę. Nawet jeśli odniosą sukces, daje to również lepszy wgląd w ich proces, co znacznie przyspiesza wdrażanie i dostarczanie poprawek łagodzących.
Sposób, w jaki to działa, polega na tym, że aplikacja jest najpierw uruchamiana na niskim poziomie integralności przez AppContainer, co oznacza że mają dostęp do wybranych interfejsów API systemu Windows i nie mogą wykonywać złośliwego kodu, który wymaga wyższych uprawnień poziomy. W kolejnym i ostatnim kroku egzekwowane są zasady najmniejszych uprawnień poprzez nadanie aplikacji autoryzowanego dostępu do zabezpieczanych obiektów systemu Windows, co jest równoznaczne z implementacją Uznaniowa lista kontroli dostępu (DACL) w systemie Windows.
Kolejną zaletą izolacji aplikacji Win32 jest zmniejszenie nakładu pracy programistów, ponieważ twórcy aplikacji mogą wykorzystać Application Capability Profiler (ACP) dostępny na GitHubie aby zrozumieć, jakich dokładnie uprawnień potrzebują. Mogą włączyć ACP i uruchomić swoją aplikację w „trybie uczenia się” w izolacji aplikacji Win32, aby uzyskać dzienniki dotyczące dodatkowych możliwości potrzebnych do uruchomienia oprogramowania. ACP jest zasilany przez zaplecze warstwy danych Windows Performance Analyzer (WPA) i dzienniki śledzenia zdarzeń (ETL). Informacje z dzienników generowanych przez ten proces można po prostu dodać do pliku manifestu pakietu aplikacji.
Wreszcie, izolacja aplikacji Win32 ma na celu zapewnienie bezproblemowego użytkowania. Izolacja aplikacji Win32 ułatwia to, wymagając od aplikacji korzystania z funkcji „isolatedWin32-promptForAccess” aby monitować użytkownika w przypadku, gdy wymaga on dostępu do swoich danych, takich jak biblioteki .NET i chroniony rejestr Klucze. Podpowiedź powinna być zrozumiała dla użytkownika, od którego uzyskuje się zgodę. Po przyznaniu dostępu do zasobu dzieje się tak:
Gdy użytkownik wyrazi zgodę na określony plik dla izolowanej aplikacji, izolowana aplikacja łączy się z systemem Windows Maklerski system plików (BFS) i zapewnia dostęp do plików za pośrednictwem sterownika minifiltra. BFS po prostu otwiera plik i służy jako interfejs między izolowaną aplikacją a BFS.
Wirtualizacja plików i rejestru pomaga zapewnić, że aplikacje będą nadal działać, nie aktualizując podstawowego pliku ani rejestru. Minimalizuje to również problemy związane z doświadczeniem użytkownika przy jednoczesnym zachowaniu kompatybilności aplikacji. Chronione przestrzenie nazw są tworzone w celu umożliwienia dostępu tylko do aplikacji i nie wymagają zgody użytkownika. Na przykład można przyznać dostęp do folderu, który ma właściwość znaną tylko aplikacji Win32 i wymaganą do zgodności aplikacji.
Microsoft podkreślił, że aby mieć parytet funkcji między izolowanymi i nieizolowanymi Aplikacje Win32, te pierwsze mogą wchodzić w interakcje z systemem plików i innymi interfejsami API systemu Windows, wykorzystując system Windows BFS. Ponadto wpisy w manifeście aplikacji zapewniają również bezpieczną interakcję aplikacji z elementami systemu Windows, takimi jak powiadomienia powłoki i ikony w zasobniku systemowym. Możesz Dowiedz się więcej o inicjatywie na GitHub tutaj.