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

VC14-KB4338871.exe

 

Bibliothèques VC++ bénéficiant d’atténuations contre Spectre

Pour tous les systèmes x86 pris en charge

VS2015U3_vcpp_spectre_libs_x86.exe

Pour tous les systèmes x64 pris en charge

VS2015U3_vcpp_spectre_libs_x64.exe

Pour tous les systèmes ARM pris en charge

VS2015U3_vcpp_spectre_libs_arm.exe

 

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++.

Options de ligne de commande

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.

Lier manuellement

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

 

Besoin d’aide ?

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoindre Microsoft Insider

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?

Nous vous remercions de vos commentaires.

×