단디연구소

DLL Pre-Load 공격 본문

연구 자료/악성코드 분석

DLL Pre-Load 공격

단디연구소 2015. 3. 9. 11:35

DLL 로드 우선 순위를 이용해 악성 DLL등이 사전 로드 되게 하는공격

DLL 로드 우선 순위

LoadLibrary, LoadLibraryEx 로드 우선 순위

1. DLL이 로드하는 프로그램이 위치한 디렉토리
2. 시스템 디렉토리
3. 16비트 시스템 디렉토리
4. Windows 디렉토리
5. 현재 작업 디렉토리(CWD)
6. PATH 환경 변수에 나열된 디렉토리

SearchPath 로드 우선 순위

1. DLL이 로드하는 프로그램이 위치한 디렉토리
2. 현재 작업 디렉토리(CWD)
3. 시스템 디렉토리
4. 16비트 시스템 디렉토리
5. Windows 디렉토리
6. PATH 환경 변수에 나열된 디렉토리


위와 같은 우선순위에서 악성 파일을 로드하는 DLL보다 높은곳에 위치하게 되면 악성 DLL이 로드 된다.


보안책

절대경로 사용

HMODULE handle = LoadLibrary("schannel.dll"); < 취약

HMODULE handle = LoadLibrary("c:\\windows\\system32\\schannel.dll"); < 해결책


'연구 자료 > 악성코드 분석' 카테고리의 다른 글

다양한 Encoder  (0) 2015.04.10
DoSwf encrypt  (0) 2015.04.07
CapTipper 0.2 released!  (0) 2015.04.03
악성코드에서 사용하는 Windows Registry  (0) 2015.02.10
CuckooSandbox  (0) 2015.02.10
Comments