요약
스펙터는 공격 대상 시스템에 대한 정보를 유출하는 데 사용될 수 있는 예측 실행 부채널 공격과 관련된 새로운 종류의하드웨어 취약성입니다. 자세한 내용은 이 Visual C++ Team Blog 문서 및 보안 공지 180002를 참조하세요.
신뢰 경계를 넘어 이동하는 데이터에 대해 실행되는 코드가 있는 개발자의 경우 이러한 업데이트를 설치하고, /Qspectre 스위치를 사용하도록 설정하여 코드를 다시 컴파일한 후 제공된 스펙터 완화 라이브러리에 연결해야 합니다. /Qspectre 및 라이브러리는 첫 번째 변종 스펙터(CVE-2017-5753)를 완화하는 데 도움이 됩니다.
이 업데이트를 받는 방법
도구 집합 업데이트
모든 아키텍처 |
스펙터 완화 VC++ 라이브러리
지원되는 모든 x86 기반 시스템 |
|
지원되는 모든 x64 기반 시스템 |
|
지원되는 모든 ARM 기반 시스템 |
전제 조건
이 업데이트를 적용하려면 Visual Studio 2015용 업데이트 3이 설치되어 있어야 합니다.
다시 시작 정보
이 업데이트를 적용한 후에 컴퓨터를 다시 시작해야 할 수 있습니다.
대체 정보
이 업데이트는 이전에 릴리스된 업데이트를 대체하지 않습니다.
이 업데이트에 대한 추가 정보
도구 집합 업데이트를 설치하는 경우 C/C++ 명령줄 옵션에서 직접 /Qspectre를 사용하도록 설정할 수 있습니다.
또한 스펙터 완화 VC++ 라이브러리(아키텍처당 업데이트 하나)를 설치한 후 라이브러리에 수동으로 연결해야 합니다.
경로는 다음과 같습니다.
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
Microsoft에서는 정적 연결 지원 및 응용 프로그램 로컬 배포만 지원합니다. Visual C++ 2015 런타임 라이브러리 재배포 가능 패키지의 콘텐츠는 수정되지 않았습니다. 응용 프로그램 로컬 배포란 Multithreaded DLL(/MD 또는 /MDd) 옵션을 사용하여 새 스펙터 라이브러리에 연결한 다음 새 프로그램을 배포할 때 완화된 런타임을 이를 로드하는 .exe 파일과 동일한 디렉터리에 포함하는 것을 의미합니다. 중앙에서 배포하는 버전의 런타임(C:\Windows\System32 또는 C:\Windows\SysWOW64의 런타임)은 완화되지 않은 버전입니다. 실행 파일이 같은 디렉터리에 있지 않으면 중앙 배포 버전의 런타임이 선택됩니다.
편의를 위해 스펙터 라이브러리 디렉터리에 대부분의 라이브러리 복사본도 함께 제공됩니다. 하지만 일부는 스펙터 완화 라이브러리가 아닙니다. 다음 표에는 스펙터가 완화된 라이브러리가 나와 있습니다. 스펙터 완화 기능이 있는 파일은 아키텍처에서 해당 기술을 지원하는 경우 모든 아키텍처에서 일관되어야 합니다.
-
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