- Zdravstveno potrdilo uporablja TPM in škorenj izmerjeno za ustvarjanje podpisanih poročil o varnostnem stanju naprav Windows.
- Storitve DHA v oblaku, na lokaciji ali v storitvi Azure preverjajo dnevnike TCG in PCR ter vračajo podatke, kot so Secure Boot, BitLocker, VBS ali ELAM.
- CSP HealthAttestation povezuje Windows z rešitvami MDM, ki uveljavljajo pravilnike o skladnosti s predpisi in pogojni dostop do virov podjetja.
Ko govorimo o varnosti v sodobnem sistemu Windows, ni več dovolj le imeti protivirusno programsko opremo in posodobljene popravke.V okoljih, kjer naprave dostopajo do zelo občutljivih podatkov (poslovna e-pošta, kritične aplikacije, osebni podatki strank itd.), je potreben zanesljiv način, s katerim lahko ugotovimo, ali se je računalnik dejansko zagnal brez težav ali pa v postopek zagona vpliva nekaj nenavadnega.
Tukaj pride v poštev potrdilo o zdravstvenem stanju (HA) ali potrdilo o zdravstvenem stanju naprav (DHA).funkcija sistema Windows, ki je odvisna od strojna oprema (zlasti v čipu TPM in vdelani programski opremi UEFI) za merjenje zagona naprave, pošiljanje teh testov v storitev za preverjanje veljavnosti in vrnitev poročila, ki ga lahko MDM ali rešitve za upravljanje uporabijo za sprejemanje odločitev: odobritev dostopa, karantena naprave, vsiljeno šifriranje diska itd.
Kaj je potrdilo o zdravju (HA) za Windows in za kaj se uporablja?
Potrditev zdravja je mehanizem za oddaljeno potrjevanje stanja zagona naprave Windows.Sistem izvaja meritve vdelane programske opreme UEFI, zagonskega nalagalnika, jedra, kritičnih gonilnikov, pravilnika o integriteti kode, BitLockerja, varnega zagona in drugih zaščit, jih shrani v TPM in jih pošlje storitvi za potrjevanje, ki jih preveri in ustvari podpisano poročilo.
To poročilo o statusu (poročilo DHA ali potrdilo o potrditvi statusa) Vsebuje ključne indikatorje: ali je omogočen Secure Boot, ali BitLocker ščiti sistemski nosilec, ali je način za odpravljanje napak onemogočen, ali je bil naložen gonilnik ELAM, ali je bil uporabljen pravilnik Device Guard, katero različico TPM ima naprava, kakšna je vrednost PCR0 itd. Vse to podjetju omogoča zelo zanesljiv "termometer" varnostne pripravljenosti naprave.
Potrdilo o zdravstvenem stanju je zasnovano za integracijo z rešitvami za upravljanje mobile (MDM) kot so Microsoft Intune, Citrix Endpoint Management ali druga orodja, združljiva s ponudnikom CSP HealthAttestation. Tipičen potek je: MDM zahteva dokazilo od naprave, naprava se poveže s storitvijo potrjevanja, prejme šifrirano datoteko blob, jo posreduje MDM-ju, MDM pa storitev vpraša, ali je ta datoteka blob veljavna in kakšno raven varnosti odraža.
Velika prednost je, da odločitev o zaupanju ne temelji zgolj na tem, kar pove sam operacijski sistem.vendar v podatkih, ki jih meri in ščiti strojna oprema (TPM), ki zlonamerna programska oprema V načinu jedra rootkit ne more manipulirati z zagonskimi meritvami, ne da bi pustil sled.
Ključne komponente: TPM, ELAM, Secure Boot in varnost na osnovi virtualizacije
Da bi bilo potrjevanje zdravja smiselno, se Windows zanaša na več nizkonivojskih obramb. ki delujejo že od prvega zagonskega cikla in presegajo tipičen protivirusni program v ozadju.
Modul varne platforme (TPM) Gre za specializiran čip, bodisi fizični bodisi vdelani programski opremi, ki ustvarja in shranjuje šifrirne ključe, naključna števila in zapise konfiguracije platforme (PCR). Med zagonom vdelana programska oprema in Windows "izmerita" vsako komponento (izračunata zgoščene vrednosti) in jih zbirata v teh PCR-jih, poleg tega pa podrobnosti beležita v dnevnik TCG. Te meritve so povezane s strojno opremo in so surovina za potrditev.
Varni zagon, ki temelji na vdelani programski opremi UEFIOmogoča le nalaganje zagonskega upravitelja in komponent, podpisanih z avtoriziranimi ključi v podatkovni bazi vdelane programske opreme. Če nekdo poskuša namestiti zagonski komplet ali spremeniti nalagalnik operacijskega sistema, se podpis ne bo ujemal in sistem se ne bo zagnal ali pa bo zabeležen v izmerjenih dnevnikih, ki jih bo kasneje potrdila storitev za preverjanje pristnosti.
Zaupanja vreden zagon in zgodnji zagon proti zlonamerni programski opremi (ELAM) Nadzorujejo, kaj se zgodi, ko zagonski nalagalnik skoči na jedro sistema Windows. Zaupanja vreden zagon preveri celovitost jedra in zagonskih gonilnikov, medtem ko ELAM pred katerim koli gonilnikom tretje osebe naloži mini gonilnik proti zlonamerni programski opremi, ki ga je podpisal Microsoft, da se odloči, kateri gonilnik je zaupanja vreden in kateri je popolnoma neuporaben.
Varnost, ki temelji na virtualizaciji (VBS), s tehnologijami, kot sta Credential Guard in Device GuardDodaja še eno plast: uporaba Hyper-V ustvari izolirano okolje, kjer so poverilnice zaščitene in se uveljavlja integriteta kode jedra (HVCI). Tudi če napadalcu uspe ogroziti operacijski sistem, je zanj izjemno težko spremeniti te izolirane komponente.
CSP HealthAttestation v sistemih Windows 10 in Windows 11
»Lepilo« med operacijskim sistemom in MDM je potrdilo o zdravju ponudnika konfiguracijskih storitev (CSP)., dostopno po poti ./Vendor/MSFT/HealthAttestationTa CSP razkriva vrsto vozlišč, ki omogočajo sprožanje potrdil, branje stanj in konfiguriranje komunikacijskih parametrov s storitvijo potrdil.
Nekatera najpomembnejša vozlišča CSP HealthAttestation so:
- Status: vrne številsko kodo, ki označuje, ali je pridobivanje statusnega potrdila neinicializirano, zahtevano, dokončano ali pa ni uspelo zaradi določenega razloga (brez nonce, brez korelacije, napaka HTTP itd.).
- Certifikat: zagotavlja, kodirano v base64, podatkovni blob (DHA-Data / DHA-EncBlob), ki ga je naprava prejela od storitve potrjevanja in ki ga mora MDM posredovati v preverjanje veljavnosti.
- NeskončnoKriptografsko zaščitena naključna vrednost, ki jo ustvari strežnik MDM za preprečevanje ponovnega predvajanja ali napadov »vmesni vdor«. MDM jo zapiše, odjemalec jo vključi v svojo zahtevo, storitev potrjevanja pa jo vrne v poročilu.
- Končna točka HASE: FQDN storitve potrjevanja, ki jo bo odjemalec uporabljal. Če se ne spremeni, kaže na Microsoftovo storitev v oblaku (has.spserv.microsoft.com). Če je konfiguriran lokalni strežnik DHA ali strežnik v storitvi Azure, se tukaj vnese njegovo ime.
- GetAttestReport in GetServiceCorrelationIDs: V Windows 11Ta vozlišča vam omogočajo pridobitev žetona JWT s poročilom o potrditvi in identifikatorji korelacije sej Microsoft Azure Attestation (MAA), ki so bistveni za odpravljanje težav.
Windows 11 razširja ponudnika kriptovalut HealthAttestation z vozlišči, zasnovanimi za neposredno integracijo z Microsoft Azure Attestation.. Na primer, TriggerAttestation Omogoča vam, da zaženete potrditev TPM za določeno končno točko MAA, vključno z žetonom Microsoft Entra, nonce in korelacijskim vektorjem, ki ga bo storitev vrnila v poročilu, da omogočite sledenje seji od začetka do konca.
V vseh primerih CSP deluje asinhrono.MDM pošlje ukaz Exec za sprožitev potrditve, poizveduje vozlišče Status, dokler vrednost ne pokaže, da je potrdilo pripravljeno, nato pa pridobi base64 blob in CorrelationId, da ju pošlje ustrezni storitvi potrditve.
Načini in vrste storitev DHA: oblak, lokalno in Azure
Microsoft ponuja storitev potrjevanja zdravja naprav na več načinov, odvisno od scenarija. in raven nadzora, ki jo organizacija želi imeti nad obdelavo izmerjenih zagonskih podatkov.
Storitev v oblaku (DHA-Cloud)To je brezplačna, geografsko uravnotežena javna storitev, ki jo upravlja Microsoft in je optimizirana za globalno porazdeljene naprave. Računalniki s sistemom Windows 10 in Windows 11 jo lahko uporabljajo privzeto, če končna točka ni prilagojena v ponudniku posredniških storitev (CSP).
Lokalna storitev (DHA-OnPrem)Od sistema Windows Server 2016 naprej obstaja vloga »Potrjevanje zdravja naprave«, ki omogoča nastavitev strežnika DHA v omrežju podjetja. To zmanjša zakasnitev, prepreči pošiljanje poročil o zdravju prek interneta in zagotavlja večji nadzor nad potrdili in verigami zaupanja TPM.
Upravljana storitev v oblaku (DHA-EMC ali Azure)Isto vlogo strežnika DHA je mogoče izvajati na virtualnem računalniku v storitvi Microsoft Azure ali drugem združljivem oblaku, kar zagotavlja hibridno rešitev: storitev je v lasti podjetja, vendar deluje na oblačni infrastrukturi.
Poleg tega, kje se izvaja, lahko storitev DHA deluje tudi v različnih načinih preverjanja potrdila TPM.:
- Način EKCertZasnovan za okolja brez neposrednega dostopa do interneta. Strežnik DHA vzdržuje nabor korenskih in vmesnih potrdil zaupanja vrednih ponudnikov TPM (datoteka .cab, ki jo občasno objavlja Microsoft). Verige potrdil se posodabljajo večkrat letno.
- Način AIKCertZasnovano za naprave z dostopom do interneta. Naprave pridobijo potrdilo o identitetnem ključu (AIK), ki ga izda Microsoft, strežnik DHA pa preveri potrdila na podlagi tega potrdila.
V obeh načinih je ideja enaka: storitev preveri, ali je TPM legitimen in ali se meritve PCR in zapis TCG ujemajo s podatki v potrdilu.Razlika je v tem, ali to zaupanje izvira iz potrdil EK, ki jih zagotavlja proizvajalec originalne opreme TPM, ali iz potrdil AIK, ki jih izda Microsoft.
Namestitev in konfiguracija strežnika DHA na strežniku Windows Server
Za nastavitev lokalnega strežnika DHA morate izpolnjevati določene minimalne zahteve in slediti vrsti relativno strukturiranih korakov.To je ključnega pomena, če želijo rešitve, kot sta Citrix Endpoint Management ali Intune, imeti lastno storitev potrjevanja.
Osnovne zahteve:
- Strežnik z operacijskim sistemom Windows Server 2016 (ali novejšim), po možnosti nameščen z možnostjo »Desktop Experience« za lažje upravljanje.
- Eden ali več odjemalcev Windows 10 ali Windows 11 s TPM 1.2 ali 2.0 v stanju »pripravljen« ali šifriranem stanju, ki izvajajo podprte graditve in so pravilno vpisani v rešitev MDM.
- Predhodna odločitev o uporabi validacije EKCert ali AIKCert, odvisno od tega, ali imajo naprave dostop do interneta.
- Trije certifikati podjetja X.509 z zasebnim ključem, ki ga je mogoče izvoziti: DHA SSL za zaščito kanala TLS, potrdilo o podpisu DHA za digitalno podpisovanje poročil in potrdilo o šifriranju DHA za zaščito podatkov o stanju.
Vloga potrditve stanja naprave je nameščena iz upravitelja strežnika.Izberite »Dodaj vloge in funkcije«, izberite namestitev na podlagi vlog ali funkcij in izberite vlogo »Potrjevanje stanja naprave« (ali »Potrjevanje vzdrževanja naprave«, odvisno od jezika). Čarovnik bo samodejno dodal potrebne odvisnosti, vključno z IIS.
Nato morate uvoziti SSL-potrdilo v ustrezno trgovino in ga dodeliti spletnemu mestu DHA.To vključuje uvoz datoteke .pfx v shrambo potrdil računalnika, preverjanje namestitve z MMC in nato povezovanje tega potrdila z vezavo HTTPS spletnega mesta iz IIS.
Potrdila za podpisovanje in šifriranje so povezana s storitvijo DHA prek PowerShellTipičen postopek vključuje iskanje potrdil z njihovim digitalnim prstnim odtisom v LocalMachine\MyPrilagodite dovoljenja za zasebne ključe za račun skupine aplikacij IIS (privzeto IIS_IUSRS) z icaclsin nato pokličite ukaz »cmdlet« Install-DeviceHealthAttestation z navedbo šifriranja, podpisa in prstnih odtisov SSL, skupaj s podprtimi shemami preverjanja pristnosti (AikCertificate, EkCertificate, AikPub itd.).
Če se uporablja način EKCert, je obvezna namestitev paketa zaupanja vrednega korenskega potrdila TPM.Datoteka .cab se prenese z javnega URL-ja, ki ga vzdržuje Microsoft, se ekstrahira v imenik, mape proizvajalcev TPM, ki jih organizacija ne šteje za zanesljive, se lahko odstranijo, program pa se zažene. script setup.cmd vključeno za registracijo podprtih verig potrdil.
Končno je mogoče prilagoditi politiko verige potrdil X509ChainPolicy storitve DHA. z ukaznimi vrsticami (cmdlets), kot so Get-DHASCertificateChainPolicy y Set-DHASCertificateChainPolicy, pri čemer se na primer odloči, ali naj se preveri preklic (RevocationMode), katere zastavice za preverjanje se uporabijo ali čas čakanje na pridobitev URL-ja CRL.
Najpogostejši ukazi za upravljanje DHA
Ko je strežnik DHA zagnan in deluje, se vsakodnevno upravljanje skoraj vedno izvaja z majhnim naborom ukazov »cmdlet« PowerShell. ki vam omogočajo ponovno konfiguracijo potrdil, preverjanje stanja storitve in odstranjevanje starih konfiguracij.
Za osnovno začetno nastavitev Uporablja se:
Install-DeviceHealthAttestation -SigningCertificateThumbprint "<HEX>" -EncryptionCertificateThumbprint "<HEX>" -SslCertificateThumbprint "<HEX>" -Force
Če želite strežnik pustiti "čist" Za ponovni zagon ali odstranitev vloge lahko izvedete:
Uninstall-DeviceHealthAttestation -RemoveSslBinding -Force
Vključena je tudi rotacija potrdil za podpisovanje in šifriranje.Aktivna potrdila si lahko ogledate z Get-DHASActiveSigningCertificate y Get-DHASActiveEncryptionCertificate, vzpostaviti nova sredstva z Set-DHASActiveSigningCertificate o Set-DHASActiveEncryptionCertificatein upravljajte sezname neaktivnih potrdil z Get-DHASInactiveSigningCertificate, Remove-DHASInactiveSigningCertificate in njihovi ekvivalenti za šifriranje.
Kar zadeva pravilnik o preverjanju potrdil, je ključni ukaz »cmdlet« Set-DHASCertificateChainPolicyTo uporabi objekt X509ChainPolicy, kjer so bile spremenjene lastnosti, kot so RevocationFlag, RevocationMode, VerificationFlags ali UrlRetrievalTimeout. To je uporabno za prilagajanje preverjanja veljavnosti nepovezanim okoljem ali okoljem z omejevalnimi proxyji.
Katere podatke preverja storitev zdravstvenega potrdila?
Poročilo, ki ga ustvari storitev potrjevanja (DHA-Report), je zelo bogato z varnostnimi signali o zagonskem in zgodnjem izvajalnem okolju naprave.Tako DHA-Cloud kot DHA-OnPrem izdajata odgovore na podlagi sheme XML (v različici 3) ali žetonov JWT (v primeru Microsoft Azure Attestation) z množico polj.
Nekatera najpomembnejša polja v klasičnem poročilu v3 so:
- Izdala: datum in čas, ko je bilo potrdilo o stanju ocenjeno.
- AIKPresent: označuje, ali je bila potrditev opravljena z AIK, podprtim s certifikatom (večja zaupanja) ali ne.
- Stanje Bitlockerja: odraža, ali je bil BitLocker aktiven ob zagonu, kar določa, ali so podatki na disku zaščiteni, ko je računalnik izklopljen ali v stanju mirovanja.
- SecureBootEnabled: označuje, ali je bil omogočen varni zagon UEFI, kar je ključnega pomena za izogibanje nepodpisanim zagonskim nalagalnikom.
- Omogočeno odpravljanje napak pri zagonu in omogočeno odpravljanje napak pri jedru sistemaPoročajo o tem, ali sta omogočena zagon in odpravljanje napak v jedru, kar je značilno v testnih okoljih, vendar nesprejemljivo v produkciji.
- Omogočena integriteta kode in različica seznama revizij integritete kodePovedo vam, ali je integriteta kode aktivna in katera različica seznama preklica se uporablja.
- TestSigningEnabledČe je nastavljeno na »true«, sistem dovoli testne gonilnike brez zahtevanega podpisa, kar odpre vrata nezanesljivi kodi.
- VSMenabled: označuje, če varen način Virtualni način (VBS) je omogočen, kar je nujen pogoj za Credential Guard in HVCI.
- Naložen gonilnik ELAM: prikazuje, ali je bil naložen gonilnik ELAM Windows Defender med zagonom, kar pomaga blokirati vozniki osumljenci v zelo zgodnjih fazah.
- PCR0: Zgoščena vrednost PCR0, ki običajno predstavlja kombinacijo vdelane programske opreme in komponent platforme proizvajalca. Številna podjetja vzdržujejo bele sezname sprejemljivih vrednosti PCR0.
- CIPolicy, BootRevListInfo, OSRevListInfo in SBCPHashZagotavljajo informacije o pravilnikih za integriteto kode, seznamih preklica zagona in operacijskega sistema ter pravilnikih varnega zagona po meri.
- BootAppSVN in BootManagerSVN: številke varnostnih različic zagonske aplikacije in upravljalnika zagona, uporabne za odkrivanje zastarelih ali potencialno ranljivih različic.
- Različica Tpm: označuje, ali je TPM 1.2 ali 2.0, podatek, ki ga številne organizacije uporabljajo kot minimalno merilo skladnosti.
V sistemu Windows 11 in storitvi Microsoft Azure Attestation je poročilo v obliki podpisanega spletnega žetona JSON (JWT)., kjer je veliko teh istih lastnosti vključenih kot zahtevki: secureBootEnabled, bitlockerEnabled, WindowsDefenderElamDriverLoaded, vbsEnabled, hvciEnabledZgoščene vrednosti pravilnikov, podatki o preklicu itd. MDM lahko preveri podpis JWT in nato na podlagi teh zahtevkov uporabi svojo poslovno logiko.
Te informacije MDM ali rešitev za pogojni dostop uporablja za določanje pravil skladnosti.Na primer: zahtevajte BitLocker in Secure Boot za dostop do podatkov z velikim vplivom, zavrnite dostop, če je TestSigningEnabled = true, označite za ročni pregled računalnike z zastarelo različico BootManagerRevListVersion ali zavrnite kateri koli računalnik, katerega PCR0 se ne ujema z odobrenim belim seznamom.
Poteki dela za potrjevanje v sistemih Windows 10 in Windows 11
Postopek potrditve stanja ni enak v vseh različicah sistema Windows, čeprav ostaja osnovna ideja enaka.: zbiranje izmerjenih zagonskih podatkov in njihova pretvorba v podpisano izjavo o stanju naprave.
V sistemu Windows 10 potrjevanje zdravja naprav temelji na ponudniku kriptovalut DHA in storitvi DHA-Cloud ali DHA-Server2016.Med zagonom se merijo vdelana programska oprema, pravilniki Secure Boot, BitLocker, Device Guard, ELAM itd. CSP zapakira registre TCG in vrednosti PCR (DHA-BootData), jih pošlje storitvi DHA, prejme DHA-EncBlob in ga shrani v predpomnilnik. Ko MDM zahteva preverjanje, CSP vrne datoteko XML, ki vsebuje DHA-EncBlob in DHA-SignedBlob, MDM pa to objavi storitvi DHA-Cloud ali DHA-OnPrem, da pridobi ocenjeno poročilo DHA.
Windows 11 uvaja bolj prilagodljiv pristop, ki ga podpira Microsoft Azure Attestation (MAA).CSP HealthAttestation vključuje vozlišče TriggerAttestationMDM pošlje parametre MAA, kot so identifikator zaupajoče stranke (rpID), natančna končna točka MAA, šestnajstiški nonce, žeton Microsoft Entra in korelacijski vektor. Naprava zbere dokaze TPM, jih pošlje MAA, prejme žeton JWT z rezultatom in ga razkrije prek... GetAttestReport.
V obeh primerih je MDM odgovoren za preverjanje, ali poročilo prihaja iz legitimne storitve potrjevanja. (preverjanje veljavnosti podpisa ali storitvenega potrdila), njegova korelacija s pravilno napravo z uporabo nonce in CorrelationId ter prevajanje surovih varnostnih vrednosti v stanje »ustreza« ali »ne ustreza« v skladu s politiko podjetja.
Drugi del sestavljanke je mehanizem pogojnega dostopaTa mehanizem običajno uporablja Microsoft Entra ID, ADFS ali enakovredne rešitve. Preverja stanje skladnosti, ki ga poroča MDM, in skupaj z identiteto uporabnika, lokacijo, vrsto aplikacije in drugimi dejavniki odloči, ali bo odobril, zavrnil ali pogojeval dostop do aplikacij SaaS, storitve Office 365 in lokalno objavljenih aplikacij z uporabo proxyja aplikacije. VPN, Itd
Konec koncev, Health Attestation deluje kot zaupanja vreden strojno podprt "orakel".Intune, Citrix Endpoint Management ali rešitev, ki se je dotakne, omogoča preverljiv vpogled v dejansko stanje naprave, tako da nadzor dostopa ni omejen le na »pravilno uporabniško ime in geslo«, temveč tudi na to, »ali je naprava, ki se poskuša prijaviti, čista in konfigurirana v skladu z zahtevami podjetja«.
Zahvaljujoč tej kombinaciji TPM, merjenega zagona, CSP HealthAttestation, storitev DHA/MAA in MDM s pogojnim dostopomWindows lahko deluje z zelo visoko stopnjo varnosti: ščiti poverilnice pred napadi pass-the-hash s Credential Guard, blokira izvajanje nepooblaščene programske opreme z Device Guard, zagotavlja, da vdelana programska oprema in postopek zagona nista bila spremenjena, in predvsem uporablja ves ta kontekst za odločanje, kateri viri so izpostavljeni in komu. V delovnem okolju BYOD in hibridnem delovnem okolju je ta raven natančnega nadzora nad stanjem naprave tista, ki naredi razliko med preprostim "protivirusnim programom" in robustno arhitekturo zaupanja od začetka do konca.
Strasten pisec o svetu bajtov in tehnologije nasploh. Rad delim svoje znanje s pisanjem in to je tisto, kar bom počel v tem blogu, saj vam bom pokazal vse najbolj zanimive stvari o pripomočkih, programski opremi, strojni opremi, tehnoloških trendih in še več. Moj cilj je, da vam pomagam krmariti po digitalnem svetu na preprost in zabaven način.
