KB4457951: Navodila sistema Windows za zaščito pred špekulativnim izvajanjem ranljivosti stranskega kanala

Velja za
Windows Server 2019, all editions Windows 10, version 1809, all editions Windows Server version 1803 Windows Server 2016, all editions Windows 10, version 1803, all editions Windows 10, version 1709, all editions Windows 10, version 1703, all editions Windows 10 Windows Server 2012 R2 Windows RT 8.1 Windows 8.1 Windows Server 2012 Windows Server 2008 R2 Service Pack 1 Windows Server 2008 Service Pack 2 Windows 10, version 1607, all editions Windows 7
Dnevnik sprememb
Datum Opis spremembe
27 oktobra, 2023 Dodani sklici na ublažitev B
Julij 17, 2023 Dodani podatki o MMIO

Povzetek

Microsoft se zaveda novih različic razreda napadov, znanih kot ranljivosti stranskega kanala špekulativnega izvajanja. Različice se imenujejo L1 Terminal Fault (L1TF) in Microarchitectural Data Sampling (MDS). Napadalec, ki lahko uspešno izkoristi L1TF ali MDS, lahko bere privilegirane podatke prek meja zaupanja.

POSODOBLJENO 14. MAJA 2019: 14. maja 2019 je Intel objavil informacije o novem podrazredu špekulativnih ranljivosti stranskih kanalov, znanih kot Microarchitectural Data Sampling. Dodeljeni so jim bili naslednji CVE:

POSODOBLJENO 12. NOVEMBRA 2019: Intel je 12. novembra 2019 objavil tehnično svetovanje o® ranljivosti Intel Transactional Synchronization Extensions (Intel® TSX) Transaction Asynchronous Abort Prekinitev, ki je dodeljena CVE-2019-11135. Microsoft je izdal posodobitve za ublažitev te ranljivosti. Upoštevajte naslednje:

  • Zaščita operacijskih sistemov je privzeto omogočena za nekatere izdaje operacijskega sistema Windows Server. Če želite več informacij, glejte 4072698 . članek Microsoftove zbirke znanja.
  • Zaščita operacijskih sistemov je privzeto omogočena za vse izdaje odjemalskega operacijskega sistema Windows. Če želite več informacij, glejte 4073119 . članek Microsoftove zbirke znanja.

Pregled ranljivosti

V okoljih, v katerih so viri v skupni rabi, kot so virtualizacijski gostitelji, lahko napadalec, ki lahko zažene poljubno kodo na enem navideznem računalniku, dostopa do informacij iz drugega navideznega stroja ali iz samega virtualizacijskega gostitelja.

Ogrožene so tudi strežniške delovne obremenitve, kot so storitve oddaljenega namizja Windows Server (RDS) in bolj namenske vloge, kot so krmilniki domene imenika Active Directory. Napadalci, ki lahko zaženejo poljubno kodo (ne glede na raven pravic), lahko dostopajo do skrivnosti operacijskega sistema ali delovne obremenitve, kot so šifrirni ključi, gesla in drugi občutljivi podatki.

Ogroženi so tudi odjemalski operacijski sistemi Windows, še posebej, če izvajajo nezaupanja vredno kodo, uporabljajo varnostne funkcije na podlagi virtualizacije, kot je Windows Defender Credential Guard, ali uporabljajo Hyper-V za zagon navideznih strojev.

Opomba: Te ranljivosti vplivajo samo na procesorje Intel Core in procesorje Intel Xeon.

Pregled ublažitve

Za rešitev teh težav Microsoft sodeluje z družbo Intel pri razvoju ublažitev programske opreme in smernic. Izdane so bile posodobitve programske opreme za ublažitev ranljivosti. Za pridobitev vseh razpoložljivih zaščite bodo morda potrebne posodobitve, ki lahko vključujejo tudi mikrokodo proizvajalcev strojne opreme naprav.

V tem članku je opisano, kako ublažite te ranljivosti:

  • CVE-2018-3620 | Napaka terminala L1 – OS, SMM
  • CVE-2018-3646 | Napaka terminala L1 – VMM
  • CVE-2018-11091 | Mikroarhitekturni pomnilnik za vzorčenje podatkov, ki jih ni mogoče predpomniti (MDSUM)
  • CVE-2018-12126 | Mikroarhitekturno vzorčenje podatkov o medpomnilniku (MSBDS)
  • CVE-2018-12127 | Mikroarhitekturno vzorčenje podatkov o obremenitvah (MLPDS)
  • CVE-2018-12130 | Vzorčenje podatkov o mikroarhitekturnem polnilnem pufru (MFBDS)
  • CVE-2019-11135 | Ranljivost razkritja informacij jedra sistema Windows
  • CVE-2022-21123 | Branje podatkov v medpomnilniku v skupni rabi (SBDR)
  • CVE-2022-21125 | Vzorčenje podatkov v skupnem blažilniku (SBDS)
  • CVE-2022-21127 | Posodobitev vzorčenja podatkov o posebnih registrskih blažilnikih (posodobitev SRBDS)
  • CVE-2022-21166 | Delni zapis registra naprave (DRPW)

Če želite izvedeti več o ranljivostih, si oglejte te varnostne nasvete:

L1TF:ADV180018 | Microsoftova navodila za ublažitev različice L1TF

MDS:ADV190013 | Microsoftova navodila za ublažitev ranljivosti pri vzorčenju mikroarhitekturnih podatkov

MMIO:ADV220002 | Microsoftova navodila za ranljivosti zastarelih podatkov procesorja Intel MMIO

Ranljivost razkritja informacij o jedru sistema Windows:CVE-2019-11135 | Ranljivost razkritja informacij jedra sistema Windows

Določanje ukrepov, potrebnih za ublažitev grožnje

Spodnji razdelki vam lahko pomagajo prepoznati sisteme, na katere vplivajo ranljivosti L1TF in/ali MDS, ter vam pomagajo razumeti in ublažiti tveganja.

Potencialni vpliv na uspešnost

Pri preskušanju je Microsoft opazil določen vpliv teh ublažitev na učinkovitost delovanja, odvisno od konfiguracije sistema in zahtevanih ublažitev.

Nekatere stranke bodo morda morale onemogočiti hiper-threading (znano tudi kot hkratno večnitnost ali SMT), da bi v celoti odpravile tveganje L1TF in MDS. Zavedajte se, da lahko onemogočanje hipernitnosti povzroči poslabšanje učinkovitosti. To velja za stranke, ki uporabljajo naslednje:

  • Različice Hyper-V, starejše od Windows Server 2016 ali Windows 10 različice 1607 (posodobitev ob obletnici)
  • Varnostne funkcije, ki temeljijo na virtualizaciji (VBS), kot sta Credential Guard in Device Guard
  • Programska oprema, ki omogoča izvajanje nezaupanja vredne kode (na primer strežnik za avtomatizacijo gradnje ali okolje gostovanja IIS v skupni rabi)

Vpliv se lahko razlikuje glede na strojno opremo in delovne obremenitve, ki se izvajajo v sistemu. Najpogostejša konfiguracija sistema je, da je omogočena hipernitnost. Zato je vpliv na učinkovitost delovanja omejen na uporabnika ali skrbnika, ki ukrepa za onemogočanje hipernitnosti v sistemu.

Opomba: Če želite ugotoviti, ali vaš sistem uporablja varnostne funkcije, zaščitene z VBS, sledite tem korakom:

  1. V meniju »Start« vnesite MSINFO32.

    Opomba: Odpre se okno Sistemske informacije .

  2. V polje Najdi vnesitevarnost.

  3. V desnem podoknu poiščite dve vrstici, izbrani na posnetku zaslona, in v stolpcu Vrednost preverite, ali je omogočena varnost, ki temelji na virtualizaciji , in katere virtualizirane varnostne storitve se izvajajo.
    Okno »Sistemske informacije«

Razporejevalnik jedra Hyper-V ublaži vektorje napada L1TF in MDS na navidezne stroje Hyper-V, hkrati pa omogoča, da hiper-threading ostane omogočen. Osnovni razporejevalnik je na voljo od Windows Server 2016 in Windows 10 različice 1607. To zagotavlja minimalen vpliv na učinkovitost delovanja navideznih strojev.

Osnovni razporejevalnik ne ublaži vektorjev napada L1TF ali MDS na varnostne funkcije, zaščitene z VBS. Če želite več informacij, glejte Ublažitev C in naslednji članek spletnega dnevnika o virtualizaciji:

https://aka.ms/hyperclear

Za podrobne informacije družbe Intel o vplivu na zmogljivost obiščite to spletno mesto družbe Intel:

www.intel.com/securityfirst

Prepoznavanje prizadetih sistemov in zahtevanih ublažitev

Diagram poteka na sliki 1 vam lahko pomaga prepoznati prizadete sisteme in določiti pravilen nabor dejanj.

Pomembno: Če uporabljate navidezne računalnike, morate upoštevati in uporabiti diagram poteka za gostitelje Hyper-V in vsakega prizadetega gosta VM posebej, ker lahko ublažitve veljajo za oboje. Natančneje, za gostitelja Hyper-V koraki diagrama poteka zagotavljajo zaščito med VM in zaščito znotraj gostitelja. Vendar pa uporaba teh ublažitev samo za gostitelja Hyper-V ne zadostuje za zagotavljanje zaščite znotraj VM. Če želite zagotoviti zaščito znotraj VM, morate uporabiti diagram poteka za vsak virtualni računalnik s sistemom Windows. V večini primerov to pomeni, da se prepričajte, da so registrski ključi nastavljeni v virtualnem računalniku.

Med krmarjenjem po diagramu poteka boste naleteli na modre kroge s črkami, ki se preslikajo na dejanje ali vrsto dejanj, ki so potrebna za ublažitev vektorjev napada L1TF, ki so specifični za vaše sistemske konfiguracije. Vsako dejanje, na katerega naletite, je treba uporabiti. Ko naletite na zeleno črto, označuje neposredno pot do konca in ni dodatnih korakov za ublažitev.

Kratka razlaga vsake črkovne ublažitve je vključena v legendo na desni. Podrobna pojasnila za vsako ublažitev, ki vključujejo navodila za namestitev in konfiguracijo po korakih, so na voljo v razdelku »Ublažitve«.

Diagram poteka

Ublažitve

Pomembno: V naslednjem razdelku so opisane ublažitve, ki jih je treba uporabiti SAMO pod posebnimi pogoji, ki so določeni z diagramom poteka na sliki 1 v prejšnjem razdelku. NE uporabljajte teh ublažitev, razen če diagram poteka kaže, da je potrebna posebna ublažitev.

Poleg posodobitev programske opreme in mikrokode bodo morda potrebne tudi ročne spremembe konfiguracije, da se omogočijo določene zaščite. Poleg tega priporočamo, da se stranke Enterprise registrirajo za pošiljanje varnostnih obvestil, da bodo opozorjene na spremembe vsebine. ( Glejte Microsoftova obvestila o tehnični varnosti.)

Ublažitev A

Pridobite in uporabite najnovejše posodobitve sistema Windows

Uporabiti vse razpoložljive posodobitve operacijskega sistema Windows, vključno z mesečnimi varnostnimi posodobitvami sistema Windows. Tabelo izdelkov, na katere to vpliva, si lahko ogledate v članku Microsoft Security Advisory | ADV 180018 za L1TF, Security Advisory | ADV 190013 za MDS, Security Advisory | ADV220002 za MMIO in varnostna ranljivost | CVE-2019-11135 za ranljivost jedra sistema Windows glede razkritja informacij.

Ublažitev B

Pridobite in uporabite najnovejše posodobitve mikrokode ali vdelane programske opreme

Poleg namestitve najnovejših varnostnih posodobitev sistema Windows bo morda potrebna tudi mikrokoda procesorja ali posodobitev vdelane programske opreme. Priporočamo, da od proizvajalca strojne opreme pridobite in uporabite najnovejšo posodobitev mikro kode, kot je primerno za vašo napravo. Če želite več informacij o posodobitvah mikro kode ali vdelane programske opreme, glejte naslednje sklice:

Opomba: Če uporabljate ugnezdeno virtualizacijo (vključno z zagonom vsebnikov Hyper-V v gostujočem navideznem računalniku), morate gostujočemu navideznemu računalniku omogočiti novo razsvetlitev mikrokode. Pri tem boste morda morali nadgraditi konfiguracijo navideznega računalnika na različico 8. Različica 8 privzeto vključuje razsvetljenja mikrokode. Če želite več informacij in potrebne korake, glejte ta članek v Microsoftovo gradivo:

Zagon tehnologije Hyper-V v navideznem računalniku z ugnezdeno virtualizacijo

Ublažitev C

Naj onemogočim hipernit (HT)?

Ranljivosti L1TF in MDS prinašajo tveganje, da bi lahko z napadom stranskega kanala ogrozili zaupnost navideznih računalnikov Hyper-V in skrivnosti, ki jih vzdržuje Microsoft Virtualization Based Security (VBS). Če je omogočen Hyper-Threading (HT), so varnostne meje, ki jih zagotavljata Hyper-V in VBS, oslabljene.

Razporejevalnik jedra Hyper-V (na voljo od Windows Server 2016 do Windows 10 različice 1607) zmanjša napade L1TF in MDS na navidezne računalnike Hyper-V, hkrati pa Hyper-Threading še vedno omogoča, da ostanejo omogočeni. To ima minimalen vpliv na učinkovitost delovanja.

Razporejevalnik jedra Hyper-V ne zmanjša vrednosti vektorjev napada L1TF ali MDS proti varnostnim funkcijam, zaščitenim z VBS. Ranljivosti L1TF in MDS prinašajo tveganje, da bi bila zaupnost skrivnosti VBS ogrožena z napadom stranskega kanala, ko je omogočen Hyper-Threading (HT), kar bi oslabilo varnostno mejo, ki jo zagotavlja VBS. Kljub temu povečanemu tveganju VBS še vedno zagotavlja dragocene varnostne prednosti in blaži vrsto napadov z omogočeno tehnologijo HT. Zato priporočamo, da se VBS še naprej uporablja v sistemih, ki podpirajo HT. Uporabniki, ki želijo odpraviti morebitno tveganje ranljivosti L1TF in MDS na zaupnost VBS, morajo razmisliti o onemogočanju HT, da zmanjšajo to dodatno tveganje.

Uporabniki, ki želijo odpraviti tveganje, ki ga predstavljajo ranljivosti L1TF in MDS, bodisi za zaupnost različic Hyper-V, ki so starejše od sistema Windows Server 2016 ali za varnostne zmogljivosti VBS, morajo pretehtati odločitev in razmisliti o onemogočanju HT, da bi zmanjšali tveganje. Na splošno lahko ta odločitev temelji na naslednjih smernicah:

  • V sistemu Windows 10 različica 1607, Windows Server 2016 in novejših sistemih, v katerih se ne izvaja Hyper-V in ne uporabljajo varnostnih funkcij, zaščitenih z VBS, uporabniki ne smejo onemogočiti HT.
  • V sistemu Windows 10 različica 1607, Windows Server 2016 in novejših sistemih, v katerih se izvaja Hyper-V z razporejevalnikom jedra, vendar ne uporabljajo varnostnih funkcij, zaščitenih z VBS, stranke ne smejo onemogočiti HT.
  • V sistemu Windows 10 različica 1511, Windows Server 2012 R2 in starejših sistemih, v katerih se izvaja Hyper-V, morajo stranke razmisliti o onemogočanju HT, da zmanjšajo tveganje.

Koraki, ki so potrebni za onemogočanje HT, se razlikujejo od proizvajalca strojne opreme do proizvajalca strojne opreme. Vendar pa so po navadi del BIOS-a ali orodij za nastavitev in konfiguracijo vdelane programske opreme.

Microsoft je prav tako uvedel možnost, da onemogočite tehnologijo Hyper-Threading z nastavitvijo programske opreme, če je HT težko ali nemogoče onemogočiti v BIOS-u ali orodjih za nastavitev in konfiguracijo vdelane programske opreme. Nastavitev programske opreme za onemogočanje HT je drugotnega pomena v primerjavi z nastavitvami BIOS-a ali vdelane programske opreme in je privzeto onemogočena (kar pomeni, da HT sledi nastavitvi BIOS-a ali vdelane programske opreme). Če želite izvedeti več o tej nastavitvi in kako onemogočiti uporabo HT, glejte naslednji članek:

4072698 Windows Server navodila za zaščito pred ranljivostmi stranskega kanala zaradi špekulativnega izvajanja

Če je to mogoče, je priporočljivo, da onemogočite HT v BIOS-u ali vdelani programski opremi, s čimer zagotovite, da je HT onemogočen.

Opomba: Če onemogočite hipernitening, boste zmanjšali število jeder CPU. To lahko vpliva na funkcije, ki za delovanje zahtevajo najmanj jeder CPE. Na primer Windows Defender Application Guard (WDAG).

Ublažitev D

Omogočite razporejevalnik jedra Hyper-V in nastavite število niti strojne opreme strojne opreme navideznega računalnika na jedro na 2

Opomba: Ti koraki za ublažitev posledic veljajo le za Windows Server 2016 in Windows 10 pred različico 1809. Core scheduler je privzeto omogočen v sistemih Windows Server 2019 in Windows 10 različica 1809.

Uporaba razporejevalnika jedra je dvostopenjski proces, pri katerem morate najprej omogočiti razporejevalnik v gostitelju tehnologije Hyper-V in nato konfigurirati vsak navidezni računalnik, da ga bo izkoristil prednosti, tako da nastavite število niti strojne opreme na jedro na dve (2).

Razporejevalnik jedra Hyper-V, ki je bil uveden v sistemih Windows Server 2016 in Windows 10 različica 1607, je nova alternativa klasični logiki razporejevalnika. Core scheduler zagotavlja manjšo variabilnost učinkovitosti delovanja za delovne obremenitve v navideznih računalnikih, ki se izvajajo v gostitelju Hyper-V, ki podpira HT.

Podrobno razlago osnovnega razporejevalnika tehnologije Hyper-V in korake za njegovo omogočanje najdete v tem članku v središču Windows IT Pro Center:

Razumevanje in uporaba vrst razporejevalnikov hipervizorja Hyper-V

Če želite omogočiti razporejevalnik jedra Hyper-V v sistemu Windows Server 2016 ali Windows 10, vnesite ta ukaz:

bcdedit /set HypervisorSchedulerType core

Nato se odločite, ali želite konfigurirati število niti strojne opreme na jedro določenega navideznega računalnika na dve (2). Če izpostavite dejstvo, da so navidezni procesorji hiperniti, gostujočemu navideznemu računalniku, omogočite razporejevalniku v operacijskem sistemu navideznega računalnika in delovnim obremenitvam navideznega računalnika, da uporabljajo HT pri lastnem načrtovanju dela. To naredite tako, da vnesete naslednji ukaz PowerShell, v katerem < je VMName> ime navideznega računalnika:

Set-VMProcessor -VMName <VMName> -HwThreadCountPerCore 2

Ublažitev E

Omogočanje ublažitev posledic svetovanja CVE-2017-5715, CVE-2017-5754 in CVE-2019-11135

Opomba: V odjemalskih operacijskih sistemih Windows Server 2019 in Windows so te ublažitve posledic privzeto omogočene.

Če želite omogočiti ublažitev posledic svetovanja CVE-2017-5715, CVE-2017-5754 in CVE-2019-11135, upoštevajte navodila v teh člankih:

4072698 Windows Server navodila za zaščito pred ranljivostmi stranskega kanala zaradi špekulativnega izvajanja

4073119 Navodila za odjemalec sistema Windows za strokovnjake za IT za zaščito pred ranljivostmi stranskega kanala zaradi špekulativnega izvajanja

Opomba: Te ublažitve vključujejo in samodejno omogočajo ublažitev posledic varnih bitov okvirja strani za jedro sistema Windows in tudi za ublažitve posledic, ki so opisane v CVE-2018-3620. Za podrobno razlago ublažitve posledic varnih bitov okvirja strani glejte naslednji članek v spletnem dnevniku za varnostne raziskave & obrambo:

Analiza in ublažitev napake terminala L1 (L1TF)

Sklici

Navodila za preprečevanje ranljivosti stranskega kanala zaradi špekulativnega izvajanja v storitvi Azure

Zavrnitev odgovornosti glede informacij tretjih oseb

Izdelke neodvisnih proizvajalcev, opisane v tem članku, so izdelala od Microsofta neodvisna podjetja. Ne dajemo nobenih jamstev, implicitnih ali drugačnih, o učinkovitosti delovanju ali zanesljivosti teh izdelkov.

Zagotavljamo podatke za stik drugih ponudnikov za pomoč pri iskanju tehnične podpore. Ti podatki za stik se lahko spremenijo brez obvestila. Ne jamčimo za točnost teh podatkov za stik drugih ponudnikov.