Windows-vägledning för att skydda mot spekulativ exekvering sida kanal sårbarheter

Sammanfattning

Microsoft är medveten om nya varianter av klassen av angrepp kallas spekulativ exekvering sida kanal sårbarheter. Varianterna är namngivna L1 Terminal Fault (L1TF) och Mikroarkitektoniska data sampling (MDS). En angripare som kan utnyttja L1TF eller MDS kan kunna läsa privilegierade data över förtroendegränser.

Uppdaterad den 14 maj, 2019: Den 14 maj 2019 publicerade Intel information om en ny underklass av spekulativ exekvering sida kanal sårbarheter som kallas Mikroarkitektoniska data sampling. De har tilldelats följande CVEs:

Uppdaterad den 12 november, 2019: Den 12 november 2019 publicerade Intel ett tekniskt rådgivande kring Intel® transaktionella Synkroniseringstillägg (Intel® TSX) transaktionen asynkrona Avbryt säkerhetsproblem som tilldelas CVE-2019-11135. Microsoft har publicerat uppdateringar som hjälper dig att åtgärda problemet. Observera följande:

  • Som standard är operativsystem skydd aktiverade för vissa Windows Server OS-utgåvor. Mer information finns i Microsoft Knowledge Base-artikeln 4072698 .

  • Som standard är operativsystem skydd aktiverade för alla Windows-klientoperativsystem-utgåvor. Mer information finns i Microsoft Knowledge Base-artikeln 4073119 .

Säkerhetsproblem, översikt

I miljöer där resurser delas, till exempel virtualiseringsvärdar, kan en angripare som kan köra opålitlig kod på en virtuell dator komma åt information från en annan virtuell dator eller från virtualiseringsvärden själv.

Server arbetsbelastningar som Windows Server Remote Desktop Services (RDS) och mer dedikerade roller som Active Directory-domänkontrollanter är också i riskzonen. Angripare som kan köra godtycklig kod (oavsett behörighetsnivå) kan komma åt operativsystem eller arbetsbelastnings hemligheter, till exempel krypteringsnycklar, lösenord och andra känsliga data.

Windows klientoperativsystem är också i riskzonen, särskilt om de kör obetrodd kod, utnyttja virtualiseringsbaserade säkerhetsfunktioner som Windows Defender Credential Guard, eller använda Hyper-V för att köra virtuella datorer.

Anmärkning: Dessa säkerhetsproblem påverkar Intel Core-processorer och Intel Xeon-processorer.

Översikt över begränsning

För att lösa dessa problem arbetar Microsoft tillsammans med Intel för att utveckla program mildrande åtgärder och vägledning. Programuppdateringar som hjälper till att minska säkerhetsproblemen har släppts. För att få alla tillgängliga skydd, kan uppdateringar krävas som också kan innehålla mikrokod från OEM-tillverkare.

Den här artikeln beskrivs hur du minskar följande säkerhetsproblem:

  • CVE-2018-3620 – "L1-Terminalfel – OS, SMM"

  • CVE-2018-3646 – "L1-Terminalfel – VMM"

  • CVE-2018-11091 – "Mikroarkitekturdata samplande uncacheable minne (MDSUM)"

  • CVE-2018-12126 – "Mikroarkitektonisk lagring buffert data sampling (MSBDS)"

  • CVE-2018-12127 – "Microarchitectural Last port data sampling (MLPDS)"

  • CVE-2018-12130 – "Mikroarkitektonisk fyllning buffert data sampling (MFBDS)"

  • CVE-2019-11135 – "säkerhetsproblem med Windows kernel-information"

Mer information om säkerhetsproblem finns i följande säkerhetsbulletiner:

L1TF: https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/adv180018

MDS: https://Portal.MSRC.Microsoft.com/en-US/Security-Guidance/Advisory/adv190013

Windows kernel information Disclosure sårbarhet: https://Portal.MSRC.Microsoft.com/en-US/Security-Guidance/Advisory/CVE-2019-11135

Fastställa åtgärder som är nödvändiga för att mildra hotet

Följande avsnitt kan hjälpa dig att identifiera system som påverkas av L1TF och/eller MDS sårbarheter, och även hjälpa dig att förstå och minska riskerna.

Potentiell prestandapåverkan

I testning har Microsoft sett vissa prestandapåverkan från dessa mildrande åtgärder, beroende på konfigurationen av systemet och vilka mildrande åtgärder krävs.

Vissa kunder kan behöva inaktivera Hyper-Threading (kallas även samtidig multitrådning eller SMT) för att helt hantera risken från L1TF och MDS. Tänk på att inaktivera Hyper-Threading kan orsaka prestandaförsämring. Den här situationen gäller för kunder som använder följande:

  • Versioner av Hyper-V som är tidigare än Windows Server 2016 eller Windows 10 version 1607 (årsdag uppdatering)

  • Virtualiseringsbaserad säkerhet (VBS) funktioner som Credential Guard och Device Guard

  • Programvara som tillåter körning av obetrodd kod (till exempel en build Automation-server eller delad IIS värdmiljö)

Effekten kan variera beroende på maskinvara och de arbetsbelastningar som körs på systemet. Den vanligaste systemkonfigurationen är att ha Hyper-Threading aktiverat. Därför är prestandapåverkan gated på användaren eller administratören som vidtar åtgärder för att inaktivera Hyper-Threading på systemet.

Anmärkning: Så här tar du reda på om ditt system använder VBS-skyddade säkerhetsfunktioner:

  1. På Start-menyn skriver du msinfo32. Anmärkning: Fönstret system information öppnas.

  2. Skriv Securityi rutan Sök efter.

  3. Leta upp de två rader som är markerade i skärmbilden i den högra rutan och kontrollera kolumnen värde för att se om virtualiseringsbaserad säkerhet är aktiverad och vilka virtualiserade-baserade säkerhetstjänster som körs.

    Systemet infofönstret

Hyper-V Core Scheduler minskar L1TF och MDS attackvektorer mot Hyper-V virtuella datorer samtidigt som Hyper-Threading att förbli aktiverad. Core Scheduler är tillgänglig från och med Windows Server 2016 och Windows 10 version 1607. Detta ger minimal prestandapåverkan på de virtuella datorerna.

Core Scheduler minskar inte L1TF-eller MDS-attackvektorer mot VBS-skyddade säkerhetsfunktioner. Mer information finns i begränsning C och följande artikel i virtualisering blogg:

https://aka.ms/hyperclear

För detaljerad information från Intel om prestandapåverkan, gå till följande Intel-webbplats:

www.intel.com/securityfirst

Identifiera berörda system och nödvändiga mildrande åtgärder

Flödesdiagrammet i figur 1 kan hjälpa dig att identifiera berörda system och fastställa rätt uppsättning åtgärder.

Viktigt: Om du använder virtuella datorer måste du tänka på och använda flödesdiagrammet för Hyper-V-värdar och varje berörd VM-gäst individuellt eftersom mildrande åtgärder kan gälla för båda. Specifikt för en Hyper-V-värd, flödesschema steg ger skydd för mellan virtuella datorer och intra-värd skyddet. Men tillämpa dessa mildrande åtgärder endast Hyper-V-värden är inte tillräckligt för att tillhandahålla skydd inom VM. Om du vill tillhandahålla skydd inom virtuella datorer måste du använda flödesdiagrammet för varje virtuell Windows-dator. I de flesta fall innebär detta att se till att registernycklarna anges i den virtuella datorn.

När du navigerar i flödesdiagrammet kommer du att stöta på bokstäverna blå cirklar som mappas till en åtgärd eller en serie åtgärder som krävs för att minska L1TF angrepp vektorer som är specifika för dina systemkonfigurationer. Varje åtgärd som du stöter på måste tillämpas. När du stöter på en grön linje, anger en direkt sökväg till slutet och det finns inga ytterligare åtgärder för begränsning.

En kort form förklaring av varje bokstavs begränsning ingår i förklaringen till höger. Detaljerade förklaringar för varje begränsning som innehåller stegvisa instruktioner för installation och konfiguration finns i avsnittet "mildrande åtgärder".

Flödesschema

 

Mitigations

Viktigt: I följande avsnitt beskrivs mildrande åtgärder som ska tillämpas endast under de specifika villkor som bestäms av flödesdiagrammet i figur 1 i föregående avsnitt. Använd inte dessa mildrande åtgärder om inte flödesschemat anger att den specifika begränsningen är nödvändig.

Förutom uppdateringar av programvara och mikrokod kan manuella konfigurationsändringar också krävas för att aktivera vissa skydd. Vi rekommenderar vidare att företagskunder registrerar sig för säkerhetsmeddelanden Mailer för att varnas om ändringar i innehållet. (Se Microsofts tekniska säkerhetsmeddelanden.)

Lindring A

Hämta och installera de senaste Windows-uppdateringarna

Installera alla tillgängliga Windows-operativsystemuppdateringar, inklusive de månatliga Windows-säkerhetsuppdateringarna. Du kan se tabellen över berörda produkter på Microsoft- säkerhetsmeddelande | ADV 180018 för L1TF, säkerhetsmeddelande | ADV 190013 för MDS och CVE-2019-11135 för Windows kernel information Disclosure sårbarhet.

Minskning B

Hämta och installera de senaste uppdateringarna för mikrokod eller inbyggd programvara

Förutom att installera de senaste Windows-säkerhetsuppdateringarna krävs också en processor mikrokodsuppdatering. Installation av dessa uppdateringar tillhandahålls av enheten OEM.

Anmärkning: Om du använder kapslade virtualisering (inklusive kör Hyper-V-behållare i en gäst VM), måste du exponera den nya mikrokod upplysningarna till gäst VM. Detta kan kräva uppgradering av VM-konfigurationen till version 8. Version 8 innehåller mikrokod upplysningarna som standard. Mer information och nödvändiga åtgärder finns i följande artikel Microsoft docs artikel:

Kör Hyper-V i en virtuell dator med kapslad virtualisering

Minskning C

Ska jag inaktivera Hyper-Threading (HT)?

Sårbarheter för L1TF och MDS medför risk för att sekretessen för Hyper-V virtuella maskiner och hemligheter som upprätthålls av Microsoft Virtualization baserad säkerhet (VBS) kan äventyras med hjälp av en sido kanals attack. När Hyper-Threading (HT) är aktiverad, försvagas säkerhetsgränser som tillhandahålls av både Hyper-V och VBS.

Hyper-V Core Scheduler (tillgänglig från och med Windows Server 2016 och Windows 10 version 1607) minskar angreppsvägarna L1TF och MDS mot virtuella Hyper-V-datorer samtidigt som Hyper-Threading ska förbli aktiverat. Detta ger minimal prestandapåverkan.

Hyper-V Core Scheduler inte mildra L1TF eller MDS angrepps vektorer mot VBS-skyddade säkerhetsfunktioner. Sårbarheter i L1TF och MDS medför risk för att sekretessen för VBS-hemligheter kan äventyras via en sido kanals attack när Hyper-Threading (HT) är aktiverat, vilket försvagar den säkerhetsgräns som tillhandahålls av VBS. Även med denna ökade risk, ger VBS fortfarande värdefulla säkerhetsfördelar och minimerar en rad attacker med HT aktiverat. Därför rekommenderar vi att VBS fortsätter att användas på HT-aktiverade system. Kunder som vill eliminera den potentiella risken för sårbarheter i L1TF och MDS på konfidentialiteten för VBS bör överväga att inaktivera HT för att minska denna ytterligare risk.

Kunder som vill eliminera risken att sårbarheter för L1TF och MDS utgör, oavsett om konfidentialitet för Hyper-V-versioner som är tidigare än Windows Server 2016 eller VBS säkerhetsfunktioner, måste väga beslutet och överväga att inaktivera HT till minska risken. I allmänhet kan detta beslut grundas på följande riktlinjer:

  • För Windows 10 version 1607, Windows Server 2016 och nyare system som inte kör Hyper-V och inte använder VBS-skyddade säkerhetsfunktioner, bör kunder inte inaktivera HT.

  • För Windows 10 version 1607, Windows Server 2016 och nyare system som kör Hyper-V med Core Scheduler, men inte använder VBS-skyddade säkerhetsfunktioner, bör kunder inte inaktivera HT.

  • För Windows 10 version 1511, Windows Server 2012 R2 och tidigare system som kör Hyper-V, måste kunder överväga att inaktivera HT för att minska risken.

De steg som krävs för att inaktivera HT skiljer sig från OEM till OEM. De är dock vanligtvis en del av BIOS eller firmware setup och konfigurationsverktyg.

Mikroskop har också introducerat förmågan till göra oduglig Hyper-Threading teknologien igenom en mjukvaran sättande om den er besvärlig eller omöjlig till göra oduglig HT i din BIOS eller firmware setup och konfigurationen redskapen. Programinställningen för att inaktivera HT är sekundär till din BIOS-eller firmware-inställning och är inaktiverad som standard (vilket betyder att HT följer din BIOS-eller firmware-inställning). Mer information om den här inställningen och hur du inaktiverar HT med hjälp av den finns i följande artikel:

4072698 Windows Server-vägledning för att skydda mot spekulativ exekvering sida kanal sårbarheter

När det är möjligt rekommenderar vi att du avaktiverar HT i ditt BIOS eller firmware för den starkaste garantin att HT är inaktiverad.

Anmärkning: Inaktivera hyperthreading kommer att minska CPU-kärnor. Detta kan ha en effekt på funktioner som kräver minsta CPU-kärnor ska fungera. Till exempel Windows Defender Application Guard (WDAG).

Lindring D

Aktivera Hyper-V Core Scheduler och ange den VM maskinvara Trådantal per kärna till 2

Anmärkning: Dessa åtgärder gäller endast för Windows Server 2016 och Windows 10 versioner före version 1809. Core Scheduler är aktiverad som standard på Windows Server 2019 och Windows 10 version 1809.

Med hjälp av Core Scheduler är en process i två steg som kräver att du först aktivera Scheduler på Hyper-V-värd och sedan konfigurera varje virtuell dator för att dra nytta av den genom att ange deras maskinvarutråd antal per kärna till två (2).

Hyper-V Core Scheduler som introducerades i Windows Server 2016 och Windows 10 version 1607 är ett nytt alternativ till den klassiska Scheduler-logiken. Core Scheduler erbjuder minskad prestanda variation för arbetsbelastningar i virtuella datorer som körs på en HT-aktiverad Hyper-V-värd.

En detaljerad förklaring av Hyper-V: s core Scheduler och stegen för att aktivera den finns i följande artikel i Windows IT Pro Center:

Förstå och använda Hyper-V hypervisor Scheduler typer

Om du vill aktivera Hyper-V Core Scheduler på Windows Server 2016 eller Windows 10, anger du följande kommando:

bcdedit /set HypervisorSchedulerType core

Därefter bestämmer du om du vill konfigurera en viss virtuell dator maskinvarutråd antal per kärna till två (2). Om du exponerar det faktum att virtuella processorer är hypertrådade till en gäst virtuell dator kan du aktivera Scheduler i VM-operativsystemet och även VM-arbetsbelastningar för att använda HT i sin egen arbetsplanering. Genom att ange följande PowerShell-kommando, där <VMName> är namnet på den virtuella datorn:

Set-VMProcessor -VMName <VMName> -HwThreadCountPerCore 2

Riskreducerande E

Aktivera mildrande åtgärder för bulletiner CVE-2017-5715, CVE-2017-5754 och CVE-2019-11135

Anmärkning: Dessa mildrande åtgärder är aktiverade som standard på Windows Server 2019 och Windows klientoperativsystem.

Om du vill aktivera mildrande åtgärder för bulletiner CVE-2017-5715, CVE-2017-5754 och CVE-2019-11135 använder du vägledningen i följande artiklar:

4072698 Windows Server-vägledning för att skydda mot spekulativ exekvering sida kanal sårbarheter

4073119 Windows-klientvägledning för IT-proffs för att skydda mot spekulativ exekvering sida kanal sårbarheter

Anmärkning: Dessa mildrande åtgärder inkluderar och aktiverar automatiskt den säkra sid Rams BITS säkerhetsfunktionen för Windows kernel och även för de mildrande åtgärder som beskrivs i CVE-2018-3620. En detaljerad förklaring av den säkra sidan ram bitar minskning, finns i följande säkerhetsforskning & Defense blogg artikeln:

Analys och begränsning av L1 Terminal Fault (L1TF)

Information om tredje part

De tredjepartsprodukter som omnämns i den här artikeln tillverkas av företag som är fristående från Microsoft. Microsoft ger inga garantier av något slag avseende dessa produkters prestanda och tillförlitlighet.

Ansvarsfriskrivning för tredje parts kontakt

Microsoft tillhandahåller kontaktinformation från tredje part som hjälper dig att hitta ytterligare information om det här ämnet. Denna kontaktinformation kan ändras utan föregående meddelande. Microsoft garanterar inte att kontaktinformation från tredje part är korrekt.

Referenser

Vägledning för att begränsa spekulativ exekvering sida kanal säkerhetsproblem i Azure

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×