สรุป
Spectre เป็นชั้นใหม่ของช่องโหว่ฮาร์ดแวร์ที่เกี่ยวข้องกับสถานีด้าน speculative การดำเนินการที่อาจใช้ในการเปิดเผยข้อมูลเกี่ยวกับโปรแกรมถูกโจมตี สำหรับข้อมูลเพิ่มเติม ให้ดูบทความนี้บล็อกทีม Visual C++และความปลอดภัย 180002 คำแนะนำ
ถ้าคุณเป็นนักพัฒนาที่มีรหัสที่ดำเนินการบนข้อมูลที่ตัดเส้นขอบเขตความน่าเชื่อถือ คุณควรพิจารณาการติดตั้งโปรแกรมปรับปรุงเหล่านี้ และ recompiling โค้ดของคุณ โดยมีสวิตช์/Qspectreเปิดใช้งาน และจากนั้น เชื่อมโยงไปยังไลบรารี Spectre mitigated ที่อยู่ จัดไว้ให้/Qspectreและไลบรารีให้ความช่วยเหลือลด1 ตัวแปร Spectre - CVE-2017-5753
วิธีการรับการปรับปรุงนี้
เครื่องมือตั้งค่าการปรับปรุง
สำหรับทั้งหมดก็ |
Spectre mitigated VC ++ ไลบรารี
สำหรับทั้งหมดได้รับการสนับสนุนระบบที่ใช้ x86 |
|
สำหรับทั้งหมดได้รับการสนับสนุนระบบที่ใช้ x64 |
|
สำหรับทั้งหมดได้รับการสนับสนุนระบบที่ใช้ ARM |
ข้อกำหนดเบื้องต้น
เมื่อต้องการใช้การปรับปรุงนี้ คุณต้องมีการติดตั้งปรับปรุง 3 สำหรับ Visual Studio 2015
ข้อมูลการเริ่มระบบใหม่
คุณอาจต้องเริ่มการทำงานของคอมพิวเตอร์ใหม่หลังจากที่คุณใช้การอัปเดตนี้
ข้อมูลการแทนที่
โปรแกรมปรับปรุงนี้ไม่ได้แทนที่โปรแกรมปรับปรุงใด ๆ ที่ออกมาก่อนหน้านี้
ข้อมูลเพิ่มเติมเกี่ยวกับโปรแกรมปรับปรุงนี้
เมื่อคุณติดตั้งการการปรับปรุงชุดเครื่องมือ คุณสามารถเปิดใช้งาน/Qspectreจาก C/c ++ตัวเลือกบรรทัดคำสั่งด้วยตนเอง
คุณควรติดตั้ง Spectre mitigated VC ++ ไลบรารี (การปรับปรุงหนึ่งต่อสถาปัตยกรรม), และจากนั้น ด้วยตนเองเชื่อมโยงไปยังแฟ้ม
เส้นทางมีดังนี้:
x86: การ 14.0\VC\lib\spectre Visual Studio \Microsoft แฟ้ม (x86) C:\Program
x64: การ 14.0\VC\lib\spectre\amd64 Visual Studio \Microsoft แฟ้ม (x86) C:\Program
ARM: การ 14.0\VC\lib\spectre\arm Visual Studio \Microsoft แฟ้ม (x86) C:\Program
เราได้จัดให้คงเชื่อมโยงภายในแอพลิเคชันและการสนับสนุนการปรับใช้เท่านั้น เนื้อหาของ Visual C++ 2015 รันไทม์ของไลบรารีสามารถเผยแพร่ต่อไม่ถูกปรับเปลี่ยน การปรับใช้โปรแกรมประยุกต์ภายในเครื่องซึ่งหมายความ ว่า คุณเชื่อมโยงไปยังไลบรารีของ Spectre ใหม่ โดยใช้ DLL ให้ (/MD หรือ /MDd) ตัวเลือก จากนั้น เมื่อคุณปรับใช้โปรแกรมของคุณใหม่ คุณรวมที่ runtimes mitigated ในไดเรกทอรีเดียวกันเป็นแฟ้ม.exe ที่โหลดเหล่านั้น รุ่นถูกปรับใช้จากส่วนกลางของรันไทม์ (หนึ่งใน C:\Windows\System32 หรือ C:\Windows\SysWOW64) เป็นรุ่นที่ไม่ใช่ mitgated ถ้าแฟ้มปฏิบัติการไม่ได้อยู่ในไดเรกทอรีเดียวกัน จะรับค่ารุ่นของรันไทม์ถูกปรับใช้จากส่วนกลาง
เพื่อให้ง่ายต่อการใช้งาน เราจะให้สำเนาของไลบรารีส่วนใหญ่ในไดเรกทอรีของไลบรารี Spectre อย่างไรก็ตาม จะไม่ทั้งหมด Spectre-mitigated ตารางต่อไปนี้ระบุไลบรารีที่ถูก mitigated ขอให้สังเกตว่า แฟ้มที่มี Spectre mitigations ควรมีความสอดคล้องกันข้ามก็ทั้งหมด หากเทคโนโลยีได้รับการสนับสนุนสำหรับสถาปัตยกรรมที่
-
binmode.obj
-
chkstk.obj
-
commode.obj
-
comsupp.lib
-
comsuppw.lib
-
concrt.lib
-
delayimp.lib
-
invalidcontinue.obj
-
iso_stdio_wide_specifiers.lib
-
legacy_stdio_definitions.lib
-
legacy_stdio_wide_specifiers.lib
-
libcmt.lib
-
libconcrt.lib
-
libconcrt1.lib
-
libcpmt.lib
-
libcpmt1.lib
-
libvcruntime.lib
-
loosefpmath.obj
-
msvcmrt.lib
-
msvcprt.lib
-
msvcrt.lib
-
newmode.obj
-
noarg.obj
-
noenv.obj
-
notelemetry.obj
-
nothrownew.obj
-
oldnames.lib
-
ptrustm.lib
-
setargv.obj
-
threadlocale.obj
-
vcamp.lib
-
vccorlib.lib
-
vcomp.lib
-
vcruntime.lib
-
wsetargv.obj
-
onecore\iso_stdio_wide_specifiers.lib
-
onecore\legacy_stdio_definitions.lib
-
onecore\legacy_stdio_wide_specifiers.lib
-
onecore\libcmt.lib
-
onecore\libcpmt.lib
-
onecore\libcpmt1.lib
-
onecore\libvcruntime.lib
-
onecore\msvcprt.lib
-
onecore\msvcrt.lib
-
onecore\oldnames.lib
-
onecore\vccorlib.lib
-
onecore\vcomp.lib
-
onecore\vcruntime.lib
-
concrt140.dll
-
mfc140chs.dll
-
mfc140cht.dll
-
mfc140deu.dll
-
mfc140enu.dll
-
mfc140esn.dll
-
mfc140fra.dll
-
mfc140ita.dll
-
mfc140jpn.dll
-
mfc140kor.dll
-
mfc140rus.dll
-
mfc140u.dll
-
mfcm140u.dll
-
Microsoft.VisualC.STLCLR.dll
-
msvcp140.dll
-
vcamp140.dll
-
vccorlib140.dll
-
vcruntime140.dll
-
onecore\concrt140.dll
-
onecore\msvcp140.dll
-
onecore\vccorlib140.dll
-
onecore\vcruntime140.dll