표제지
목차
약어표 8
논문요약 9
제1장 서론 10
제2장 이론적 배경 12
제1절 취약점 공격이란 12
1. 취약점 공격 과정 12
2. 취약점 공격 종류 16
제2절 취약점 공격 탐지 방법 18
1. 정적 탐지 방법 19
2. 동적 탐지 방법 21
제3장 연구 범위 31
제4장 연구 내용 34
제1절 이상흐름 탐지 방법 34
1. 실행된 응용 프로그램 메모리 구성 34
2. 실행권한 없고 실행흐름 발생 불가 영역 38
3. 실행권한 있고 실행흐름 발생 불가 영역 40
4. 실행권한 있고 실행흐름 발생 가능 영역 44
제2절 오탐 개선 방법 52
1. 실행권한 없고 실행흐름 발생 불가 영역 53
2. 실행권한 있고 실행흐름 발생 불가 영역 55
3. 실행권한 있고 실행흐름 발생 가능 영역 60
제3절 자원 사용 감소 방법 61
1. 반복 동작 횟수 감소 61
제4절 성능 측정 65
1. 이상흐름 탐지 방법 65
2. 오탐 개선 방법 73
3. 자원 소모 감소 방법 75
제5장 결론 77
참고문헌 79
ABSTRACT 83
[표 2-1] 취약점 공격 종류 16
[표 2-2] EMET 취약점 공격 방어 방법들 26
[표 3-1] 본 논문 연구 요약 표 33
[표 4-1] 영구 DEP 적용 코드 39
[표 4-2] 예외 핸들링 코드 40
[표 4-3] 실행흐름 감시를 위한 API 감시 핸들러 42
[표 4-4] 실행흐름 감시를 위한 API 감시 핸들러 46
[표 4-5] 본 논문의 이상흐름 탐지 방법 요약표 52
[표 4-6] try-except를 이용한 예외 핸들링 54
[표 4-7] 이상흐름 탐지 테스트 샘플 66
[표 4-8] 오탐 개선 기능 적용 전, 후 73
[그림 2-1] GFI blog, 2010-2014년도 발견된 취약점 개수 12
[그림 2-2] GFI blog, 2014년도 각 응용 프로그램 취약점 현황 13
[그림 2-3] 취약점 공격 단계 14
[그림 2-4] 정상 입력 데이터 디스어셈블링 20
[그림 2-5] 일반적인 쉘코드 형태 21
[그림 2-6] MSDN, Windows File System Mini Filter 구조 22
[그림 2-7] MSDN, Transport Driver Interface(TDI) 23
[그림 2-8] MSDN, NDIS Filter Driver 23
[그림 2-9] 공개번호: 10-2013-0078960 특허, 대표도 24
[그림 2-10] 동적링크라이브러리 기반 보호 형태 25
[그림 2-11] DynamoRIO, 구조 29
[그림 3-1] reversecore, PE 파일 구조 31
[그림 4-1] OllyDbg에서 본 메모리 영역 구분 35
[그림 4-2] 이상흐름 탐지를 위한 메모리 구분 36
[그림 4-3] 메모리 페이지 권한 속성 37
[그림 4-4] 실행권한 있고 실행흐름 발생 불가영역 감시 41
[그림 4-5] 취약점 공격 시 지향 프로그래밍 원리 45
[그림 4-6] 지향 프로그래밍에 사용되는 가젯 체인 형태 48
[그림 4-7] Adobe Reader의 CreateFileW 호출 위치 50
[그림 4-8] NCT 기반 지향 프로그래밍 차단 51
[그림 4-9] UPX패킹된 섹션 권한속성 57
[그림 4-10] 개발자 의도로 발생된 메모리 할당 및 권한속성 변경 처리 구조 58
[그림 4-11] [그림 4-10]의 이상흐름 검사 확대 59
[그림 4-12] 응용 프로그램에서 호출하는 함수마다 계속 이상흐름 검사 62
[그림 4-13] NFAT를 적용한 이상흐름 탐지 구조 63
[그림 4-14] CVE-2013-0640 공격 및 탐지 67
[그림 4-15] CVE-2013-2551 공격 및 탐지 68
[그림 4-16] CVE-2014-1761 공격 및 탐지 69
[그림 4-17] CVE-2015-3113 공격 및 탐지 70
[그림 4-18] KISA 13-170 공격 및 탐지 71
[그림 4-19] 한국수력원자력 해킹 공격 및 탐지 72
[그림 4-20] 자원소모 감소 기능 성능측정 76