/DEPENDENTLOADFLAG(기본 종속 로드 플래그 설정)

/DEPENDENTLOADFLAG 옵션을 사용하려면 Visual Studio 2017 이상이 필요합니다.

운영 체제가 모듈의 정적으로 연결된 가져오기를 확인할 때 사용되는 기본 로드 플래그를 설정합니다.

구문

/DEPENDENTLOADFLAG[:load_flags]

인수

load_flags
모듈의 정적으로 연결된 가져오기 종속성을 확인할 때 적용할 로드 플래그를 지정하는 선택적 정수 값입니다. 기본값은 0입니다. 지원되는 플래그 값 목록은 LoadLibraryExLOAD_LIBRARY_SEARCH_*항목을 참조하세요.

설명

운영 체제가 모듈의 정적으로 연결된 가져오기를 확인하는 경우 기본 검색 순서사용합니다. /DEPENDENTLOADFLAG 옵션을 사용하여 이러한 가져오기를 확인하는 데 사용되는 검색 경로를 변경하는 load_flags 값을 지정합니다. 지원되는 운영 체제에서는 매개 변수를 사용할 LOAD_LIBRARY_SEARCH 때 LoadLibraryEx가 수행하는 것과 유사한 정적 가져오기 확인 검색 순서를 변경합니다. load_flags 설정된 검색 순서에 대한 자세한 내용은 LOAD_LIBRARY_SEARCH 플래그를 사용하여 검색 순서를 참조 하세요.

이 플래그는 하나의 DLL 심기 공격 벡터를 더 어렵게 만드는 데 사용할 수 있습니다. 예를 들어 정적으로 DLL을 연결한 앱을 고려합니다.

  • 공격자는 가져오기 확인 검색 경로(예: 애플리케이션 디렉터리)의 앞부분에서 동일한 이름의 DLL을 심을 수 있습니다. 보호된 디렉터리를 변경하는 것이 더 어렵지만 불가능하지는 않습니다.

  • 애플리케이션, %windows%\system32 및 %windows% 디렉터리에서 DLL이 누락된 경우 가져오기 확인은 현재 디렉터리로 대체됩니다. 공격자가 DLL을 심을 수 있습니다.

두 경우 모두 링크 옵션 /DEPENDENTLOADFLAG:0x800 (플래그 LOAD_LIBRARY_SEARCH_SYSTEM32값)을 지정하면 모듈 검색 경로가 %windows%\system32 디렉터리로 제한됩니다. 다른 디렉터리에 대한 심기 공격으로부터 몇 가지 보호를 제공합니다. 자세한 내용은 Dynamic-Link 라이브러리 보안을 참조 하세요.

모든 DLL에서 /DEPENDENTLOADFLAG 옵션으로 설정된 값을 보려면 /LOADCONFIG 옵션과 함께 DUMPBIN 명령을 사용합니다.

/DEPENDENTLOADFLAG 옵션은 Visual Studio 2017의 새로운 기능입니다. Windows 10 RS1 이상 버전에서 실행되는 앱에만 적용됩니다. 이 옵션은 앱을 실행하는 다른 운영 체제에서 무시됩니다.

Visual Studio 개발 환경에서 DEPENDENTLOADFLAG 링커 옵션을 설정하려면

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.

  2. 구성 속성>링커>명령줄 속성 페이지를 선택합니다.

  3. 추가 옵션에 옵션을 입력합니다.

프로그래밍 방식으로 이 링커 옵션을 설정하려면

참고 항목