Visual Studio 2015 Atualização 3 Conjunto de Ferramentas Spectre Variante 1 (/qspectre)

Aplica-se a
Visual Studio 2015 Update 3

Resumo

O Spectre é uma nova classe de vulnerabilidades de hardware que envolvem canais paralelos de execução especulativa que podem ser usados para divulgar informações sobre o programa que está sendo atacado. Para obter mais informações, consulte este artigo do Blog da Equipe do Visual C++ e o comunicado de segurança 180002.

Se você for um desenvolvedor cujo código opera em dados que cruzam um limite de confiança, considere instalar essas atualizações e recompilar seu código tendo a opção /Qspectre habilitada e, em seguida, vinculando às bibliotecas mitigadas pela Spectre fornecidas. /Qspectre e as bibliotecas fornecem assistência de mitigação para a Spectre Variante 1 - CVE-2017-5753.

Como obter esta atualização

Atualização do conjunto de ferramentas

Para todas as arquiteturas VC14-KB4338871.exe

Bibliotecas VC++ mitigadas pelo Spectre

Para todos os sistemas com base em x86 compatíveis VS2015U3_vcpp_spectre_libs_x86.exe
Para todos os sistemas com base em x64 compatíveis VS2015U3_vcpp_spectre_libs_x64.exe
Para todos os sistemas baseados em ARM com suporte VS2015U3_vcpp_spectre_libs_arm.exe

Pré-requisitos

Para aplicar essa atualização, você deve ter a Atualização 3 para Visual Studio 2015 instalada.

Informações sobre reinicialização

Talvez seja necessário reiniciar o computador após aplicar essa atualização.

Informações de substituição

Esta atualização não substitui nenhuma outra lançada anteriormente.

Mais informações sobre a atualização

Ao instalar a atualização do conjunto de ferramentas, você pode habilitar /Qspectre manualmente nas opções de linha de comando do C/C++.

Opções de linha de comando

Você também deve instalar as bibliotecas VC++ mitigadas pelo Spectre (uma atualização por arquitetura) e, em seguida, vinculá-las manualmente.

Vincular manualmente

Os caminhos são os seguintes:

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

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

Estamos fornecendo suporte a vinculação estática e implantação local do aplicativo apenas. O conteúdo das Bibliotecas Redistribuíveis do Visual C++ 2015 Runtime não foi modificado. Implantação local do aplicativo significa que você vincula às novas bibliotecas do Spectre usando a opção DLL multithread (/MD ou /MDd) e, em seguida, ao implantar seu novo programa, inclui os tempos de execução atenuados no mesmo diretório que o arquivo .exe que os carrega. A versão implantada centralmente do runtime (aquela em C:\Windows\System32 ou C:\Windows\SysWOW64) é a versão não mitgada. Se o arquivo executável não estiver no mesmo diretório, ele selecionará a versão implantada centralmente do tempo de execução.

Para facilitar o uso, também estamos fornecendo cópias da maioria das bibliotecas nos diretórios da biblioteca Spectre. No entanto, nem todos eles são mitigados pela Spectre. A tabela a seguir especifica quais bibliotecas são mitigadas. Observe também que os arquivos que têm mitigações do Spectre devem ser consistentes em todas as arquiteturas, se a tecnologia for compatível com essa arquitetura.

Bibliotecas de execução estática e de importação do 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

DLLs de tempo de execução do 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