Rezime
Microsoft je svestan nove javno obelodanjene klase ranjivosti koja se naziva "spekulativni napadi na bočne kanale" koji utiču na mnoge moderne procesore i operativne sisteme. To uključuje Intel, AMD i ARM. Napomena Ovaj problem utiče i na druge sisteme, kao što su Android, Chrome, iOS i MacOS. Stoga savetujemo kupcima da potraže smernice od tih dobavljača.
Microsoft je objavio nekoliko ispravki koje pomažu u ublažavanju ovih ranjivosti. Takođe smo preduzeli akciju da obezbedimo naše usluge u oblaku. Više informacija potražite u sledećim odeljcima.
Microsoft u ovom trenutku nije dobio nikakve informacije koje bi ukazale na to da su ove ranjivosti korišćene za napad na korisnike. Microsoft nastavlja blisku zajedničku sa partnerima u industriji, uključujući proizvođače čipova, hardverske OEM proizvođače i prodavce aplikacija, kako bi zaštitio kupce. Da biste dobili sve dostupne zaštite, potrebne su hardverske ili firmver i softverske ispravke. To uključuje mikrokod iz OEM proizvođača uređaja i, u nekim slučajevima, ispravke antivirusnog softvera. Više informacija o ranjivosti potražite u članku Microsoft Security Advisory ADV180002. Za opšte smernice za ublažavanje ove klase ranjivosti, pogledajte Vodič za ublažavanje špekulativnih ranjivosti na bočnom kanalu
Microsoft je u maju 2019. godine objavio ADV190013 - Microsoft guidance za ublažavanje mikroarchitecturalnih ranjivosti uzorkovanja podataka. SQL Server nema nikakve specifične bezbednosne zakrpe za problem opisan u ADV190013. Smernice za okruženja pogođena ADV190013 možete pronaći u odeljku Preporuke ovog članka. Imajte uvesti da se ovo savetovanje odnosi samo na Intel procesore.
Nabavljanje i instaliranje ispravke
Ova ispravka je dostupna i preko Usluge ažuriranja Windows servera (WSUS) ili Na Veb lokaciji Microsoft Update Catalog.website. Napomena: Ova ispravka neće biti automatski preuzeta i instalirana putem usluge Windows Update.
Dostupne SQL zakrpe
U vreme objavljivanja, za preuzimanje su dostupne sledeće ažurirane verzije sistema SQL Server:
Oslobađanje od servisiranja
4057122 Opis bezbednosne ispravke za SQL Server 2017 GDR: January 3, 2018 4058562 Opis bezbednosne ispravke za SQL Server 2017 RTM CU3: 3. januar, 2018 4058561 Opis bezbednosne ispravke za SQL Server 2016 SP1 CU7: January 3, 2018 4057118 Opis bezbednosne ispravke za SQL Server 2016 GDR SP1: January 3, 2018 4058559 Opis bezbednosne ispravke za SQL Server 2016 CU: Januar 6, 2018 4058560 Opis bezbednosne ispravke za SQL Server 2016 GDR: January 6, 2018 4057117 Opis bezbednosne ispravke za SQL Server 2014 SP2 CU10: 16. januar, 2018 4057120 Opis bezbednosne ispravke za SQL Server 2014 SP2 GDR: January 16, 2018 4057116 Opis bezbednosne ispravke za SQL Server 2012 SP4 GDR : January 12, 2018 4057115 Opis bezbednosne ispravke za SQL Server 2012 SP3 GDR: Januar, 2018 4057121 Opis bezbednosne ispravke za SQL Server 2012 SP3 CU: januar, 2018 4057114 Opis bezbednosne ispravke za SQL Server 2008 SP4 GDR: 6. januar 2018 4057113 Opis bezbednosne ispravke za SQL Server 2008 R2 SP3 GDR: 6. januar 2018.
Ovaj dokument će biti ažuriran kada budu dostupne dodatne ažurirane verzije.
Napomene
-
Objavili smo sve potrebne ispravke za SQL Server da bismo ublažili "Spectre" i "Meltdown" špekulativne ranjivosti pogubljenja na bočnom kanalu. Microsoft nije upoznat sa bilo kakvom dodatnom izloženošću "Spectre" i "Meltdown" ranjivosti kanala za špekulativno izvršavanje bočnih kanala za komponente koje nisu navedene u odeljku "Dostupne SQL zakrpe".
-
Sve naredne SQL Server 2014, SQL Server 2016 i SQL Server 2017 servisni paketi i kumulativne ispravke sadržaće ispravke. Na primer, SQL Server 2016 SP2 već sadrži ispravke za Spectre i Meltdown.
-
Za verzije operativnog sistema Windows pogledajte sledeće smernice za najnovije informacije o dostupnim verzijama operativnog sistema Windows:
Windows Server Vodič za ranjivosti bočnog kanala spektra/topljenja
Windows Server Vodič za ranjivosti uzorkovanja mikroarchitecturalnih podataka
Za Linux builds obratite se svom Linux prodavcu da biste pronašli najnovije ažurirane verzije za vašu specifičnu Linux distribuciju.
-
Da bi se ranjivosti spektra i topljenja rešile što je brže moguće, isporuka ovih SQL Server ispravki je u početku izvršena na lokaciji Microsoft Download Center kao primarnom modelu isporuke. Iako će ove ispravke biti isporučene putem lokacije Microsoft Update u martu, preporučujemo da pogođeni klijenti sada instaliraju ispravku ne čekajući da postanu dostupne putem lokacije Microsoft Update.
Podržane verzije SQL servera na koje to utiče
Microsoft preporučuje svim korisnicima da instaliraju ispravke za SQL Server (navedene ispod) kao deo redovnog ciklusa krpljenja. Klijenti koji pokreću SQL Server u bezbednom okruženju gde su tačke proširenja blokirane, a svi kodovi nezavisnih proizvođača pokrenuti na istom serveru su pouzdani i odobreni ne bi trebalo da utiču na ovaj problem.
Sledeće verzije sistema SQL Server imaju dostupne ispravke kada rade na x86 i x64 procesorskim sistemima:
-
SQL Server 2008
-
SQL Server 2008R2
-
SQL Server 2012
-
SQL Server 2014
-
SQL Server 2016
-
SQL Server 2017
Ne verujemo da je to uticalo na IA64 (Microsoft SQL Server 2008). Usluga Microsoft Analytic Platform Service (APS) zasnovana je na microsoft SQL Server 2014 ili Microsoft SQL Server 2016, ali to nije posebno pogođeno. Neke opšte smernice za APS navedene su kasnije u ovom članku.
Preporuke
Sledeća tabela prikazuje šta klijenti treba da rade, u zavisnosti od okruženja u kojem je pokrenut SQL Server i koje se funkcionalnosti koriste. Microsoft preporučuje da primenite ispravke koristeći uobičajene procedure za testiranje novih binarnih datoteka pre nego što ih primenite u proizvodna okruženja.
Broj scenarija |
Opis scenarija |
Prioritetne preporuke |
1 |
Azure SQL baza podataka i skladište podataka |
Nije potrebna nikakva radnja (više detalja pogledajte OVDE). |
2 |
SQL Server se radi na fizičkom računaru ili virtuelnoj mašini I nijedan od sledećih uslova nije ispunjen:
|
Microsoft preporučuje instaliranje svih ispravki za OS to zaštituod CVE 2017-5753. Microsoft preporučuje instaliranje svih ispravki za OS kako bi se zaštitio od ranjivosti uzorkovanja mikroarhituralnih podataka (CVE-2018-12126, CVE-2018-12130, CVE-2018-12127 i CVE-2018-11091). Omogućavanje senke virtuelne adrese jezgra (KVAS) i hardverske podrške za indirektno predviđanje grana (IBP) nije potrebno (pogledajte dole). SQL Server zakrpe bi trebalo da budu instalirane kao deo uobičajenih smernica za krpljenje u sledećem planiranom prozoru ažuriranja. Možete da nastavite da koristite hipertegiranje na takvom domaćinu. |
3 |
SQL Server se radi na fizičkom računaru ili virtuelnoj mašini I još jedna aplikacija koja izvršava potencijalno neprijateljski kod je hostovana na istom računaru AND/OR SQL Server interfejsi za protenzibilnost se koriste sa nepouzdanim kodom (pogledajte dole navedenu listu)
|
Microsoft preporučuje instaliranje svih ispravki za OS da biste se zaštitili od CVE 2017-5753. Microsoft preporučuje instaliranje svih ispravki za OS kako bi se zaštitio od ranjivosti uzorkovanja mikroarhituralnih podataka (CVE-2018-12126, CVE-2018-12130, CVE-2018-12127 i CVE-2018-11091). Primenite SQL Server zakrpe (pogledajte dole). Ovo štiti od CVE 2017-5753. Omogućavanje senke virtuelne adrese jezgra (KVAS) preporučuje se snažno (pogledajte dole). Ovo štiti od CVE 2017-5754. Omogućavanje hardverske podrške za indirektno predviđanje grana (IBP) preporučuje se snažno (pogledajte dole). Ovo štiti od CVE 2017-5715 Preporučujemo da onemogućite hipertegiranje na domaćinu ako se koriste Intel procesori. |
4 |
SQL Server se radi na fizičkom računaru I još jedna aplikacija koja izvršava potencijalno neprijateljski kod nije hostovana na istom računaru I interfejsi za protenzibilnost sistema SQL Server koriste se za izvršavanje POUZDANOG koda. Primeri:
Ne-primeri:
|
Microsoft preporučuje instaliranje svih ispravki za OS to zaštituod CVE 2017-5753. Microsoft preporučuje instaliranje svih ispravki za OS kako bi se zaštitio od ranjivosti uzorkovanja mikroarhituralnih podataka (CVE-2018-12126, CVE-2018-12130, CVE-2018-12127 i CVE-2018-11091). Omogućavanje senke virtuelne adrese jezgra (KVAS) preporučuje se snažno (pogledajte dole). Ovo štiti od CVE 2017-5754. Omogućavanje hardverske podrške za indirektno predviđanje grana (IBP) preporučuje se snažno (pogledajte dole). Ovo štiti od CVE 2017-5715 Preporučujemo onemogućavanje hipertegrata na takvom okruženju ako se koriste Intel procesori. SQL Server zakrpe bi trebalo da budu instalirane kao deo uobičajenih smernica za krpljenje u sledećem planiranom prozoru ažuriranja. |
5 |
SQL Server je pokrenuti na Linux OS-u. |
Primenite Linux OS ispravke od dobavljača distribucije. Primenite Linux SQL Server zakrpe (pogledajte dole). Ovo štiti od CVE 2017-5753. U nastavku pogledajte smernice o tome da li da omogućite Linux Kernel Page Table Isolation (KPTI) i IBP (CVEs CVE 2017-5754 i CVE 2017-5715). Preporučujemo onemogućavanje hipertačite na takvom okruženju ako se Intel procesori koriste za scenario #3 #4 gore pomenuti. |
6 |
Sistem analitičke platforme (APS) |
Iako APS ne podržava funkcije proširenja sa SQL Servera navedene u ovom biltenu, savetuje se da instalirate Windows zakrpe na APS aparat. Omogućavanje KVAS/IBP nije potrebno. |
Savetovanje o performansama
Klijentima se savetuje da procene performanse svoje određene aplikacije prilikom primene ispravki.
Microsoft savetuje svim korisnicima da instaliraju ažurirane verzije sistema SQL Server i Windows. Ovo bi trebalo da ima zanemarljiv efekat performansi na postojeće aplikacije, na osnovu Microsoft testiranja SQL opterećenja. Međutim, preporučujemo da testirate sve ispravke pre nego što ih primenite u proizvodno okruženje.
Microsoft je izmerio efekat senčenja virtuelne adrese jezgra (KVAS), indirektne stavke jezgra stranice (KPTI) i indirektnog predviđanja grane (IBP) na različita SQL opterećenja u raznim okruženjima i pronašao neka radna opterećenja sa značajnom degradacijom. Preporučujemo da testirate efekat performansi omogućavanja ovih funkcija pre nego što ih primenite u proizvodnom okruženju. Ako je efekat performansi omogućavanja ovih funkcija previsok za postojeću aplikaciju, možete razmotriti da li je izolacija SQL Servera od nepouzdanog koda pokrenutog na istom računaru bolja olakšica za aplikaciju.
Više informacija o uticaju performansi iz indirektne grane Predviđanje ublažavanja hardverske podrške (IBP) detaljno je opisano ovde.
Microsoft će ažurirati ovaj odeljak sa više informacija kada bude dostupan.
Omogućavanje senke virtuelne adrese jezgra (KVAS u operativnom sistemu Windows) i indirektne tabele jezgra stranice (KPTI na Linuxu)
KVAS i KPTI ublažavaju protiv CVE 2017-5754, poznat i kao "Meltdown" ili "variant 3" u otkrivanju GPZ-a.
SQL Server se radi na mnogim okruženjima: fizičkim računarima, VM-ovima u javnim i privatnim okruženjima u oblaku, na Linux i Windows sistemima. Bez obzira na okruženje, program se radi na računaru ili VM-u. Nazovi ovo sigurnosnom granicom.
Ako sav kôd na granici ima pristup svim podacima u toj granici, nikakva radnja nije neophodna. Ako to nije sluиaj, granica je, kako se kaћe, multi-stanar.. Pronađene ranjivosti čine da bilo koji kôd, čak i sa smanjenim dozvolama, pokrenut u bilo kom procesu u toj granici, pročita bilo koje druge podatke unutar te granice. Ako postoji bilo kakav proces u granici pokretanja nepouzdanog koda, on može da koristi ove ranjivosti za čitanje podataka iz drugih procesa. Ovaj nepouzdani kôd može biti nepouzdan kôd pomoću SQL Server mehanizama za protenzibilnost ili drugih procesa u granici koja radi pod nepouzdanim kôdom.
Da biste se zaštitili od nepouzdanog koda u granici sa više zakupaca, koristite neki od sledećih metoda
-
Uklonite nepouzdani kôd. Više informacija o tome kako da to uradite za mehanizme proširenja sistema SQL Server potražite u nastavku. Da biste uklonili nepouzdani kôd iz drugih aplikacija na istoj granici, obično su potrebne promene specifične za aplikaciju. Na primer, razdvajanje u dva VM-a.
-
Uključite KVAS ili KPTI. Ovo će imati efekat performansi. Za više informacija, kao što je opisano ranije u ovom članku.
Više informacija o omogućavanje KVAS-a za Windows potražite u članku KB4072698. Za više informacija o tome kako da omogućite KPTI na Linuxu, konsultujte se sa distributerom operativnog sistema.
Primer scenarija u kojem se KVAS ili KPTI snažno preporučuju
Fizički računar koji hostuje SQL Server kao nalog administratora koji nije sistemski omogućava korisnicima da proslede proizvoljne R skripte koje se pokreću preko SQL Servera (koji koristi sekundarne procese za pokretanje ovih skripti izvan sqlservr.exe). Neophodno je omogućiti KVAS-u i KPTI-u da se zaštite od otkrivanja podataka u okviru sqlservr.exe procesa i da se zaštite od otkrivanja podataka unutar memorije jezgra sistema. Napomena Mehanizam proširenja unutar SQL Servera se ne smatra automatski nebezbednim samo zato što se koristi. Ovi mehanizmi mogu bezbedno da se koriste u okviru sistema SQL Server sve dok svaki korisnik razume i ne veruje svakoj zavisnosti. Takođe, postoje i drugi proizvodi koji su izgrađeni na vrhu SQL-a koji mogu zahtevati mehanizme ekstenzije da bi ispravno funkcionisali. Na primer, upakovana aplikacija koja je napravljena na vrhu SQL Servera može zahtevati povezani server ili CLR uskladištenu proceduru da bi ispravno funkcionisala. Microsoft ne preporučuje da ih uklonite kao deo olakšica. Umesto toga, pregledajte svaku upotrebu da biste utvrdili da li je ovaj kôd shvaćen i pouzdan kao početna radnja. Ovaj vodič je obezbeđen da bi se klijentima pomoglo da utvrde da li se nalazi u situaciji u kojoj moraju da omoguće KVAS. To je zato što ova akcija ima značajne implikacije učinka.
Omogućavanje hardverske podrške za indirektno predviđanje grana (IBP)
IBP ublažava protiv CVE 2017-5715, poznat i kao jedna polovina Spektra ili "varijanta 2" u otkrivanju GPZ-a.
Uputstva u ovom članku za omogućavanje KVAS-a u operativnom sistemu Windows takođe omogućavaju IBP. Međutim, IBP takođe zahteva ispravku firmvera od proizvođača hardvera. Pored uputstava u KB4072698 da bi se omogućila zaštita u operativnom sistemu Windows, korisnici moraju da nabave i instaliraju ispravke od svog proizvođača hardvera.
Primer scenarija u kojem se IBP preporučuje
Fizički računar u prostorijama hostuje SQL Server zajedno sa aplikacijom koja omogućava nepouzdanim korisnicima da otpremaju i izvršavaju proizvoljni JavaScript kôd. Pod pretpostavkom da u SQL bazi podataka postoje poverljivi podaci, IBP se preporučuje kao mera zaštite od otkrivanja informacija iz procesa.
U situacijama kada podrška za IBP hardver nije prisutna, Microsoft preporučuje razdvajanje nepouzdanih procesa i pouzdanog procesa na različite fizičke računare ili virtuelne računare.
Linux korisnici: Obratite se distributeru operativnog sistema za informacije o tome kako da se zaštitite od Varijante 2 (CVE 2017-5715).
Primer scenarija u kojem se snažno preporučuju olakšice za ranjivost uzorkovanja mikroarhituralnih podataka
Uzmite u obzir primer gde server u prostorijama radi pod dve instance sistema SQL Server koji hostuje dve različite poslovne aplikacije na dve različite virtuelne mašine na istom fizičkom domaćinu. Pretpostavimo da ove dve poslovne aplikacije ne bi trebalo da mogu da čitaju podatke uskladištene u instancama SQL servera. Napadač koji je uspešno iskoristio ove ranjivosti možda će moći da čita privilegovane podatke preko granica pouzdanosti koristeći nepouzdani kôd pokrenut na računaru kao poseban proces ili nepouzdani kôd koji je izvršen pomoću SQL Server mehanizma za protenzibilnost (pogledajte odeljak ispod za opcije proširenja u SQL Serveru). U okruženjima deljenih resursa (kao što postoje u nekim konfiguracijama usluga u oblaku), ove ranjivosti mogu da omoguće jednoj virtuelnoj mašini da nepravilno pristupi informacijama iz druge. U scenarijima koji se ne pregledaju na samostalnim sistemima, napadaču bi bio potreban prethodni pristup sistemu ili mogućnost da pokrene specijalno izrađenu aplikaciju na ciljnom sistemu da bi iskoristio ove ranjivosti.
Nepouzdani mehanizmi proširenja sistema SQL Server
SQL Server sadrži mnoge funkcije i mehanizme proširenja. Većina ovih mehanizama je podrazumevano onemogućena. Međutim, savetujemo kupcima da pregledaju svaku instancu proizvodnje za korišćenje funkcija ekstenzije. Preporučujemo da se svaka od ovih funkcija ograniči na minimalni skup binarnih datoteka i da klijenti ograniče pristup kako bi sprečili pokretanje proizvoljnog koda na istom računaru kao i SQL Server. Savetujemo kupcima da utvrde da li da veruju svakoj binarnoj verziji i da onemogućite ili uklonite nepouzdane binarne datoteke.
-
SQL CLR sklopovi
-
R i Python paketi koji prolaze kroz mehanizam spoljnih skripti ili se pokreću iz samostalnog R/Machine Learning studija na istom fizičkom računaru kao i SQL Server
-
SQL Agent tačke proširenja pokrenute na istom fizičkom računaru kao i SQL Server (ActiveX skripte)
-
Dobavljači OLE DB usluga koji ne koriste Microsoft koriste se na povezanim serverima
-
Proširene uskladištene procedure koje ne potišteno od korporacije Microsoft
-
COM objekti izvršeni unutar servera (pristupa se preko sp_OACreate)
-
Programi izvršeni putem xp_cmdshell
Olakšice koje treba preduzeti ako koristite nepouzdani kôd u SQL Serveru:
Scenario/Upotreba predmeta |
Ublažavanje ili predloženi koraci |
Pokretanje SQL servera sa omogućenim CLR-om (sp_configure 'clr enabled', 1) |
|
Pokretanje java/R/Python spoljnih skripti iz sistema SQL Server (sp_configure 'spoljne skripte omogućene', 1) |
|
Korišćenje povezanih servera (sp_addlinkedserver) |
|
Korišćenje proširenih uskladištenih procedura (sp_addextendedproc) |
Pošto su proširene uskladištene procedure zastarele, uklonite sve upotrebe ovih procedura i nemojte ih koristiti u proizvodnim sistemima. |
Korišćenje xp_cmdshell za pozivanje binarnih datoteka sa SQL servera |
Ova funkcija je podrazumevano isključena. Pregledajte i ograničite svu upotrebu xp_cmdshell za pozivanje nepouzdanih binarnih datoteka. Pristup ovoj krajnje tački možete kontrolisati putem sp_configure, kao što je opisano ovde: xp_cmdshell konfiguracije servera
|
Korišćenje COM objekata putem sp_OACreate |
Ova funkcija je podrazumevano isključena. COM objekti koji se pozivaju preko sp_OACreate izvršavaju kôd instaliran na serveru. Pregledajte sve takve pozive za nepouzdane binarne knjige. Postavke možete proveriti putem sp_configure, kao što je ovde dekripovano: Opcija konfiguracije Ole procedura automatizacije servera
|