1 |
1
임베디드 프로세서의 프로그램의 소스 코드의 컴파일링 방법으로서,상기 소스 코드에 포함된 메모리 명령어 중에서 상기 임베디드 프로세서의 메모리 영역에 접근하는 타깃 메모리 명령어를 결정하는 단계,상기 타깃 메모리 명령어가 상기 메모리 영역에 접근할 때 메모리 취약 에러를 검출하기 위한 추가 명령어를, 상기 타깃 메모리 명령어의 주변에 삽입하는 단계,상기 타깃 메모리 명령어를 바이너리 코드로 변환하는 단계, 그리고상기 추가 명령어를 바이너리 코드로 변환하는 단계를 포함하는 컴파일링 방법
|
2 |
2
제1항에서,상기 추가 명령어는 상기 타깃 메모리 명령어의 데이터가 할당되는 스택의 이웃 스택에 더미 데이터를 할당하는 제1 추가 명령어를 포함하는, 컴파일링 방법
|
3 |
3
제2항에서,상기 추가 명령어는 상기 더미 데이터에 대응하는 섀도 메모리 내의 비트를 기록하는 제2 추가 명령어를 더 포함하는, 컴파일링 방법
|
4 |
4
제3항에서,상기 추가 명령어는 상기 제2 추가 명령어에 의해 기록된, 상기 더미 데이터에 대응하는 섀도 메모리 내의 비트가 미리 결정된 값일 때 상기 임베디드 프로세서의 사용자에게 알림을 표시하는 제3 추가 명령어를 더 포함하고, 상기 알림은 상기 메모리 영역에 대한 메모리 취약 에러가 발생한 것을 표시하는 시청각 경고를 포함하는, 컴파일링 방법
|
5 |
5
제1항에서,상기 타깃 메모리 명령어의 바이너리 코드 및 상기 추가 명령어의 바이너리 코드를 바탕으로 어드레스 새니타이저 기능이 적용된 프로그램을 생성하는 단계를 더 포함하는 컴파일링 방법
|
6 |
6
임베디드 프로세서의 프로그램의 소스 코드를 컴파일하는 컴파일러로서,프로세서 및 메모리를 포함하고, 상기 프로세서는 상기 메모리에 저장된 프로그램을 실행하여,상기 소스 코드에 포함된 메모리 명령어 중에서 메모리 영역에 접근하는 타깃 메모리 명령어를 결정하는 단계,상기 타깃 메모리 명령어가 상기 메모리 영역에 접근할 때 메모리 취약점을 검출하기 위한 추가 명령어를, 상기 타깃 메모리 명령어의 주변에 삽입하는 단계,상기 타깃 메모리 명령어를 바이너리 코드로 변환하는 단계, 그리고상기 추가 명령어를 바이너리 코드로 변환하는 단계를 수행하는, 컴파일러
|
7 |
7
제6항에서,상기 추가 명령어는 상기 타깃 메모리 명령어의 데이터가 할당되는 스택의 이웃 스택에 더미 데이터를 할당하는 제1 추가 명령어를 포함하는, 컴파일러
|
8 |
8
제7항에서,상기 추가 명령어는 상기 더미 데이터에 대응하는 섀도 메모리 내의 비트를 확인하는 제2 추가 명령어를 더 포함하는, 컴파일러
|
9 |
9
제8항에서,상기 추가 명령어는 상기 제2 추가 명령어에 의해 기록된, 상기 더미 데이터에 대응하는 섀도 메모리 내의 비트가 미리 결정된 값일 때 상기 임베디드 프로세서의 사용자에게 알림을 표시하는 제3 추가 명령어를 더 포함하고, 상기 알림은 상기 메모리 영역에 대한 메모리 취약 에러가 발생한 것을 표시하는 시청각 경고를 포함하는, 컴파일러
|
10 |
10
제6항에서,상기 프로세서는 상기 프로그램을 실행하여,상기 타깃 메모리 명령어의 바이너리 코드 및 상기 추가 명령어의 바이너리 코드를 바탕으로 어드레스 새니타이저 기능이 적용된 프로그램을 생성하는 단계를 더 수행하는 컴파일러
|