1 |
1
보호 응용 프로그램의 컨텍스트 스위칭(switching)을 감지하고, 상기 스위칭에 따라 실행 플래그 및 백업 레지스터를 관리하는 컨텍스트 추적부;상기 보호 응용 프로그램이 접근하는 가상주소의 메모리 페이지(memory page)에 관하여 무결성 메트릭(metric)과 역페이지 테이블(inverted page table)을 바탕으로 무결성을 검사하는 무결성 측정부; 및상기 실행 플래그, 상기 백업 레지스터, 상기 무결성 메트릭 및 상기 역페이지 테이블이 포함된 무결성 데이터가 저장되는 무결성 데이터 저장부;를 포함하되,상기 무결성 메트릭은,상기 가상주소, 상기 가상주소에 관한 해시값(hash value) 및 더티 플래그(dirty flag)을 포함하는,마이크로 아키텍쳐
|
2 |
2
제1항에 있어서,상기 컨텍스트 추적부는,상기 컨텍스트 스위칭에 의해서 상기 보호 응용 프로그램이 스위치인(switch-in)되면, 컨텍스트 스위칭에 의해서 복원된 레지스터의 값과 상기 백업 레지스터의 값을 비교하며, 상기 비교 결과가 일치를 가리키면 실행 플래그를 활성화시키고, 상기 비교 결과가 불일치를 가리키면 상기 보호 응용 프로그램을 종료시키는,마이크로 아키텍쳐
|
3 |
3
제1항에 있어서,상기 컨텍스트 추적부는,상기 컨텍스트 스위칭에 의해서 상기 보호 응용 프로그램이 스위치아웃(switch-out)되면, 상기 실행 플래그를 비활성화 시키고 모든 레지스터의 값을 백업 레지스터에 저장하며, 상기 무결성 메트릭의 해시값을 업데이트하는,마이크로 아키텍쳐
|
4 |
4
제3항에 있어서,상기 컨텍스트 추적부는,상기 무결성 메트릭의 해시값을 업데이트 할 때, 상기 무결성 메트릭의 더티 플래그가 활성화된 페이지만 해시값을 새로 계산하여 업데이트하고, 상기 더티 플래그를 비활성화하는,마이크로 아키텍쳐
|
5 |
5
제1항에 있어서,상기 역페이지 테이블은,물리주소와 상기 물리주소로 매핑(mapping)된 가상주소의 세트(set)를 포함하며, 상기 물리주소를 기준으로 상기 세트가 저장되는,마이크로 아키텍쳐
|
6 |
6
제1항에 있어서,상기 무결성 측정부는,상기 마이크로 아키텍쳐의 MMU(memory management unit)에 포함되며, 상기 MMU가 상기 가상주소를 물리주소로 변환하는 동안 상기 무결성을 검사하는,마이크로 아키텍쳐
|
7 |
7
제1항에 있어서,상기 무결성 측정부는,상기 실행 플래그가 활성이면 활성 무결성 검사를 수행하며,상기 활성 무결성 검사는,상기 보호 응용 프로그램이 요청한 가상주소가 상기 무결성 메트릭에 포함되어 있지 않으면, 상기 가상주소에 관한 해시값을 계산하고, 상기 가상주소, 상기 해시값 및 비활성을 가리키는 더티 플래그를 포함하는 새로운 세트(set)를 상기 무결성 메트릭에 포함시키는,마이크로 아키텍쳐
|
8 |
8
제1항에 있어서,상기 무결성 측정부는,상기 실행 플래그가 활성이면 활성 무결성 검사를 수행하며,상기 활성 무결성 검사는,상기 보호 응용 프로그램이 요청한 가상주소가 상기 무결성 메트릭에 포함되어 있지만 상기 역페이지 테이블에 상기 가상주소와 상기 가상주소에 관한 물리주소의 세트(set)가 포함되어 있지 않으면, 상기 가상주소에 관하여 새로운 해시값을 도출하고, 상기 가상주소의 기존 해시값과 상기 새로운 해시값을 비교하며, 상기 비교 결과가 불일치를 가리키면 상기 보호 응용 프로그램을 중단시키고, 상기 비교 결과가 일치를 가리키면 상기 가상주소와 물리주소의 세트를 상기 역페이지 테이블에 새로 저장하는,마이크로 아키텍쳐
|
9 |
9
제1항에 있어서,상기 무결성 측정부는,상기 실행 플래그가 비활성이면 비활성 무결성 검사를 수행하며,상기 비활성 무결성 검사는,상기 역페이지 테이블에서 물리주소가 발견되면, 상기 물리주소와 상기 물리주소에 대응되는 가상주소의 세트를 상기 역페이지 테이블에서 제거하는,마이크로 아키텍쳐
|
10 |
10
제1항에 있어서,상기 무결성 데이터 저장부는,메인 메모리(main memory)의 예약 영역에 위치하며, 상기 예약 영역은 상기 무결성 측정부에 의해서만 접근이 가능한 영역인,마이크로 아키텍쳐
|