Resumo
A Spectre é uma nova classe de vulnerabilidades de hardware que envolve canais laterais 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ê é um desenvolvedor cujo código opera em dados que ultrapassam um limite de confiança, deve considerar instalar essas atualizações e recompilar o seu código com a opção /Qspectre habilitada e depois vinculá-lo às bibliotecas fornecidas mitigadas para a Spectre. /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 |
Bibliotecas VC++ mitigadas para a Spectre
Para todos os sistemas com base em x86 compatíveis |
|
Para todos os sistemas com base em x64 compatíveis |
|
Para todos os sistemas baseados em ARM com suporte |
Pré-requisitos
Para aplicar esta atualização, você deve ter a Atualização 3 do Visual Studio 2015 instalada.
Informações sobre reinicialização
Talvez seja necessário reiniciar o computador após aplicar essa atualização.
Informações sobre 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 a partir das opções da linha de comando C/C ++.
Você também deve instalar as bibliotecas VC++ mitigadas para a Spectre (uma atualização por arquitetura) e, em seguida, vincular-se manualmente a elas.
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
ARM: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\spectre\arm
Estamos fornecendo apenas suporte para vinculação estática e implantação no local do aplicativo . O conteúdo do Visual C++ 2015 Runtime Libraries Redistributable não foi modificado. Implantação no local do aplicativo significa que você vincula às novas bibliotecas Spectre usando a opção Multithreaded DLL (/MD ou /MDd) e, em seguida, ao implantar o novo programa, você inclui os tempos de execução mitigados no mesmo diretório que o arquivo .exe que os carrega. A versão implantada centralmente do tempo de execução (em C:\Windows\System32 or C:\Windows\SysWOW64) é a versão não mitigada. 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 facilidade de uso, também estamos fornecendo cópias da maioria das bibliotecas nos diretórios da biblioteca Spectre. No entanto, elas não são todas mitigadas para a Spectre. A tabela a seguir especifica quais bibliotecas são mitigadas. Observe também que os arquivos que possuem mitigações para a Spectre devem ser consistentes em todas as arquiteturas, caso a tecnologia for compatível com essa arquitetura.
-
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