Povzetek
Microsoft je seznanjen z novim javno razkritim razredom ranljivosti, ki je naveden kot "špekulativni napadi na stranski kanal", ki vplivajo na številne sodobne procesorje in operacijske sisteme. To vključuje Intel, AMD in ARM. Opomba Ta težava vpliva tudi na druge sisteme, kot so Android, Chrome, iOS in MacOS. Zato svetujemo kupcem, da poiščejo navodila za te prodajalce.
Microsoft je izdal več posodobitev, s katerimi bi lahko ublažili te ranljivosti. Sprejeli smo tudi ukrepe za zaščito storitev v oblaku. Če želite več informacij, si oglejte te razdelke.
Microsoft ni prejel nobenih informacij, ki bi pokazale, da so bile te ranljivosti uporabljene za napade kupcev v tem trenutku. Microsoft še naprej tesno sodeluje z industrijskimi partnerji, vključno z oblikovalci čipov, proizvajalci strojne opreme in prodajalci programov, da zaščiti stranke. Če želite pridobiti vse razpoložljive zaščite, so zahtevane posodobitve strojne opreme ali vdelane programske opreme. V tem razdelku so v nekaterih primerih na voljo tudi kode iz izvirnih izdelovalcev naprav, v nekaterih pa posodobitve protivirusne programske opreme. Če želite več informacij o ranljivostih, glejte Microsoftova varnostna svetovalna ADV180002. Za splošno usmerjanje za ublažitev tega razreda ranljivosti glejte smernice za ublažitev špekulativnih ranljivosti izvajanja stranskih kanalov
Microsoft je objavil ADV190013 – Microsoftova navodila za omilitev ranljivosti za vzorčenje podatkov v maju 2019. Strežnik SQL Server nima določenih varnostnih popravkov za težavo, ki je opisana v ADV190013. V razdelku priporočila v tem članku najdete navodila za okolja, ki jih je prizadela ADV190013. Upoštevajte, da to svetovanje velja le za procesorje Intel.
Kako pridobiti in namestiti posodobitev
Ta posodobitev je na voljo tudi v storitvah Windows Server Update Services (WSUS) ali na spletnem mestuMicrosoft Update catalog.Opomba: Ta posodobitev ne bo prenesena in samodejno nameščena prek sistema Windows Update.
Razpoložljivi SQL obliži
V času objave so na voljo te posodobljene SQL Serverske gradnje:
Izdaja servisiranja
4057122 opis varnostne posodobitve za strežnik SQL Server 2017 NDR: 3. januar 2018 4058562 opis varnostne posodobitve za strežnik SQL Server 2017 RTM CU3: januar 3, 2018 4058561 opis varnostne posodobitve za strežnik SQL Server 2016 SP1 CU7: januar 3, 2018 4057118 opis varnostne posodobitve za SQL Server 2016 ndr SP1: januar 3, 2018 4058559 opis varnostne posodobitve za strežnik SQL Server 2016 Cu: 6. januar 2018 4058560 opis varnostne posodobitve za strežnik SQL Server 2016 NDR: januar 6, 2018 4057117 opis varnostne posodobitve za strežnik SQL Server 2014 SP2 CU10: januar 16, 2018 4057120 opis varnostne posodobitve za SQL Server 2014 SP2 NDR: januar 16, 2018 4057116 opis varnostne posodobitve za SQL Server 2012 SP4 NDR : Januar 12, 2018 4057115 opis varnostne posodobitve za strežnik sql Server 2012 SP3 NDR: januar, 2018 4057121 opis varnostne posodobitve za strežnik SQL Server 2012 SP3 CU: januar, 2018 4057114 opis varnostne posodobitve za strežnik SQL Server 2008 SP4 ndr: januar 6, 2018 4057113 opis varnostne posodobitve za SQL Server 2008 R2 SP3 NDR: januar 6, 2018
Ta dokument bo posodobljen, ko bodo na voljo dodatne posodobljene gradnje.
Opombe
-
Izdali smo vse zahtevane posodobitve za strežnik SQL Server, da ublažite» Spectre «in» zlom «špekulativnih ranljivosti stranskih kanalov. Microsoft ne pozna nobene dodatne izpostavljenosti» Spectre «in» zlom «špekulativnih ranljivosti neželenih stranskih kanalov za komponente, ki niso navedene v razdelku» razpoložljive SQL patches «.
-
Vsi poznejši strežnik SQL Server 2014, SQL Server 2016 in SQL Server 2017 Service Packs in kumulativne posodobitve bodo vsebovale popravke. Na primer, strežnik SQL Server 2016 SP2 že vsebuje popravke za Spectre in taljenje.
-
Za Windows gradi na teh navodilih za najnovejše informacije o razpoložljivih različicah sistema Windows:
Navodila za Windows Server za šibke točke» Spectre/stranski kanal «
Navodila za razvrščanje podatkov v sistemu Windows Server za analizo ranljivosti
Za Linux gradi se obrnite na prodajalca Linux, da poiščete najnovejše posodobljene gradnje za določeno distribucijo Linuxa.
-
Če želite čim prej obravnavati ranljivosti Spectre in zloma, je bila dostava teh posodobitev strežnika SQL na začetku na Microsoftovem središču za prenos kot primarni model dostave. Čeprav bodo te posodobitve dostavljene prek storitve Microsoft Update marca, vam priporočamo, da prizadeti uporabniki namestijo posodobitev zdaj, ne da bi jih počakali, da bodo na voljo v storitvi Microsoft Update.
Podprte različice strežnika SQL Server, ki so prizadeti
Microsoft priporoča, da vse stranke namestite posodobitve strežnika SQL Server (navedene spodaj) kot del rednega cikla popravkov. Uporabniki, ki izvajajo strežnik SQL Server v varnem okolju, kjer so točke razširljivosti blokirane, in ta težava ne vpliva na vse tretje osebe, ki se izvajajo v istem strežniku.
V teh različicah strežnika SQL Server so na voljo posodobitve, ko se izvajajo v sistemih x86 in x64 procesorjev:
-
Strežnik SQL Server 2008
-
Strežnik SQL Server 2008R2
-
Strežnik SQL Server 2012
-
Strežnik SQL Server 2014
-
Strežnik SQL Server 2016
-
Strežnik SQL Server 2017
Ne verjamemo, da je prizadetih IA64 (Microsoft SQL Server 2008). Storitev Microsoft analitične platforme (APS) temelji na strežniku Microsoft SQL Server 2014 ali Microsoft SQL Server 2016, vendar to ni posebej vplivalo. Nekatere splošne smernice za APS so navedene v nadaljevanju tega članka.
Priporočila
V spodnji tabeli so opisane stranke, ki bi morale biti odvisne od okolja, v katerem se izvaja strežnik SQL in katere funkcije se uporabljajo. Microsoft priporoča, da uvedete popravke z običajnimi postopki za preizkušanje novih dvojiških elementov, preden jih uvedete v proizvodna okolja.
Številka scenarija |
Opis scenarija |
Prednostna priporočila |
1 |
Zbirka podatkov v storitvi Azure SQL in podatkovno skladišče |
Zahtevano ni nobeno dejanje (glejte tukaj za podrobnosti). |
2 |
Strežnik SQL Server se izvaja v fizičnem ali navideznem računalniku IN nobeden od teh pogojev ni resničen:
|
Microsoft priporoča, da namestite vse posodobitve OS to zaščiti pred CVE 2017-5753. Microsoft priporoča, da namestite vse posodobitve za OS , s katerimi zaščitite ranljivosti za razvrščanje podatkov (CVE-2018-12126, CVE-2018-12130, CVE-2018-12127 in CVE-2018-11091). Omogočanje, da se omogoči senčenje navideznega naslova (KVAS) in posredno podprta podpora strojne opreme za določanje naročnine na vejo (IBP), niso obvezna (glejte spodaj). Popravki strežnika SQL Server bi morali biti nameščeni kot del običajnega pravilnika o popravkih na naslednjem oknu načrtovanega posodabljanja. S takim gostiteljem lahko še naprej vplivate na HyperThreading. |
3 |
Strežnik SQL Server se izvaja v fizičnem ali navideznem računalniku IN drug program, ki izvaja morebitno sovražno kodo, je v istem računalniku. IN/ali razširljivi vmesniki strežnika SQL Server, ki se uporabljajo za kodo, ki ni vredna zaupanja (glejte spodaj za seznam)
|
Microsoft priporoča, da namestite vse posodobitve za OS , da zaščitite pred CVE 2017-5753. Microsoft priporoča, da namestite vse posodobitve za OS , s katerimi zaščitite ranljivosti za razvrščanje podatkov (CVE-2018-12126, CVE-2018-12130, CVE-2018-12127 in CVE-2018-11091). Uporaba popravkov strežnika SQL Server (glejte spodaj). To ščiti pred CVE 2017-5753. Za omogočanje senčenja navideznega naslova jedra (KVAS) je zelo priporočljivo (glejte spodaj). To ščiti pred CVE 2017-5754. Zelo priporočljivo je, da je omogočena podpora strojne opreme za blažitev neposrednega predvidevanja (IBP) (glejte spodaj). To ščiti pred CVE 2017-5715 Priporočamo, da onemogočite HyperThreading v gostitelju, če so uporabljeni procesorji Intel. |
4 |
Strežnik SQL Server se izvaja v fizičnem računalniku IN drug program, ki izvaja morebitno sovražno kodo, ni v istem računalniku. IN razširitvene vmesnike strežnika SQL Server, ki se uporabljajo za izvajanje zaupanja VREDNe kode. Primeri
Niso primeri:
|
Microsoft priporoča, da namestite vse posodobitve OS to zaščiti pred CVE 2017-5753. Microsoft priporoča, da namestite vse posodobitve za OS , s katerimi zaščitite ranljivosti za razvrščanje podatkov (CVE-2018-12126, CVE-2018-12130, Cve-2018-12127 in CVE-2018-11091). Za omogočanje senčenja navideznega naslova jedra (KVAS) je zelo priporočljivo (glejte spodaj). To ščiti pred CVE 2017-5754. Zelo priporočljivo je, da je omogočena podpora strojne opreme za blažitev neposrednega predvidevanja (IBP) (glejte spodaj). To ščiti pred CVE 2017-5715 Priporočamo, da onemogočite HyperThreading v takem okolju, če uporabljate procesorje Intel. Popravki strežnika SQL Server bi morali biti nameščeni kot del običajnega pravilnika o popravkih na naslednjem oknu načrtovanega posodabljanja. |
5 |
Strežnik SQL Server se izvaja v sistemu Linux OS. |
Uporabite posodobitve za Linux OS iz ponudnika prejemnikov. Uporaba popravkov strežnika Linux SQL Server (glejte spodaj). To ščiti pred CVE 2017-5753. Glejte spodaj za navodila o tem, ali želite omogočiti osamitev tabele strani Linux Kernel (KPTI) in IBP (CVEs CVE 2017-5754 in CVE 2017-5715). Priporočamo, da onemogočite HyperThreading v takem okolju, če se procesorji Intel uporabljajo za scenarij #3 in #4 navedeni zgoraj. |
6 |
Sistem platform Analytics (APS) |
Čeprav APS ne podpira funkcij razširljivosti iz strežnika SQL Server, ki je naveden v tem biltenu, priporočamo, da namestite popravke sistema Windows v napravo APS. Omogočanje KVAS/IBP ni zahtevano. |
Svetovanje za uspešnost
Kupcem svetujemo, da ocenijo učinkovitost delovanja določenega programa, ko uporabljajo posodobitve.
Microsoft svetuje vsem strankam, naj namestijo posodobljene različice strežnika SQL Server in Windows. To naj bi imelo učinek učinkovitosti delovanja, ki je zanemarljiv do najmanjšega števila, na podlagi Microsoftovega preskusa delovnih obremenitev SQL. Vendar vam priporočamo, da preskusite vse posodobitve, preden jih uvedete v proizvodno okolje.
Microsoft je izmeril učinek senčenja navideznega naslova (KVAS), naročnine na kazalo strani (KPTI) in posredne olajševalne napovedi podružnic (IBP) na različnih delovnih obremenitvah SQL v različnih okoljih ter ugotovil nekatere delovne obremenitve s precejšnjo degradacijo. Priporočamo, da preskusite učinkovitost delovanja, ki omogoča te funkcije, preden jih uvedete v proizvodnem okolju. Če je učinkovitost delovanja, ki omogoča, da so te funkcije previsoke za obstoječo aplikacijo, lahko razmislite o tem, ali je osamitev strežnika SQL Server iz nezaupanja vredne kode, ki se izvaja v istem računalniku, boljša blažitev aplikacije.
Več informacij o učinku učinkovitosti delovanja strojne opreme, ki je posledica posrednega predvidevanja, je podrobno opisano tukaj.
Microsoft bo ta razdelek posodobil z več informacijami, ko bo na voljo.
Omogočanje senčenja navideznega naslova za kernel (KVAS v sistemu Windows) in naslovne tabele na strani jedra (KPTI v Linuxu)
KVAS in KPTI blažita CVE 2017-5754, znana tudi kot» taljenje «ali» različica 3 «v GPZ razkritju.
Strežnik SQL Server se izvaja v številnih okoljih: fizični računalniki, VMs v javnih in zasebnih okoljih v oblaku, v sistemih Linux in Windows. Ne glede na okolje se program izvaja v računalniku ali sistemu VM. Pokliči to varnostno mejo.
Če ima vsa koda v pregradi dostop do vseh podatkov v tej meji, ni potrebno nobeno dejanje. Če to ni res, je meja omenjena kot več najemnikov. Najdene ranljivosti omogočajo morebitno kodo, tudi z zmanjšanimi dovoljenji, ki se izvajajo v katerem koli postopku v tej mejah, če želite prebrati vse druge podatke znotraj te meje. Če je kateri koli postopek v pregradi, v katerem se izvaja koda, ki ni vredna zaupanja , lahko uporabi te ranljivosti za branje podatkov iz drugih procesov. Ta koda, ki ni vredna zaupanja, lahko nezaupanja vredna koda uporabi razširljive mehanizme strežnika SQL Server ali druge procese v pregradi, ki izvaja kodo, ki ni vredna zaupanja.
Če želite zaščititi pred kodo, ki ni vredna zaupanja, v pregradi več najemnikov, uporabite enega od teh načinov
-
Odstranite kodo, ki ni vredna zaupanja. Če želite več informacij o tem, kako to naredite za raztezne mehanizme strežnika SQL Server, glejte spodaj. Če želite odstraniti nezaupljivo kodo iz drugih programov v isti pregradi, so po navadi zahtevane spremembe, značilne za aplikacijo. Na primer, ločevanje na dva VMs.
-
Vklopite KVAS ali KPTI. To bo imelo učinek učinkovitosti delovanja. Če želite več informacij, kot je opisano v tem članku.
Če želite več informacij o tem, kako omogočite KVAS za Windows, glejte KB4072698. Če želite več informacij o tem, kako omogočite KPTI v Linuxu, se posvetujte z distributerjem operacijskega sistema.
Primer scenarija, v katerem je zelo priporočljivo KVAS ali KPTI
Fizični računalnik na mestu uporabe, ki gosti SQL Server kot skrbniški račun brez sistema, omogoča uporabnikom, da pošljejo samovoljne R skripte, da se izvajajo prek strežnika SQL Server (ki uporablja sekundarne procese za zagon teh skriptov zunaj sqlservr. exe). Treba je omogočiti KVAS in KPTI, da zaščitite pred razkritjem podatkov v procesu Sqlservr. exe in zaščitite pred razkritjem podatkov v jedru sistema jedra. Opomba Razširljivi mehanizem v strežniku SQL Server ni samodejno obravnavan kot nevaren samo zato, ker je uporabljen. Te mehanizme je mogoče varno uporabljati v SQL Serverju, dokler je vsaka odvisnost razumljena in vredna zaupanja stranke. Poleg tega obstajajo tudi drugi izdelki, ki so zgrajeni na vrhu SQL-a, ki lahko zahtevajo, da razširljivi mehanizmi pravilno delujejo. Na primer, paketni program, ki je zgrajen na vrhu strežnika SQL Server, lahko zahteva, da je povezan strežnik ali shranjen postopek za pravilno delovanje. Microsoft ne priporoča, da jih odstranite kot del zmanjšanja. Namesto tega preglejte vsako uporabo, da ugotovite, ali je ta koda razumljena in vredna zaupanja kot začetno dejanje. Ta navodila so na voljo za pomoč strankam pri ugotavljanju, ali so v situaciji, v kateri morajo omogočiti KVAS. To je zato, ker je to dejanje pomembno vplivalo na učinkovitost delovanja.
Omogočanje podpore strojne opreme za preprečevanje posrednega napovedovanja (IBP)
IBP blaži proti CVE 2017-5715, znana tudi kot polovica Spectre ali "variant 2" v GPZ razkritju.
Navodila v tem članku, da omogočite KVAS v sistemu Windows, omogočajo tudi IBP. Vendar pa je za IBP potrebna tudi posodobitev strojne programske opreme, ki jo je izdelovala vaša strojna oprema. Poleg navodil v KB4072698 za omogočanje zaščite v sistemu Windows morajo stranke pridobiti in namestiti posodobitve proizvajalca strojne opreme.
Primer scenarija, v katerem je zelo priporočljivo, da je IBP zelo priporočljiv
Fizični računalnik na mestu uporabe gosti SQL Server ob programu, ki uporabnikom nezaupljivim omogoča prenos in izvajanje samovoljne kode JavaScript. Ob predpostavki, da obstaja zaupni podatki v zbirki podatkov SQL, je IBP zelo priporočljiva kot merilo za zaščito pred razkritjem informacij, ki jih proces obdeluje.
V primerih, v katerih podpora strojne opreme IBP ni predstavljena, Microsoft priporoča ločevanje nezaupljivih procesov in zaupanja vrednega procesa na različne fizične računalnike ali virtualne stroje.
Uporabniki Linuxa: obrnite se na distributerja operacijskega sistema, kjer boste izvedeli več o zaščiti pred različico 2 (CVE 2017-5715).
Primer scenarija, v katerem je zelo priporočljivo omilitev ranljivosti podatkov o vzorčenju za arhitekturo
Razmislite o primeru, ko strežnik na mestu uporabe izvaja dva primera strežnika SQL Server, ki gostita dve različni poslovni aplikaciji v dveh različnih navideznih strojih na istem fizičnem gostitelju. Predpostavimo, da ti dve poslovni aplikaciji ne bosta mogli prebrati podatkov, shranjenih v primerkih strežnika SQL Server. Napadalca, ki je uspešno izkoristil te ranljivosti, bo morda lahko brala privilegirane podatke v mejah zaupanja z uporabo nezaupljive kode, ki se izvaja v računalniku kot ločen proces ali nezaupljiva koda, izvedena z uporabo mehanizma za razširljive strežnike strežnika SQL (glejte spodnji razdelek za možnosti razširljivosti v strežniku SQL Server). V okoljih z viri v skupni rabi (na primer obstaja v nekaterih konfiguracijah storitev v oblaku) lahko te ranljivosti dovolijo, da en stvaren stroj neprimerno dostopa do informacij iz drugega. V scenarijih, ki ne omogočajo brskanja v samostojnih sistemih, bi bil napadalec potreben predhodni dostop do sistema ali možnost zagona posebej izdelane aplikacije na ciljnem sistemu za povečanje teh ranljivosti.
Razširljivi mehanizmi za strežnik SQL Server ni vreden zaupanja
V strežniku SQL Server so na voljo številne funkcije razširljivosti in mehanizmi. Večina teh mehanizmov je privzeto onemogočenih. Vendar svetujemo kupcem, da pregledajo vsak primerek proizvodnje za funkcijo razširljivosti. Priporočamo, da je vsaka od teh funkcij omejena na najmanjši nabor dvojiških vrednosti in da stranke omejijo dostop, da preprečijo, da bi se samovoljna koda zagnala v istem računalniku kot strežnik SQL Server. Kupcem svetujemo, da ugotovijo, ali naj zaupajo posamezni dvojiški in onemogočijo ali odstranijo nezaupljive dvojiške datoteke.
-
Zbiri SQL CLR
-
Paketi r in Python, ki se izvajajo prek mehanizma zunanjega skripta ali pa se izvajajo v samostojnem izobraževalnem studiu R/Machine v istem fizičnem računalniku kot strežnik SQL Server
-
Razširitvene točke SQL agenta, ki se izvajajo v istem fizičnem računalniku kot strežnik SQL Server (skripte ActiveX)
-
Ponudniki, ki niso Microsoftovi OLE DB, uporabljeni v povezanih strežnikih
-
Ne-Microsoft razširjene shranjene procedure
-
Predmeti COM, izvršeni v strežniku (dostop do sp_OACreate)
-
Programi, ki se izvajajo prek xp_cmdshell
Ublažitev, če uporabljate kodo, ki ni vredna zaupanja v strežniku SQL Server:
Scenarij/primer uporabe |
Olajševalne ali predlagane korake |
Zagon strežnika SQL Server s sistemom CLR Enabled (sp_configure» CLR Enabled «; 1) |
|
Zaganjanje zunanjih skriptov v programu Java/R/Python iz strežnika SQL Server (sp_configure» zunanji skripti so omogočeni «; 1) |
|
Uporaba povezanih strežnikov (sp_addlinkedserver) |
|
Uporaba razširjenih shranjenih procedur (sp_addextendedproc) |
Ker so razširjeni shranjeni postopki zastareli, odstranite vse uporabe teh in jih ne uporabljajte v proizvodnih sistemih. |
Uporaba xp_cmdshell za pozvati dvojiške datoteke iz strežnika SQL Server |
Ta funkcija je privzeto izklopljena. Preglejte in omejite uporabo xp_cmdshell za uveljavljanje nezaupljivih dvojiških vrednosti. Dostop do te končne točke lahko nadzorujete prek sp_configure, kot je opisano tukaj: Možnost konfiguracije xp_cmdshell strežnika
|
Uporaba COM predmetov prek sp_OACreate |
Ta funkcija je privzeto izklopljena. Predmeti COM, ki se sklicujejo prek sp_OACreate izvajanje kode, ki je nameščena v strežniku. Preglejte vse take klice za dvojiške datoteke, ki niso vredne zaupanja. Nastavitve lahko preverite prek sp_configure, kot je opisano tukaj: Možnost konfiguracije strežnika OLE Automation
|