Ringkasan
Microsoft menyadari kelas baru yang diungkapkan publik tentang kerentanan yang dirujuk sebagai "serangan spekulatif sisi-saluran" yang mempengaruhi banyak prosesor modern dan sistem operasi. Ini termasuk Intel, AMD, dan ARM. Catatan Masalah ini juga memengaruhi sistem lain, seperti Android, Chrome, iOS, dan MacOS. Oleh karena itu, kami menyarankan pelanggan untuk mendapatkan panduan dari vendor tersebut.
Microsoft telah merilis beberapa pembaruan untuk membantu mengurangi kerentanan ini. Kami juga telah mengambil tindakan untuk mengamankan Layanan awan kami. Lihat bagian berikut ini untuk informasi selengkapnya.
Microsoft belum menerima informasi apa pun untuk menunjukkan kerentanan tersebut telah digunakan untuk menyerang pelanggan saat ini. Microsoft terus bekerja sama dengan mitra industri, termasuk pembuat chip, perangkat keras, dan vendor aplikasi, untuk melindungi pelanggan. Untuk mendapatkan semua pembaruan yang tersedia, perangkat keras atau firmware dan pembaruan perangkat lunak diperlukan. Ini termasuk microcode dari perangkat OEM dan, dalam beberapa kasus, pembaruan perangkat lunak antivirus. Untuk informasi selengkapnya tentang kerentanan, lihat penasihat keamanan Microsoft ADV180002. Untuk panduan umum untuk mengurangi kelas kerentanan ini, lihat panduan untuk mengurangi kerentanan sisi-saluran spekulatif eksekusi
Microsoft menerbitkan ADV190013-panduan Microsoft untuk mengurangi kerentanan sampling data Mikroarsitektur pada bulan Mei 2019. SQL Server tidak memiliki patch keamanan tertentu untuk masalah yang diuraikan dalam ADV190013. Anda dapat menemukan panduan untuk lingkungan yang terpengaruh oleh ADV190013 di bagian rekomendasi di artikel ini. Harap perhatikan bahwa penasihat ini hanya berlaku untuk prosesor Intel.
Cara mendapatkan dan menginstal pembaruan
Pembaruan ini juga tersedia melalui Windows Server Update Services (WSUS), atau situs webKatalog Pembaruan Microsoft.Catatan: pembaruan ini tidak akan diunduh dan diinstal secara otomatis melalui Windows Update.
Patch SQL yang tersedia
Pada saat publikasi, Build SQL Server yang diperbarui berikut ini tersedia untuk diunduh:
Rilis Layanan
deskripsi 4057122 pembaruan keamanan untuk SQL Server 2017 GDR: 3 januari 2018 4058562 Deskripsi pembaruan keamanan untuk SQL Server 2017 RTM CU3:3 Januari 2018 4058561 Deskripsi pembaruan keamanan untuk SQL Server 2016 SP1 CU7:3 Januari 2018 deskripsi deskripsi pembaruan keamanan untuk SQL Server 4057118 GDR SP1:3 Januari, 2016 2018 Deskripsi pembaruan keamanan untuk SQL Server 4058559 Cu: 6 januari 2018 4058560 deskripsi pembaruan keamanan untuk SQL Server 2016 GDR: 6 Januari 2018 4057117 Deskripsi pembaruan keamanan untuk SQL Server 2014 SP2 CU10:16 Januari2018 4057120 Deskripsi pembaruan keamanan untuk SQL Server 2014 SP2 GDR: 16 Januari, 20184057116 Deskripsi pembaruan keamanan untuk SQL Server 2012 SP4 GDR : 12 Januari 20184057115 Deskripsi tentang pembaruan keamanan untuk sql server 2012 SP3 GDR: januari, 20184057121 Deskripsi tentang pembaruan keamanan untuk SQL Server 2012 SP3 CU: Januari, 20184057114 deskripsi pembaruan keamanan untuk SQL Server 2008 SP4 GDR: 6 Januari2018 Deskripsi pembaruan keamanan untuk SQL Server 4057113 R2 SP3 GDR: 6 Januari 2008
Dokumen ini akan diperbarui ketika Build tambahan yang diperbarui tersedia.
Catatan
-
Kami telah merilis semua pembaruan yang diperlukan untuk SQL Server untuk mengurangi kerentanan sisi-saluran "Spectre" dan "meltdown" spekulatif. Microsoft tidak mengetahui adanya eksposur tambahan ke "Spectre" dan "meltdown" kerentanan saluran sisi eksekusi spekulatif untuk komponen yang tidak tercantum dalam bagian "patch tersedia SQL".
-
Semua paket layanan SQL Server 2014, SQL Server 2016, dan SQL Server 2017 dan pembaruan kumulatif berikutnya akan berisi perbaikan. Misalnya, SQL Server 2016 SP2 sudah berisi perbaikan hantu dan meltdown.
-
Untuk Build Windows, lihat panduan berikut untuk informasi terbaru tentang Build Windows yang tersedia:
Panduan Server Windows untuk kerentanan sisi hantu/meltdown
Panduan Server Windows untuk kerentanan sampling data microarchitectural
Untuk Build Linux, hubungi vendor Linux Anda untuk menemukan Build terbaru yang diperbarui untuk distribusi Linux Anda.
-
Untuk mengatasi kerentanan hantu dan meltdown secepat mungkin, pengiriman pembaruan SQL Server ini dibuat pada awalnya ke Pusat Unduhan Microsoft sebagai model pengiriman utama. Meskipun pembaruan ini akan dikirim melalui Pembaruan Microsoft pada bulan Maret, kami menyarankan agar pelanggan yang terpengaruh menginstal pembaruan sekarang tanpa menunggu mereka untuk tersedia melalui Pembaruan Microsoft.
Versi SQL Server yang didukung
Microsoft menganjurkan agar semua pelanggan menginstal pembaruan SQL Server (tercantum di bawah) sebagai bagian dari siklus patch reguler mereka. Pelanggan yang menjalankan SQL Server di lingkungan yang aman dengan titik Ekstensibilitas diblokir dan semua kode pihak ketiga yang berjalan di server yang sama tepercaya dan disetujui harus tidak terpengaruh oleh masalah ini.
Versi SQL Server berikut ini memiliki pembaruan yang tersedia saat dijalankan pada sistem prosesor x86 dan x64:
-
SQL Server 2008
-
SQL Server 2008R2
-
SQL Server 2012
-
SQL Server 2014
-
SQL Server 2016
-
SQL Server 2017
Kami tidak percaya bahwa IA64 (Microsoft SQL Server 2008) terpengaruh. Layanan Microsoft Analytic platform (APS) didasarkan pada Microsoft SQL Server 2014 atau Microsoft SQL Server 2016, namun tidak terpengaruh secara khusus. Beberapa panduan umum untuk APS dicantumkan selanjutnya di artikel ini.
Usulan
Tabel berikut ini menguraikan apa yang harus dilakukan pelanggan, tergantung pada lingkungan tempat SQL Server berjalan dan fungsi apa yang sedang digunakan. Microsoft menganjurkan agar Anda menyebarkan perbaikan dengan menggunakan prosedur biasa untuk menguji biner baru sebelum disebarkan ke lingkungan produksi.
Nomor skenario |
Deskripsi skenario |
Rekomendasi prioritas |
,1 |
Database Azure SQL dan gudang data |
Tidak perlu melakukan tindakan (Lihat di sini untuk detailnya). |
2 |
SQL Server dijalankan di komputer fisik atau mesin virtual DAN tidak satu pun kondisi berikut ini benar:
|
Microsoft menganjurkan menginstal semua pembaruan OSyangdiproteksi dengan 2017-5753 CVE. Microsoft menganjurkan menginstal semua pembaruan OS untuk melindungi dari kerentanan sampling data mikroarsitektur (CVE-2018-12126, CVE-2018-12130, cve-2018-12127, dan CVE-2018-11091). Mengaktifkan kernel virtual Address bayangan (KVAS) dan indirect Branch support mitigasi hardware support (IBP) tidak diperlukan (Lihat di bawah). Patch SQL Server harus diinstal sebagai bagian dari kebijakan tambalan normal pada jendela pembaruan terjadwal berikutnya. Anda dapat terus memanfaatkan hyperthreading pada host tersebut. |
bintang |
SQL Server dijalankan di komputer fisik atau mesin virtual DAN aplikasi lain yang mengeksekusi kode yang berpotensi bermusuhan dihosting bersama di komputer yang sama Antarmuka Ekstensibilitas SQL Server digunakan dengan kode yang tidak tepercaya (Lihat di bawah untuk daftar)
|
Microsoft menganjurkan menginstal semua pembaruan OS untuk melindungi dari 2017-5753 CVE. Microsoft menganjurkan menginstal semua pembaruan OS untuk melindungi dari kerentanan sampling data mikroarsitektur (CVE-2018-12126, CVE-2018-12130, cve-2018-12127, dan CVE-2018-11091). Menerapkan patch SQL Server (Lihat di bawah). Ini melindungi terhadap 2017-5753 CVE. Memungkinkan kernel virtual Address bayangan (KVAS) sangat dianjurkan (Lihat di bawah). Ini melindungi terhadap 2017-5754 CVE. Mengaktifkan dukungan perangkat keras cabang langsung mitigasi (IBP) sangat dianjurkan (Lihat di bawah). Ini melindungi terhadap 2017-5715 CVE Kami menyarankan agar Anda menonaktifkan hyperthreading pada host jika prosesor Intel sedang digunakan. |
empat |
SQL Server dijalankan di komputer fisik DAN aplikasi lain yang mengeksekusi kode yang berpotensi bermusuhan tidak dihosting bersama di komputer yang sama DAN antarmuka Ekstensibilitas SQL Server digunakan untuk menjalankan kode tepercaya. Contoh
Non-contoh:
|
Microsoft menganjurkan menginstal semua pembaruan OSyangdiproteksi dengan 2017-5753 CVE. Microsoft menganjurkan menginstal semua pembaruan OS untuk melindungi dari kerentanan sampling data mikroarsitektur (CVE-2018-12126, CVE-2018-12130, CVE-2018-12127, dan CVE-2018-11091). Memungkinkan kernel virtual Address bayangan (KVAS) sangat dianjurkan (Lihat di bawah). Ini melindungi terhadap 2017-5754 CVE. Mengaktifkan dukungan perangkat keras cabang langsung mitigasi (IBP) sangat dianjurkan (Lihat di bawah). Ini melindungi terhadap 2017-5715 CVE Kami menyarankan untuk menonaktifkan hyperthreading pada lingkungan seperti itu jika prosesor Intel sedang digunakan. Patch SQL Server harus diinstal sebagai bagian dari kebijakan tambalan normal pada jendela pembaruan terjadwal berikutnya. |
5 |
SQL Server dijalankan di OS Linux. |
Menerapkan pembaruan OS Linux dari penyedia distribusi Anda. Menerapkan patch Linux SQL Server (Lihat di bawah). Ini melindungi terhadap 2017-5753 CVE. Lihat di bawah ini untuk mendapatkan panduan tentang apakah mengaktifkan isolasi Tabel Halaman kernel Linux (KPTI) dan IBP (CVEs CVE 2017-5754 dan CVE 2017-5715). Kami merekomendasikan untuk menonaktifkan hyperthreading pada lingkungan seperti jika prosesor Intel digunakan untuk skenario #3 dan #4 yang disebutkan di atas. |
6 |
Sistem platform analitik (APS) |
Meskipun APS tidak mendukung fitur Ekstensibilitas dari SQL Server yang tercantum dalam Buletin ini, disarankan untuk menginstal patch Windows pada alat APS. Mengaktifkan KVAS/IBP tidak diperlukan. |
Penasihat kinerja
Pelanggan disarankan untuk mengevaluasi kinerja aplikasi tertentu mereka saat menerapkan pembaruan.
Microsoft menyarankan semua pelanggan untuk menginstal versi SQL Server dan Windows yang diperbarui. Ini akan memiliki efek kinerja yang tidak minimal di aplikasi yang sudah ada, berdasarkan pengujian beban kerja SQL dari Microsoft. Namun, kami menyarankan agar Anda menguji semua pembaruan sebelum disebarkan ke lingkungan produksi.
Microsoft telah mengukur efek kernel virtual Address bayangan (KVAS), kernel Page Table Indirection (KPTI) dan indirect Branch Prediction mitigasi (IBP) di berbagai beban kerja SQL di berbagai lingkungan dan menemukan beberapa beban kerja dengan degradasi yang signifikan. Kami menyarankan agar Anda menguji efek kinerja untuk mengaktifkan fitur ini sebelum disebarkan dalam lingkungan produksi. Jika efek kinerja mengaktifkan fitur ini terlalu tinggi untuk aplikasi yang sudah ada, Anda bisa mempertimbangkan apakah mengisolasi SQL Server dari kode yang tidak tepercaya yang berjalan di komputer yang sama adalah mitigasi yang lebih baik untuk aplikasi Anda.
Informasi selengkapnya tentang efek kinerja dari dukungan perangkat keras dari cabang tidak langsung (IBP) detail di sini.
Microsoft akan memperbarui bagian ini dengan informasi selengkapnya saat tersedia.
Memungkinkan kernel virtual Address bayangan (KVAS di Windows) dan kernel Page Table Indirection (KPTI di Linux)
KVAS dan KPTI mengurangi terhadap 2017-5754 CVE, juga dikenal sebagai "meltdown" atau "varian 3" dalam pengungkapan GPZ.
SQL Server berjalan di berbagai lingkungan: komputer fisik, VM di lingkungan awan publik dan Pribadi, di Linux dan sistem Windows. Terlepas dari lingkungan, program dijalankan di komputer atau VM. Panggil ini bataskeamanan.
Jika semua kode di batas memiliki akses ke semua data dalam batas itu, tidak ada tindakan yang diperlukan. Jika tidak demikian, batas dikatakan sebagai multi-penyewa. Kerentanan yang ditemukan memungkinkan kode apa pun, bahkan dengan izin yang dikurangi, berjalan dalam setiap proses di batas tersebut, untuk membaca data lain di dalam batas tersebut. Jika ada proses dalam batas yang menjalankan kode yang tidak tepercaya , itu bisa menggunakan kerentanan ini untuk membaca data dari proses lain. Kode yang tidak tepercaya ini dapat berupa kode yang tidak tepercaya menggunakan mekanisme Ekstensibilitas SQL Server atau proses lainnya dalam batas yang menjalankan kode tidak tepercaya.
Untuk melindungi dari kode yang tidak tepercaya dalam batas multi-penyewa, gunakan salah satu metode berikut ini
-
Hapus kode yang tidak tepercaya. Untuk informasi selengkapnya tentang cara melakukannya untuk mekanisme Ekstensibilitas SQL Server, lihat di bawah ini. Untuk menghapus kode yang tidak tepercaya dari aplikasi lain di batas yang sama, perubahan khusus aplikasi biasanya diperlukan. Misalnya, memisahkan ke dua VM.
-
Aktifkan KVAS atau KPTI. Ini akan memiliki efek kinerja. Untuk informasi selengkapnya, seperti yang dijelaskan sebelumnya dalam artikel ini.
Untuk informasi selengkapnya tentang cara mengaktifkan KVAS untuk Windows, lihat KB4072698. Untuk informasi selengkapnya tentang cara mengaktifkan KPTI di Linux, konsultasikan dengan distributor sistem operasi Anda.
Contoh skenario di mana KVAS atau KPTI sangat direkomendasikan
Komputer fisik lokal yang menghosting SQL Server sebagai akun administrator non-sistem memungkinkan pelanggan mengirim skrip R arbitrer untuk menjalankan melalui SQL Server (yang menggunakan proses sekunder untuk menjalankan skrip ini di luar sqlservr. exe). Perlu untuk mengaktifkan KVAS dan KPTI baik untuk melindungi dari pengungkapan data dalam proses sqlservr. exe dan untuk melindungi dari pengungkapan data dalam memori kernel sistem. Catatan Mekanisme Ekstensibilitas dalam SQL Server tidak secara otomatis dianggap tidak aman hanya karena sedang digunakan. Mekanisme ini dapat digunakan dengan aman dalam SQL Server selama setiap dependensi dipahami dan dipercaya oleh pelanggan. Selain itu, ada produk lain yang dibangun di atas SQL yang mungkin memerlukan mekanisme Ekstensibilitas untuk bekerja dengan benar. Misalnya, aplikasi paket yang dibuat di atas SQL Server mungkin memerlukan server tertaut atau CLR prosedur yang disimpan agar berfungsi dengan benar. Microsoft tidak menyarankan agar Anda menghapusnya sebagai bagian dari mitigasi. Sebagai gantinya, Tinjau setiap penggunaan untuk menentukan apakah kode ini dipahami dan dipercaya sebagai tindakan awal. Panduan ini disediakan untuk membantu pelanggan menentukan apakah mereka berada dalam situasi di mana mereka harus mengaktifkan KVAS. Ini karena tindakan ini memiliki implikasi kinerja yang signifikan.
Mengaktifkan dukungan perangkat keras cabang langsung mitigasi (IBP)
IBP mitigates Against CVE 2017-5715, juga dikenal sebagai Half of Spectre atau "variant 2" dalam pengungkapan GPZ.
Instruksi dalam artikel ini untuk mengaktifkan KVAS di Windows juga memungkinkan IBP. Namun, IBP juga memerlukan pembaruan firmware dari pabrik perangkat keras Anda. Selain instruksi di KB4072698 untuk mengaktifkan perlindungan di Windows, pelanggan harus mendapatkan dan menginstal pembaruan dari pabrik perangkat keras mereka.
Contoh skenario di mana IBP sangat direkomendasikan
Komputer fisik lokal adalah hosting SQL Server berdampingan dengan aplikasi yang memungkinkan pengguna yang tidak tepercaya mengunggah dan menjalankan kode JavaScript arbitrer. Dengan asumsi bahwa ada data rahasia dalam database SQL, IBP sangat direkomendasikan sebagai pengukuran untuk melindungi dari pengungkapan informasi proses ke proses.
Dalam situasi di mana dukungan perangkat keras IBP tidak ada, Microsoft menganjurkan memisahkan proses yang tidak tepercaya dan proses tepercaya ke komputer fisik atau mesin virtual yang berbeda.
Pengguna Linux: Hubungi distributor sistem operasi Anda untuk informasi tentang cara melindungi varian 2 (CVE 2017-5715).
Contoh skenario di mana mitigasi untuk kerentanan sampel data Mikroarsitektur sangat disarankan
Pertimbangkan contoh di mana server lokal menjalankan dua contoh SQL Server hosting dua aplikasi bisnis yang berbeda pada dua mesin virtual yang berbeda pada host fisik yang sama. Asumsikan bahwa dua aplikasi bisnis ini seharusnya tidak dapat membaca data yang disimpan di seluruh contoh SQL Server. Penyerang yang berhasil dieksploitasi kerentanan ini mungkin dapat membaca data istimewa di seluruh batas kepercayaan dengan menggunakan kode yang tidak tepercaya yang berjalan di komputer sebagai proses terpisah atau kode yang tidak tepercaya yang dieksekusi menggunakan mekanisme Ekstensibilitas SQL Server (Lihat bagian di bawah ini untuk opsi Ekstensibilitas di SQL Server). Di lingkungan sumber daya bersama (seperti ada di beberapa konfigurasi Layanan awan), kerentanan ini dapat memperbolehkan satu mesin virtual untuk mengakses informasi dengan tidak semestinya. Dalam skenario non-browsing pada sistem mandiri, penyerang memerlukan akses sebelumnya ke sistem atau kemampuan untuk menjalankan aplikasi yang dibuat khusus pada sistem target untuk memanfaatkan kerentanan ini.
Mekanisme Ekstensibilitas SQL Server yang tidak tepercaya
SQL Server berisi banyak fitur dan mekanisme Ekstensibilitas. Sebagian besar mekanisme ini dinonaktifkan secara default. Namun, kami menyarankan pelanggan untuk meninjau setiap instans produksi untuk penggunaan fitur Ekstensibilitas. Kami merekomendasikan bahwa setiap fitur ini dibatasi ke sekumpulan biner minimum, dan pelanggan membatasi akses untuk mencegah kode arbitrer berjalan di komputer yang sama dengan SQL Server. Kami menyarankan pelanggan untuk menentukan apakah mempercayai setiap biner, dan untuk menonaktifkan atau menghapus biner yang tidak tepercaya.
-
Rakitan SQL CLR
-
R dan paket Python berjalan melalui mekanisme skrip eksternal atau Jalankan dari R/Machine Learning studio mandiri pada komputer fisik yang sama dengan SQL Server
-
Titik Ekstensibilitas agen SQL yang berjalan di komputer fisik yang sama dengan SQL Server (skrip ActiveX)
-
Penyedia non-Microsoft OLE DB yang digunakan dalam server tertaut
-
Prosedur non-Microsoft Extended yang disimpan
-
Objek COM yang dieksekusi dalam server (diakses melalui sp_OACreate)
-
Program yang dieksekusi melalui xp_cmdshell
Mitigations untuk diambil jika menggunakan kode yang tidak tepercaya di SQL Server:
Skenario/kasus penggunaan |
Mitigations atau langkah yang disarankan |
Menjalankan SQL Server dengan CLR diaktifkan (sp_configure ' CLR diaktifkan ', 1) |
|
Menjalankan skrip eksternal Java/R/Python dari dalam SQL Server (sp_configure ' skrip eksternal diaktifkan ',1) |
|
Menggunakan server tertaut (sp_addlinkedserver) |
|
Menggunakan perpanjangan prosedur yang disimpan (sp_addextendedproc) |
Karena prosedur tersimpan yang diperpanjang sudah usang, Hapus Semua penggunaannya dan jangan gunakan dalam sistem produksi. |
Menggunakan xp_cmdshell untuk memanggil biner dari SQL Server |
Fitur ini nonaktif secara default. Tinjau dan Batasi semua penggunaan xp_cmdshell untuk memanggil biner yang tidak tepercaya. Anda dapat mengontrol akses ke titik akhir ini melalui sp_configure, seperti yang diuraikan di sini: Opsi konfigurasi server xp_cmdshell
|
Menggunakan objek COM melalui sp_OACreate |
Fitur ini nonaktif secara default. Objek COM sedang dijalankan melalui sp_OACreate menjalankan kode yang terinstal di server. Tinjau panggilan tersebut untuk biner yang tidak tepercaya. Anda dapat memeriksa pengaturan melalui sp_configure, seperti yang diuraikan di sini: Opsi konfigurasi server prosedur Otomasi Ole
|