Overzicht
Spectre is een nieuwe klasse van hardwarekwetsbaarheden die betrekking hebben op speculatieve kanalen aan de uitvoeringszijde die kunnen worden gebruikt om informatie vrij te geven over het programma dat wordt aangevallen. Zie dit Visual C++ Team Blog-artikel en dit beveiligingsadvies 180002 voor meer informatie.
Als je een ontwikkelaar bent wiens code werkt op gegevens die een vertrouwensgrens overschrijden, zou je kunnen overwegen deze updates te installeren en je code opnieuw samen te stellen door de schakeloptie /Qspectre ingeschakeld te hebben en vervolgens een koppeling te maken naar de bibliotheken met beperkingen op de Spectre die beschikbaar zijn. /Qspectre en de bibliotheken bieden hulp bij het oplossen van risicobeperking voor Spectre Variant 1 - CVE-2017-5753.
Hoe u deze update kunt downloaden
Update van de toolset
| Voor alle architecturen | VC14-KB4338871.exe |
|---|
VC++-bibliotheken met restrictiebeperking
| Voor alle ondersteunde, op x86 gebaseerde systemen | VS2015U3_vcpp_spectre_libs_x86.exe |
|---|---|
| Voor alle ondersteunde, op x64 gebaseerde systemen | VS2015U3_vcpp_spectre_libs_x64.exe |
| Voor alle ondersteunde ARM-systemen | VS2015U3_vcpp_spectre_libs_arm.exe |
Vereisten
Als u deze update wilt toepassen, moet u Update 3 voor Visual Studio 2015 hebben geïnstalleerd.
Informatie over opnieuw opstarten
Nadat u deze update hebt toegepast, moet u de computer wellicht opnieuw opstarten.
Informatie over vervanging
Deze update is geen vervanging van eerder uitgebrachte updates.
Meer informatie over deze update
Wanneer je de update van de toolset installeert, kun je /Qspectre handmatig inschakelen via de C/C++ opdrachtregelopties.
U moet ook de VC++-bibliotheken met beperkingen met Spectre installeren (één update per architectuur) en er vervolgens handmatig een koppeling naar maken.
De paden zijn als volgt:
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
We bieden alleen ondersteuning voor statische koppeling en lokale toepassingsimplementatie . De inhoud van de Visual C++ 2015 Runtime Libraries Redistributable is niet gewijzigd. Lokale toepassingsimplementatie houdt in dat u een koppeling maakt met de nieuwe Spectre-bibliotheken met behulp van de optie Multithreaded DLL (/MD of /MDd) en vervolgens, wanneer u uw nieuwe programma implementeert, de beperkte runtimes opneemt in dezelfde map als het .exe bestand waarin ze worden geladen. De centraal geïmplementeerde versie van de runtime (die in C:\Windows\System32 of C:\Windows\SysWOW64) is de niet-gemitgeerde versie. Als het uitvoerbare bestand zich niet in dezelfde map bevindt, wordt de centraal geïmplementeerde versie van de runtime opgehaald.
Voor het gebruiksgemak bieden we ook kopieën van de meeste bibliotheken in de Spectre-bibliotheekmappen. Ze zijn echter niet allemaal Spectre-mitigated. In de volgende tabel ziet u welke bibliotheken worden beperkt. Houd er ook rekening mee dat de bestanden met Spectre-beperkingen consistent moeten zijn in alle architecturen, als de technologie voor die architectuur wordt ondersteund.
Visual C++ runtime statisch en importbibliotheken
- 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
- oudenamen.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\oudenamen.lib
- onecore\vccorlib.lib
- onecore\vcomp.lib
- onecore\vcruntime.lib
Visual C++ runtime-DLL's
- 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