KR101252188B1 - 가상 메모리 데이터 접근 제어방법 - Google Patents

가상 메모리 데이터 접근 제어방법 Download PDF

Info

Publication number
KR101252188B1
KR101252188B1 KR1020110051776A KR20110051776A KR101252188B1 KR 101252188 B1 KR101252188 B1 KR 101252188B1 KR 1020110051776 A KR1020110051776 A KR 1020110051776A KR 20110051776 A KR20110051776 A KR 20110051776A KR 101252188 B1 KR101252188 B1 KR 101252188B1
Authority
KR
South Korea
Prior art keywords
virtual page
page table
memory data
protected
virtual
Prior art date
Application number
KR1020110051776A
Other languages
English (en)
Other versions
KR20120133220A (ko
Inventor
심형진
김찬호
이재혁
윤상진
Original Assignee
주식회사 잉카인터넷
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 잉카인터넷 filed Critical 주식회사 잉카인터넷
Priority to KR1020110051776A priority Critical patent/KR101252188B1/ko
Priority to PCT/KR2012/003213 priority patent/WO2012165762A2/ko
Publication of KR20120133220A publication Critical patent/KR20120133220A/ko
Application granted granted Critical
Publication of KR101252188B1 publication Critical patent/KR101252188B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

이 발명은 게임프로세스 이외의 다른 프로세스 및 스레드가 게임프로세스의 가상 메모리 데이터에 접근하지 못하도록 차단하고, 게임프로세스에 속한 스레드 객체만이 게임프로세스의 가상 메모리 데이터에 접근할 수 있도록 하는 가상 메모리 데이터 접근 제어방법에 관한 것이다.
이 발명에 따른 가상 메모리 데이터 접근 제어방법은, 보안 프로세스가 보호 대상 프로세스의 가상 페이지 테이블이 초기화되는지를 감지하는 제1단계와; 상기 제1단계 후 상기 보안 프로세스가 상기 보호 대상 프로세스의 프로세스 객체에 저장된 가상 페이지 디렉토리 주소 정보를 이용하여 접근할 수 있는 제 1 가상 페이지 테이블에는 비정상 메모리 데이터가 저장되도록 하고, 별도의 제 2 가상 페이지 테이블에는 정상 메모리 데이터가 저장되도록 하며, 상기 제 2 가상 페이지 테이블의 시작 주소 정보를 저장하는 제2단계와; 상기 제2단계 후, 상기 보호 대상 프로세스에 속한 보호 대상 스레드가 스레드 인되면 상기 보안 프로세스는 CPU 레지스터에 기록된 상기 제 1 가상 페이지 테이블의 시작 주소 정보를 상기 제 2 가상 페이지 테이블의 시작 주소 정보로 변경시키는 제3단계를 포함한다.

Description

가상 메모리 데이터 접근 제어방법 {control method of accessing virtual memory data}
이 발명은 가상 메모리 접근 제어방법에 관한 것으로서, 보다 상세하게는 게임프로세스 이외의 다른 프로세스 및 스레드가 게임프로세스의 가상 메모리 데이터에 접근하지 못하도록 차단하고, 게임프로세스에 속한 스레드 객체만이 게임프로세스의 가상 메모리 데이터에 접근할 수 있도록 하는 가상 메모리 데이터 접근 제어방법에 관한 것이다.
통상적으로 윈도우즈 운영체제에서 실행되는 모든 프로세스(process)는 각자의 독립된 가상 메모리(virtual memory)를 가진다. 이러한 가상 메모리는 x86 호환 마이크로 프로세서에서 제공하는 페이지 관리기법을 사용하여 운영되는 바, 프로세스마다 가상 페이지 테이블이 존재한다. 이 프로세스의 가상 메모리 즉, 가상 페이지 테이블에는 해당 프로세스 데이터가 저장된다.
윈도우즈 운영체제의 경우, 각 프로세스마다 프로세스 객체(object)가 존재하며, 각 프로세스 객체에는 해당 프로세스에 할당된 가상 페이지 테이블의 시작 주소 정보인 가상 페이지 디렉토리 주소 정보가 저장된다.
도 1은 컴퓨터에서 임의의 프로그램(예컨대, 게임 프로그램)이 실행될 때, 윈도우즈(WindowsTM) 운영체제(OS)의 동작을 도시한 동작 흐름도이다. 컴퓨터에서 임의의 게임 프로그램이 사용자에 의해 또는 타 프로세스에 의해 론칭(launching)되면(S11), 윈도우즈 운영체제는 해당 게임 프로그램의 프로세스 객체(이하, 게임 프로세스 객체라 함)를 생성하고 초기화하며(S12), 게임 프로세스 객체가 사용할 페이지 단위의 가상 메모리 공간 즉, 가상 페이지 테이블을 할당하고(S13), 해당 가상 페이지 테이블 사용에 필요한 각종 초기화를 수행한다(S14). 이때, 게임 프로세스 객체에는 해당 가상 페이지 테이블의 시작 주소 정보인 가상 페이지 디렉토리 주소 정보가 저장된다. 그리고, 윈도우즈 운영체제는 상기 게임 프로세스 객체에 속한 게임 스레드(thread) 객체를 생성하고(S15), 그 생성된 게임 스레드 객체를 운영체제의 실행 리스트에 등록한다(S16). 게임 프로세스 객체에 속한 게임 스레드 객체는 게임 프로세스 객체에 속한 다른 게임 스레드 객체를 추가적으로 생성할 수도 있으며, 이때, 윈도우즈 운영체제에서 제공하는 스레드 생성 명령(예컨대, creatthread API)이 사용된다.
운영체제의 실행 리스트에는 실행중인 모든 프로세스들의 실행 대기중인 스레드 리스트가 포함되는데, 운영체제는 실행 리스트에 저장된 다수의 스레드 리스트 중 우선순위 및 실행순서에 따라 스레드 실행 순서를 스케줄링(scheduling)하고(S17), 그 스케줄링된 순서대로 스레드를 교체(swapping)하면서 실행한다(S18).
단계 S18을 상세하게 설명하면, 스레드 리스트는 스케줄링된 순서대로 스왑 큐(swap queue)에 대기하는데, 운영체제는 스왑 큐에 저장된 순서대로 퀀텀 타임(quantum time)이 종료된 스레드는 스레드 아웃(thread out)하고, 다음 순번의 스레드는 스레드 인(thread in)하여 스레드 교체(thread swapping)를 수행한다. 이때, 운영체제는 스레드 인되는 스레드에 대해서 해당 스레드가 속한 프로세스 객체의 가상 페이지 디렉토리 주소 정보를 읽어와서 CPU 레지스터에 저장함으로써, CPU가 해당 스레드를 실행하도록 한다.
한편, 게임핵 프로세스는 게임 프로세스에 접근하여 게임 프로세스의 코드나 게임 프로세스의 가상 메모리 데이터를 변조하거나, 게임 프로세스에 게임핵 DLL을 삽입하여 게이머가 이득을 보면서 게임을 하도록 한다. 이를 위해 게임핵 프로세스는 도 1에 도시된 바와 같은 절차를 통해 운영체제 하에서 스레드 객체 단위로 실행되어야 하고, 게임 프로세스의 가상 메모리 즉, 게임 프로세스의 가상 페이지 테이블에 접근하여야 한다.
게임핵 프로세스가 게임 프로세스의 가상 페이지 테이블 데이터에 접근하는 통상적인 절차를 설명한다. 게임핵 프로세스에 속한 스레드(이하, 게임핵 스레드라 함)가 도 1에 도시된 바와 같은 절차를 통해 스레드 인(thread in)된 후, 운영체제에 게임 프로세스의 가상 페이지 테이블의 시작 주소 정보를 요청한다. 그러면, 운영체제는 게임 프로세스 객체의 가상 페이지 디렉토리 주소 정보를 읽어와서 게임핵 스레드에게 제공하게 되고, 게임핵 스레드는 그 가상 페이지 디렉토리 주소 정보를 이용하여 게임 프로세스의 가상 페이지 테이블에 접근하여, 그 가상 페이지 테이블에 저장된 데이터를 읽거나 다른 값으로 쓸 수 있게 된다.
종래에는 윈도우즈 운영체제 하에서, 게임핵 프로세스가 운영체제에게 게임 프로세스 객체의 가상 페이지 디렉토리 주소 정보를 요청하면 운영체제는 게임 프로세스 객체의 가상 페이지 디렉토리 주소 정보를 게임핵 프로세스에게 제공한다. 그러면, 게임핵 프로세스는 게임 프로세스의 가상 페이지 테이블에 접근하여 그 가상 페이지 테이블에 저장된 데이터(게임 메모리 데이터)를 읽어서 코드 분석, 메모리 분석 등을 수행할 수 있으며, 다른 값으로 변경할 수 있게 된다. 즉, 종래의 윈도우즈 운영체제 하에서 게임핵 프로세스의 해킹 행위를 막을 수 있는 방법이 없다.
종래기술의 문제점을 해결하기 위하여 안출된 이 발명의 목적은, 게임 프로세스 이외의 다른 프로세스나 스레드, 즉, 게임핵 프로세스나 게임핵 스레드가 게임 프로세스의 가상 메모리 데이터에 접근하지 못하도록 차단하는 가상 메모리 데이터 접근 제어방법을 제공하기 위한 것이다.
상술한 목적을 달성하기 위한 이 발명에 따른 가상 메모리 데이터 접근 제어방법은, 보안 프로세스가 보호 대상 프로세스의 가상 페이지 테이블이 초기화되는지를 감지하는 제1단계와;
상기 제1단계 후 상기 보안 프로세스가 상기 보호 대상 프로세스의 프로세스 객체에 저장된 가상 페이지 디렉토리 주소 정보를 이용하여 접근할 수 있는 제 1 가상 페이지 테이블에는 비정상 메모리 데이터가 저장되도록 하고, 별도의 제 2 가상 페이지 테이블에는 정상 메모리 데이터가 저장되도록 하며, 상기 제 2 가상 페이지 테이블의 시작 주소 정보를 저장하는 제2단계와;
상기 제2단계 후, 상기 보호 대상 프로세스에 속한 보호 대상 스레드가 스레드 인되면 상기 보안 프로세스는 CPU 레지스터에 기록된 상기 제 1 가상 페이지 테이블의 시작 주소 정보를 상기 제 2 가상 페이지 테이블의 시작 주소 정보로 변경시키는 제3단계를 포함한 것을 특징으로 한다.
이상과 같이 이 발명에 따르면, 게임 프로세스 객체의 가상 페이지 디렉토리 주소 정보를 이용하여 접근할 수 있는 가상 페이지 테이블 공간에는 비정상 게임 메모리 데이터를 저장하여 게임 프로세스 이외의 다른 프로세스들이 접근하도록 하고, 별도의 가상 페이지 테이블 공간에는 정상 게임 메모리 데이터를 저장하여 게임 프로세스만이 접근하도록 함으로써, 게임 프로세스가 정상적으로 처리되면서 게임핵 프로세스의 기능을 무력화시킬 수 있는 효과가 있다.
도 1은 컴퓨터에서 임의의 프로그램이 실행될 때, 윈도우즈(WindowsTM) 운영체제(OS)의 동작을 도시한 동작 흐름도이다.
도 2는 이 발명에 따른 보안모듈의 가상 메모리 데이터 접근 제어방법을 도시한 동작 흐름도이다.
이하, 첨부된 도면을 참조하여 이 발명의 한 실시예에 따른 가상 메모리 데이터 접근 제어방법를 보다 상세하게 설명한다.
이 발명의 명세서에서는 게임 프로세스(보호 대상 프로세스)가 정상적으로 실행되기 위해 필요한 가상 페이지 테이블 데이터를 정상 메모리 데이터로 명명하고, 그렇지 않은 가상 페이지 테이블 데이터를 비정상 메모리 데이터로 명명한다.
이 발명의 보안모듈은 게임 프로세스 객체의 가상 페이지 디렉토리 주소 정보를 이용하여 접근할 수 있는 제 1 가상 페이지 테이블 공간에는 비정상 메모리 데이터가 저장되도록 하고, 별도의 제 2 가상 페이지 테이블 공간에 정상 메모리 데이터가 저장되도록 하며 그 제 2 가상 페이지 테이블의 시작 주소 정보를 자체적으로 저장한다.
그러면, 운영체제는 게임 프로세스(보호 대상 프로세스)에 접근하고자 하는 모든 스레드(비록 게임 스레드임에도 불구하고)에게 게임 프로세스 객체의 가상 페이지 디렉토리 주소 정보를 제공하게 된다. 이 경우, 게임핵 스레드를 비롯하여 게임 스레드도 비정상 메모리 데이터로 접근하게 되므로, 게임이 정상적으로 실행될 수가 없는 문제점이 발생한다.
이러한 문제점을 해결하기 위해, 이 발명의 보안모듈은 운영체제가 스레드를 교체(swapping)하는 순간을 감지한다. 즉, 운영체제는 퀀텀 타임마다 스레드 교체를 수행하여, 스레드 인되는 스레드에 대해 해당 스레드가 속한 프로세스 객체의 가상 페이지 디렉토리 주소 정보를 읽어와서 CPU 레지스터에 기록하는데, 이 발명의 보안모듈은 스레드 인되는 스레드가 게임 스레드(보호 대상 스레드)인 경우 CPU 레지스터에 기록된 프로세스 객체의 가상 페이지 디렉토리 주소 정보를 상기 제 2 가상 페이지 테이블의 시작 주소 정보로 바꿔서 기록한다. 그러면, 게임 스레드는 제 2 가상 페이지 테이블에 저장된 정상 메모리 데이터로 접근할 수 있게 된다.
이 발명은 게임 프로세스를 비롯하여, 프로세스에 악의적 행위를 수행하는 핵툴, 악성코드, 바이러스로부터 보호하고자 하는 모든 프로세스 즉, 모든 보호 대상 프로세스에 적용할 수 있다.
도 2는 이 발명에 따른 보안모듈의 가상 메모리 데이터 접근 제어방법을 도시한 동작 흐름도이다.
먼저, 보안 프로세스가 도 1에 도시된 바와 같은 절차를 통해 실행된다(S21).
보안 프로세스는 보호 대상 프로세스(게임 프로세스)의 프로세스 객체가 생성되고 가상 페이지 테이블이 할당되어 초기화되는지를 감지한다(S22).
단계 S22에서, 보호 대상 프로세스의 가상 페이지 테이블이 초기화되면 보안 프로세스는 보호 대상 프로세스의 프로세스 객체에 저장된 가상 페이지 디렉토리 주소 정보를 이용하여 접근할 수 있는 제 1 가상 페이지 테이블에는 비정상 메모리 데이터가 저장되도록 하고, 별도의 제 2 가상 페이지 테이블에는 정상 메모리 데이터가 저장되도록 하고, 상기 제 2 가상 페이지 테이블의 시작 주소 정보를 저장한다(S23). 단계 S23의 구체적인 실행 방법은 후술하기로 한다.
단계 S23의 실행 시점은, 보호 대상 프로세스의 가상 페이지 테이블이 초기화된 직후 실행될 수도 있고, 가상 페이지 테이블이 초기화된 후 보호 대상 프로세스에 속한 보호 대상 스레드 객체가 생성된 다음 실행될 수도 있으며, 그 생성된 보호 대상 스레드 객체가 실행될 때 실행될 수도 있다.
다음, 보안 프로세스는 보호 대상 프로세스에 속한 보호 대상 스레드 객체가 생성되는 지를 감지하고(S24), 보호 대상 스레드 객체가 생성되면 접근 허용 리스트를 업데이트한다(S25). 여기서 접근 허용 리스트라 함은 제 2 가상 페이지 테이블에 저장된 정상 메모리 데이터에 접근할 수 있는 스레드 리스트로서, 통상적으로 보호 대상 프로세스에 속한 보호 대상 스레드가 리스트업된다. 보안 프로세스가 이미 보호 대상 프로세스의 모든 스레드 리스트 정보를 접근 허용 리스트로서 저장하고 있는 경우에는 단계 S24와 단계 S25는 생략될 수도 있다.
다음, 보안 프로세스는 보호 대상 스레드가 스레드 인되는지를 감지한다(S26). 단계 S26은 보안 프로세스가 운영체제의 스레드 교체를 감지하고, 상기 스레드 교체에서 스레드 인된 스레드가 상기 접근 허용 리스트에 포함되면 보호 대상 스레드의 스레드 인으로 판단한다.
단계 S26에서 보호 대상 스레드가 스레드 인되면, 이 발명과는 무관하게 운영체제가 보호 대상 프로세스의 프로세스 객체에 포함된 가상 페이지 디렉토리 주소 정보(즉, 비정상 메모리 데이터가 저장된 제 1 가상 페이지 테이블의 시작 주소 정보)를 읽어서 CPU 레지스터에 기록한다. 그러면, 이 발명의 보안 프로세스는 CPU 레지스터에 기록된 제 1 가상 페이지 테이블의 시작 주소 정보를 자체적으로 저장된 제 2 가상 페이지 테이블의 시작 주소 정보로 변경시켜 기록한다(S27).
그러면, 보호 대상 스레드는 제 2 가상 페이지 테이블의 시작 주소 정보를 이용하여 제 2 가상 페이지 테이블에 접근할 수 있으며, 이 제 2 가상 페이지 테이블에 저장된 정상 메모리 데이터를 참조하여 정상적으로 실행될 수 있게 된다.
단계 S23는 다음의 다양한 방법으로 실행될 수 있다.
첫째는, 보안 프로세스가 별도의 가상 페이지 테이블 공간을 할당하고 그 시작 주소 정보를 저장하며, 보호 대상 프로세스의 원래의 가상 페이지 테이블(제 1 가상 페이지 테이블)에 저장된 정상 게임 메모리 데이터를 상기 별도의 가상 페이지 테이블(제 2 가상 페이지 테이블)에 저장한 후, 원래의 가상 페이지 테이블(제 1 가상 페이지 테이블)에 저장된 정상 게임 메모리 데이터를 훼손하여 비정상 게임 메모리 데이터로 만드는 방법이다.
둘째는, 보안 프로세스가 별도의 가상 페이지 테이블 공간(제 1 가상 페이지 테이블)을 할당하여 비정상 게임 메모리 데이터를 만들고, 원래의 가상 페이지 테이블(제 2 가상 페이지 테이블)의 시작 주소 정보를 저장하며, 보호 대상 프로세스의 프로세스 객체의 가상 페이지 디렉토리 주소 정보를 상기 별도의 가상 페이지 테이블(제 1 가상 페이지 테이블)의 시작 주소로 변경하는 방법이다.
셋째는 보호 대상 프로세스가 암호화된 상태로 메모리에 로드된 경우에 적용할 수 있는데, 보안 프로세스가 별도의 가상 페이지 테이블 공간(제 2 가상 페이지 테이블)을 할당하고 그 시작 주소 정보를 저장하며, 원래의 가상 페이지 테이블(제 1 가상 페이지 테이블)에 저장된 암호화된 게임 메모리 데이터를 복호화하여 상기 별도의 가상 페이지 테이블 공간(제 2 가상 페이지 테이블)에 저장한다. 이 경우, 원래의 가상 페이지 테이블(제 1 가상 페이지 테이블)에는 별도의 작업을 하지 않더라도 암호화된 게임 메모리 데이터가 저장되므로 비정상 게임 메모리 데이터로 작용한다.

Claims (8)

  1. 보안 프로세스가 보호 대상 프로세스의 가상 페이지 테이블이 초기화되는지를 감지하는 제1단계와;
    상기 제1단계 후 상기 보안 프로세스가 상기 보호 대상 프로세스의 프로세스 객체에 저장된 가상 페이지 디렉토리 주소 정보를 이용하여 접근할 수 있는 제 1 가상 페이지 테이블에는 상기 보호 대상 프로세스가 정상적으로 실행되지 못하도록 하는 비정상 메모리 데이터가 저장되도록 하고, 상기 제 1 가상 페이지 테이블과는 별도의 공간의 제 2 가상 페이지 테이블에는 상기 보호 대상 프로세스가 정상적으로 실행되기 위해 필요한 정상 메모리 데이터가 저장되도록 하며, 상기 제 2 가상 페이지 테이블의 시작 주소 정보를 자체적으로 저장하는 제2단계와;
    상기 제2단계 후, 상기 보호 대상 프로세스에 속한 보호 대상 스레드가 스레드 인되면, 상기 보안 프로세스가 CPU 레지스터에 기록된 상기 제 1 가상 페이지 테이블의 시작 주소 정보를 상기 제 2 가상 페이지 테이블의 시작 주소 정보로 변경시키는 제3단계를 포함한 것을 특징으로 하는 가상 메모리 데이터 접근 제어방법.
  2. 제 1 항에 있어서, 상기 제1단계 후 상기 보호 대상 프로세스에 속한 보호 대상 스레드 객체가 생성되면, 상기 보안 프로세스가 상기 생성된 보호 대상 스레드 객체를 접근 허용 리스트로 저장하는 제4단계를 더 포함한 것을 특징으로 하는 가상 메모리 데이터 접근 제어방법.
  3. 제 2 항에 있어서, 상기 제3단계는, 상기 보안 프로세스가 운영체제의 스레드 교체를 감지하고, 상기 스레드 교체에서 스레드 인된 스레드가 상기 접근 허용 리스트에 포함되면 상기 보호 대상 스레드의 스레드 인으로 판단하는 것을 특징으로 하는 가상 메모리 데이터 접근 제어방법.
  4. 제 1 항에 있어서, 상기 제2단계는 상기 제1단계 직후 실행되는 것을 특징으로 하는 가상 메모리 데이터 접근 제어방법.
  5. 제 1 항에 있어서, 상기 제2단계는 상기 제1단계 후 상기 보호 대상 스레드 객체가 생성된 다음 실행되는 것을 특징으로 하는 가상 메모리 데이터 접근 제어방법.
  6. 제 1 항에 있어서, 상기 제1단계는 상기 보호 대상 프로세스에 상기 제 1 가상 페이지 테이블의 공간이 할당되어 상기 제 1 가상 페이지 테이블에 정상 메모리 데이터가 저장되고,
    상기 제2단계는, 상기 보안 프로세스가 상기 제 2 가상 페이지 테이블의 공간을 할당하고 상기 제 2 가상 페이지 테이블의 시작 주소 정보를 자체적으로 저장하는 제1서브단계와, 상기 제1서브단계 후 상기 제 2 가상 페이지 테이블에 상기 정상 메모리 데이터를 저장하는 제2서브단계와, 상기 제2서브단계 후 상기 제 1 가상 페이지 테이블에 저장된 정상 메모리 데이터를 훼손시켜 비정상 메모리 데이터로 변경하는 제3서브단계를 포함한 것을 특징으로 하는 가상 메모리 데이터 접근 제어방법.
  7. 제 1 항에 있어서, 상기 제1단계는 상기 보호 대상 프로세스에 상기 제 2 가상 페이지 테이블의 공간이 할당되어 상기 제 2 가상 페이지 테이블에 정상 메모리 데이터가 저장되고,
    상기 제2단계는, 상기 보안 프로세스가 상기 제 1 가상 페이지 테이블의 공간을 할당하고 상기 제 1 가상 페이지 테이블에 상기 비정상 메모리 데이터를 저장하는 제1서브단계와, 상기 제 2 가상 페이지 테이블의 시작 주소 정보를 저장하는 제2서브단계와, 상기 보호 대상 프로세스의 프로세스 객체의 가상 페이지 디렉토리 주소 정보를 상기 제 1 가상 페이지 테이블의 시작 주소 정보로 변경하는 제3서브단계를 포함한 것을 특징으로 하는 가상 메모리 데이터 접근 제어방법.
  8. 제 1 항에 있어서, 상기 제1단계는 상기 보호 대상 프로세스에 상기 제 1 가상 페이지 테이블의 공간이 할당되어 상기 제 1 가상 페이지 테이블에 암호화된 데이터가 저장되고,
    상기 제2단계는, 상기 보안 프로세스가 상기 제 2 가상 페이지 테이블의 공간을 할당하고 상기 제 2 가상 페이지 테이블에 상기 암호화된 데이터를 복호화한 정상 메모리 데이터를 저장하는 제1서브단계와, 상기 제 2 가상 페이지 테이블의 시작 주소 정보를 저장하는 제2서브단계를 포함한 것을 특징으로 하는 가상 메모리 데이터 접근 제어방법.
KR1020110051776A 2011-05-31 2011-05-31 가상 메모리 데이터 접근 제어방법 KR101252188B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110051776A KR101252188B1 (ko) 2011-05-31 2011-05-31 가상 메모리 데이터 접근 제어방법
PCT/KR2012/003213 WO2012165762A2 (ko) 2011-05-31 2012-04-26 가상 메모리 데이터 접근 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110051776A KR101252188B1 (ko) 2011-05-31 2011-05-31 가상 메모리 데이터 접근 제어방법

Publications (2)

Publication Number Publication Date
KR20120133220A KR20120133220A (ko) 2012-12-10
KR101252188B1 true KR101252188B1 (ko) 2013-04-05

Family

ID=47260011

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110051776A KR101252188B1 (ko) 2011-05-31 2011-05-31 가상 메모리 데이터 접근 제어방법

Country Status (2)

Country Link
KR (1) KR101252188B1 (ko)
WO (1) WO2012165762A2 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100645983B1 (ko) 2005-08-31 2006-11-14 (주)와이즈로직 불법 프로세스 검출 모듈 및 그 방법
KR100778901B1 (ko) 2005-05-18 2007-11-22 김성엽 윈도 멀티미디어 시스템에서의 사운드 캡쳐 방지 방법
KR100927975B1 (ko) 2007-08-29 2009-11-24 주식회사 안철수연구소 메모리에서의 데이터 보호 방법
KR100927974B1 (ko) 2007-10-09 2009-11-24 주식회사 안철수연구소 실행 이미지의 원본 코드 생성 시스템 및 그 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100336717B1 (ko) * 1999-12-21 2002-05-13 오길록 실시간 시스템을 위한 다중 쓰레드의 주소 공간 관리 방법
EP1936498A1 (en) * 2006-12-21 2008-06-25 International Business Machines Corporation A method and system to manage memory accesses from multithread programs on multiprocessor systems
JP5115332B2 (ja) * 2008-05-22 2013-01-09 富士通株式会社 エミュレーションプログラム、エミュレーション装置およびエミュレーション方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100778901B1 (ko) 2005-05-18 2007-11-22 김성엽 윈도 멀티미디어 시스템에서의 사운드 캡쳐 방지 방법
KR100645983B1 (ko) 2005-08-31 2006-11-14 (주)와이즈로직 불법 프로세스 검출 모듈 및 그 방법
KR100927975B1 (ko) 2007-08-29 2009-11-24 주식회사 안철수연구소 메모리에서의 데이터 보호 방법
KR100927974B1 (ko) 2007-10-09 2009-11-24 주식회사 안철수연구소 실행 이미지의 원본 코드 생성 시스템 및 그 방법

Also Published As

Publication number Publication date
WO2012165762A3 (ko) 2013-03-28
WO2012165762A2 (ko) 2012-12-06
KR20120133220A (ko) 2012-12-10

Similar Documents

Publication Publication Date Title
EP3317999B1 (en) Loading and virtualizing cryptographic keys
RU2513909C1 (ru) Ограничение областей памяти для считывания команд в зависимости от аппаратного режима и флага безопасности
KR102257320B1 (ko) 하이퍼바이저 및 가상 머신 간 메모리 페이지 이행의 모니터링
RU2659472C2 (ru) Внесение ошибки страницы в виртуальных машинах
KR102189296B1 (ko) 가상 머신 보안 어플리케이션을 위한 이벤트 필터링
JP5911835B2 (ja) 情報処理装置
US9323686B2 (en) Paging in secure enclaves
US20190286831A1 (en) Handling access attributes for data accesses
KR101054981B1 (ko) 프로그램의 콘텍스트를 보안적으로 저장하는 컴퓨터 구현 방법, 정보 처리 시스템 및 컴퓨터 판독 가능한 기록 매체
US20080052709A1 (en) Method and system for protecting hard disk data in virtual context
JP6615726B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP7096840B2 (ja) 能力メタデータを管理するための装置及び方法
KR20200005568A (ko) 자격들의 이용을 관리하는 장치 및 방법
CN112256396B (zh) 内存管理方法、系统及安全处理装置、数据处理装置
US11481206B2 (en) Code update in system management mode
JP2009009232A (ja) コンピュータとカーネル保護方法並びにコンピュータソフトウエア
JP6944444B2 (ja) メモリアクセス命令
KR20200013049A (ko) 명령 세트의 변경을 제어하는 장치 및 방법
KR101252188B1 (ko) 가상 메모리 데이터 접근 제어방법
US8028142B2 (en) Controller of storage device, storage device, and control method of storage device
JP6462540B2 (ja) ドライバ装置、情報処理システム、プログラムおよび方法
EP3899729B1 (en) Storing microcode for a virtual function in a trusted memory region
US8095784B2 (en) Computer system and method for activating basic program therein
JP2006048186A (ja) 動的コンパイラの生成コードを保護する言語処理系
JP2007094735A (ja) オペレーティングシステム、キャッシュメモリの制御方法、プログラム及び記憶媒体

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180402

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 7