Applies ToMicrosoft SQL Server

สรุป

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 กำลังทำงานบนคอมพิวเตอร์ที่มีอยู่จริงหรือเครื่องเสมือน

และไม่มีเงื่อนไขใดๆต่อไปนี้เป็นจริง:

  • แอปพลิเคชันอื่นที่ดำเนินการโค้ดที่อาจเป็นรหัสผ่านเป็นโฮสต์ร่วมกันบนคอมพิวเตอร์เครื่องเดียวกัน

  • มีการใช้อินเทอร์เฟซการเพิ่มความสามารถของ 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 ในการดำเนินการรหัสที่เชื่อถือได้ ตัวอย่าง: 

  • แอสเซมบลี CLR ที่ได้รับการตรวจทาน/อนุมัติสำหรับใช้ในการผลิต

  • เซิร์ฟเวอร์ที่เชื่อมโยงที่คุณเชื่อถือเรียกใช้คิวรีมที่ที่คุณเชื่อถือ

ตัวอย่างที่ไม่ใช่:

  • สคริปต์ R/เหลือมโดยอำเภอใจที่ดาวน์โหลดจากอินเทอร์เน็ต

  • Uไบนารี CLR ของ U ntrusted จากบริษัทอื่น

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)

  1. ถ้าเป็นไปได้ให้ปิดใช้งาน CLR ถ้าไม่จำเป็นต้องใช้ในแอปพลิเคชันของคุณเพื่อลดความเสี่ยงของรหัสที่ไม่น่าเชื่อถือใดๆที่ถูกโหลดลงใน SQL Server

  1. (SQL Server 2017 +) ถ้า CLR ยังคงจำเป็นในแอปพลิเคชันของคุณให้เปิดใช้งานเฉพาะแอสเซมบลีที่เฉพาะเจาะจงที่จะโหลดโดยใช้ฟีเจอร์ "การรักษาความปลอดภัยของ CLR ที่เข้มงวด" (การรักษาความปลอดภัยของ clr ที่เข้มงวด) โดยใช้ sys.sp_add_trusted_assembly (SYS.SP_ADD_TRUSTED_ASSEMBLY (Transact SQL))

  1. พิจารณาว่ารหัส CLR สามารถโยกย้ายไปยังโค้ดที่เทียบเท่ากับ T SQL ได้หรือไม่

  1. ตรวจทานสิทธิ์ด้านความปลอดภัยเพื่อล็อกลงในสถานการณ์ที่สามารถใช้การดำเนินการที่ใช้ CLR ได้ จำกัดการสร้างแอสเซมบลีการเข้าถึงภายนอกและสิทธิ์ของแอสเซมบลีที่ไม่ปลอดภัยให้กับชุดขั้นต่ำของผู้ใช้หรือรหัสเส้นทางที่ไม่อนุญาตให้โหลดแอสเซมบลีใหม่ลงในแอปพลิเคชันที่มีอยู่

การเรียกใช้สคริปต์ภายนอก Java/R/เหลือมจากภายใน SQL Server (sp_configure ' สคริปต์ภายนอกที่เปิดใช้งาน ' 1)

  1. ถ้าเป็นไปได้ให้ปิดใช้งานความสามารถของสคริปต์ภายนอกถ้าไม่จำเป็นในแอปพลิเคชันของคุณเพื่อลดพื้นที่พื้นผิวการโจมตี

  1. (SQL Server 2017 +) ถ้าเป็นไปได้ให้โยกย้ายสคริปต์ภายนอกทำการทำคะแนนเพื่อใช้ฟีเจอร์การให้คะแนนของพื้นเมืองแทน (การให้คะแนนแบบดั้งเดิมโดยใช้ฟังก์ชันทำนาย T-SQL)

  1. ตรวจทานสิทธิ์ด้านความปลอดภัยเพื่อล็อกลงในสถานการณ์ที่คุณสามารถใช้สคริปต์ภายนอกได้ จำกัดการดำเนินการสิทธิ์สคริปต์ภายนอกใดๆให้กับชุดของเส้นทางผู้ใช้/รหัสน้อยที่สุดเพื่อไม่ให้มีการดำเนินการสคริปต์ที่กำหนดเองได้

การใช้เซิร์ฟเวอร์ที่มีการเชื่อมโยง (sp_addlinkedserver)

  1. ตรวจทานผู้ให้บริการ OLEDB ที่ติดตั้งและพิจารณาเอาผู้ให้บริการ OLEDB ที่ไม่น่าเชื่อถือออกจากเครื่อง (ตรวจสอบให้แน่ใจว่าคุณไม่ได้ลบผู้ให้บริการ OLEDB ถ้ามีการใช้ภายนอก SQL Server บนเครื่อง) ตัวอย่างเกี่ยวกับวิธีการระบุผู้ให้บริการ OLEDB ที่มีอยู่ที่นี่: OleDbEnumerator GetEnumerator (Type)

  1. ตรวจทานและเอาเซิร์ฟเวอร์ที่มีการเชื่อมโยงที่ไม่จำเป็นออกจาก SQL Server (sp_dropserver) เพื่อลดความเป็นไปได้ของการดำเนินการใดๆของรหัสที่ไม่น่าเชื่อถือ

  1. ตรวจทานสิทธิ์ด้านความปลอดภัยเพื่อล็อกการเปลี่ยนแปลงสิทธิ์เซิร์ฟเวอร์ที่ลิงก์ไปยังจำนวนผู้ใช้ขั้นต่ำ

  1. ตรวจทานการเข้าสู่ระบบเซิร์ฟเวอร์ที่ลิงก์/การแมปข้อมูลประจำตัว (sp_addlinkedsvrlogin/sp_droplinkedsvrlogin) เพื่อจำกัดผู้ที่สามารถดำเนินการการดำเนินการผ่านเซิร์ฟเวอร์ที่เชื่อมโยงไปยังชุดของผู้ใช้/สถานการณ์น้อยที่สุด

การใช้กระบวนงานที่เก็บไว้แบบขยาย (sp_addextendedproc)

เนื่องจากกระบวนงานที่เก็บไว้เป็นแบบขยายจะไม่ได้รับการสนับสนุนให้เอาการนำออกใช้ทั้งหมดออกและไม่ใช้งานในระบบการผลิต

การใช้ xp_cmdshell เพื่อเรียกใช้ไบนารีจาก SQL Server

ฟีเจอร์นี้จะปิดใช้งานตามค่าเริ่มต้น ตรวจทานและจำกัดการใช้ xp_cmdshell ทั้งหมดเพื่อเรียกใช้ไบนารีที่ไม่น่าเชื่อถือ คุณสามารถควบคุมการเข้าถึงจุดสิ้นสุดนี้ผ่านทาง sp_configure ตามที่อธิบายไว้ที่นี่:

ตัวเลือกการกำหนดค่า xp_cmdshell เซิร์ฟเวอร์

 

การใช้วัตถุ COM ผ่านทาง sp_OACreate

ฟีเจอร์นี้จะปิดใช้งานตามค่าเริ่มต้น วัตถุ COM ที่ถูกเรียกผ่าน sp_OACreate เรียกใช้โค้ดที่ติดตั้งอยู่บนเซิร์ฟเวอร์ ตรวจทานการโทรดังกล่าวสำหรับไบนารีที่ไม่น่าเชื่อถือ คุณสามารถตรวจสอบการตั้งค่าผ่านทาง sp_configure ได้ decribed ที่นี่:

ตัวเลือกการกำหนดค่าเซิร์ฟเวอร์ Ole ขั้นตอนการทำงานอัตโนมัติ

 

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย