1 |
1
컴퓨터의 운영체제에서 제공하는 실제 자원(resource)과 구별되며, 가상 프로세스(virtual process) 동작에 필요한 자원을 제공하는 가상 자원;
실행중인 가상 프로세스의 목록을 저장하는 가상 프로세스 데이터베이스;
가상 프로세스를 구동시키고 상기 구동된 가상 프로세스에 대한 정보를 상기 가상 프로세스 데이터베이스에 저장하는 가상화 에이전트;
상기 가상 프로세스 데이터베이스에 저장된 프로세스들이 상기 실제 자원에 접근하지 못하고, 상기 가상 자원만을 이용할 수 있도록 제어하는 가상화 엔진; 및
상기 가상 프로세스에 COM (Component Object Model) 객체를 제공하는 가상 COM 서버
를 포함하고,
상기 가상화 엔진은,
상기 컴퓨터에서 구동되는 프로세스에서 COM 서버를 찾는 경우 상기 프로세스가 상기 가상 프로세스 데이터베이스에 저장되어 있는지 여부를 확인하여, 상기 가상 프로세스 데이터베이스에 저장되어 있는 경우에는 상기 가상 COM 서버의 포트(port)를 상기 프로세스에 알려주고, 그렇지 않은 경우에는 운영체제의 COM 서버의 포트를 상기 프로세스에 알려주는 것을 특징으로 하는 가상화 보안 시스템
|
2 |
2
제1항에 있어서,
가상 프로세스로 구동될 수 있는 프로그램의 목록을 저장하는 가상화 프로그램 목록 데이터베이스
를 더 포함하고,
상기 가상화 에이전트는
상기 가상화 프로그램 목록 데이터베이스에 저장되어 있는 가상 프로세스로 구동될 수 있는 프로그램만을 상기 가상 프로세스로 구동시키는 것
을 특징으로 하는 가상화 보안 시스템
|
3 |
3
제2항에 있어서,
상기 가상화 프로그램 목록 데이터베이스는
상기 가상 프로세스로 구동될 수 있는 프로그램에 대응하여 상기 프로그램 파일이 저장되어 있는 위치 정보를 저장하는 것
을 특징으로 하는 가상화 보안 시스템
|
4 |
4
제1항에 있어서,
상기 가상화 에이전트는
상기 컴퓨터에서 새로운 프로세스가 구동되면, 상기 구동된 프로세스의 부모 프로세스(parent process)가 상기 가상 프로세스 데이터베이스에 저장되어 있는지 여부를 확인하고, 상기 부모 프로세스가 상기 가상 프로세스 데이터베이스에 저장되어 있으면, 상기 구동된 새로운 프로세스도 상기 가상 프로세스 데이터베이스에 저장하는 것
을 특징으로 하는 가상화 보안 시스템
|
5 |
5
제1항에 있어서,
상기 가상화 엔진은
상기 컴퓨터에서 구동되는 프로세스의 자원 요청을 확인하고 상기 자원을 요청한 프로세스가 상기 가상 프로세스 데이터베이스에 저장되어 있는지 여부를 확인하여, 상기 가상 프로세스 데이터베이스에 저장되어 있는 경우에는 상기 자원을 요청한 프로세스에게 상기 가상 자원을 제공하고, 그렇지 않은 경우에는 상기 자원을 요청한 프로세스에게 상기 실제 자원을 제공하는 것
을 특징으로 하는 가상화 보안 시스템
|
6 |
6
제1항에 있어서,
상기 가상 자원은
상기 컴퓨터의 파일 시스템에 가상 디스크 이미지 파일 형태로 저장되어 상기 가상화 엔진의 제어에 따라 데이터를 읽고 기록하는 가상 파일 시스템
을 포함하는 것을 특징으로 하는 가상화 보안 시스템
|
7 |
7
제6항에 있어서,
상기 가상화 엔진은
상기 가상 파일 시스템에 데이터를 기록할 때에는 상기 데이터를 암호화 하여 기록하고, 상기 가상 파일 시스템에서 데이터를 읽을 때에는 상기 읽은 데이터를 복호화하는 것
을 특징으로 하는 가상화 보안 시스템
|
8 |
8
제1항에 있어서,
상기 가상 자원은
가상 레지스트리를 포함하는 것
을 특징으로 하는 가상화 보안 시스템
|
9 |
9
삭제
|
10 |
10
제1항에 있어서,
상기 가상화 엔진은
상기 컴퓨터에서 구동되는 프로세스가 윈도우 핸들 목록 데이터베이스로부터 윈도우 핸들 목록을 검색하는 경우, 상기 프로세스가 상기 가상 프로세스 데이터베이스에 저장되어 있는지 여부를 확인하여, 상기 가상 프로세스 데이터베이스에 저장되어 있는 경우에는 상기 가상 프로세스들의 윈도우 핸들 목록을 전달하고, 그렇지 않은 경우에는 가상 프로세스가 아닌 프로세스들의 윈도우 핸들 목록을 전달하는 것
을 특징으로 하는 가상화 보안 시스템
|
11 |
11
제1항에 있어서,
상기 가상화 엔진은
상기 컴퓨터에서 구동되는 프로세스가 전역 훅 DLL 목록 데이터베이스로부터 DLL을 검색하는 경우, 상기 프로세스가 상기 가상 프로세스 데이터베이스에 저장되어 있는지 여부를 확인하여, 상기 가상 프로세스 데이터베이스에 저장되어 있는 경우에는 상기 가상 프로세스에서 입력한 DLL만을 제공하고, 그렇지 않은 경우에는 가상 프로세스가 아닌 프로세스들에서 입력한 DLL만을 전달하는 것
을 특징으로 하는 가상화 보안 시스템
|
12 |
12
컴퓨터의 운영체제에서 제공하는 실제 자원(resource)과 구별되며, 가상 프로세스(virtual process) 동작에 필요한 가상 자원을 설정하는 단계;
가상 프로세스를 구동시키는 단계;
상기 구동된 가상 프로세스에 대한 정보를 상기 가상 프로세스 데이터베이스에 저장하는 단계; 및
상기 가상 프로세스 데이터베이스에 저장된 프로세스들이 상기 실제 자원에 접근하지 못하고, 상기 가상 자원만을 이용할 수 있도록 제어하는 단계
를 포함하고,
상기 제어단계는,
상기 컴퓨터에서 구동되는 프로세스에서 COM 서버를 찾는 경우 상기 프로세스가 상기 가상 프로세스 데이터베이스에 저장되어 있는지 여부를 확인하는 단계;
상기 가상 프로세스 데이터베이스에 저장되어 있는 경우에는 가상화 COM 서버의 포트(port)를 상기 프로세스에 알려주는 단계; 및
상기 가상 프로세스 데이터베이스에 저장되어 있지 않은 경우에는 COM 서버의 포트를 상기 프로세스에 알려주는 단계
를 포함하는 것을 특징으로 하는 가상화 보안 방법
|
13 |
13
제12항에 있어서,
가상 프로세스로 구동될 수 있는 프로그램의 목록을 가상화 프로그램 목록 데이터베이스에 저장하는 단계
를 더 포함하고,
상기 가상 프로세스를 구동시키는 단계는
상기 가상화 프로그램 목록 데이터베이스에 저장되어 있는 가상 프로세스로 구동될 수 있는 프로그램만을 상기 가상 프로세스로 구동시키는 것
을 특징으로 하는 가상화 보안 방법
|
14 |
14
제13항에 있어서,
상기 가상화 프로그램 목록 데이터베이스는
상기 가상 프로세스로 구동될 수 있는 프로그램에 대응하여 상기 프로그램 파일이 저장되어 있는 위치 정보를 저장하는 것
을 특징으로 하는 가상화 보안 방법
|
15 |
15
제12항에 있어서,
상기 구동된 가상 프로세스에 대한 정보를 저장하는 단계는
상기 컴퓨터에서 새로운 프로세스가 구동되면, 상기 구동된 프로세스의 부모 프로세스(parent process)가 상기 가상 프로세스 데이터베이스에 저장되어 있는지 여부를 확인하고, 상기 부모 프로세스가 상기 가상 프로세스 데이터베이스에 저장되어 있으면, 상기 구동된 새로운 프로세스도 상기 가상 프로세스 데이터베이스에 저장하는 것
을 특징으로 하는 가상화 보안 방법
|
16 |
16
제12항에 있어서,
상기 제어하는 단계는
상기 컴퓨터에서 구동되는 프로세스의 자원 요청을 확인하는 단계;
상기 자원을 요청한 프로세스가 상기 가상 프로세스 데이터베이스에 저장되어 있는지 여부를 확인하는 단계;
상기 가상 프로세스 데이터베이스에 저장되어 있는 경우에는 상기 자원을 요청한 프로세스에게 상기 가상 자원을 제공하는 단계; 및
상기 가상 프로세스 데이터베이스에 저장되어 있지 않은 경우에는 상기 자원을 요청한 프로세스에게 상기 실제 자원을 제공하는 단계
를 포함하는 것을 특징으로 하는 가상화 보안 방법
|
17 |
17
제12항에 있어서,
상기 가상 자원은
상기 컴퓨터의 파일 시스템에 가상 디스크 이미지 파일 형태로 저장되어 상기 가상 프로세스의 데이터를 읽고 기록하는 가상 파일 시스템
을 포함하는 것을 특징으로 하는 가상화 보안 방법
|
18 |
18
제17항에 있어서,
상기 제어하는 단계는
상기 가상 파일 시스템에 데이터를 기록할 때에는 상기 데이터를 암호화 하여 기록하고, 상기 가상 파일 시스템에서 데이터를 읽을 때에는 상기 읽은 데이터를 복호화하는 것
을 특징으로 하는 가상화 보안 방법
|
19 |
19
제12항에 있어서,
상기 가상 자원은
가상 레지스트리를 포함하는 것
을 특징으로 하는 가상화 보안 방법
|
20 |
20
삭제
|
21 |
21
제12항에 있어서,
상기 컴퓨터에서 구동되는 프로세스가 윈도우 핸들 목록 데이터베이스로부터 윈도우 핸들 목록을 검색하는 경우, 상기 프로세스가 상기 가상 프로세스 데이터베이스에 저장되어 있는지 여부를 확인하는 단계;
상기 가상 프로세스 데이터베이스에 저장되어 있는 경우에는 상기 가상 프로세스들의 윈도우 핸들 목록을 전달하는 단계; 및
상기 가상 프로세스 데이터베이스에 저장되어 있지 않은 경우에는 가상 프로세스가 아닌 프로세스들의 윈도우 핸들 목록을 전달하는 단계
를 더 포함하는 것을 특징으로 하는 가상화 보안 방법
|
22 |
22
제12항에 있어서,
상기 컴퓨터에서 구동되는 프로세스가 전역 훅 DLL 목록 데이터베이스로부터 DLL을 검색하는 경우, 상기 프로세스가 상기 가상 프로세스 데이터베이스에 저장되어 있는지 여부를 확인하는 단계;
상기 가상 프로세스 데이터베이스에 저장되어 있는 경우에는 상기 가상 프로세스에서 입력한 DLL만을 제공하는 단계; 및
상기 가상 프로세스 데이터베이스에 저장되어 있지 않은 경우에는 가상 프로세스가 아닌 프로세스들에서 입력한 DLL만을 전달하는 단계
를 더 포함하는 것을 특징으로 하는 가상화 보안 방법
|
23 |
23
제12항 내지 제19항, 제21항 및 제22항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체
|