สรุป
Microsoft ตระหนักถึงชั้นเรียนที่เปิดเผยต่อสาธารณะใหม่ของช่องโหว่ที่เรียกว่า "การโจมตีทางด้านการดำเนินการของการเก็งกำไร" ที่มีผลต่อตัวประมวลผลและระบบปฏิบัติการที่ทันสมัยมากมาย ซึ่งรวมถึง Intel, AMD และ ARM หมายเหตุ ปัญหานี้มีผลต่อระบบอื่นๆเช่น Android, Chrome, iOS และ MacOS ดังนั้นเราขอแนะนำให้ลูกค้าขอคำแนะนำจากผู้จำหน่ายเหล่านั้น
Microsoft ได้เผยแพร่การอัปเดตที่หลากหลายเพื่อช่วยบรรเทาช่องโหว่เหล่านี้ เรายังได้ดำเนินการเพื่อรักษาความปลอดภัยบริการระบบคลาวด์ของเรา สำหรับข้อมูลเพิ่มเติมให้ดูที่ส่วนต่อไปนี้
Microsoft ยังไม่ได้รับข้อมูลใดๆเพื่อระบุว่ามีการใช้ช่องโหว่เหล่านี้ในการโจมตีลูกค้าในขณะนี้ Microsoft ยังคงทำงานร่วมกันอย่างใกล้ชิดกับคู่ค้าอุตสาหกรรมรวมถึงผู้ผลิตชิพ Oem ฮาร์ดแวร์และผู้จำหน่ายแอปพลิเคชันเพื่อปกป้องลูกค้า เมื่อต้องการรับการคุ้มครองที่พร้อมใช้งานฮาร์ดแวร์หรือเฟิร์มแวร์และการอัปเดตซอฟต์แวร์ทั้งหมดจำเป็นต้องมี ซึ่งรวมถึงการ microcode จาก Oem ของอุปกรณ์และในบางกรณีการอัปเดตซอฟต์แวร์ป้องกันไวรัส สำหรับข้อมูลเพิ่มเติมเกี่ยวกับช่องโหว่ให้ดูที่คำแนะนำด้านความปลอดภัยของ MICROSOFT ADV180002 สำหรับคำแนะนำทั่วไปในการลดระดับความเสี่ยงนี้ให้ดูที่คำแนะนำสำหรับการลดช่องโหว่ด้านการดำเนินการที่เก็งกำไร
Microsoft เผยแพร่ ADV190013-Microsoft คำแนะนำในการลดช่องโหว่การสุ่มตัวอย่างข้อมูล Microarchitectural ในเดือนพฤษภาคม๒๐๑๙ SQL Server ไม่มีซอฟต์แวร์รักษาความปลอดภัยที่เฉพาะเจาะจงใดๆสำหรับปัญหาที่อธิบายไว้ใน ADV190013 คุณสามารถค้นหาคำแนะนำสำหรับสภาพแวดล้อมที่ได้รับผลกระทบจาก ADV190013 ในส่วนคำแนะนำของบทความนี้ โปรดทราบว่าคำแนะนำนี้จะนำไปใช้กับตัวประมวลผล Intel เท่านั้น
วิธีการขอรับและติดตั้งการอัปเดต
การอัปเดตนี้ยังพร้อมใช้งานผ่านทาง Windows Server update Services (WSUS) หรือเว็บไซต์แค็ตตาล็อก Microsoft updateหมายเหตุ:การอัปเดตนี้จะไม่ถูกดาวน์โหลดและติดตั้งโดยอัตโนมัติผ่านทาง Windows update
แพทช์ SQL ที่พร้อมใช้งาน
ในขณะที่สิ่งพิมพ์มีการอัปเดต SQL Server รุ่นต่อไปนี้จะพร้อมใช้งานสำหรับการดาวน์โหลด:
การวางจำหน่ายที่ให้บริการ
๔๐๕๗๑๒๒คำอธิบายของการอัปเดตความปลอดภัยสำหรับ SQL Server ๒๐๑๗ GDR: 3 มกราคม๒๐๑๘ ๔๐๕๘๕๖๒คำอธิบายของการปรับปรุงการรักษาความปลอดภัยสำหรับ SQL SERVER ๒๐๑๗ RTM CU3: 3 มกราคม, ๒๐๑๘ ๔๐๕๘๕๖๑คำอธิบายของการอัปเดตความปลอดภัยสำหรับ sql server ๒๐๑๖ sp1 CU7: 3 มกราคม,๒๐๑๘คำอธิบายของการอัปเดตความปลอดภัยสำหรับ Sql server ๔๐๕๗๑๑๘ GDR Sp1: 3 มกราคม, ๒๐๑๖คำอธิบายของการอัปเดตความปลอดภัยสำหรับ Sql Server ๒๐๑๘ CU: 6 มกราคม๒๐๑๘๔๐๕๘๕๖๐คำอธิบายของการอัปเดตความปลอดภัยสำหรับ Sql server ๒๐๑๖ GDR: 6 มกราคม, ๒๐๑๘๔๐๕๗๑๑๗คำอธิบายของการอัปเดตความปลอดภัยสำหรับ sql server ๒๐๑๔ sp2 CU10:16 มกราคม,๒๐๑๘คำอธิบายของการอัปเดตความปลอดภัยสำหรับ sql server ๔๐๕๗๑๒๐ SP2 Gdr:16 มกราคม๒๐๑๔คำอธิบายของการอัปเดตความปลอดภัยสำหรับ sql server ๒๐๑๘ SP4 GDR :12 มกราคม๒๐๑๘๔๐๕๗๑๑๕คำอธิบายของการอัปเดตความปลอดภัยสำหรับ sql SERVER ๒๐๑๒ sp3 GDR: มกราคม, ๒๐๑๘๔๐๕๗๑๒๑คำอธิบายของการอัปเดตความปลอดภัยสำหรับ SQL server ๒๐๑๒ SP3 CU: มกราคม, ๒๐๑๘คำอธิบายของการอัปเดตความปลอดภัยสำหรับ sql server ๔๐๕๗๑๑๔ SP4 Gdr:6 มกราคม๒๐๐๘คำอธิบายของการอัปเดตความปลอดภัยสำหรับ Sql server ๒๐๑๘ R2 SP3 gdr: 6 มกราคม๔๐๕๗๑๑๓
เอกสารนี้จะได้รับการอัปเดตเมื่อมีรุ่นอัปเดตล่าสุดพร้อมใช้งาน
หมายเหตุ
-
เราได้เผยแพร่การอัปเดตที่จำเป็นทั้งหมดสำหรับ SQL Server เพื่อบรรเทา "Spectre" และ "ล่ม" ช่องโหว่ด้านการดำเนินการทางด้านการเก็งกำไร Microsoft ไม่จำเป็นต้องใช้การเปิดรับแสงเพิ่มเติมใดๆกับ "Spectre" และ "ล่ม" ช่องโหว่ด้านการดำเนินการของช่องโหว่สำหรับคอมโพเนนต์ที่ไม่ได้แสดงอยู่ในส่วน "แพทช์ SQL ที่พร้อมใช้งาน"
-
SQL server ๒๐๑๔ที่ตามมาทั้งหมด, SQL Server ๒๐๑๖และ SQL Server ๒๐๑๗ Service Pack และการอัปเดตที่สะสมจะมีการแก้ไข ตัวอย่างเช่น SQL Server ๒๐๑๖ SP2 มีการแก้ไขปัญหา Spectre และล่มแล้ว
-
สำหรับ Windows รุ่นให้ดูคำแนะนำต่อไปนี้สำหรับข้อมูลล่าสุดเกี่ยวกับ Windows รุ่นที่พร้อมใช้งาน:
คำแนะนำสำหรับ Windows Server สำหรับช่องโหว่ Spectre/ล่มด้านข้าง
คำแนะนำ Windows Server สำหรับช่องโหว่การสุ่มตัวอย่างข้อมูล Microarchitectural
สำหรับรุ่น linux ให้ติดต่อผู้จำหน่าย linux ของคุณเพื่อค้นหารุ่นล่าสุดที่ได้รับการอัปเดตสำหรับการแจกจ่าย Linux เฉพาะของคุณ
-
เมื่อต้องการระบุช่องโหว่ Spectre และล่มให้เร็วที่สุดเท่าที่เป็นไปได้การส่งการอัปเดต SQL Server เหล่านี้จะถูกสร้างขึ้นในตอนแรกในศูนย์ดาวน์โหลดของไมโครซอฟท์เป็นแบบจำลองการส่งหลัก แม้ว่าการอัปเดตเหล่านี้จะได้รับการส่งผ่าน Microsoft Update ในเดือนมีนาคมเราขอแนะนำให้ลูกค้าที่ได้รับผลกระทบติดตั้งการอัปเดตทันทีโดยไม่ต้องรอให้พวกเขาพร้อมใช้งานผ่านทาง Microsoft Update
เวอร์ชัน SQL Server ที่ได้รับการสนับสนุนที่ได้รับผลกระทบ
Microsoft ขอแนะนำให้ลูกค้าทั้งหมดติดตั้งการอัปเดต SQL Server (แสดงรายการไว้ด้านล่าง) เป็นส่วนหนึ่งของรอบการปรับปรุงปกติของพวกเขา ลูกค้าที่เรียกใช้ SQL Server ในสภาพแวดล้อมที่ปลอดภัยที่จุดเพิ่มความสามารถถูกบล็อกและรหัสของบริษัทอื่นทั้งหมดที่กำลังทำงานอยู่บนเซิร์ฟเวอร์เดียวกันจะเชื่อถือได้และได้รับการอนุมัติควรจะได้รับผลกระทบจากปัญหานี้
SQL Server เวอร์ชันต่อไปนี้มีการอัปเดตที่พร้อมใช้งานเมื่อมีการเรียกใช้บน x86 และระบบประมวลผล x64:
-
SQL Server 2008
-
SQL Server 2008R2
-
SQL Server 2012
-
SQL Server 2014
-
SQL Server 2016
-
SQL Server 2017
เราไม่เชื่อว่า IA64 (Microsoft SQL Server ๒๐๐๘) จะได้รับผลกระทบ Microsoft การวิเคราะห์ Platform Service (APS) จะยึดตาม Microsoft SQL Server ๒๐๑๔หรือ Microsoft SQL Server ๒๐๑๖แต่จะไม่ได้รับผลกระทบโดยเฉพาะ คำแนะนำทั่วไปบางอย่างสำหรับ APS จะแสดงรายการในบทความนี้ในภายหลัง
แนะ
ตารางต่อไปนี้จะแสดงสิ่งที่ลูกค้าควรทำขึ้นอยู่กับสภาพแวดล้อมที่ใช้ SQL Server และกำลังใช้งานฟังก์ชันการทำงานใด Microsoft ขอแนะนำให้คุณปรับใช้การแก้ไขโดยใช้ขั้นตอนปกติของคุณเพื่อทดสอบไบนารีใหม่ก่อนที่คุณจะปรับใช้ในสภาพแวดล้อมการผลิต
หมายเลขสถานการณ์สมมติ |
คำอธิบายสถานการณ์สมมติ |
คำแนะนำสำหรับลำดับความสำคัญ |
1 |
ฐานข้อมูล SQL ของ Azure และคลังข้อมูล |
ไม่จำเป็นต้องมีการดำเนินการ (ดู ที่นี่ สำหรับรายละเอียด) |
2 |
SQL Server กำลังทำงานบนคอมพิวเตอร์ที่มีอยู่จริงหรือเครื่องเสมือน และไม่มีเงื่อนไขใดๆต่อไปนี้เป็นจริง:
|
Microsoft ขอแนะนำให้ติดตั้งการอัปเดต OS ทั้งหมดที่มีการป้องกันการอัปเดตCVE 2017-5753 Microsoft ขอแนะนำให้ติดตั้งการอัปเดต OS ทั้งหมดเพื่อป้องกันการ Microarchitectural การสุ่มตัวอย่างข้อมูล (cve-2018-12126, cve-2018-12130, CVE-2018-12127 และ CVE-2018-11091) การเปิดใช้งานการทำแชโดว์ที่อยู่เสมือนของเคอร์เนล (KVAS) และการเพิ่มการคาดคะเนของการคาดคะเนของการคาดคะเนของการใช้ฮาร์ดแวร์ (IBP) ไม่จำเป็นต้องใช้(ดูด้านล่าง) แพทช์ SQL Server ควรถูกติดตั้งเป็นส่วนหนึ่งของนโยบายการปรับปรุงปกติที่หน้าต่างการอัปเดตที่จัดกำหนดการถัดไป คุณยังสามารถใช้ประโยชน์จากเธรดบนโฮสต์ดังกล่าวต่อไปได้ |
3 |
SQL Server กำลังทำงานบนคอมพิวเตอร์ที่มีอยู่จริงหรือเครื่องเสมือน และแอปพลิเคชันอื่นที่ดำเนินการโค้ดที่อาจเป็นมิตรคือโฮสต์ร่วมกับคอมพิวเตอร์เครื่องเดียวกัน และ/หรืออินเทอร์เฟซการเพิ่มความสามารถของ SQL Server จะถูกใช้กับรหัสที่ไม่น่าเชื่อถือ (ดูด้านล่างสำหรับรายการ)
|
Microsoft ขอแนะนำให้ติดตั้งการ อัปเดต OS ทั้งหมดเพื่อป้องกันการอัปเดตCVE 2017-5753 Microsoft ขอแนะนำให้ติดตั้งการอัปเดต OS ทั้งหมดเพื่อป้องกันการ Microarchitectural การสุ่มตัวอย่างข้อมูล (cve-2018-12126, cve-2018-12130, CVE-2018-12127 และ CVE-2018-11091) นำแพทช์ SQL Server ไปใช้ (ดูด้านล่าง) ซึ่งจะช่วยป้องกันการ CVE 2017-5753 การเปิดใช้งานการทำแชโดว์ที่อยู่เสมือนของเคอร์เนล (KVAS) จะขอแนะนำ (ดูด้านล่าง) ซึ่งจะช่วยป้องกันการ CVE 2017-5754 ขอแนะนำให้ใช้การเปิดใช้งานการสนับสนุนการคาดคะเนของการคาดคะเนของสาขาทางอ้อม (IBP) (ดูด้านล่าง) ซึ่งจะช่วยป้องกันการ CVE 2017-5715 เราขอแนะนำให้คุณปิดใช้งานเธรดบนโฮสต์ถ้ามีการใช้ตัวประมวลผล Intel |
4 |
SQL Server กำลังทำงานบนคอมพิวเตอร์ที่มีอยู่จริง และแอปพลิเคชันอื่นที่ดำเนินการโค้ดที่อาจเป็นศัตรูไม่ใช่โฮสต์ร่วมกันบนคอมพิวเตอร์เครื่องเดียวกัน และมีการใช้อินเทอร์เฟซการเพิ่มความสามารถของ SQL Server ในการดำเนินการรหัสที่เชื่อถือได้ ตัวอย่าง:
ตัวอย่างที่ไม่ใช่:
|
Microsoft ขอแนะนำให้ติดตั้งการอัปเดต OS ทั้งหมดที่มีการป้องกันการอัปเดตCVE 2017-5753 Microsoft ขอแนะนำให้ติดตั้ง การอัปเดต OS ทั้งหมด เพื่อป้องกันการ Microarchitectural การสุ่มตัวอย่างข้อมูล (cve-2018-12126, cve-2018-12130, CVE-2018-12127 และ CVE-2018-11091) การเปิดใช้งานการทำแชโดว์ที่อยู่เสมือนของเคอร์เนล (KVAS) จะขอแนะนำ (ดูด้านล่าง) ซึ่งจะช่วยป้องกันการ CVE 2017-5754 ขอแนะนำให้ใช้การเปิดใช้งานการสนับสนุนการคาดคะเนของการคาดคะเนของสาขาทางอ้อม (IBP) (ดูด้านล่าง) ซึ่งจะช่วยป้องกันการ CVE 2017-5715 เราขอแนะนำให้ปิดการใช้งานเธรดบนสภาพแวดล้อมดังกล่าวถ้ามีการใช้ตัวประมวลผล Intel แพทช์ SQL Server ควรถูกติดตั้งเป็นส่วนหนึ่งของนโยบายการปรับปรุงปกติที่หน้าต่างการอัปเดตที่จัดกำหนดการถัดไป |
5 |
SQL Server กำลังทำงานบนระบบปฏิบัติการ Linux |
นำการอัปเดต Linux OS มาใช้จากผู้ให้บริการการแจกจ่ายของคุณ นำแพทช์ของ Linux SQL Server ไปใช้ (ดูด้านล่าง) ซึ่งจะช่วยป้องกันการ CVE 2017-5753 ให้ดูที่ด้านล่างสำหรับคำแนะนำว่าจะเปิดใช้งานการแยกตารางหน้าเคอร์เนลของ Linux (KPTI) และ IBP (CVEs CVE 2017-5754 และ CVE 2017-5715) เราขอแนะนำให้ปิดการใช้งานเธรดบนสภาพแวดล้อมดังกล่าวถ้ามีการใช้ตัวประมวลผล Intel สำหรับสถานการณ์สมมติ #3 และ #4 ที่ระบุไว้ด้านบน |
6 |
ระบบ Platform Analytics (APS) |
แม้ว่า APS จะไม่สนับสนุนฟีเจอร์ความสามารถในการเพิ่มความสามารถจาก SQL Server ที่แสดงรายการอยู่ในกระดานข่าวนี้ควรติดตั้งโปรแกรมแก้ไข Windows บนอุปกรณ์ APS การเปิดใช้งาน KVAS/IBP ไม่จำเป็นต้องใช้ |
คำแนะนำด้านประสิทธิภาพ
ลูกค้าขอแนะนำให้ประเมินประสิทธิภาพการทำงานของแอปพลิเคชันเฉพาะเมื่อพวกเขาใช้การอัปเดต
Microsoft แนะนำลูกค้าทั้งหมดในการติดตั้ง SQL Server และ Windows เวอร์ชันที่อัปเดตแล้ว สิ่งนี้ควรมีผลกระทบต่อประสิทธิภาพการทำงานน้อยที่สุดในการใช้งานที่มีอยู่โดยยึดตามการทดสอบ Microsoft ของปริมาณงาน SQL อย่างไรก็ตามเราขอแนะนำให้คุณทดสอบการอัปเดตทั้งหมดก่อนที่คุณจะปรับใช้ไปยังสภาพแวดล้อมการผลิต
Microsoft ได้วัดผลกระทบของการทำแชโดว์ที่อยู่เสมือนของเคอร์เนล (KVAS), เคอร์เนล Table ทิศ (KPTI) และการลดการคาดคะเนของสาขาทางอ้อม (IBP) บนปริมาณ SQL ที่หลากหลายในสภาพแวดล้อมต่างๆและพบปริมาณงานที่มีการลดลงอย่างมาก เราขอแนะนำให้คุณทดสอบเอฟเฟ็กต์ประสิทธิภาพการทำงานของการเปิดใช้งานฟีเจอร์เหล่านี้ก่อนที่คุณจะปรับใช้ในสภาพแวดล้อมการผลิต ถ้าเอฟเฟ็กต์ประสิทธิภาพการทำงานของการเปิดใช้งานฟีเจอร์เหล่านี้สูงเกินไปสำหรับแอปพลิเคชันที่มีอยู่คุณสามารถพิจารณาว่าการแยก SQL Server จากรหัสที่ไม่น่าเชื่อถือที่ทำงานบนคอมพิวเตอร์เครื่องเดียวกันนั้นเป็นการบรรเทาสาธารณภัยสำหรับแอปพลิเคชันของคุณ
ข้อมูลเพิ่มเติมเกี่ยวกับผลกระทบด้านประสิทธิภาพการทำงานของการสนับสนุนฮาร์ดแวร์การคาดการณ์การบรรเทาสาธารณภัย (IBP) จะมีรายละเอียดที่นี่
Microsoft จะอัปเดตในส่วนนี้ด้วยข้อมูลเพิ่มเติมเมื่อพร้อมใช้งาน
การเปิดใช้งานการทำแชโดว์ที่อยู่เสมือนของเคอร์เนล (KVAS ใน Windows) และทิศตารางหน้าเคอร์เนล (KPTI บน Linux)
KVAS และ KPTI จะลดลงจาก CVE 2017-5754 หรือที่เรียกว่า "ล่ม" หรือ "ตัวแปร 3" ในการเปิดเผย GPZ
SQL Server กำลังทำงานในสภาพแวดล้อมหลายอย่าง: คอมพิวเตอร์ที่มีอยู่จริง, VMs ในสภาพแวดล้อมระบบคลาวด์สาธารณะและส่วนตัวบนระบบ Linux และ Windows โดยไม่คำนึงถึงสภาพแวดล้อมโปรแกรมจะทำงานบนคอมพิวเตอร์หรือ VM โทรถึง ขอบเขตความปลอดภัย
ถ้าโค้ดทั้งหมดในขอบเขตมีการเข้าถึงข้อมูลทั้งหมดในขอบเขตนั้นไม่จำเป็นต้องดำเนินการใดๆ ถ้าไม่ใช่กรณีนี้ขอบเขตจะกล่าวถึงเป็นผู้เช่าหลาย. รายช่องโหว่ที่พบทำให้เป็นไปได้สำหรับโค้ดใดๆแม้จะมีสิทธิ์ลดลงทำงานในกระบวนการใดๆในขอบเขตนั้นเพื่ออ่านข้อมูลอื่นๆภายในขอบเขตนั้น ถ้ามีกระบวนการใดๆในขอบเขตที่เรียกใช้โค้ดที่ไม่น่า เชื่อถือ อาจใช้ช่องโหว่เหล่านี้ในการอ่านข้อมูลจากกระบวนการอื่น รหัสที่ไม่น่าเชื่อถือนี้อาจเป็นรหัสที่ไม่น่าเชื่อถือโดยใช้กลไกการเพิ่มความสามารถของ SQL Server หรือกระบวนการอื่นในขอบเขตที่กำลังเรียกใช้รหัสที่ไม่น่าเชื่อถือ
เมื่อต้องการป้องกันรหัสที่ไม่น่าเชื่อถือในหลายขอบเขตของผู้เช่าให้ใช้วิธีการใดวิธีการหนึ่งต่อไปนี้
-
เอารหัสที่ไม่น่าเชื่อถือออก สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำเช่นนี้สำหรับกลไกการเพิ่มความสามารถของ SQL Server ให้ดูที่ด้านล่าง เมื่อต้องการเอารหัสที่ไม่น่าเชื่อถือออกจากแอปพลิเคชันอื่นในขอบเขตเดียวกันการเปลี่ยนแปลงเฉพาะของแอปพลิเคชันมักจำเป็นต้องใช้ ตัวอย่างเช่นการแยกออกเป็นสอง VMs
-
เปิดใช้งาน KVAS หรือ KPTI การทำเช่นนี้จะมีผลต่อประสิทธิภาพการทำงาน สำหรับข้อมูลเพิ่มเติมตามที่อธิบายไว้ก่อนหน้าในบทความนี้
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการเปิดใช้งาน KVAS สำหรับ Windows ให้ดูที่KB4072698 สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการเปิดใช้งาน KPTI บน Linux ให้ปรึกษากับตัวแทนจำหน่ายระบบปฏิบัติการของคุณ
ตัวอย่างของสถานการณ์สมมติที่ KVAS หรือ KPTI ขอแนะนำ
คอมพิวเตอร์ที่มีอยู่ภายในองค์กรที่โฮสต์ SQL Server เป็นบัญชีผู้ดูแลระบบที่ไม่ใช่ระบบอนุญาตให้ลูกค้าส่งสคริปต์ R โดยอำเภอใจเพื่อเรียกใช้ผ่าน SQL Server (ซึ่งใช้กระบวนการรองเพื่อเรียกใช้สคริปต์เหล่านี้ภายนอกของการลงชื่อเข้าใช้) จำเป็นต้องเปิดใช้งาน KVAS และ KPTI ทั้งสองเพื่อป้องกันการเปิดเผยข้อมูลภายในกระบวนการรีและเพื่อป้องกันการเปิดเผยข้อมูลภายในหน่วยความจำเคอร์เนลของระบบ หมายเหตุ กลไกการเพิ่มความสามารถภายใน SQL Server ไม่ถือว่าไม่ปลอดภัยเพียงเพราะกำลังถูกใช้งานอยู่ กลไกเหล่านี้สามารถใช้ได้อย่างปลอดภัยภายใน SQL Server ตราบใดที่การอ้างอิงแต่ละครั้งจะเข้าใจและเชื่อถือได้โดยลูกค้า นอกจากนี้ยังมีผลิตภัณฑ์อื่นๆที่สร้างขึ้นที่ด้านบนของ SQL ที่อาจจำเป็นต้องใช้กลไกการเพิ่มความสามารถในการทำงานได้อย่างถูกต้อง ตัวอย่างเช่นแอปพลิเคชันที่มีอยู่แล้วภายใน SQL Server อาจจำเป็นต้องมีเซิร์ฟเวอร์ที่เชื่อมโยงหรือกระบวนงานที่เก็บไว้ของ CLR เพื่อให้สามารถทำงานได้อย่างถูกต้อง Microsoft ไม่แนะนำให้คุณเอาออกเหล่านี้เป็นส่วนหนึ่งของการบรรเทาสาธารณภัย ตรวจทานแต่ละการใช้เพื่อกำหนดว่ารหัสนี้จะเข้าใจและเชื่อถือได้เป็นการกระทำเริ่มต้นหรือไม่ คำแนะนำนี้มีไว้เพื่อช่วยให้ลูกค้าระบุว่าพวกเขาอยู่ในสถานการณ์ที่พวกเขาต้องเปิดใช้งาน KVAS หรือไม่ นี่คือเนื่องจากการกระทำนี้มีผลกระทบต่อประสิทธิภาพการทำงานที่สำคัญ
การเปิดใช้งานการสนับสนุนฮาร์ดแวร์การบรรเทา (IBP) ของการคาดคะเนของสาขาทางอ้อม
IBP ช่วยกับ CVE 2017-5715 หรือที่เรียกว่าหนึ่งครึ่งหนึ่งของ Spectre หรือ "ตัวแปร 2" ในการเปิดเผย GPZ
คำแนะนำในบทความนี้เพื่อเปิดใช้งาน KVAS บน Windows นอกจากนี้ยังเปิดใช้งาน IBP อย่างไรก็ตาม IBP ยังจำเป็นต้องมีการอัปเดตเฟิร์มแวร์จากผู้ผลิตฮาร์ดแวร์ของคุณ นอกจากคำแนะนำใน KB4072698เพื่อเปิดใช้งานการป้องกันใน Windows ลูกค้าจะต้องขอรับและติดตั้งการอัปเดตจากผู้ผลิตฮาร์ดแวร์ของพวกเขา
ตัวอย่างของสถานการณ์สมมติที่ IBP ขอแนะนำ
คอมพิวเตอร์ที่มีอยู่ภายในองค์กรคือโฮสต์ SQL Server ควบคู่ไปกับแอปพลิเคชันที่ช่วยให้ผู้ใช้ที่ไม่น่าเชื่อถือสามารถอัปโหลดและดำเนินการโค้ด JavaScript โดยอำเภอใจ สมมติว่ามีข้อมูลที่เป็นความลับที่มีอยู่ในฐานข้อมูล SQL IBP จะขอแนะนำเป็นการวัดเพื่อป้องกันการเปิดเผยข้อมูลของกระบวนการ
ในสถานการณ์ที่การสนับสนุนฮาร์ดแวร์ IBP ไม่มีอยู่ Microsoft จะแนะนำกระบวนการแยกกระบวนการที่ไม่น่าเชื่อถือและกระบวนการที่เชื่อถือได้บนคอมพิวเตอร์ที่มีอยู่จริงหรือเครื่องเสมือนที่แตกต่างกัน
ผู้ใช้ Linux: ติดต่อตัวแทนจำหน่ายระบบปฏิบัติการของคุณสำหรับข้อมูลเกี่ยวกับวิธีการป้องกันตัวแปร 2 (CVE 2017-5715)
ขอแนะนำให้ใช้ตัวอย่างของสถานการณ์ที่การบรรเทาความเสี่ยงสำหรับการสุ่มตัวอย่างข้อมูล Microarchitectural
พิจารณาตัวอย่างของเซิร์ฟเวอร์ภายในองค์กรที่กำลังเรียกใช้อินสแตนซ์สองอินสแตนซ์ของ SQL Server ที่โฮสต์แอปพลิเคชันธุรกิจที่แตกต่างกันสองเครื่องบนเครื่องเสมือนสองเครื่องบนโฮสต์ทางกายภาพเดียวกัน สมมติว่าแอปพลิเคชันธุรกิจทั้งสองนี้ไม่ควรสามารถอ่านข้อมูลที่เก็บอยู่ในอินสแตนซ์ SQL Server ได้ ผู้โจมตีที่สามารถทำให้ช่องโหว่เหล่านี้สามารถอ่านข้อมูลที่มีสิทธิ์ในขอบเขตที่เชื่อถือได้โดยใช้โค้ดที่ไม่น่าเชื่อถือที่ทำงานบนเครื่องเป็นกระบวนการที่แยกต่างหากหรือโค้ดที่ไม่น่าเชื่อถือที่ดำเนินการโดยใช้กลไกการเพิ่มความสามารถของ SQL Server (ดูส่วนด้านล่างสำหรับตัวเลือกการเพิ่มความสามารถใน SQL Server) ในสภาพแวดล้อมของทรัพยากรที่ใช้ร่วมกัน (เช่นที่มีอยู่ในการกำหนดค่าบริการ cloud บางอย่าง) ช่องโหว่เหล่านี้อาจทำให้เครื่องเสมือนหนึ่งเครื่องสามารถเข้าถึงข้อมูลที่ไม่ถูกต้องได้อย่างไม่ถูกต้อง ในสถานการณ์ที่ไม่ใช่การเรียกดูบนระบบแบบสแตนด์อโลนผู้โจมตีจะต้องเข้าถึงระบบหรือความสามารถในการเรียกใช้แอปพลิเคชันที่ได้รับการออกแบบมาเป็นพิเศษบนระบบเป้าหมายเพื่อใช้ประโยชน์จากช่องโหว่เหล่านี้
กลไกการเพิ่มที่ไม่น่าเชื่อถือของ SQL Server
SQL Server มีฟีเจอร์และกลไกการทำงานที่หลากหลาย กลไกส่วนใหญ่เหล่านี้จะถูกปิดใช้งานตามค่าเริ่มต้น อย่างไรก็ตามเราแนะนำให้ลูกค้าตรวจสอบแต่ละอินสแตนซ์การผลิตสำหรับการใช้ฟีเจอร์ความสามารถในการทำงาน เราขอแนะนำว่าแต่ละฟีเจอร์เหล่านี้จะถูกจำกัดให้กับชุดของไบนารีขั้นต่ำและลูกค้าที่จำกัดการเข้าถึงเพื่อป้องกันไม่ให้โค้ดที่กำหนดเองทำงานบนคอมพิวเตอร์เครื่องเดียวกันกับ SQL Server เราแนะนำให้ลูกค้าตัดสินใจว่าจะเชื่อถือแต่ละไบนารีและปิดใช้งานหรือเอาไบนารีที่ไม่น่าเชื่อถือออก
-
แอสเซมบลี CLR ของ SQL
-
แพคเกจ R และหลามตัดที่ทำงานผ่านกลไกการทำงานของสคริปต์ภายนอกหรือเรียกใช้จาก studio การเรียนรู้ของ R/Machine แบบสแตนด์อโลนบนคอมพิวเตอร์ที่มีอยู่จริงเดียวกันกับ SQL Server
-
ความสามารถในการเพิ่มความสามารถของตัวแทน SQL ที่ทำงานบนคอมพิวเตอร์ที่มีอยู่จริงเดียวกันกับ SQL Server (สคริปต์ ActiveX)
-
ผู้ให้บริการที่ไม่ใช่ Microsoft OLE DB ที่ใช้ในเซิร์ฟเวอร์ที่มีการเชื่อมโยง
-
กระบวนงานที่เก็บไว้แบบขยายของ Microsoft ที่ไม่ใช่ของ Microsoft
-
วัตถุ COM ที่ดำเนินการภายในเซิร์ฟเวอร์ (การเข้าถึงผ่าน sp_OACreate)
-
โปรแกรมที่ดำเนินการผ่าน xp_cmdshell
Mitigations ถ้าใช้โค้ดที่ไม่น่าเชื่อถือใน SQL Server ให้ทำดังนี้
สถานการณ์สมมติ/ใช้กรณี |
Mitigations หรือขั้นตอนที่แนะนำ |
การเรียกใช้ SQL Server ที่มี CLR ที่เปิดใช้งาน (sp_configure ' clr ที่เปิดใช้งาน ' 1) |
|
การเรียกใช้สคริปต์ภายนอก Java/R/เหลือมจากภายใน SQL Server (sp_configure ' สคริปต์ภายนอกที่เปิดใช้งาน ' 1) |
|
การใช้เซิร์ฟเวอร์ที่มีการเชื่อมโยง (sp_addlinkedserver) |
|
การใช้กระบวนงานที่เก็บไว้แบบขยาย (sp_addextendedproc) |
เนื่องจากกระบวนงานที่เก็บไว้เป็นแบบขยายจะไม่ได้รับการสนับสนุนให้เอาการนำออกใช้ทั้งหมดออกและไม่ใช้งานในระบบการผลิต |
การใช้ xp_cmdshell เพื่อเรียกใช้ไบนารีจาก SQL Server |
ฟีเจอร์นี้จะปิดใช้งานตามค่าเริ่มต้น ตรวจทานและจำกัดการใช้ xp_cmdshell ทั้งหมดเพื่อเรียกใช้ไบนารีที่ไม่น่าเชื่อถือ คุณสามารถควบคุมการเข้าถึงจุดสิ้นสุดนี้ผ่านทาง sp_configure ตามที่อธิบายไว้ที่นี่: ตัวเลือกการกำหนดค่า xp_cmdshell เซิร์ฟเวอร์
|
การใช้วัตถุ COM ผ่านทาง sp_OACreate |
ฟีเจอร์นี้จะปิดใช้งานตามค่าเริ่มต้น วัตถุ COM ที่ถูกเรียกผ่าน sp_OACreate เรียกใช้โค้ดที่ติดตั้งอยู่บนเซิร์ฟเวอร์ ตรวจทานการโทรดังกล่าวสำหรับไบนารีที่ไม่น่าเชื่อถือ คุณสามารถตรวจสอบการตั้งค่าผ่านทาง sp_configure ได้ decribed ที่นี่: ตัวเลือกการกำหนดค่าเซิร์ฟเวอร์ Ole ขั้นตอนการทำงานอัตโนมัติ
|