KB4073225 – pokyny k systému SQL Server pro ochranu před Spectre, Meltdown a mikroarchitekturou.

Shrnutí

Společnost Microsoft ví o nové veřejně známé třídě chyb zabezpečení, která se označuje jako "spekulativní útoky na provozní kanál", které mají vliv na mnoho moderních procesorů a operačních systémů. To zahrnuje Intel, AMD a ARM. Poznámka Tento problém se týká taky dalších systémů, jako je Android, Chrome, iOS a MacOS. Proto zákazníkům doporučujeme, aby hledali pokyny od těchto dodavatelů.

Společnost Microsoft vydala několik aktualizací, které vám pomůžou tyto chyby zabezpečení zmírnit. Také jsme udělali opatření k zabezpečení našich cloudových služeb. Další informace najdete v následujících částech.

Společnost Microsoft dosud neobdržela žádné informace naznačující, že by tyto útoky byly použity k útoku na zákazníky. Společnost Microsoft nadále úzce spolupracuje s průmyslovými partnery, včetně tvůrců čipu, výrobce hardwaru a aplikací, kteří chtějí chránit zákazníky. Chcete-li získat všechny dostupné ochrany, hardware nebo firmware a aktualizace softwaru. Znamená to také aktualizovat mikro kód od OEM výrobců zařízení a v některých případech také aktualizaci antivirového softwaru. Další informace o těchto chybách najdete v článku Microsoft Security Advisor ADV180002. Obecné pokyny ke zmírnění této třídy chyby najdete v tématu pokyny pro zmírnění spekulativních chyb bočních kanálech pro realizaci .

Společnost Microsoft zveřejnila ADV190013 – pokyny pro řešení chyb zabezpečení mikroarchitektur v květnu 2019. SQL Server nemá žádné zvláštní opravy zabezpečení pro problém popsaný v ADV190013. Pokyny pro prostředí, kterých se to týká, najdete v části doporučení v tomto článku. Upozorňujeme, že tento informační zpravodaj platí jenom pro procesory Intel.

Jak získat a nainstalovat aktualizaci

Tato aktualizace je také k dispozici prostřednictvím služby WSUS (Windows Server Update Services) nebo webu Microsoft Update.Poznámka: Tato aktualizace se automaticky nestáhne a nainstaluje se přes Windows Update.

Dostupné opravy SQL

V době publikování jsou k dispozici následující aktualizované buildy SQL serveru:

Servisní verze

4057122 Popis aktualizace zabezpečení pro SQL Server 2017 GDR: 3. ledna 2018 4058562 Popis aktualizace zabezpečení pro SQL Server 2017 RTM CU3:3. ledna 2018 4058561 Popis aktualizace zabezpečení pro SQL Server 2016 SP1 CU7:3. ledna 2018 4057118 Popis aktualizace zabezpečení pro SQL Server 2016 GDR SP1:3. ledna 20184058559 Popis aktualizace zabezpečení pro sql Server 2016:6. ledna 20184058560 popis aktualizace zabezpečení pro SQL Server 2016 GDR: 6.20184057117 Popis aktualizace zabezpečení pro SQL Server 2014 SP2 CU10:16. ledna 2018 Popis aktualizace zabezpečení pro SQL Server 4057120 SP2 GDR: 16. ledna2014Popis aktualizace zabezpečení pro SQL Server 2018 SP4 GDR : 12. ledna 20184057115 Popis aktualizace zabezpečení pro sql Server 2012 SP3: leden, 20184057121 Popis aktualizace zabezpečení proSQL Server 2012 SP3: leden, 2018 4057114 Popis aktualizace zabezpečení pro SQL Server 2008SP4 GDR: 6. ledna 2018 Popis aktualizace zabezpečení pro SQL Server 4057113 R2 SP3 GDR: 6. ledna 2008

Tento dokument bude aktualizován, až budou k dispozici další aktualizovaná sestavení.

Poznámky:

  • Vydali jsme všechny potřebné aktualizace pro SQL Server, aby se zmírnily "Spectre" a "Meltdown" spekulativní chyby zabezpečení bočního kanálu pro realizaci. Společnost Microsoft neví o žádné další expozici "Spectre" a "Meltdown" spekulativních chybových kanálů na straně výkonu pro komponenty, které nejsou uvedené v části dostupné opravy SQL.

  • Všechny další aktualizace SQL Server 2014, SQL Server 2016 a SQL Server 2017 a kumulativní aktualizace obsahují opravy. Například SQL Server 2016 SP2 už obsahuje opravy Spectre a Meltdown.

  • Ve Windows buildech najdete v následujících návodech nejnovější informace o dostupných buildech systému Windows:

    Pokyny k chybám pro Spectre/Meltdown na straně serveru

    Pokyny k chybám vzorkování dat v mikroarchitektuře

    Pro buildy Linux se obraťte na dodavatele Linux, kde najdete nejnovější aktualizovaná sestavení pro vaši specifickou distribuci Linux.

  • Pokud chcete, aby se chyby zabezpečení Spectre a Meltdownly co nejrychleji, doručení těchto aktualizací SQL serveru jako hlavního modelu pro doručování proběhlo jako první. I když se tyto aktualizace dostanou prostřednictvím služby Microsoft Update v březnu, doporučujeme, aby zákazníci, kteří aktualizaci provedli, nainstalovali hned, aniž by čekali, že budou k dispozici prostřednictvím služby Microsoft Update.

Podporované verze SQL serveru

Společnost Microsoft doporučuje, aby všechny zákazníky instalovaly aktualizace SQL serveru (uvedené níže) jako součást běžného cyklu oprav.  Zákazníci, kteří používají SQL Server v zabezpečeném prostředí, ve kterém jsou blokovány body rozšiřitelnosti a aby byl veškerý kód třetí strany spuštěný na stejném serveru důvěryhodný a schválen, by tento problém neměl mít.

Následující verze SQL serveru mají k dispozici aktualizace, které jsou dostupné v systémech s procesory x86 a x64:

  • SQL Server 2008

  • SQL Server 2008R2

  • SQL Server 2012

  • SQL Server 2014

  • SQL Server 2016

  • SQL Server 2017

Nevěříme, že to ovlivňuje IA64 (Microsoft SQL Server 2008). Služba Microsoft analytická platforma (APS) je založená na Microsoft SQL serveru 2014 nebo Microsoft SQL serveru 2016, ale netýká se to konkrétně. Některé obecné pokyny pro přístupové body jsou uvedené dále v tomto článku.

Jak

Následující tabulka popisuje, co by zákazníci měli dělat v závislosti na prostředí, ve kterém běží SQL Server a jaké funkce se používají. Společnost Microsoft doporučuje nasadit opravy pomocí obvyklých postupů k otestování nových binárních souborů před jejich nasazením do provozních prostředí.

Číslo scénáře

Popis scénáře

Doporučení pro prioritní

0,1

Databáze SQL a datový sklad Azure

Není potřeba žádná akce (podrobnosti najdete tady ).

dvojrozměrné

SQL Server běží na fyzickém počítači nebo virtuálním počítači

A žádná z těchto podmínek není pravdivá:

  • Jiná aplikace, která spouští potenciálně nepřátelský kód, je souběžně hostována na stejném počítači

  • Rozhraní rozšiřitelnosti systému SQL Server se používají s nedůvěryhodným kódem (viz níže pro seznam)

 

Microsoft doporučuje nainstalovat aktualizace všech aktualizací pro operační systémy–ochranu před CVE 2017-5753.

Společnost Microsoft doporučuje nainstalovat aktualizace všech OS , aby chránily chyby zabezpečení v mikroarchitektuře (CVE-2018-12126, CVE-2018-12130, CVE-2018-12127 a CVE-2018-11091).

Není potřeba povolit stínovou virtuální adresu jádra (KVAS) a nepotřebnou hardwarovou podporu pro omezení nepřímých větví (IBP) (viz níže). Opravy SQL serveru by měly být instalovány jako součást běžných zásad oprav při dalším plánovaném okně aktualizace.

Na takovém hostiteli můžete používat multithreading.

3000

SQL Server běží na fyzickém počítači nebo virtuálním počítači

A jiná aplikace, která spouští potenciálně nepřátelský kód, je souběžně hostována na stejném počítači

A/nebo rozhraní rozšiřitelnosti SQL serveru se používají s nedůvěryhodným kódem (viz níže pro seznam)

 

 

 

Společnost Microsoft doporučuje nainstalovat aktualizace všech OS , aby chránily před CVE 2017-5753.

Společnost Microsoft doporučuje nainstalovat aktualizace všech OS , aby chránily chyby zabezpečení v mikroarchitektuře (CVE-2018-12126, CVE-2018-12130, CVE-2018-12127 a CVE-2018-11091).

Použijte opravy systému SQL Server (viz níže). Toto se chrání před CVE 2017-5753.

Důrazně doporučujeme používat stínovou virtuální adresu jádra (KVAS) (viz níže). Toto se chrání před CVE 2017-5754.

Důrazně doporučujeme používat hardwarovou podporu pro omezení nepřímých předpovědí. Tato ochrana před CVE 2017-5715

Pokud používáte procesory Intel, doporučujeme, abyste na hostiteli nepnuli multithreading.

čtyř

SQL Server se spouští ve fyzickém počítači

A jiná aplikace, která spouští potenciálně nepřátelský kód, není na stejném počítači spoluhostovaná.

A rozšiřitelná rozhraní SQL serveru se používají k provádění DŮVĚRYHODNÉho kódu. Jedná 

  • Sestavení CLR, která byla přezkoumána/schválena pro použití ve výrobě

  • Odkazované servery, kterým důvěřujete s vetted dotazy, kterým důvěřujete

Nepříklady:

  • Všechny skripty R/Python stažené z Internetu

  • UBinární soubory CLR pro ntrusted od třetí strany

Microsoft doporučuje nainstalovat aktualizace všech aktualizací pro operační systémy–ochranu před CVE 2017-5753.

Společnost Microsoft doporučuje nainstalovat aktualizace všech OS , aby chránily chyby zabezpečení v mikroarchitektuře (CVE-2018-12126, CVE-2018-12130, C v-2018-12127 a CVE-2018-11091).

Důrazně doporučujeme používat stínovou virtuální adresu jádra (KVAS) (viz níže). Toto se chrání před CVE 2017-5754.

Důrazně doporučujeme používat hardwarovou podporu pro omezení nepřímých předpovědí. Tato ochrana před CVE 2017-5715

Pokud se používají procesory Intel, doporučujeme v takovém prostředí vypnout multithreading.

Opravy SQL serveru by měly být instalovány jako součást běžných zásad oprav při dalším plánovaném okně aktualizace.

0,5

SQL Server běží na operačním systému Linux.

Použijte aktualizace operačního systému Linux od svého poskytovatele distribuce.

Použití oprav serveru Linux systému SQL Server (viz níže) Toto se chrání před CVE 2017-5753.

Níže najdete pokyny, jak povolit izolaci tabulky stránek jádra systému Linux (KPTI) a IBP (CVEs CVE 2017-5754 a CVE 2017-5715).

Pokud se procesory Intel používají pro scénář #3 a #4 zmíněné výše, doporučujeme v takovém prostředí vypnout multithreading.

šest

Systém analytických Platform (APS)

Ačkoli přístupové body nepodporují funkce rozšíření z SQL serveru uvedené v tomto bulletinu, doporučujeme nainstalovat opravy Windows na zařízení APS. Povolení KVAS/IBP není povinné.

Informační zpravodaj výkonu

Zákazníci si mohou vyhodnotit výkon určité aplikace při instalaci aktualizací.

Společnost Microsoft doporučuje všem zákazníkům nainstalovat aktualizované verze systému SQL Server a Windows. To by mělo mít zanedbatelný vliv na výkon existujících aplikací na základě testování zatížení SQL. Doporučujeme ale před nasazením do provozního prostředí všechny aktualizace otestovat.

Společnost Microsoft nahlásila účinek stínové relace virtuální adresy jádra (KVAS), nepřímého přesměru tabulky stránek jádra (KPTI) a nepřímých rizik pro předvídání větví (IBP) na různých pracovních vytíženích SQL v různých prostředích a našli si nějaké pracovní vytížení s výrazným zhoršením. Doporučujeme, abyste v provozním prostředí zkoušeli povolit tyto funkce pomocí výkonu. Pokud je výkon těchto funkcí v existující aplikaci moc velký, můžete zvážit, jestli je izolace SQL serveru od nedůvěryhodného kódu, který běží na stejném počítači, vhodnější pro vaši aplikaci.

Další informace o výkonu z nepřímých předpovědí pro omezení předpovědi větví najdete tady.

Microsoft tento oddíl bude aktualizovat o další informace, jakmile bude k dispozici.

Povolení stínování virtuální adresy jádra (KVAS ve Windows) a indirekce tabulky stránek jádra (KPTI na Linux)

KVAS a KPTI s 2017-5754 ohledem na "Meltdown" nebo "variant 3" v informacích o GPZ.

SQL Server je spuštěný v mnoha prostředích: fyzické počítače, virtuální počítače virtuálních počítačů ve veřejných a privátních cloudových prostředích na systémech Linux a Windows. Bez ohledu na prostředí je program spuštěný na počítači nebo na VMu. Volejte na tuto bezpečnostní hranici.

Pokud má veškerý kód na hranici přístup ke všem datům v dané hranici, není nutná žádná akce. Pokud tomu tak není, znamená to, že je to více tenantů. Nalezené chyby zabezpečení umožňují číst libovolný kód, a to i s omezenými oprávněními, které jsou spouštěny v rámci této hranice, ke čtení všech dalších dat v této hranici. Pokud je v hranici s nedůvěryhodným kódem nějaký proces, mohl by tyto chyby zabezpečení použít ke čtení dat z jiných procesů. Tento nedůvěryhodný kód by mohl být nedůvěryhodný kód pomocí mechanismů rozšiřitelnosti systému SQL Server nebo jiných procesů na hranici, která používá nedůvěryhodný kód.

Chcete-li chránit před nedůvěryhodným kódem v hranici více tenantů, použijte některou z následujících metod

  • Odeberte nedůvěryhodný kód. Další informace o tom, jak postupovat pro mechanismy rozšiřitelnosti serveru SQL Server, najdete níže. Pokud chcete odebrat nedůvěryhodný kód z jiných aplikací na stejném okraji, obvykle se vyžadují změny specifické pro jednotlivé aplikace. Například se dělí na dva virtuální počítače.

  • Zapněte KVAS nebo KPTI. Bude to mít vliv na výkon. Další informace najdete v tomto článku.

Další informace o tom, jak povolit KVAS pro Windows, najdete v tématu KB4072698. Další informace o tom, jak povolit KPTI na Linux, najdete v tématu s distributorem operačního systému.

Příklad scénáře, ve kterém je KVAS nebo KPTI důrazně doporučen

Místní fyzický počítač, který hostuje SQL Server jako nesystémový účet správce, umožňuje zákazníkům odesílat libovolné skripty $, které budou spouštěny přes SQL Server (který používá sekundární procesy ke spuštění těchto skriptů mimo Sqlservr. exe). V rámci procesu Sqlservr. exe je nezbytné KVAS a KPTI chránit před zveřejněním dat v paměti jádra systému. Poznámka Mechanismus rozšiřitelnosti v systému SQL Server není automaticky považován za nebezpečný, protože se používá. Tyto mechanismy lze bezpečně používat v systému SQL Server, pokud je to pro jednotlivé závislosti srozumitelné a důvěryhodné. V systému SQL jsou také k dispozici další produkty, které mohou vyžadovat mechanismy rozšiřitelnosti pro správné fungování. Například zabalená aplikace, která je součástí SQL serveru, může vyžadovat propojený server nebo uloženou proceduru CLR, aby fungovala správně. Společnost Microsoft nedoporučuje, abyste je odebrali jako součást omezení rizik. Pokud chcete zjistit, jestli se tento kód považuje za počáteční akci, můžete místo toho zkontrolovat jednotlivé možnosti. Tento návod vám poskytne zákazníkům možnost určit, jestli jsou v situaci, kdy mají povolit KVAS. Důvodem je to, že tato akce má závažný vliv na výkon.

Povolení podpory pro hardware s nepřímým vypředvídáním větví (IBP)

IBP zmírňuje riziko oproti CVE 2017-5715, známé také jako jedna polovina Spectre nebo "variant 2" ve zpřístupnění GPZ.

Pokyny v tomto článku k povolení KVAS ve Windows taky umožňují IBP. IBP také vyžaduje aktualizaci firmwaru od výrobce hardwaru. Kromě pokynů v KB4072698 pro povolení ochrany v systému Windows musí zákazníci získat a nainstalovat aktualizace od výrobce hardwaru.

Příklad scénáře, ve kterém se důrazně doporučuje IBP

Místní fyzický počítač hostuje SQL Server vedle aplikace, která umožňuje nedůvěryhodným uživatelům nahrát a spustit libovolný kód JavaScriptu. Za předpokladu, že v databázi SQL existují důvěrná data, IBP se důrazně doporučuje pro ochranu před zpřístupněním informací mezi procesy.

V situacích, kdy podpora hardwaru IBP není k dispozici, společnost Microsoft doporučuje rozdělit nedůvěryhodné procesy a důvěryhodné procesy na různé fyzické počítače nebo virtuální počítače.

Uživatelé systému Linux: požádejte distributora operačního systému o informace o ochraně před variantou 2 (CVE 2017-5715).

Příklad scénáře, ve kterém důrazně doporučujeme zmírnit chyby zabezpečení při vzorkování mikroarchitektur

Podívejte se na příklad, ve kterém je místní server spuštěn dvěma instancemi SQL serveru hostujících dvěma různými podnikovými aplikacemi na jednom fyzickém hostiteli. Předpokládejme, že tyto dvě obchodní aplikace by neměly mít možnost číst data uložená napříč instancemi SQL serveru. Útočník, který by tyto chyby zabezpečení úspěšně zneužil, může číst privilegovaná data napříč hranicemi důvěryhodnosti pomocí nedůvěryhodného kódu, který je v počítači spuštěný jako samostatný proces nebo nedůvěryhodný kód provedený pomocí mechanismu rozšiřitelnosti SQL serveru (viz část níže pro možnosti rozšíření v systému SQL Server). V prostředích se sdílenými prostředky (například v některých konfiguracích cloudových služeb) můžou tyto chyby zabezpečení umožnit, aby jeden virtuální počítač správně nasdílel informace z jiného. V případech, kdy se nejedná o scénáře v samostatných systémech, by útočník musel tuto chybu zabezpečení zneužít až po předchozím přístupu k systému nebo k spuštění speciálně vytvořené aplikace v cílovém systému.

Nedůvěryhodné mechanismy rozšiřitelnosti SQL serveru

SQL Server obsahuje mnoho rozšiřujících funkcí a mechanismů. Většina z těchto mechanismů je ve výchozím nastavení zakázaná. Doporučujeme však zákazníkům, aby zkontrolovali každou instanci výroby pro použití funkcí rozšiřitelnosti. Doporučujeme, aby všechny tyto funkce byly omezeny na minimální sadu binárních souborů a aby zákazníci zakázali přístup k libovolnému kódu na stejném počítači jako SQL Server. Doporučujeme zákazníkům, aby určili, jestli mají všechny binární soubory důvěřovat, a zakázání nebo odebrání nedůvěryhodných binárních souborů.

  • Sestavení SQL CLR

  • Balíčky r a Python spuštěné prostřednictvím mechanismu externích skriptů nebo spouštěné ze samostatného programu R/Machine Learning Studio na stejném fyzickém počítači jako SQL Server

  • Body rozšiřitelnosti agenta SQL na stejném fyzickém počítači jako SQL Server (skripty ActiveX)

  • Zprostředkovatelé OLE DB od jiného výrobce, kteří používají odkazované servery

  • Rozšířené uložené procedury jiných výrobců

  • Objekty COM spuštěné na serveru (dostupný prostřednictvím sp_OACreate)

  • Programy spouštěné prostřednictvím xp_cmdshell

Zklidňující fakta týkající se použití nedůvěryhodného kódu v systému SQL Server:

Scénář/případ použití

Zklidňující nebo navrhovaná opatření

SQL Server s povoleným modulem CLR (sp_configure ' Enabled ', 1)

  1. Pokud je to možné, zakažte modul CLR, pokud není ve vaší aplikaci potřeba ke snížení rizika, že se načte nedůvěryhodný kód do systému SQL Server

  1. (SQL Server 2017 +) Pokud je v aplikaci ještě potřeba CLR, povolte načtení určitých sestavení pomocí funkce CLR StrictSecurity (CLR Strict Security)pomocí sys.sp_add_trusted_assembly (Sys.sp_add_trusted_assembly (Transact-SQL)).

  1. Zvažte, jestli jde kód CLR migrovat na kód ekvivalentní T-SQL.

  1. Zkontrolujte oprávnění zabezpečení a zamkněte scénáře, ve kterých lze použít operace založené na CLR. Omezte omezení vytvoření sestavení, externího sestavení pro přístup a nezabezpečeného sestavení na minimální sadu uživatelů nebo cesty kódu, aby se zakázalo načtení nových sestavení do existující a nasazené aplikace.

Spouštění externích skriptů Java/R/Python z SQL serveru (sp_configure ' externí skripty jsou povolené)

  1. Pokud je to možné, zakažte funkci externích skriptů, pokud ji ve vaší aplikaci nepotřebujete k omezení oblasti útoku.

  1. (SQL Server 2017 +) Pokud je to možné, migrujte externí skripty tak, aby místo toho používaly funkci nativního bodování (nativní bodování pomocí funkce prediktivní T-SQL).

  1. Zkontrolujte oprávnění zabezpečení a zamkněte scénáře, kde se dají používat externí skripty. Omezit provádění libovolného externího skriptu na minimální sadu přístupových cest uživatelů nebo kódu, aby nepovolovali provádění libovolného skriptu.

Použití odkazovaných serverů (sp_addlinkedserver)

  1. Projděte si nainstalované zprostředkovatele OLEDB a zvažte odebrání všech nedůvěryhodných zprostředkovatelů OLEDB z počítače. (Pokud neodebíráte zprostředkovatele služeb OLEDB mimo SQL Server v počítači). Tady je příklad toho, jak vytvořit výčet existujících zprostředkovatelů OLEDB: OleDbEnumerator. GetEnumerator (typ)

  1. Zkontrolujte a odeberte všechny nepotřebné propojené servery z SQL serveru (sp_dropserver), abyste snížili možnost, že se nedůvěryhodný kód v procesu Sqlservr. exe provádí.

  1. Zkontrolujte oprávnění zabezpečení, abyste se mohli uzamknout a změnit všechna PROPOJENá oprávnění serveru na minimální počet uživatelů.

  1. Zkontrolujte mapování přihlášení na server a přihlašovací údaje (sp_addlinkedsvrlogin/sp_droplinkedsvrlogin), abyste omezili, kdo může provádět operace přes propojené servery s minimální sadou uživatelů/scénářů.

Použití rozšířených uložených procedur (sp_addextendedproc)

Rozšířené uložené procedury jsou zastaralé a v provozních systémech je nepoužívají a nepoužívejte je.

Použití xp_cmdshell k vyvolání binárních souborů z SQL serveru

Ve výchozím nastavení je tato funkce vypnutá. Kontrola a omezení veškerého používání xp_cmdshell pro volání nedůvěryhodných binárních souborů. Přístup k tomuto koncovému bodu můžete řídit pomocí sp_configure, jak je popsáno tady:

Možnost konfigurace serveru xp_cmdshell

 

Použití objektů COM prostřednictvím sp_OACreate

Ve výchozím nastavení je tato funkce vypnutá. Objekty COM spouštěné prostřednictvím sp_OACreate spuštění kódu nainstalovaného na serveru Zkontrolujte, jestli nedůvěryhodní binární soubory nedůvěřují. Nastavení můžete zkontrolovat sp_configure, jako decribed tady:

Možnosti konfigurace serveru pro automatizaci OLE

 

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Děkujeme za váš názor!

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×