Sammanfattning
Microsoft är medvetna om en ny offentligt avslutande klass av säkerhets problem som kallas "spekulativ körnings sida – kanal attacker" som påverkar många moderna processorer och operativ system. Detta inkluderar Intel, AMD och ARM. Obs! Det här problemet påverkar även andra system, till exempel Android, Chrome, iOS och MacOS. Därför rekommenderar vi att kunderna hittar vägledning från dessa leverantörer.
Microsoft har släppt flera uppdateringar för att minska dessa problem. Vi har också gjort en åtgärd för att säkra våra moln tjänster. Se följande avsnitt för mer information.
Microsoft har inte tagit emot någon information som tyder på att dessa problem har använts för att angripa kunder. Microsoft fortsätter att samar beta tätt tillsammans med bransch partners, inklusive kretskort, maskin vara och program leverantörer, för att skydda kunder. För att få alla tillgängliga skydd, maskin vara eller inbyggd program vara samt programuppdatering krävs. Detta inkluderar kod från enheternas OEM-tillverkare och i vissa fall uppdateringar av antivirus program. Mer information om säkerhets problem finns i Microsoft Security Advisory ADV180002. Allmän vägledning för att begränsa den här säkerhets problemet finns i rikt linjer för att begränsa problem med spekulativ exekvering
Microsoft publicerat ADV190013 – Microsoft-vägledning för att minska risken för problem med data insamling i maj 2019. SQL Server har inga särskilda säkerhets korrigeringar för det problem som beskrivs i ADV190013. Du hittar vägledning för de miljöer som påverkas av ADV190013 i rekommendationerna i den här artikeln. Observera att denna rekommendation bara gäller för Intel-processorer.
Så hämtar och installerar du uppdateringen
Den här uppdateringen är också tillgänglig via WSUS (Windows Server Update Services) eller Microsoft Update-katalogen.Obs! den här uppdateringen laddas inte ned och installeras automatiskt via Windows Update.
Tillgängliga SQL-korrigeringsfiler
När du gör det kan du hämta följande uppdaterade SQL Server-versioner:
Service Release
4057122 Beskrivning av säkerhets uppdateringen för SQL Server 2017 GDR: den 3 januari 2018 4058562 beskrivningen av säkerhets uppdateringen för SQL Server 2017 RTM CU3:3 januari 2018 4058561 Beskrivning av säkerhets uppdateringen för SQL Server 2016 SP1 CU7:3 januari 20184057118 Beskrivning av säkerhets uppdateringen för SQL Server 2016 GDR sp1: "3 januari 2018" 20184058560 Beskrivning av säkerhets uppdateringen för SQL Server 2016 GDR: 6 januari 20184057117 Beskrivning av säkerhets uppdateringen för SQL Server 2014 SP2 CU10: den 16 januari 20184057120 Beskrivning av säkerhets uppdateringen för SQL Server 2014 SP4 GDR : den 16 januari, 2018.: 12 januari 20184057115 Beskrivning av säkerhets uppdateringen för sql Server 2012 SP3 GDR: januari 20184057121 Beskrivning av säkerhets uppdateringen för SQL Server 2012 SP3 CU: januari, 20184057114 Beskrivning av säkerhetsuppdateringen för SQL Server 2008 SP4 GDR: den 6 januari, 2018- Beskrivning av säkerhets uppdateringen för SQL Server 4057113 R2 SP3 GDR: 6 januari, 2008
Det här dokumentet uppdateras när ytterligare uppdaterade versioner är tillgängliga.
Kommentarer
-
Vi har släppt alla nödvändiga uppdateringar för SQL Server för att minska "SPECTRE" och "Meltdown" spekulativt körnings säkerhets problem. Microsoft känner inte till eventuell ytterligare exponering för säkerhets problem i "SPECTRE" och "Meltdown" för SQL-körning för komponenter som inte finns med i listan "tillgängliga SQL-korrigeringsfiler".
-
Alla efterföljande SQL Server 2014-, SQL Server 2016-och SQL Server 2017 Service Pack och kumulativa uppdateringar innehåller de här korrigeringarna. SQL Server 2016 SP2 innehåller till exempel redan SPECTRE-och Meltdown-korrigeringarna.
-
För Windows-versioner kan du läsa följande vägledning för den senaste informationen om tillgängliga Windows-versioner:
Windows Server-vägledning för säkerhets problem på SPECTRE/Meltdown-Sidan
Windows Server-vägledning för säkerhets problem med data insamling
För Linux-versioner kan du kontakta Linux-leverantören för att hitta de senaste uppdaterade versionerna för din specifika Linux-distribution.
-
För att lösa problem för SPECTRE och Meltdown så snabbt som möjligt har leverans av dessa SQL Server-uppdateringar ursprungligen gjorts till Microsoft Download Center som primär leverans modell. Även om dessa uppdateringar levereras via Microsoft Update i mars rekommenderar vi att berörda kunder installerar uppdateringen nu utan att vänta på att de ska bli tillgängliga via Microsoft Update.
SQL Server-versioner som stöds
Microsoft rekommenderar att alla kunder installerar SQL Server-uppdateringarna (visas nedan) som en del av sin vanliga korrigerings cykel. Kunder som kör SQL Server i en säker miljö där utöknings punkter blockeras och all kod från tredje part som körs på samma server är betrodd och godkänd bör inte påverkas av det här problemet.
Följande versioner av SQL Server har tillgängliga uppdateringar när de körs på x86-och x64-processor system:
-
SQL Server 2008
-
SQL Server-2008R2
-
SQL Server 2012
-
SQL Server 2014
-
SQL Server 2016
-
SQL Server 2017
Vi tror inte att IA64 (Microsoft SQL Server 2008) påverkas. Microsoft analytiskt Platform service (APS) baseras på Microsoft SQL Server 2014 eller Microsoft SQL Server 2016, men det påverkas inte specifikt. Vissa allmänna vägledningar för APS beskrivs längre ned i den här artikeln.
Anvisningar
Följande tabell visar vilka kunder som ska göra, beroende på i vilken miljö SQL-servern körs och vilken funktionalitet som används. Microsoft rekommenderar att du använder dina vanliga procedurer för att testa nya binärfiler innan du distribuerar dem till produktions miljöer.
Scenario nummer |
Beskrivning av scenario |
Prioriterade rekommendationer |
1 |
Databas och data lager för Azure SQL |
Ingen åtgärd krävs (se här för information). |
2 |
SQL Server körs på en fysisk dator eller virtuell dator OCH inget av följande gäller:
|
Microsoft rekommenderar att du installerar alla OS-uppdateringartillo skydda mot CVE 2017-5753. Microsoft rekommenderar att du installerar alla OS-uppdateringar för att skydda mot sårbarhets säkerhets sampling (CVE-2018-12126, CVE-2018-12130, CVE-2018-12127 och CVE-2018-11091). Det krävs inte (se nedan) för att aktivera skugging av virtuell KVAS och indirekt gren förutsägelse för data (IBP). SQL Server-korrigeringsfiler bör installeras som en del av principen för normal korrigering i nästa schemalagda uppdaterings fönster. Du kan fortsätta att använda hyperthreading på en sådan värd. |
amp;3D |
SQL Server körs på en fysisk dator eller virtuell dator OCH ett annat program som kör en eventuell skadlig kod är samtidigt värd på samma dator OCH/eller SQL Server utöknings gränssnitt används med icke betrodd kod (se nedan för lista)
|
Microsoft rekommenderar att du installerar alla OS-uppdateringar för att skydda dig mot CVE 2017-5753. Microsoft rekommenderar att du installerar alla OS-uppdateringar för att skydda mot sårbarhets säkerhets sampling (CVE-2018-12126, CVE-2018-12130, CVE-2018-12127 och CVE-2018-11091). Tillämpa SQL Server-korrigeringsfiler (se nedan). Det skyddar mot CVE 2017-5753. Det rekommenderas att aktivera skuggning av virtuell KVAS för kernel (se nedan). Det skyddar mot CVE 2017-5754. Det rekommenderas att aktivera stöd för IBP (indirekt gren förutsägelse) (se nedan). Det skyddar mot CVE 2017-5715 Vi rekommenderar att du inaktiverar hyperthreading på värden om Intel-processorer används. |
9.4 |
SQL Server körs på en fysisk dator OCH ett annat program som kör potentiellt skadlig kod är inte samordnat på samma dator OCH SQL Server utöknings gränssnitt används för att köra betrodd kod. Beskrivs
Icke-exempel:
|
Microsoft rekommenderar att du installerar alla OS-uppdateringartillo skydda mot CVE 2017-5753. Microsoft rekommenderar att du installerar alla OS-uppdateringar för att skydda risken för säkerhets sampling av mikroarkitektur (CVE-2018-12126, CVE-2018-12130, Cve-2018-12127 och CVE-2018-11091). Det rekommenderas att aktivera skuggning av virtuell KVAS för kernel (se nedan). Det skyddar mot CVE 2017-5754. Det rekommenderas att aktivera stöd för IBP (indirekt gren förutsägelse) (se nedan). Det skyddar mot CVE 2017-5715 Vi rekommenderar att du inaktiverar hyperthreading på en sådan miljö om Intel-processorer används. SQL Server-korrigeringsfiler bör installeras som en del av principen för normal korrigering i nästa schemalagda uppdaterings fönster. |
T5 |
SQL Server körs på Linux OS. |
Installera Linux OS-uppdateringar från distributions leverantören. Tillämpa korrigeringsfiler för SQL Server för Linux (se nedan). Det skyddar mot CVE 2017-5753. Nedan finns information om huruvida du ska aktivera Linux-kernel-sidan (KPTI) och IBP (CVEs CVE 2017-5754 och CVE 2017-5715). Vi rekommenderar att du inaktiverar hyperthreading på en sådan miljö om Intel-processorer används för scenario #3 och #4 som nämns ovan. |
18.6 |
Analytics Platform System (APS) |
Trots att APS inte stöder utöknings funktionerna från SQL Server som listas i den här bulletinen, bör du installera Windows-korrigeringsfilerna på APS-enheten. Det är inte nödvändigt att aktivera KVAS/IBP. |
Resultat rekommendation
Kunderna bör bedöma prestandan hos sina specifika program när de tillämpar uppdateringar.
Microsoft rekommenderar alla kunder att installera uppdaterade versioner av SQL Server och Windows. Detta bör ha en försumbar prestanda effekt på befintliga program, baserat på Microsoft-testning av SQL-belastningar. Vi rekommenderar att du testar alla uppdateringar innan du distribuerar dem till en produktions miljö.
Microsoft har mätt effekten av KVAS (kernel Virtual Address Shadow), kernel-tabell (KPTI) och indirekt gren förutsägelse minskning (IBP) för olika SQL-arbets belastningar i olika miljöer och hittade vissa arbets belastningar med markant försämring. Vi rekommenderar att du testar prestanda effekten för att aktivera dessa funktioner innan du distribuerar dem i en produktions miljö. Om prestanda effekten för att aktivera de här funktionerna är för hög för befintliga program kan du överväga att isolera SQL Server från obetrodd kod som körs på samma dator är en bättre begränsning för ditt program.
Mer information om prestanda effekter från indirekt gren förutsägelse stöd för hård vara (IBP) finns här.
Microsoft uppdaterar det här avsnittet med mer information när det är tillgängligt.
Aktivera skuggning av virtuell adress i kernel (KVAS i Windows) och uppdirigering av kernel-tabell (KPTI i Linux)
KVAS och KPTI minskar mot CVE 2017-5754, även kallat "Meltdown" eller "variant 3" i GPZ avslöjande.
SQL Server körs i många miljöer: fysiska datorer, VM i offentliga och privata moln miljöer på Linux och Windows-system. Oavsett miljön körs programmet på en dator eller virtuell dator. Ring denna säkerhets gräns.
Om all kod i kant linjen har till gång till alla data i den gränsen behöverdu inte vidta någon åtgärd. Om så inte är fallet säger du att det är flera klient organisationer. De säkerhets problem som upptäcks gör det möjligt för valfri kod, även med reducerade behörigheter, som körs i den bundna processen, för att läsa andra data inom den gränsen. Om det finns en process i den gräns som kör obetrodd kod kan de här säkerhets problemen användas för att läsa data från andra processer. Denna kod som inte är betrodd kan vara obetrodd kod med hjälp av utöknings metoder för SQL Server eller andra processer i den gräns som kör obetrodd kod.
Använd någon av följande metoder för att skydda mot obetrodd kod i en gräns för flera innehavare
-
Ta bort koden som inte är betrodd. Mer information om hur du gör detta för utöknings metoder för SQL Server finns i nedan. Om du vill ta bort obetrodd kod från andra program i samma gräns behövs programspecifika ändringar normalt. Till exempel dela upp i två VMs-datorer.
-
Aktivera KVAS eller KPTI. Det påverkar prestanda. För mer information, enligt beskrivningen ovan.
Mer information om hur du aktiverar KVAS för Windows finns i KB4072698. Mer information om hur du aktiverar KPTI i Linux finns i med distributören av operativ systemet.
Ett exempel på ett scenario där KVAS eller KPTI rekommenderas starkt
En lokal fysisk dator som är värd för SQL Server som ett icke-systemadministratörs konto gör att kunderna kan skicka valfria R-skript till att köras via SQL Server (som använder sekundära processer för att köra dessa skript utanför Sqlservr. exe). Det är nödvändigt att aktivera KVAS och KPTI både för att skydda data i Sqlservr. exe-processen och för att skydda mot avslöjande av data i systemets kernel-minne. Obs! En utöknings funktion i SQL Server anses inte automatiskt vara osäker på grund av att den används. Dessa mekanismer kan användas på ett säkert sätt i SQL Server så länge de båda sambanden tolkas och bevaras av kunden. Det finns även andra produkter som bygger på SQL och kan kräva att utöknings bara mekanismer fungerar korrekt. Ett paketerat program som är inbyggt på SQL Server kan till exempel kräva en länkad server eller CLR-lagrad procedur för att fungera korrekt. Microsoft rekommenderar inte att du tar bort dessa som en del av problemet. Granska i stället varje användning för att avgöra om den här koden tolkas och är betrodd som den inledande åtgärden. De här anvisningarna är avsedda att hjälpa kunderna att avgöra om de är i en situation där de måste aktivera KVAS. Detta beror på att den här åtgärden har betydelse för prestanda.
Aktivera stöd för IBP (indirekt gren förutsägelse)
IBP minskar mot CVE 2017-5715, även kallat hälften av SPECTRE eller "variant 2" i GPZ.
Instruktionerna i den här artikeln för att aktivera KVAS i Windows aktiverar också IBP. IBP kräver dock också en uppdatering av den inbyggda program varan från din maskin varu tillverkare. Utöver instruktionerna i KB4072698 för att skydda Windows måste kunderna skaffa och installera uppdateringar från deras maskin varu tillverkare.
Ett exempel på ett scenario där IBP rekommenderas
En lokal fysisk dator är värd för SQL Server bredvid ett program som tillåter icke betrodda användare att ladda upp och köra valfri JavaScript-kod. Förutsatt att det finns konfidentiella data i SQL-databasen rekommenderas IBP starkt som ett mått för att skydda informations avslöjande från process till process.
I situationer då IBP maskin varu support inte är installerat rekommenderar Microsoft att avgränsa icke betrodda processer och tillförlitliga processer till olika fysiska datorer eller virtuella datorer.
Linux-användare: kontakta operativ systemets distributör för information om hur du skyddar mot variant 2 (CVE 2017-5715).
Ett exempel på ett scenario med att säkerhets problem för data insamling av mikroarkitektur rekommenderas
Titta på ett exempel där en lokal server kör två instanser av SQL Server med två olika affärs program på två olika virtuella datorer på samma fysiska värd. Anta att dessa två affärs program inte bör kunna läsa data som lagrats i SQL Server-instanserna. En angripare som lyckas utnyttja dessa säkerhets problem kan läsa privilegierade data över gränserna genom att använda obetrodd kod som körs på datorn som en separat process eller icke betrodd kod som körs med en SQL Server-mekanism (se avsnittet nedan för tilläggs alternativ i SQL Server). I miljöer med delade resurser (som finns i vissa moln tjänst konfigurationer) kan de här problemen tillåta att en virtuell dator inte har åtkomst till information från en annan. Om du inte använder en webbläsare för fristående system måste en angripare få till gång till systemet eller en möjlighet att köra ett särskilt utformat program i mål systemet för att utnyttja dessa säkerhets problem.
Icke betrodda SQL Server-extrafunktioner
SQL Server innehåller många extrafunktioner och funktioner. De flesta av dessa mekanismer är inaktiverade som standard. Vi föreslår emellertid att kunderna granskar varje produktions instans för utöknings barhet. Vi rekommenderar att de här funktionerna begränsas till den minsta uppsättningen binärfiler och att kunder begränsar åtkomsten för att förhindra valfri kod från att köras på samma dator som SQL Server. Vi rekommenderar att kunderna tar reda på om de är betrodda och inaktiverar eller tar bort icke betrodda binärfiler.
-
SQL CLR-sammansättningar
-
R-och python-paket som körs genom den externa skript mekanismen eller körs från det fristående R/Machine Learning Studio på samma fysiska dator som SQL Server
-
SQL Agent-extrafunktioner som körs på samma fysiska dator som SQL Server (ActiveX-skript)
-
Icke-Microsoft OLE DB-leverantörer som används i länkade servrar
-
Utökade lagrade procedurer som inte kommer från Microsoft
-
COM-objekt som körs inom servern (åtkomst via sp_OACreate)
-
Program som körs genom xp_cmdshell
Begränsningar att vidta om du använder obetrodd kod i SQL Server:
Scenario/användnings fall |
Begränsningar eller föreslagna steg |
Köra SQL Server med CLR aktiverat (sp_configure CLR Enabled, 1) |
|
Köra Java/R/python externa skript från SQL Server (sp_configure externa skript aktiverade) |
|
Använda länkade servrar (sp_addlinkedserver) |
|
Använda utökade lagrade procedurer (sp_addextendedproc) |
Eftersom utökade lagrade procedurer är föråldrade tar du bort alla användnings områden och använder dem inte i produktions systemen. |
Använda xp_cmdshell för att starta binärfiler från SQL Server |
Den här funktionen är som standard inaktive rad. Granska och begränsa all användning av xp_cmdshell för att anropa icke betrodda binärfiler. Du kan kontrol lera åtkomsten till den här slut punkten via sp_configure, enligt beskrivningen här: Konfigurations alternativ för xp_cmdshell Server
|
Använda COM-objekt via sp_OACreate |
Den här funktionen är som standard inaktive rad. COM-objekt anropas via sp_OACreate kör kod som är installerad på servern. Granska sådana samtal för icke betrodda binärfiler. Du kan kontrol lera inställningarna genom sp_configure och här: Konfigurations alternativ för OLE automation-procedurer
|