Conjunto de herramientas de la variante 1 de Visual Studio 2015 Update 3 Spectre (/Qspectre)

Se aplica a
Visual Studio 2015 Update 3

Resumen

Spectre es una nueva clase de vulnerabilidades de hardware que implican canales de ejecución especulativa que pueden usarse para divulgar información sobre el programa que se está atacando. Para obtener más información, consulte este artículo del Blog del equipo de Visual C++ y aviso de seguridad 180002.

Si es un desarrollador cuyo código funciona con datos que cruzan un límite de confianza, considere la posibilidad de instalar estas actualizaciones y volver a compilar el código al tener habilitado el modificador /Qspectre y vincular a las bibliotecas mitigadas por Spectre que se proporcionan. /Qspectre y las bibliotecas proporcionan asistencia de mitigación para Spectre Variant 1 - CVE-2017-5753.

Cómo obtener esta actualización

Actualización del conjunto de herramientas

Para todas las arquitecturas VC14-KB4338871.exe

Bibliotecas de VC++ mitigadas por espectro

Para todos los sistemas compatibles basados en x86 VS2015U3_vcpp_spectre_libs_x86.exe
Para todos los sistemas compatibles basados en x64 VS2015U3_vcpp_spectre_libs_x64.exe
Para todos los sistemas basados en ARM compatibles VS2015U3_vcpp_spectre_libs_arm.exe

Requisitos previos

Para aplicar esta actualización, debes tener instalada la actualización 3 para Visual Studio 2015 .

Información de reinicio

Quizás tenga que reiniciar el equipo una vez aplicada esta actualización.

Información de reemplazo

Esta actualización no sustituye a ninguna otra publicada anteriormente.

Información adicional sobre esta actualización

Al instalar la actualización del conjunto de herramientas, puedes habilitar /Qspectre manualmente desde las opciones de la línea de comandos de C/C++.

Opciones de la línea de comandos

También debes instalar las bibliotecas de VC++ mitigadas por Spectre (una actualización por arquitectura) y vincularlas manualmente a ellas.

Vínculo manual

Las rutas son las siguientes:

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

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

Solo proporcionamos compatibilidad con vinculación estática e implementación local de aplicaciones . El contenido de las bibliotecas redistribuibles de Visual C++ 2015 Runtime no se ha modificado. La implementación local de aplicaciones significa que se vincula a las nuevas bibliotecas de Spectre mediante la opción DLL multiproceso (/MD o /MDd) y, después, al implementar el nuevo programa, se incluyen los tiempos de ejecución mitigados en el mismo directorio que el archivo .exe que los carga. La versión implementada de forma centralizada del tiempo de ejecución (la de C:\Windows\System32 o C:\Windows\SysWOW64) es la versión no mitgated. Si el archivo ejecutable no está en el mismo directorio, selecciona la versión implementada de forma centralizada del tiempo de ejecución.

Para facilitar el uso, también proporcionamos copias de la mayoría de las bibliotecas en los directorios de la biblioteca spectre. Sin embargo, no todos están mitigados por Spectre. La tabla siguiente especifica qué bibliotecas se mitigan. Tenga en cuenta también que los archivos que tienen mitigaciones spectre deben ser coherentes en todas las arquitecturas, si la tecnología es compatible con esa arquitectura.

Bibliotecas estáticas e importadas en tiempo de ejecución de 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

DLL en tiempo de ejecución de Visual C++

  • 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