표제지
요약
목차
1장 서론 8
2장 제안 방법 10
2.1. 윈도우즈 보안 메커니즘 10
2.2. 윈도우즈 프로그램 실행 과정 11
2.3. 진단 기준 13
2.4. Hook the IDT 15
2.5. Hook the CPU MSRs 16
2.6. Hook the GDT 16
2.7. Hook the SSDT 17
2.8. Hook the IRP Dispatch Table 19
3장 실험 결과 21
3.1. Windbg 소개 21
3.2. PC 환경 22
3.3. 진단 결과 23
3.3.1. Hook The IDT 검사 24
3.3.2. Hook The CPU MSRs 검사 27
3.3.3. Hook The GDT 검사 29
3.3.4. Hook The SSDT 검사 32
3.3.5. Hook The IRP Dispatch Table 검사 35
3.4. 보안프로그램 실행 시 악성 루트킷 검사 가능 여부 37
4장 결론 39
참고문헌 40
ABSTRACT 41
[표 1] 진단 기준 14
[표 2] 진단 결과 24
[그림 1] 인터넷 이용자 통계 8
[그림 2.1] 메모리 주소 변환 과정 11
[그림 2.2] WinAPI() 실행 루틴 12
[그림 2.3] 루트킷 탐지 프로그램 결과 13
[그림 2.4] 어플리케이션 전체 실행 루틴 14
[그림 2.5] 인터럽트 실행 루틴 15
[그림 2.6] GDT 실행 루틴 17
[그림 2.7] SSDT 실행 루틴 18
[그림 2.8] IRP 실행 루틴 19
[그림 3.1] 커널 디버거의 연결 대기 상태 21
[그림 3.2] Windbg 연결 후 상태 창 23
[그림 3.3] DebugView에서 캡쳐한 악성 루트킷의 커널 메시지 23
[그림 3.4] 정상 PC의 IDT 정보 25
[그림 3.5] 정상 PC의 0x2E의 어셈블리 코드 25
[그림 3.6] 감염 PC의 IDT 정보 26
[그림 3.7] IDT 후킹 루트킷의 어셈블리 코드 26
[그림 3.8] 정상 PC 의 MSRs 정보 27
[그림 3.9] 스크립트를 통한 MSRs 출력 결과 28
[그림 3.10] 감염 PC의 MSRs 정보 28
[그림 3.11] MSRs 후킹 루트킷의 어셈블리 코드 29
[그림 3.12] 정상 PC의 GDT 정보 30
[그림 3.13] 감염 PC의 GDT 정보 30
[그림 3.14] 특정 권한으로 실행할 프로그램 소스 31
[그림 3.15] GDT 후킹 루트킷의 어셈블리 코드 31
[그림 3.16] GDT 후킹 루트킷이 출력하는 문자열이 저장된 메모리 영역 32
[그림 3.17] 정상 PC의 SSDT 정보 32
[그림 3.18] SSDT 후킹 루트킷 출력 메시지 33
[그림 3.19] 감염 PC의 SSDT 정보 33
[그림 3.20] 후킹된 함수의 어셈블리 코드 34
[그림 3.21] SSDT 후킹 루트킷의 어셈블리 코드 34
[그림 3.22] 정상 PC의 TCPIP.sys 정보 35
[그림 3.23] 정상 tcpip.sys에 디스패치된 주소의 어셈블리 코드 36
[그림 3.24] 감염 PC의 TCPIP.sys 정보 36
[그림 3.25] IRP 후킹 루트킷의 어셈블리 코드 37
[그림 3.26] Windbg를 연결한 상태에서서 인증페이지 실행 결과 38