Résumé
Spectre est une nouvelle classe de vulnérabilités matérielles impliquant les canaux auxiliaires d’exécution spéculative qui peuvent servir à divulguer des informations sur le programme attaqué. Pour plus d’informations, consultez cet article du blog de l’équipe Visual C++ et l’avis de sécurité 180002.
Si vous développez du code utilisé sur des données traversant une limite approuvée, envisagez d’installer ces mises à jour et de recompiler votre code en activant le commutateur /Qspectre, puis d’effectuer une liaison aux bibliothèques bénéficiant d’atténuations contre Spectre fournies. /Qspectre et les bibliothèques fournissent une assistance d’atténuation pour la variante 1 de Spectre - CVE-2017-5753.
Comment obtenir cette mise à jour
Mise à jour de l’ensemble d’outils
Pour toutes les architectures |
Bibliothèques VC++ bénéficiant d’atténuations contre Spectre
Pour tous les systèmes x86 pris en charge |
|
Pour tous les systèmes x64 pris en charge |
|
Pour tous les systèmes ARM pris en charge |
Conditions préalables
Pour appliquer cette mise à jour, vous devez avoir installé Visual Studio 2015 Update 3.
Informations sur le redémarrage
Vous devrez peut-être redémarrer votre ordinateur après avoir appliqué cette mise à jour.
Informations sur le remplacement
Cette mise à jour ne remplace aucune mise à jour déjà publiée.
Informations supplémentaires relatives à cette mise à jour
Lorsque vous installez la mise à jour de l’ensemble d’outils, vous pouvez activer /Qspectre manuellement à partir des options de ligne de commande C/C++.
Vous devez également installer les bibliothèques VC++ bénéficiant d’atténuations contre Spectre (une mise à jour par architecture), puis effectuer manuellement une liaison vers ces bibliothèques.
Les chemins d’accès sont les suivants :
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
Nous fournissons uniquement la prise en charge de liaison statique et le déploiement locald’application. Le contenu du package redistribuable de bibliothèques Runtime Visual C++ 2015 n’a pas été modifié. Grâce au déploiement local d’application, vous effectuez une liaison vers les nouvelles bibliothèques Spectre à l’aide de l’option DLL multithread (/MD ou /MDd), puis, lorsque vous déployez votre nouveau programme, vous incluez les runtimes atténués dans le même répertoire que celui du fichier .exe qui les charge. La version déployée de manière centralisée du runtime (celle dans C:\Windows\System32 ou C:\Windows\SysWOW64) est la version non atténuée. Si le fichier exécutable n’est pas situé dans le même répertoire, il sélectionne la version déployée de manière centralisée du runtime.
Pour des raisons pratiques, nous fournissons également des copies de la plupart des bibliothèques figurant dans les répertoires de bibliothèques Spectre. Elles ne bénéficient toutefois pas toutes d’atténuations contre Spectre. Le tableau suivant indique les bibliothèques atténuées. De plus, les fichiers bénéficiant d’atténuations contre Spectre doivent être cohérents dans toutes les architectures, si la technologie correspondante est prise en charge dans les architectures concernées.
-
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