1 |
1
프로그램 명령어를 암호화모듈을 통하여 컴파일링 단계에서 부호화하여 저장하고, 부호화된 명령어를 복호화모듈을 통하여 복호화하여 실행함으로써, 외부 공격에 의한 불법적인 프로그램의 실행으로부터 대상 시스템을 보호하는 명령어의 부호화를 통한 시스템 보안방법으로서,
명령어의 부호화 단계에서는, 프로그램 명령어 집합에서 명령어들 사이의 연관성(명령어들의 실행 순서 선후관계)을 사용하여 부호화된 명령어를 생성하는 것을 특징으로 하는 명령어의 부호화를 통한 시스템 보안방법
|
2 |
2
제1항에 있어서,
상기 명령어들 사이의 연관성은, 일 명령어와, 일 명령어 실행 이전에 실행된 명령어 및 일 명령어 실행 이후에 실행될 명령어의 관계에 기초하여 생성되는 것을 특징으로 하는 명령어의 부호화를 통한 시스템 보안방법
|
3 |
3
제2항에 있어서,
일 명령어는,
C(t)=Ek(I(t), I(t-1), C(t+1))
(여기서, C(t)는 부호화된 일 명령어, 함수 E는 k를 비밀키로 하여 부호화하는 함수, I(t)는 일 명령어, I(t-1)은 일 명령어 실행 이전에 실행된 명령어, C(t+1)는 부호화된 일 명령어 실행 이후에 실행될 명령어)
의 연산식에 따라 부호화되는 것을 특징으로 하는 명령어의 부호화를 통한 시스템 보안방법
|
4 |
4
제3항에 있어서,
상기 명령어의 부호화에 사용되는 함수(E)는, 암호화 함수 또는 역연산이 가능한 해시함수인 것을 특징으로 하는 명령어의 부호화를 통한 시스템 보안방법
|
5 |
5
제1항 내지 제4항 중 어느 한 항에 있어서,
명령어들 사이의 연관성이 프로그램의 시작점 및 종료점에서 단절되는 것을 막기 위하여, 최선(最先) 명령어가 저장된 메모리 주소의 인접한 이전 메모리 주소와 최후(最後) 명령어가 저장된 메모리 주소의 인접한 다음 메모리 주소에는 임의의 번호를 삽입하여 프로그램의 시작점 및 종료점을 부호화하는 것을 특징으로 하는 명령어의 부호화를 통한 시스템 보안방법
|
6 |
6
제1항 내지 제4항 중 어느 한 항에 있어서,
명령어들 사이의 연관성이 프로그램의 분기점에서 단절되는 것을 막기 위하여, 분기명령어가 실행될 때마다 그 분기의 목적주소에 프로그램의 자체기능에 영향을 미치지 않는 명령어를 삽입하여 부호화하는 것을 특징으로 하는 명령어의 부호화를 통한 시스템 보안방법
|
7 |
7
제6항에 있어서,
상기 프로그램의 자체기능에 영향을 미치지 않는 명령어는 무연산 명령어(No Operation)인 것을 특징으로 하는 명령어의 부호화를 통한 시스템 보안방법
|
8 |
8
제1항에 있어서,
부호화된 명령어의 복호화 단계에서는, 명령어들 사이의 연관성을 사용하여 부호화된 명령어를 복호하는 것을 특징으로 하는 명령어의 부호화를 통한 시스템 보안방법
|
9 |
9
제8항에 있어서,
상기 명령어들 사이의 연관성은, 일 명령어와, 일 명령어 실행 이전에 실행된 명령어 및 일 명령어 실행 이후에 실행될 명령어의 관계에 기초하여 생성되는 것을 특징으로 하는 명령어의 부호화를 통한 시스템 보안방법
|
10 |
10
제9항에 있어서,
부호화된 일 명령어는,
I(t)=Dk(C(t), I(t-1), C(t+1))
(여기서, I(t)는 일 명령어, 함수 D는 k를 비밀키로 하여 복호하는 함수, C(t)는 부호화된 일 명령어, I(t-1)은 일 명령어 실행 이전에 실행된 명령어, C(t+1)는 부호화된 일 명령어 실행 이후에 실행될 명령어)
의 연산식에 따라 복호화되는 것을 특징으로 하는 명령어의 부호화를 통한 시스템 보안방법
|
11 |
11
제10항에 있어서,
상기 부호화된 명령어의 복호화에 사용되는 함수(D)는, 암호화 함수 또는 역연산이 가능한 해시함수인 것을 특징으로 하는 명령어의 부호화를 통한 시스템 보안방법
|