Zusammenfassung
Spectre ist eine neue Klasse von Hardwaresicherheitsanfälligkeiten bezüglich spekulativer ausführungsseitiger Channelangriffe, mit deren Hilfe Informationen zum angegriffenen Programm offengelegt werden können. Weitere Informationen hierzu finden Sie in diesem Visual C++ Team Blog-Artikel und in der Sicherheitsempfehlung 180002.
Als Entwickler, dessen Code über Vertrauensstellungsgrenzen hinweg verwendet wird, sollten Sie möglicherweise diese Updates installieren und Ihren Code mit aktiviertem Schalter /Qspectre erneut kompilieren und anschließend eine Verknüpfung zu den bereitgestellten Bibliotheken mit Spectre-Risikominderung herstellen. /Qspectre und die Bibliotheken unterstützen die Risikominderung für Spectre Variante 1 – CVE-2017-5753.
Beziehen dieses Updates
Toolsetupdate
Alle Architekturen |
VC++-Bibliotheken mit Risikominderung für Spectre
Alle unterstützten x86-basierten Systeme |
|
Alle unterstützten x64-basierten Systeme |
|
Alle unterstützten ARM-basierten Systeme |
Voraussetzungen
Um dieses Update anwenden zu können, muss das Update 3 für Visual Studio 2015 installiert sein.
Informationen zum Neustart
Sie müssen den Computer nach der Installation des Updates möglicherweise neu starten.
Ersetzte Updates
Das Update ersetzt kein zuvor veröffentlichtes Update.
Weitere Informationen zu diesem Update
Wenn Sie das Toolsetupdate installieren, können Sie /Qspectre manuell über die C/C++-Befehlszeilenoptionen aktivieren.
Sie sollten auch die VC++-Bibliotheken mit Risikominderung für Spectre installieren (ein Update pro Architektur) und dann manuell eine Verknüpfung zu ihnen herstellen.
Die Pfade lauten wie folgt:
x86: C:\Programme (x86)\Microsoft Visual Studio 14.0\VC\lib\spectre
x64: C:\Programme (x86)\Microsoft Visual Studio 14.0\VC\lib\spectre\amd64
ARM: C:\Programme (x86)\Microsoft Visual Studio 14.0\VC\lib\spectre\arm
Wir bieten nur Unterstützung für die statische Verknüpfung und für die lokale Anwendungsbereitstellung. Der Inhalt der Visual C++ 2015-Laufzeitbibliotheken (Redistributable) wurde nicht geändert. Lokale Anwendungsbereitstellung bedeutet, dass Sie mithilfe der Multithread-DLL-Option (/MD oder /MDd) eine Verknüpfung zu den neuen Spectre-Bibliotheken herstellen und anschließend bei der Bereitstellung Ihres neuen Programms die Laufzeitversionen mit Risikominderung zum selben Verzeichnis hinzufügen wie die EXE.Datei, von der diese geladen werden. Die zentral bereitgestellte Laufzeitversion (die Version im Verzeichnis „C:\Windows\System32“ oder „C:\Windows\SysWOW64“) ist die Version ohne Risikominderung. Wenn sich die ausführbare Datei nicht im selben Verzeichnis befindet, wird die zentral bereitgestellte Version der Laufzeit abgerufen.
Zur Vereinfachung stellen wir auch Kopien der meisten Bibliotheken in den Spectre-Bibliotheksverzeichnissen bereit. Nicht alle diese Bibliotheken sind jedoch Bibliotheken mit Risikominderung. In der folgenden Tabelle ist angegeben, bei welchen Bibliotheken es sich um Bibliotheken mit Risikominderung handelt. Beachten Sie außerdem, dass die Dateien mit Riskominderung für Spectre für alle Architekturen einheitlich sein sollten, wenn die Technologie für diese Architektur unterstützt wird.
-
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