1 |
1
대상 프로그램에 대한 보호 수준, 보호 파일 및 보호 함수의 범위를 사용자의 코드 변환 설정을 통해 코드 변환을 설정하는 코드변환 설정기와,상기 코드변환 설정기로부터 대상 프로그램에 대한 보호 수준, 보호 파일 및 보호 함수의 범위를 입력받고, 주어진 설정 정보에 따라 소스 코드에 포함된 코드 포인터 및 코드 포인터를 포함하는 데이터 구조체 포인터를 분석하고 컴파일 과정에서 코드 변환을 수행하여 제어 흐름 보호 메커니즘이 적용된 바이너리를 생성하는 프로그램 분석 및 코드 변환기를 포함하는 소프트웨어의 제어 흐름 보호장치
|
2 |
2
제1항에 있어서, 상기 코드 변환 설정기는 상기 대상 프로그램에 대한 보호 수준, 보호 파일 및 보호 함수의 범위를 CPI적용대상 코드 포인터를 선별적으로 선택하여 코드 변환에 적용하는 것을 특징으로 하는 소프트웨어의 제어 흐름 보호장치
|
3 |
3
제2항에 있어서, 상기 보호 수준은 대상 프로그램의 1 단계 내지 N 단계 중 CPI 보호 수준 n을 지정하고, 적용대상 포인터의 그룹을 G, 전체 CPI 보호대상 포인터의 크기를 K라고 할 때(K=|G|), n/N*K개 만큼의 포인터만 보호하는 것을 특징으로 하는 소프트웨어의 제어 흐름 보호장치
|
4 |
4
제3항에 있어서, 상기 대상 프로그램의 1 단계 내지 N 단계 중 1단계에서 n/N*K개 만큼의 포인터만 보호하고 N 단계에서는 모든 포인터를 CPI 기법으로 보호하는 것을 특징으로 하는 소프트웨어의 제어 흐름 보호장치
|
5 |
5
제3항에 있어서, 상기 보호 수준 n에서 보호할 포인터의 선택은 포인터의 그룹 G의 포인터를 순서화했을 때 첫 번째 포인터부터 시작하여 N/n번마다 혹은 N/n번마다 하나씩 보호할 포인터를 선택하는 것을 특징으로 하는 소프트웨어의 제어 흐름 보호장치
|
6 |
6
제1항에 있어서, 상기 보호 파일의 범위는 상기 대상 프로그램 중 보안 위험성이 높은 파일들에 대해 선별적으로 보호 메커니즘을 적용하는 것을 특징으로 하는 소프트웨어의 제어 흐름 보호장치
|
7 |
7
제1항에 있어서,상기 보호 함수의 지정 범위는 상기 대상 프로그램 중 함수 단위 별로 보호 메커니즘을 적용하는 것을 특징으로 하는 소프트웨어의 제어 흐름 보호장치
|
8 |
8
대상 프로그램에 포함된 다수의 포인터들을 보호 수준, 보호 파일 및 보호 함수의 범위에 따라 보호 그룹과 비보호 그룹으로 분리하는 단계;상기 보호 그룹에 속한 포인터들에 대해 코드 포인터 및 코드 포인터를 포함하는 데이터 구조체 포인터를 분석하고 컴파일 과정에서 코드 변환을 수행하여 제어 흐름 보호 메커니즘이 적용된 바이너리 코드를 생성하는 단계;상기 비보호 그룹에 속한 포인터들에 대해 추가적인 보호 메커니즘 적용 없이 컴파일 과정으로 바이너리 코드를 생성하는 단계를 포함하여 이루어진 것을 특징으로 하는 소프트웨어의 제어 흐름 보호 방법
|
9 |
9
컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,대상 프로그램에 포함된 다수의 포인터들을 보호 수준, 보호 파일 및 보호 함수의 범위에 따라 보호 그룹과 비보호 그룹으로 분리하는 단계와,상기 보호 그룹에 속한 포인터들에 대해 코드 포인터 및 코드 포인터를 포함하는 데이터 구조체 포인터를 분석하고 컴파일 과정에서 코드 변환을 수행하여 제어 흐름 보호 메커니즘이 적용된 바이너리 코드를 생성하는 단계와,상기 비보호 그룹에 속한 포인터들에 대해 추가적인 보호 메커니즘 적용 없이 컴파일 과정으로 바이너리 코드를 생성하는 단계를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는, 컴퓨터 판독 가능한 기록매체
|
10 |
10
컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서,상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,대상 프로그램에 포함된 다수의 포인터들을 보호 수준, 보호 파일 및 보호 함수의 범위에 따라 보호 그룹과 비보호 그룹으로 분리하는 단계와,상기 보호 그룹에 속한 포인터들에 대해 코드 포인터 및 코드 포인터를 포함하는 데이터 구조체 포인터를 분석하고 컴파일 과정에서 코드 변환을 수행하여 제어 흐름 보호 메커니즘이 적용된 바이너리 코드를 생성하는 단계와,상기 비보호 그룹에 속한 포인터들에 대해 추가적인 보호 메커니즘 적용 없이 컴파일 과정으로 바이너리 코드를 생성하는 단계를 포함하는 방법을 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는, 컴퓨터 프로그램
|