1 |
1
실행되는 프로그램 파일에 대한 코드 포인터를 중앙처리장치로부터 입력받는 입출력부;상기 코드 포인터를 암호화하기 위한 암호화 키를 생성하는 암호화 키 생성부;상기 생성된 암호화 키에 기초하여 상기 코드 포인터를 암호화함으로써, 암호화 코드 포인터를 생성하는 코드 포인터 암호화 처리부; 및상기 암호화 키를 이용하여, 상기 생성된 암호화 코드 포인터를 복호화하는 코드 포인터 복호화 처리부를 포함하고,상기 암호화 키는 N비트의 크기로 가변 할당되고, 상기 암호화 코드 포인터는 상기 N비트의 크기이며, 상기 N은 주소 비트 이상의 크기로 설정되는 것을 특징으로 하는 프로그램의 외부 공격에 대한 공격 방어 및 탐지 장치
|
2 |
2
제1항에 있어서,상기 복호화된 코드 포인터와, 상기 중앙처리장치로부터 입력된 코드 포인터가 대응되는 경우, 상기 복호화된 코드 포인터를 상기 입출력부를 통해 상기 중앙처리장치로 출력하도록 제어하는 공격 방어 및 탐지부를 포함하는 것을 특징으로 하는 프로그램의 외부 공격에 대한 공격 방어 및 탐지 장치
|
3 |
3
삭제
|
4 |
4
실행되는 프로그램 파일에 대한 코드 포인터를 중앙처리장치로부터 입력받는 입출력부;상기 코드 포인터를 암호화하기 위한 복수의 암호화 키들을 생성하는 암호화 키 생성부;상기 생성된 복수의 암호화 키들 각각으로 상기 코드 포인터를 암호화함으로써, 복수의 암호화 코드 포인터들을 생성하는 코드 포인터 암호화 처리부;상기 복수의 암호화 키들을 이용하여, 상기 생성된 복수의 암호화 코드 포인터들을 각각 복호화하는 코드 포인터 복호화 처리부; 및상기 복호화된 복수의 코드 포인터들이 모두 동일한지 여부를 판단하는 공격 방어 및 탐지부를 포함하고,상기 공격 방어 및 탐지부는 상기 복호화된 복수의 코드 포인터들이 모두 동일한 경우, 상기 복호화된 복수의 코드 포인터들 중에서 어느 하나를 상기 입출력부를 통해 상기 중앙처리장치로 출력하는 것을 특징으로 하는 프로그램의 외부 공격에 대한 공격 방어 및 탐지 장치
|
5 |
5
제4항에 있어서,상기 공격 방어 및 탐지부는,상기 복호화된 복수의 코드 포인터들이 모두 동일하지 않은 경우, 외부로부터 공격이 발생하였음을 알리는 탐지 신호를 생성하는 것을 특징으로 하는 프로그램의 외부 공격에 대한 공격 방어 및 탐지 장치
|
6 |
6
제5항에 있어서,상기 공격 방어 및 탐지부는,상기 입출력부를 통해 상기 생성된 탐지 신호를 상기 중앙처리장치로 전달하는 것을 특징으로 하는 프로그램의 외부 공격에 대한 공격 방어 및 탐지 장치
|
7 |
7
제4항에 있어서,상기 복수의 암호화 키들은 적어도 하나 이상의 크기로 가변 할당되는 것을 특징으로 하는 프로그램의 외부 공격에 대한 공격 방어 및 탐지 장치
|
8 |
8
제7항에 있어서,상기 복수의 암호화 코드 포인터들 각각은 상기 복수의 암호화 키들 중에서 상기 복수의 암호화 코드 포인터들 각각의 암호화에 이용된 특정 암호화 키의 크기에 대응되는 것을 특징으로 하는 프로그램의 외부 공격에 대한 공격 방어 및 탐지 장치
|
9 |
9
복수의 암호화 키들을 생성하는 암호화 키 생성부;프로그램 함수의 호출에 응답하여, 상기 생성된 복수의 암호화 키들 각각으로 상기 프로그램 함수의 반환 주소를 암호화함으로써, 복수의 암호화 반환 주소들을 생성하는 반환주소 암호화 처리부;상기 복수의 암호화 키들을 이용하여 상기 생성된 복수의 암호화 반환 주소들을 각각 복호화하는 반환주소 복호화 처리부; 및상기 복호화된 복수의 반환 주소들이 모두 동일한지 여부를 판단하는 공격 방어 및 탐지부를 포함하고,상기 공격 방어 및 탐지부는 상기 복호화된 복수의 반환 주소들이 모두 동일한 경우, 상기 프로그램 함수의 반환에 이용하도록 제어하는 것을 특징으로 하는 프로그램의 외부 공격에 대한 공격 방어 및 탐지 장치
|
10 |
10
입출력부에서, 실행되는 프로그램 파일에 대한 코드 포인터를 중앙처리장치로부터 입력받는 단계;암호화 키 생성부에서, 상기 코드 포인터를 암호화하기 위한 복수의 암호화 키들을 생성하는 단계;코드 포인터 암호화 처리부에서, 상기 생성된 복수의 암호화 키들 각각으로 상기 코드 포인터를 암호화함으로써, 복수의 암호화 코드 포인터들을 생성하는 단계;코드 포인터 복호화 처리부에서, 상기 복수의 암호화 키들을 이용하여, 상기 생성된 복수의 암호화 코드 포인터들을 각각 복호화하는 단계;공격 방어 및 탐지부에서, 상기 복호화된 복수의 코드 포인터들이 모두 동일한지 여부를 판단하고, 상기 복호화된 복수의 코드 포인터들이 모두 동일한 경우, 입출력부를 통해 상기 중앙처리장치로 출력하는 단계를 포함하는 것을 특징으로 하는 프로그램의 외부 공격에 대한 공격 방어 및 탐지 방법
|
11 |
11
제10항에 있어서,상기 복호화된 복수의 코드 포인터들이 모두 동일하지 않은 경우, 외부로부터 공격이 발생하였음을 알리는 탐지 신호를 생성하는 단계를 포함하는 것을 특징으로 하는 프로그램의 외부 공격에 대한 공격 방어 및 탐지 방법
|
12 |
12
제10항에 있어서,상기 복수의 암호화 키들은 서로 다른 복수의 크기들로 가변 할당되고,상기 복수의 암호화 코드 포인터들 각각은, 각각의 암호화에 이용된 상기 서로 다른 복수의 크기들로 구분되는 것을 특징으로 하는 프로그램의 외부 공격에 대한 공격 방어 및 탐지 방법
|
13 |
13
제10항 내지 제12항 중 어느 한 항의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체
|