1 |
1
프로그램 내 호출 명령을 기 지정된 트램폴린 영역으로 분기하는 제1 점프 명령으로 대체하고, 상기 호출명령을 상기 트램폴린 영역으로 옮기고 상기 제1 점프 명령의 다음으로 분기하는 제2 점프 명령을 상기 트램폴린 영역에 생성하는 단계; 상기 프로그램의 함수 내에 상기 함수의 경계를 포함하는 함수 정보를 파악하는 함수 경계 파악 코드를 추가하는 단계; 상기 트램폴린 영역과 상기 함수 경계 파악 코드가 추가된 프로그램의 수행시 프로세서의 디버그 아키텍쳐를 통해 리턴을 포함하는 간접분기의 목적지 주소, 호출의 출발지 주소, 함수 경계를 포함하는 분기 추적 정보를 파악하는 단계; 및상기 분기 추적 정보를 기초로 코드 재사용 공격을 탐지하는 단계;를 포함하고,상기 재사용 공격을 탐지하는 단계는, 제1 버퍼에 상기 분기 추적 정보를 저장하는 단계;제2 버퍼에 시스템 버스를 통해 수신한 함수 경계 정보를 저장하는 단계;상기 제1 버퍼의 분기 추적 정보를 기초로 파악된 분기 타입이 직접 또는 간접 호출이면, 상기 분기 추적 정보와 상기 제2 버퍼의 함수 경계 정보를 결합하는 단계; 및상기 분기 추적 정보와 상기 제2 버퍼의 함수 경계 정보의 결합 정보를 분석하여 코드 재사용 공격을 탐지하는 단계;를 포함하는 것을 특징으로 하는 공격 탐지 방법
|
2 |
2
제 1항에 있어서, 상기 분기 추적 정보를 파악하는 단계는,리턴 명령의 목적지 주소와 호출의 출발지 주소를 비교하여 리턴 기반 프로그래밍 공격을 탐지하는 단계; 및호출 명령의 목적지 주소, 간접 점프 명령의 목적지 주소, 함수 경계를 기초로 호출 명령의 목적지 주소가 함수의 시작 위치인지 여부 또는 함수 내 간접 점프가 함수 내에서 이루어지는 여부를 파악하여 점프 기반 프로그래밍 공격을 탐지하는 단계;를 포함하는 것을 특징으로 하는 공격 탐지 방법
|
3 |
3
프로그램 내 호출 명령을 기 지정된 트램폴린 영역으로 분기하는 제1 점프 명령으로 대체하고, 상기 호출명령을 상기 트램폴린 영역으로 옮기고 상기 제1 점프 명령의 다음으로 분기하는 제2 점프 명령을 상기 트램폴린 영역에 생성하고, 상기 프로그램의 함수 내에 상기 함수의 경계를 포함하는 함수 정보를 파악하는 코드를 추가하는 코드구축부;상기 트램폴린 영역과 함수 경계 파악 코드가 추가된 프로그램의 수행시 프로세서의 디버그 아키텍쳐를 통해 리턴을 포함하는 간접분기의 목적지 주소, 호출의 출발지 주소, 함수 경계를 포함하는 분기 추적 정보를 파악하는 PTM 분석부; 및상기 분기 추적 정보를 기초로 코드 재사용 공격을 탐지하는 CRA 탐지부;를 포함하고,상기 CRA 탐지부는,상기 PTM 분석부로부터 수신한 분기 추적 정보를 저장하는 제1 버퍼;시스템 버스를 통해 수신한 함수 경계 정보를 저장하는 제2 버퍼;상기 제1 버퍼의 분기 추적 정보를 기초로 파악된 분기 타입이 직접 또는 간접 호출이면, 상기 분기 추적 정보와 상기 제2 버퍼의 함수 경계 정보를 결합하는 결합부; 및상기 결합부의 정보를 분석하여 코드 재사용 공격을 탐지하는 검출 제어부;를 포함하는 것을 특징으로 하는 공격탐지장치
|
4 |
4
삭제
|
5 |
5
제 3항에 있어서, 상기 검출제어부는, 함수가 호출되면, 피호출 함수의 시작과 끝 주소를 저장하는 제1 레지스터; 및동일 함수가 반복 호출되는 경우에, 호출될 때마다 카운터 값을 1씩 증가하여 저장하고 리턴이 될 때마다 카운터 값을 1씩 감소하는 제2 레지스터;를 포함하고,상기 검출제어부는 제1 레지스터에 저장된 함수의 시작과 끝 주소를 기초로 간접 분기의 목적지 주소가 함수 경계 밖인지를 파악하여 공격 여부를 탐지하는 것을 특징으로 하는 공격탐지장치
|
6 |
6
제 5항에 있어서,함수가 호출될 때마다 상기 제1 레지스터의 값을 전달받아 저장하는 쉐도우 호출 스택;을 더 포함하고,상기 검출제어부는 리턴 명령이 수행되면 상기 쉐도우 호출 스택의 꼭대기로부터 추출한 값과 리턴 명령의 목적지 주소를 비교하여 공격 여부를 판단하는 것을 특징으로 하는 공격탐지장치
|
7 |
7
제 6항에 있어서,상기 쉐도우 호출 스택이 다 차면, 상기 쉐도우 호출 스택의 오래된 순으로 일부 값을 메모리의 특정 공간으로 복사하는 스택 관리자;를 더 포함하는 것을 특징으로 하는 공격탐지장치
|
8 |
8
제 1항에 기재된 방법을 수행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
|