Visual Studio 2015 Update 3 Spectre Variant 1 Toolset (/Qspectre)

ينطبق على
Visual Studio 2015 Update 3

الملخص

Spectre هو فئة جديدة من الثغرات الأمنية في الأجهزة التي تتضمن قنوات جانبية للتنفيذ التخميني التي يمكن استخدامها للكشف عن معلومات حول البرنامج الذي يتعرض للهجوم. لمزيد من المعلومات، راجع مقالة مدونة فريق Visual C++ هذهوالنصائح الإرشادية للأمان 180002.

إذا كنت مطورا تعمل التعليمات البرمجية الخاصة به على البيانات التي تعبر حدود الثقة، يجب أن تفكر في تثبيت هذه التحديثات وإعادة تحويل التعليمات البرمجية الخاصة بك عن طريق تمكين مفتاح التبديل /Qspectre ، ثم الارتباط بالمكتبات المخففة من Spectre التي يتم توفيرها. /Qspectre والمكتبات توفر المساعدة في التخفيف من المخاطر ل Spectre Variant 1 - CVE-2017-5753.

كيفية الحصول على هذا التحديث

تحديث مجموعة الأدوات

لجميع البنيات VC14-KB4338871.exe

مكتبات VC++ المخففة من Spectre

لجميع الأنظمة المعتمدة المستندة إلى x86 VS2015U3_vcpp_spectre_libs_x86.exe
لجميع الأنظمة المعتمدة المستندة إلى x64 VS2015U3_vcpp_spectre_libs_x64.exe
لجميع الأنظمة المعتمدة المستندة إلى ARM VS2015U3_vcpp_spectre_libs_arm.exe

المتطلبات الأساسية

لتطبيق هذا التحديث، يجب أن يكون التحديث 3 ل Visual Studio 2015 مثبتا.

معلومات إعادة التشغيل

قد تحتاج إلى إعادة تشغيل الكمبيوتر بعد تطبيق هذا التحديث.

معلومات الاستبدال

لا يحل هذا التحديث محل أي تحديث تم إصداره مسبقا.

مزيد من المعلومات حول هذا التحديث

عند تثبيت تحديث مجموعة الأدوات، يمكنك تمكين /Qspectre يدويا من خيارات سطر الأوامر C/C++.

خيارات سطر الأوامر

يجب عليك أيضا تثبيت مكتبات VC++ المخففة من Spectre (تحديث واحد لكل بنية)، ثم ربطها يدويا.

الارتباط يدويا

المسارات هي كما يلي:

x86: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\spectre

x64: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\spectre\amd64

الذراع: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\spectre\arm

نحن نقدم دعم الربط الثابت والتوزيع المحلي للتطبيق فقط. لم يتم تعديل محتويات Visual C++ 2015 Runtime Libraries Redistributable. يعني التوزيع المحلي للتطبيق أنك تقوم بالارتباط بمكتبات Spectre الجديدة باستخدام خيار Multithreaded DLL (/MD أو /MDd)، ثم عند نشر برنامجك الجديد، فإنك تقوم بتضمين أوقات التشغيل المخففة في نفس الدليل مثل ملف .exe الذي يقوم بتحميلها. الإصدار الموزع مركزيا من وقت التشغيل (الإصدار الموجود في C:\Windows\System32 أو C:\Windows\SysWOW64) هو الإصدار غير الموزع. إذا لم يكن الملف القابل للتنفيذ في نفس الدليل، فإنه يلتقط الإصدار المنشور مركزيا من وقت التشغيل.

لتسهيل الاستخدام، نقدم أيضا نسخا من معظم المكتبات في أدلة مكتبة Spectre. ومع ذلك، فهي ليست جميعها مخففة من حدة Spectre. يحدد الجدول التالي المكتبات التي يتم تخفيفها. لاحظ أيضا أن الملفات التي تحتوي على عوامل تخفيف Spectre يجب أن تكون متسقة عبر جميع البنيات، إذا كانت التكنولوجيا مدعومة لتلك البنية.

Visual C++ وقت التشغيل الثابت واستيراد المكتبات

  • 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

Visual C++ run-time DLLs

  • 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