Win32 rakenduste isoleerimine on suurepärane turbevõimalus, mille Microsoft tutvustas eelmisel kuul Windows 11-s. Nii see toimib.
Eelmisel kuul toimunud ehituskonverentsil teatas Microsoft, et suudab käitage Win32 rakendusi Windows 11-s eraldi. Ettevõte ei laskunud oma esialgses ajaveebipostituses palju üksikasjadesse, kuid tõstis esile võimaluse käitada Win32 rakendusi liivakastikeskkonnas, et ülejäänud operatsioonisüsteem oleks potentsiaalse pahatahtliku eest kaitstud tarkvara. Nüüd on see avaldanud rohkem teavet selle konkreetse võimaluse kohta, sealhulgas selle toimimise ja Windowsi ülejäänud turbetaristuga sobitumise kohta.
Microsofti operatsioonisüsteemi turvalisuse ja ettevõtluse asepresident David Weston on kirjutanud pika kirja ajaveebi postitus, mis selgitab Win32 rakenduse isoleerimise olemust. See funktsioon on järjekordne liivakasti turbevalik nagu Windowsi liivakast ja Microsoft Defender Application Guard, kuid see põhineb AppContaineritel, mitte virtualiseerimisel põhineval tarkvaral, nagu teised kaks turvameedet. Neile, kes pole teadlikud, on AppContainers viis protsessi täitmist juhtida, kapseldades selle ja tagades, et see töötab väga madalate privileegide ja terviklikkuse tasemel.
Microsoft on tungivalt soovitanud kasutada Smart App Control (SAC) ja Win32 rakenduste isoleerimine paralleelselt, kaitstes samal ajal teie Windowsi keskkonda ebausaldusväärsete rakenduste eest, mis kasutavad 0-päevaseid turvaauke. Endine turvamehhanism peatab rünnakud, installides ainult usaldusväärseid rakendusi, samas kui viimane võib seda teha kasutatakse rakenduste käitamiseks isoleeritud ja turvalises keskkonnas, et piirata võimalikku kahju ja kaitsta kasutajat privaatsus. Selle põhjuseks on asjaolu, et isoleeritult töötaval Win32 rakendusel ei ole süsteemi kasutajaga sama õigustaset.
Redmondi tehnoloogiaettevõte on tuvastanud mitu Win32 rakenduste isoleerimise peamist eesmärki. Alustuseks piirab see ohustatud rakenduse mõju, kuna ründajatel on teatud osadele juurdepääsuõigused vähesed. operatsioonisüsteemi ja nad peaksid oma liivakastist läbi murdmiseks aheldama keeruka mitmeastmelise rünnaku. Isegi kui need on edukad, annab see ka nende protsessist parema ülevaate, muutes leevendusplaastrite rakendamise ja tarnimise palju kiiremaks.
See toimib nii, et rakendus käivitatakse kõigepealt madalal terviklikkuse tasemel AppContaineri kaudu, mis tähendab et neil on juurdepääs teatud Windowsi API-dele ja nad ei saa käivitada kõrgemaid õigusi nõudvat pahatahtlikku koodi tasemed. Järgmises ja viimases etapis jõustatakse vähimate privileegide põhimõtted, andes rakendusele volitatud juurdepääsu Windowsi turvatavatele objektidele, mis on samaväärne Diskretsiooniline juurdepääsukontrolli loend (DACL) Windowsis.
Veel üks Win32 rakenduste isoleerimise eelis on arendaja väiksem pingutus, kuna rakenduste loojad saavad kasutada rakendusvõimaluste profiili (ACP) on saadaval GitHubis et mõista, milliseid õigusi nad täpselt vajavad. Nad saavad lubada ACP ja käitada oma rakendust "õpperežiimis" Win32 rakenduse isolatsioonis, et saada logisid tarkvara käitamiseks vajalike lisavõimaluste kohta. ACP-d toidavad Windows Performance Analyzeri (WPA) andmekihi taustaprogramm ja sündmuste jälgimislogid (ETL). Selle protsessi käigus loodud logide teabe saab lihtsalt lisada rakenduse paketi manifesti faili.
Lõpuks on Win32 rakenduste isoleerimise eesmärk pakkuda sujuvat kasutuskogemust. Win32 rakenduse isoleerimine hõlbustab seda, nõudes, et rakendused kasutaksid võimalust "isolatedWin32-promptForAccess" kasutaja küsimiseks, kui ta vajab juurdepääsu oma andmetele, nagu .NET-i teegid ja kaitstud register võtmed. Viip peaks olema kasutaja jaoks, kellelt nõusolek hangitakse, tähenduslik. Kui juurdepääs ressursile on antud, toimub järgmine:
Kui kasutaja annab isoleeritud rakenduse jaoks konkreetse faili jaoks nõusoleku, liidestub isoleeritud rakendus Windowsiga Vahendus failisüsteem (BFS) ja annab minifiltridraiveri kaudu juurdepääsu failidele. BFS lihtsalt avab faili ja toimib liidesena eraldatud rakenduse ja BFS-i vahel.
Failide ja registri virtualiseerimine aitab tagada, et rakendused jätkavad tööd, samal ajal kui põhifaili või registrit ei värskendata. See vähendab ka kasutajakogemuse hõõrdumist, säilitades samal ajal rakenduste ühilduvuse. Kaitstud nimeruumid luuakse selleks, et võimaldada juurdepääsu ainult rakendusele ega vaja kasutaja nõusolekut. Näiteks saab anda juurdepääsu kaustale, mille atribuut on teada ainult Win32 rakendusele ja mis on vajalik rakenduse ühilduvuse jaoks.
Microsoft on rõhutanud, et eraldatud ja isoleerimata funktsioonide võrdsuse tagamiseks Win32 rakendused, millest esimene saab Windowsi võimendades suhelda failisüsteemi ja teiste Windowsi API-dega BFS. Lisaks tagavad rakenduse manifesti kirjed ka selle, et rakendus saab turvaliselt suhelda Windowsi elementidega, nagu kesta märguanded ja ikoonid süsteemses salves. Sa saad Lisateavet algatuse kohta GitHubis leiate siit.