1 |
1
크래시 위험도 분석 장치에 있어서,바이너리 프로그램을 디스어셈블링하여 기계어로 변환하고, 상기 기계어로부터 제어 흐름 정보를 획득하는 디스어셈블러;상기 기계어를 중간언어로 변환하는 중간언어 변환기;고의로 크래시를 유발시키기 위해 사전에 제작된 크래시 유발 프로그램에 의해 다수의 크래시들을 발생시키는 크래시 발생기; 및상기 중간 언어로 변환된 명령어들 중 상기 다수의 크래시들을 발생시킨 명령어들 각각에 의해 영향을 받는 모든 명령어를 정적으로 분석하여 해당 크래시의 위험도를 분석하는 크래시 위험도 분석기를 포함하고,상기 위험도 분석기는상기 다수의 크래시들을 발생시킨 명령어들 각각에 대하여 상기 명령어들의 도달지점들을 식별하고, 상기 도달지점들 중 해당 명령어가 실제로 사용되는 지점을 찾아낸 후, 그 결과를 사용 지점 그래프로 도출하고,상기 사용 지점 그래프로부터 프로그램의 제어권을 옮길 수 있는 명령어를 식별한 후, 상기 크래시를 발생시킨 명령어가 저장(store) 계열 명령어이거나, 분기(branch) 계열 명령어인 경우 공격 가능성을 분석하고,상기 크래시를 발생시킨 명령어가 저장(store) 계열 명령어인 경우 메모리 영역을 세분화하고, 각 명령어 마다 레지스터 및 메모리에서 가질 수 있는 영역을 분석하는 메모리 분석 과정을 더 수행하고,상기 메모리 분석 과정을 수행하기 위해, 힙(Heap) 메모리 영역과 스택(Stack) 메모리 영역을 구분하고,동적 메모리 할당 함수 호출 이후 반환 값이 할당된 힙(Heap) 영역의 주소라는 점을 이용하여 힙(Heap) 메모리를 검출하고, 함수 시작 지점에서 초기화된 레지스터 정보를 이용하여 스택(Stack) 메모리를 검출하는 것을 특징으로 하는 크래시 위험도 분석 장치
|
2 |
2
삭제
|
3 |
3
삭제
|
4 |
4
제1항에 있어서, 상기 위험도 분석기는상기 분기(branch) 계열 명령어의 목적 주소(Target Address)가 상기 크래시를 발생시킨 명령어로부터 영향을 받은 경우, 해당 크래시를 공격 가능한 것으로 결정하는 것을 특징으로 하는 크래시 위험도 분석 장치
|
5 |
5
삭제
|
6 |
6
삭제
|
7 |
7
삭제
|
8 |
8
크래시 위험도 분석 방법에 있어서,바이너리 프로그램을 디스어셈블링하여 기계어로 변환하는 단계;상기 기계어로부터 제어 흐름 정보를 획득하는 단계;상기 기계어를 중간언어로 변환하는 단계;고의로 크래시를 유발시키기 위해 사전에 제작된 크래시 유발 프로그램에 의해 다수의 크래시들을 발생시키는 단계; 및상기 중간 언어로 변환된 명령어들 중 상기 다수의 크래시들을 발생시킨 명령어들 각각에 의해 영향을 받는 모든 명령어를 정적으로 분석하여 해당 크래시의 위험도를 분석하는 단계를 포함하고,상기 위험도 분석 단계는상기 다수의 크래시들을 발생시킨 명령어들 각각에 대하여 상기 명령어들의 도달지점들을 식별하는 단계;상기 도달지점들 중 해당 명령어가 실제로 사용되는 지점을 찾아내고 그 결과를 사용 지점 그래프로 도출하는 단계;상기 사용 지점 그래프로부터 프로그램의 제어권을 옮길 수 있는 명령어를 식별하여 공격 가능성을 분석하는 단계; 및상기 크래시를 발생시킨 명령어가 저장(store) 계열 명령어인 경우 메모리 영역을 세분화하고, 각 명령어 마다 레지스터 및 메모리에서 가질 수 있는 영역을 분석하는 메모리 분석 단계를 포함하고,상기 메모리 분석 단계는힙(Heap) 메모리 영역과 스택(Stack) 메모리 영역을 구분하는 단계를 포함하고,상기 구분 단계는동적 메모리 할당 함수 호출 이후 반환 값이 할당된 힙(Heap) 영역의 주소라는 점을 이용하여 힙(Heap) 메모리를 검출하고, 함수 시작 지점에서 초기화된 레지스터 정보를 이용하여 스택(Stack) 메모리를 검출하는 것을 특징으로 하는 크래시 위험도 분석 방법
|
9 |
9
삭제
|
10 |
10
제8항에 있어서, 상기 공격 가능성 분석 단계는상기 크래시를 발생시킨 명령어가 저장(store) 계열 명령어이거나, 분기(branch) 계열 명령어인 경우 공격 가능성을 분석하는 것을 특징으로 하는 크래시 위험도 분석 방법
|
11 |
11
제10항에 있어서, 상기 공격 가능성 분석 단계는상기 분기(branch) 계열 명령어의 목적 주소(Target Address)가 상기 크래시를 발생시킨 명령어로부터 영향을 받은 경우, 해당 크래시를 공격 가능한 것으로 결정하는 것을 특징으로 하는 크래시 위험도 분석 방법
|
12 |
12
삭제
|
13 |
13
삭제
|
14 |
14
삭제
|
15 |
15
제8항, 제10항, 제11항 중 어느 한 항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
|