KR101089157B1 - 클라이언트 가상화를 이용한 서버의 논리적 망분리 시스템 및 방법 - Google Patents

클라이언트 가상화를 이용한 서버의 논리적 망분리 시스템 및 방법 Download PDF

Info

Publication number
KR101089157B1
KR101089157B1 KR1020100019877A KR20100019877A KR101089157B1 KR 101089157 B1 KR101089157 B1 KR 101089157B1 KR 1020100019877 A KR1020100019877 A KR 1020100019877A KR 20100019877 A KR20100019877 A KR 20100019877A KR 101089157 B1 KR101089157 B1 KR 101089157B1
Authority
KR
South Korea
Prior art keywords
server
client
client terminal
virtualization
filter driver
Prior art date
Application number
KR1020100019877A
Other languages
English (en)
Other versions
KR20110100839A (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 KR1020100019877A priority Critical patent/KR101089157B1/ko
Priority to PCT/KR2011/001490 priority patent/WO2011108877A2/ko
Priority to US13/582,609 priority patent/US8713640B2/en
Publication of KR20110100839A publication Critical patent/KR20110100839A/ko
Application granted granted Critical
Publication of KR101089157B1 publication Critical patent/KR101089157B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register

Abstract

본 발명은 클라이언트 가상화를 이용한 서버의 논리적 망분리에 있어서, 다수의 클라이언트 단말과 서버로 구성되는 망에서 서버를 가상화하여 클라이언트 단말의 가상환경을 통해서만 서버에 접속할 수 있도록 구현한다. 즉, 클라이언트 단말의 가상환경을 통해서만 서버의 존재가 확인되도록 하고, 클라이언트 단말의 가상환경을 통해 실행된 프로세스가 서버에 접속하려고 하는 경우 클라이언트 단말에 설치되는 클라이언트 가상화 필터 드라이버에서 해당 클라이언트 단말에 대해 서버에 접속할 수 있는 권한이 있는 정상적인 클라이언트 단말인지 여부를 인증 서버로부터 인증 받아 서버로 접속 요청을 전송시키도록 한다. 이어, 위와 같이 전송된 접속 요청은 가상화된 서버에 설치되는 서버 가상화 필터 드라이버로 수신되어 해당 클라이언트 단말에 대한 인증 정보가 다시 확인된 후, 정당한 권한을 가진 클라이언트 단말에게만 서버로의 접속이 허용되도록 함으로써, 가상화를 이용한 논리적 망분리를 통해 권한이 없는 클라이언트 단말로부터 서버를 보다 효율적으로 보호할 수 있게 된다.

Description

클라이언트 가상화를 이용한 서버의 논리적 망분리 시스템 및 방법{SYSTEM AND METHOD FOR LOGICALLY SEPARATING SERVERS FROM CLIENTS ON NETWORK USING VIRTUALIZATION OF CLIENT}
본 발명은 망분리 시스템에 관한 것으로, 특히, 다수의 클라이언트(client) 단말과 서버(server)로 구성되는 망에서 서버를 가상화(virtualization)한 후, 클라이언트 단말의 가상환경(virtualization environment)을 통해서만 서버에 접속할 수 있도록 하며, 클라이언트 단말로부터 가상환경을 통한 서버로의 접속 시도 시 해당 클라이언트 단말을 인증(authentication)하여 서버로 접속 요청이 전송되도록 하고, 서버에서 클라이언트의 접속 요청 수신 시 다시 해당 클라이언트 단말의 인증 정보를 확인하여 정당한 권한을 가진 클라이언트 단말에게만 서버로의 접속(access)이 허용되도록 함으로써, 서버를 보다 효율적으로 보호할 수 있도록 하는 클라이언트 가상화를 이용한 서버의 논리적 망분리 시스템 및 방법에 관한 것이다.
근래에 들어, 컴퓨터 기술의 급속한 발달로 인해 컴퓨터 및 컴퓨터 네트워크(computer network)의 광범위한 이용이 가능하게 되었으며, 공공기관이나 회사에서는 연구, 이메일(e-mail) 송신, 서로 다른 장소에서의 파일 전송 등을 업무에 활용하기 위해 사내망 뿐만 아니라, 인터넷(internet) 등의 외부망을 활발히 이용하고 있다.
위와 같이 인터넷 등의 외부의 공격에 쉽게 노출될 수 있는 외부망이 광범위하게 이용됨에 따라 공공기관이나 회사 등에서는 내부의 중요 정보에 대한 보안을 위해 방화벽(firewall)을 설치하여 운용하고 있으나, 방화벽은 방화벽을 우회하여 침투되는 액세스(access)에 대해서는 침투를 방지할 수 없는 등 외부의 의도적인 공격으로부터 완벽하게 내부의 중요정보를 차단시키지는 못하고 있다.
이에 따라, 최근에는 사내망과 외부망을 분리하여 내부의 중요정보가 외부망으로부터 공격받는 것을 방지시키고자하는 망분리 기술이 도입되고 있다.
망분리 기술이라함은, 네트워킹을 위해 사용하는 네트워크망을 목적에 따라 구분된 두 가지 이상의 네트워크망으로 구성하여 각각의 네트워크망 간에는 네트워크 패킷 데이터가 전달될 수 없도록 하여 한쪽의 네트워크망이 해킹 등의 이유로 취약해지더라도 다른 쪽 네트워크망에는 그 피해가 발생하지 않도록 하는 기술을 말한다.
위와 같은 망분리 기술은 사내망에서 중요한 정보를 저장하는 서버를 다수의 클라이언트 단말로부터 망분리하여 운영하는 것을 포함할 수 있다.
그러나, 종래 클라이언트 단말과 서버를 분리하는 망분리 기술은 서버를 특수한 망으로 분리한다는 개념보다는 클라이언트 단말이 동일한 망에 존재하는 서버에 접속할 때 인증을 통해 서버로의 접근을 제한하는 방법들이 대부분이다.
이러한 종래의 방법들은 클라이언트를 서버에서 인증할 수 있는 방법을 제공해야하고 클라이언트도 인증 정보를 만들 수 있어야 하므로 일반적인 클라이언트들과 일반적인 서버에 범용적으로 적용할 수 없는 문제점이 있었다. 또한 망을 분리한다는 개념보다는 서버에 대한 접속을 통제하는 개념이었다.
따라서, 본 발명은 다수의 클라이언트 단말과 서버로 구성되는 망에서 서버를 가상화한 후, 클라이언트 단말의 가상환경을 통해서만 서버에 접속할 수 있도록 하며, 클라이언트 단말로부터 가상환경을 통한 서버로의 접속 시도 시 해당 클라이언트 단말을 인증하여 서버로 접속 요청이 전송되도록 하고, 서버에서 클라이언트의 접속 요청 수신 시 다시 해당 클라이언트 단말의 인증 정보를 확인하여 정당한 권한을 가진 클라이언트 단말에게만 서버로의 접속이 허용되도록 함으로써, 서버를 보다 효율적으로 보호할 수 있도록 하는 클라이언트 가상화를 이용한 서버의 논리적 망분리 시스템 및 방법을 제공하고자 한다.
상술한 본 발명의 일 실시 예에 따른 클라이언트 가상화를 이용한 서버의 논리적 망분리 장치로서, 클라이언트 단말의 가상환경에서 실행된 프로세스로부터의 서버 접속 요청에 대해서만 네트워크상 서버로 전송하고, 상기 가상환경을 통하지 않은 프로세스로부터의 서버 접속 요청은 차단시키는 클라이언트 가상화 필터 드라이버와, 상기 클라이언트 가상화 필터 드라이버로부터 상기 클라이언트 단말에 대한 인증 요청을 수신하는 경우, 상기 클라이언트 단말에 대한 인증을 수행하여 인증 결과를 전송하는 인증서버와, 상기 클라이언트 가상화 필터 드라이버로부터의 접속 요청 수신 시 상기 클라이언트 단말의 인증 정보를 확인하여 상기 서버로의 접속 요청을 허용 또는 차단시키는 서버 가상화 필터 드라이버를 포함한다.
또한, 상기 클라이언트 가상화 필터 드라이버는, 상기 클라이언트 단말의 가상환경에서 실행된 프로세스로부터 상기 서버 접속 요청 수신 시 상기 인증서버로 상기 클라이언트 단말에 대한 인증을 요청하고, 상기 인증 서버로부터 상기 클라이언트 단말에 대한 인증이 정상적으로 수행되는 경우 상기 서버 접속 요청을 상기 서버 가상화 필터 드라이버로 전송하며, 상기 인증이 정상적으로 수행되지 않는 경우 상기 서버 접속 요청을 차단시키는 것을 특징으로 한다.
또한, 상기 클라이언트 가상화 필터 드라이버는, 상기 클라이언트 단말의 가상환경에서 실행되지 않은 프로세스로부터 상기 서버 접속 요청이 있는 경우 상기 서버 접속 요청을 차단시키는 것을 특징으로 한다.
또한, 상기 클라이언트 가상화 필터 드라이버는, 상기 클라이언트 단말의 커널 모드에서 구동되는 것을 특징으로 한다.
또한, 상기 인증 서버는, 상기 클라이언트 단말의 인증 수행 시 상기 인증 결과를 상기 서버 가상화 필터 드라이버로도 제공하는 것을 특징으로 한다.
또한, 상기 서버 가상화 필터 드라이버는, 상기 클라이언트 가상화 필터 드라이버가 설치되지 않은 클라이언트 단말로부터 상기 서버 접속 요청 수신 시 상기 클라이언트 단말에 대한 인증정보의 유/무를 확인하고, 인증정보가 없는 경우 상기 클라이언트 단말의 상기 서버 접속 요청을 차단시키는 것을 특징으로 한다.
또한, 클라이언트 가상화 필터 드라이버와 서버 가상화 필터 드라이버를 포함하는 논리적 망분리 장치에서 클라이언트 가상화를 이용한 서버의 논리적 망분리 방법으로서, 클라이언트 단말에서 실행된 프로세스로부터 네트워크상 서버로의 접속 요청을 수신하는 단계와, 상기 접속 요청이 가상환경을 통해 수신된 경우에만 상기 클라이언트 단말에 대한 인증을 수행하여 상기 접속 요청을 상기 서버 가상화 필터 드라이버로 전송하는 단계와, 상기 서버 가상화 필터 드라이버에서 상기 클라이언트 단말에 대한 인증정보를 확인하는 단계와, 상기 인증 정보가 확인되는 경우 상기 프로세스에 대해 상기 서버로의 접속 요청을 허용하는 단계를 포함한다.
또한, 상기 접속 요청을 전송하는 단계는, 상기 클라이언트 가상화 필터 드라이버에서 상기 프로세스가 가상환경에서 실행된 프로세스인지를 검사하는 단계와, 상기 가상환경에서 실행된 프로세스인 경우 상기 클라이언트 단말에 대한 인증을 수행하는 단계와, 상기 클라이언트 단말이 인증된 경우 상기 접속 요청을 상기 서버 가상화 필터 드라이버로 전송하는 단계를 포함하는 것을 특징으로 한다.
또한, 상기 프로세스 검사단계에서, 상기 프로세스가 상기 가상환경에서 실행된 프로세스가 아닌 경우, 상기 클라이언트 가상화 필터 드라이버는 상기 프로세스로부터의 상기 접속 요청을 차단시키는 것을 특징으로 한다.
또한, 상기 클라이언트 단말에 대한 인증정보 확인단계에서, 상기 클라이언트 단말이 인증되지 않은 경우, 상기 서버 가상화 필터 드라이버는, 상기 프로세스로부터의 상기 접속 요청을 차단시키는 것을 특징으로 한다.
상기와 같은 구성을 갖는 본 발명의 실시 예에 따른 클라이언트 가상화를 이용한 서버의 논리적 망분리에 있어서, 다수의 클라이언트 단말과 서버로 구성되는 망에서 서버를 가상화한 후, 클라이언트 단말의 가상환경을 통해서만 서버에 접속할 수 있도록 하며, 클라이언트 단말로부터 가상환경을 통한 서버로의 접속 시도 시 해당 클라이언트 단말을 인증하여 서버로 접속 요청이 전송되도록 하고, 서버에서 클라이언트의 접속 요청 수신 시 다시 해당 클라이언트 단말의 인증 정보를 확인하여 정당한 권한을 가진 클라이언트 단말에게만 서버로의 접속이 허용되도록 함으로써, 가상화를 이용한 논리적 망분리를 통해 권한이 없는 클라이언트 단말로부터 서버를 보다 효율적으로 보호할 수 있는 이점이 있다.
도 1은 본 발명의 실시 예에 따른 클라이언트 가상화를 이용한 서버의 논리적 망분리 시스템의 구성도 이다.
도 2는 본 발명의 실시 예에 따른 서버의 논리적 망분리를 위한 동작 제어 흐름도 이다.
도 3은 본 발명의 다른 실시 예에 따른 서버의 논리적 망분리를 위한 동작 제어 흐름도 이다.
이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 클라이언트 가상화를 이용한 서버의 논리적 망분리 시스템 구성도를 도시한 것이다.
도 1을 참조하면, 가상환경(virtualization environment)(102)은 클라이언트 단말(100) 상에서 인트라넷(intranet) 등의 사내망에 구현되는 가상화된 서버(virtualized server)(150)로 접속하기 위한 것으로, 클라이언트 단말(100)에서 서버(150)로 접속할 수 있는 프로세스(104, 106)들을 네트워크상 가상화된 서버(150)에 대하여 논리적으로 망분리시켜 클라이언트 단말(100)에서 실행되는 프로세스가 서버(150)로 아무런 제약 없이 접속하는 것을 방지시킨다.
즉, 사용자는 클라이언트 단말(100)을 통해 서버(150)에 접속하기 위해서는 가상환경(102)을 생성시킨 후, 가상환경(102)이 생성된 상태에서 서버(150)에 접속할 수 있는 탐색기 등의 프로세스(process)(104)를 실행시켜야만 가상화된 서버(150)에 접속할 수 있으며, 가상환경(102)이 생성되지 않은 상태에서 탐색기 등의 프로세스(106)를 실행시켜서는 가상화된 서버(150)가 예를 들어 탐색기 상에 나타나지 않게 되어 서버(150)로의 접속이 불가능하게 된다.
클라이언트 가상화 필터 드라이버(110)는 클라이언트 단말(100)의 커널 모드(kernel mode)에서 구동되는 서버 접속 제어 드라이버로서 클라이언트 단말(100)에서 실행된 모든 프로세스(104, 106)에 대해 서버(150)로의 접속에 대한 필터링을 수행하게 된다.
즉, 클라이언트 가상화 필터 드라이버(110)는 클라이언트 단말(100)에서 네트워크 상 가상화된 서버(150)로의 접속을 요청하는 프로세스(104)가 실행되는 경우 해당 프로세스(104)가 가상환경(102)이 생성된 후 가상환경(102) 상에서 실행된 것인지 가상환경(102)이 생성되지 않은 상태에서 실행된 것인지 검사한 후, 클라이언트 단말(100)의 가상환경(102)에서 실행된 프로세스(104)로부터의 서버(150) 접속 요청에 대해서만 해당 클라이언트 단말(100)의 인증을 통해 네트워크상 서버(150)로 전송하고, 가상환경(102)을 통하지 않은 프로세스(106)로부터의 서버 접속 요청은 차단시킨다.
위 인증 과정을 좀더 상세히 설명하면, 클라이언트 가상화 필터 드라이버(110)는 클라이언트 단말(100)에 가상환경(102)이 생성되고, 가상환경(102)에서 실행된 프로세스(104)로부터 네트워크상 가상화된 서버(150)로의 접속이 요청되는 경우, 인증 서버(authentication server)(134)로 클라이언트 단말(100)이 서버(150)에 접속할 수 있는 권한이 있는 정상적인 사용자의 단말인지 여부에 대한 인증을 요청한다. 이때 인증 서버(134)는 클라이언트 단말(100, 120)에 대해 정상적인 사용자인지 여부를 검사하기 위한 인증 정보를 저장한 인증 정보 DB(data base)(136)를 구비하며, 네트워크상 클라이언트 단말(100)과 가상화 서버(150)와 분리되어 독립적으로 존재할 수도 있으며, 가상화 서버(150)의 일부로서 구현될 수도 있다.
위와 같은 인증 요청에 대해 인증 서버(134)로부터 해당 클라이언트 단말(100)에 대한 인증이 정상적으로 수행되는 경우 클라이언트 가상화 필터 드라이버(110)는 클라이언트 단말(100)의 가상환경(102)에서 실행된 프로세스(104)로부터의 서버 접속 요청을 전송하게 되며, 인증이 정상적으로 수행되지 않는 경우 프로세스(104)로부터의 서버 접속 요청을 차단시키게 되어, 인증되지 않은 클라이언트 단말(100)로부터 중요한 정보를 저장하고 있는 서버(150)로의 무분별한 접속을 차단시켜 서버(150)를 안전하게 보호하게 된다.
서버 가상화 필터 드라이버(130)는 클라이언트 가상화 필터 드라이버(110)로부터의 접속 요청 수신 시 인증 서버(134)로부터 클라이언트 단말(100)의 인증 정보를 확인하여 해당 클라이언트 단말(100)에 대해 서버(150)로의 접속 요청을 허용 또는 차단시킨다.
위 클라이언트 단말(100)의 인증 정보는 클라이언트 가상화 필터 드라이버(110)의 요청에 따라 인증 서버(134)에서 해당 클라이언트 단말(100)에 대한 인증이 수행되는 경우 인증 서버(134)로부터 서버 가상화 필터 드라이버(130)로도 전송되며, 서버 가상화 필터 드라이버(130)는 위 인증 정보를 이용하여 클라이언트 단말(100)의 서버 접속 요청을 처리하게 되는 것이다.
즉, 서버 가상화 필터 드라이버(130)는 클라이언트 가상화 필터 드라이버(110)로부터 서버 접속 요청을 수신하며, 서버 접속 요청을 수신하는 경우 인증 서버(134)에서 미리 인증 수행되어 제공된 클라이언트 단말(100)의 인증 정보를 확인한다.
이때, 서버 가상화 필터 드라이버(130)는 서버 접속 요청한 클라이언트 단말(100)이 서버(100)에 접속하도록 정상적으로 인증이 수행된 클라이언트 단말(100)인 것으로 확인되는 경우 해당 클라이언트 단말(100)의 서버 접속 요청을 허용하여 서버(150)상 구비되는 로컬 저장부(local disk)(132)에 접속할 수 있도록 한다.
그러나, 서버 접속 요청한 클라이언트 단말(100)에 대한 인증 정보의 확인결과, 서버(100)에 접속하도록 정상적으로 인증이 수행되지 않은 접속 권한이 없는 클라이언트 단말(100)인 것으로 확인되는 경우 해당 클라이언트 단말(100)의 서버 접속 요청을 차단시킨다.
도 2는 본 발명의 실시 예에 따른 클라이언트 가상화를 이용한 서버의 논리적 망분리 시스템에서 동작 제어 흐름을 도시한 것이다. 이하, 도 1 및 도 2를 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
먼저, 접속하고자 하는 서버(150)와 네트워크상 연결되는 클라이언트 단말(100)을 이용하여 서버(150)에 접속하고자 하는 경우 사용자는 클라이언트 단말(100)에서 가상환경을 생성하고(S200), 가상환경 상에서 탐색기 등의 서버(150)에 접속할 수 있는 프로세스(104)를 실행시켜 서버(150)로의 접속을 요청하게 된다(S202).
이때 위와 같은 서버(150)에의 접속 요청은 서버(150)로 접속할 수 있는 프로세스(104)의 실행을 통해 수행되며, 이는 클라이언트 단말(100)의 커널 모드에서 구동되는 클라이언트 가상화 필터 드라이버(110)로 수신된다. 이때 클라이언트 가상화 필터 드라이버(110)는 클라이언트 단말(100)의 커널 모드에서 구동되는 서버 접속 제어 드라이버로서 클라이언트 단말(100)에서 실행된 모든 프로세스(104, 106)에 대해 서버(150)로의 접속에 대한 필터링을 수행하게 된다.
그러면, 클라이언트 가상화 필터 드라이버(110)는 클라이언트 단말(100)의 가상환경(102)에서 실행된 프로세스(104)로부터 서버(150)에의 접속 요청이 수신되는 경우 해당 프로세스(104)가 가상환경(102)이 생성된 후 가상환경(102) 상에서 실행된 것인지 가상환경(102)이 생성되지 않은 상태에서 실행된 것인지 검사한 후(S204), 클라이언트 단말(100)의 가상환경(102)에서 실행된 프로세스(104)로부터의 서버 접속 요청에 대해서만 클라이언트 단말(100)의 인증을 통해 네트워크상 서버(150)로 전송하고, 가상환경(102)을 통하지 않은 프로세스(106)로부터의 서버(150) 접속 요청은 차단시킨다(S206).
즉, 클라이언트 가상화 필터 드라이버(110)는 서버(150)로의 접속을 요청한 프로세스(104)가 가상환경(102)에서 실행된 프로세스로 검사되는 경우 인증 서버(134)로 해당 클라이언트 단말(100)이 서버(150)에 접속할 수 있는 권한이 있는 정상적인 사용자의 단말인지 여부에 대한 인증을 요청하게 된다(S208).
이에 따라, 인증 서버(134)는 클라이언트 가상화 필터 드라이버(110)로부터의 인증 요청에 응답하여 인증 요청된 클라이언트 단말(100)에 대해 서버(150)에 접속 권한이 있는 정상적인 사용자의 단말인지 여부를 인증한 후, 인증 결과를 클라이언트 가상화 필터 드라이버(110)로 전송한다(S210). 이때 위 인증 결과에 대한 정보는 서버 가상화 필터 드라이버(110)에서의 인증 수행을 위해 서버 가상화 필터 드라이버(110)로도 전송된다(S212).
또한, 위와 같은, 인증 서버(134)는 네트워크상 클라이언트 단말(100)과 가상화 서버(150)와 분리되어 독립적으로 존재할 수도 있으며, 가상화 서버(150) 상 하나의 프로세스로 구현될 수도 있다.
그러면, 클라이언트 가상화 필터 드라이버(110)는 인증 서버(134)로부터 전송되는 클라이언트 단말(100)에 대한 인증 결과를 검사하고(S214), 인증이 정상적으로 수행되지 않은 경우에는 가상환경(102)을 통한 프로세스(104)로부터의 서버 접속 요청을 차단시키며(S216), 클라이언트 단말(100)에 대한 인증이 정상적으로 수행되는 경우에는 클라이언트 단말(100)의 가상환경(102)에서 실행된 프로세스(104)로부터의 서버 접속 요청을 허용한 후(S218), 서버(150) 접속 요청을 네트워크상 서버(150)로 전송하게 된다(S220).
위와 같은, 접속 요청은 서버(150)를 가상화시키는 서버 가상화 필터 드라이버(130)로 수신된다.
그러면, 서버 가상화 필터 드라이버(130)는 서버 접속 요청한 클라이언트 단말(100)에 대해 인증 서버(134)로부터 제공받은 인증 결과 정보를 이용하여 다시 한번 정상적인 사용자인지 인증을 수행하게 된다.
즉,, 서버 가상화 필터 드라이버(130)는 인증 서버(134)로부터 제공되는 서버 접속 요청한 클라이언트 단말(100)에 대한 인증 결과 정보를 검사하여(S222), 서버(150)에 접속하도록 정상적으로 인증이 수행되지 않은 접속 권한이 없는 클라이언트 단말(100)인 것으로 확인되는 경우에는 해당 클라이언트 단말(100)의 서버 접속 요청을 차단시킨다(S224).
그러나, 이와 달리 검사결과 서버(150)에 접속하도록 정상적으로 인증이 수행된 클라이언트 단말(100)인 것으로 확인되는 경우 서버 가상화 필터 드라이버(130)는 해당 클라이언트 단말(100)의 서버 접속 요청을 허용하여(S226) 서버(150) 상 구비되는 로컬 저장부(132)에 접속할 수 있도록 한다.
이에 따라, 클라이언트 단말(100)은 서버(150)에 접속하여 예를 들어 서버(150)의 로컬 저장부(132)에 저장되는 정보 중 필요한 정보를 사용할 수 있게 된다.
도 3은 본 발명의 실시 예에 따른 클라이언트 가상화를 이용한 서버의 논리적 망분리 시스템에서 클라이언트 가상화 필터 드라이버가 설치되지 않은 클라이언트 단말로부터의 서버 접속을 차단시키는 동작 제어 흐름을 도시한 것이다. 이하, 도 1 및 도 3을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
먼저, 클라이언트 가상화 필터 드라이버(110)가 설치되지 않는 클라이언트 단말(120)로부터 서버 접속을 시도하는 프로세스(108)가 실행되는 경우, 프로세스(108)로부터의 서버 접속 요청은 클라이언트 가상화 필터 드라이버(110)를 거치지 않고, 곧바로 네트워크상 가상화 서버(150)의 서버 가상화 필터 드라이버(130)로 수신된다(S300).
그러면, 서버 가상화 필터 드라이버(130)는 서버 접속 요청한 클라이언트 단말(120)에 대한 인증정보가 존재하는지를 확인한다(S302). 이때, 위 클라이언트 단말(120)은 클라이언트 가상화 필터 드라이버(110)가 설치되지 않은 상태에서 서버로 직접 접속 요청한 것이므로, 서버 가상화 필터 드라이버(130)에는 해당 클라이언트 단말(120)에 대한 인증정보가 존재하지 않게 된다.
이에 따라, 서버 가상화 필터 드라이버(130)는 클라이언트 가상화 필터 드라이버(110)를 통하지 않은 위 클라이언트 단말(120)로부터의 서버 접속 요청을 정상적인 사용자로부터의 접속 요청이 아닌 것으로 판단하여 서버 접속 요청을 차단시키게 된다(S304).
상기한 바와 같이 본 발명은 클라이언트 가상화를 이용한 서버의 논리적 망분리에 있어서, 다수의 클라이언트 단말과 서버로 구성되는 망에서 서버를 가상화하여 클라이언트 단말의 가상환경을 통해서만 서버에 접속할 수 있도록 구현한다. 즉, 클라이언트 단말의 가상환경을 통해서만 서버의 존재가 확인되도록 하고, 클라이언트 단말의 가상환경을 통해 실행된 프로세스가 서버에 접속하려고 하는 경우 클라이언트 단말에 설치되는 클라이언트 가상화 필터 드라이버에서 해당 클라이언트 단말에 대해 서버에 접속할 수 있는 권한이 있는 정상적인 클라이언트 단말인지 여부를 인증 서버로부터 인증 받아 서버로 접속 요청을 전송시키도록 한다. 이어, 위와 같이 전송된 접속 요청은 가상화된 서버에 설치되는 서버 가상화 필터 드라이버로 수신되어 해당 클라이언트 단말에 대한 인증 정보가 인증 서버를 통해 다시 확인된 후, 정당한 권한을 가진 클라이언트 단말에게만 서버로의 접속이 허용되도록 함으로써, 가상화를 이용한 논리적 망분리를 통해 권한이 없는 클라이언트 단말로부터 서버를 보다 효율적으로 보호할 수 있게 된다.
한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
100 : 클라이언트 단말 102 : 가상환경
104 : 프로세스 110 : 클라이언트 가상화 필터 드라이버
134 : 인증 서버 130 : 서버 가상화 필터 드라이버
150 : 가상화 서버

Claims (10)

  1. 클라이언트 가상화를 이용한 서버의 논리적 망분리 장치로서,
    클라이언트 단말의 가상환경에서 실행된 프로세스로부터의 서버 접속 요청에 대해서만 네트워크상 서버로 전송하고, 상기 가상환경을 통하지 않은 프로세스로부터의 서버 접속 요청은 차단시키는 클라이언트 가상화 필터 드라이버와,
    상기 클라이언트 가상화 필터 드라이버로부터 상기 클라이언트 단말에 대한 인증 요청을 수신하는 경우, 상기 클라이언트 단말에 대한 인증을 수행하여 인증 결과를 전송하는 인증서버와,
    상기 클라이언트 가상화 필터 드라이버로부터의 접속 요청 수신 시 상기 클라이언트 단말의 인증 정보를 확인하여 상기 서버로의 접속 요청을 허용 또는 차단시키는 서버 가상화 필터 드라이버를 포함하는
    클라이언트 가상화를 이용한 서버의 논리적 망분리 장치.
  2. 제 1 항에 있어서,
    상기 클라이언트 가상화 필터 드라이버는,
    상기 클라이언트 단말의 가상환경에서 실행된 프로세스로부터 상기 서버 접속 요청 수신 시 상기 인증서버로 상기 클라이언트 단말에 대한 인증을 요청하고, 상기 인증 서버로부터 상기 클라이언트 단말에 대한 인증이 정상적으로 수행되는 경우 상기 서버 접속 요청을 상기 서버 가상화 필터 드라이버로 전송하며, 상기 인증이 정상적으로 수행되지 않는 경우 상기 서버 접속 요청을 차단시키는 것을 특징으로 하는
    클라이언트 가상화를 이용한 서버의 논리적 망분리 장치.
  3. 제 1 항에 있어서,
    상기 클라이언트 가상화 필터 드라이버는,
    상기 클라이언트 단말의 가상환경에서 실행되지 않은 프로세스로부터 상기 서버 접속 요청이 있는 경우 상기 서버 접속 요청을 차단시키는 것을 특징으로 하는
    클라이언트 가상화를 이용한 서버의 논리적 망분리 장치.
  4. 제 1 항에 있어서,
    상기 클라이언트 가상화 필터 드라이버는,
    상기 클라이언트 단말의 커널 모드에서 구동되는 것을 특징으로 하는
    클라이언트 가상화를 이용한 서버의 논리적 망분리 장치.
  5. 제 1 항에 있어서,
    상기 인증 서버는,
    상기 클라이언트 단말의 인증 수행 시 상기 인증 결과를 상기 서버 가상화 필터 드라이버로도 제공하는 것을 특징으로 하는
    클라이언트 가상화를 이용한 서버의 논리적 망분리 장치.
  6. 제 1 항에 있어서,
    상기 서버 가상화 필터 드라이버는,
    상기 클라이언트 가상화 필터 드라이버가 설치되지 않은 클라이언트 단말로부터 상기 서버 접속 요청 수신 시 상기 클라이언트 단말에 대한 인증정보의 유/무를 확인하고, 인증정보가 없는 경우 상기 클라이언트 단말의 상기 서버 접속 요청을 차단시키는 것을 특징으로 하는
    클라이언트 가상화를 이용한 서버의 논리적 망분리 장치.
  7. 클라이언트 가상화 필터 드라이버와 서버 가상화 필터 드라이버를 포함하는 논리적 망분리 장치에서 클라이언트 가상화를 이용한 서버의 논리적 망분리 방법으로서,
    클라이언트 단말에서 실행된 프로세스로부터 네트워크상 서버로의 접속 요청을 수신하는 단계와,
    상기 접속 요청이 가상환경을 통해 수신된 경우에만 상기 클라이언트 단말에 대한 인증을 수행하여 상기 접속 요청을 상기 서버 가상화 필터 드라이버로 전송하는 단계와,
    상기 서버 가상화 필터 드라이버에서 상기 클라이언트 단말에 대한 인증정보를 확인하는 단계와,
    상기 인증 정보가 확인되는 경우 상기 프로세스에 대해 상기 서버로의 접속 요청을 허용하는 단계를 포함하는
    클라이언트 가상화를 이용한 서버의 논리적 망분리 방법.
  8. 제 7 항에 있어서,
    상기 접속 요청을 전송하는 단계는,
    상기 클라이언트 가상화 필터 드라이버에서 상기 프로세스가 가상환경에서 실행된 프로세스인지를 검사하는 단계와,
    상기 가상환경에서 실행된 프로세스인 경우 상기 클라이언트 단말에 대한 인증을 수행하는 단계와,
    상기 클라이언트 단말이 인증된 경우 상기 접속 요청을 상기 서버 가상화 필터 드라이버로 전송하는 단계를 포함하는 것을 특징으로 하는
    클라이언트 가상화를 이용한 서버의 논리적 망분리 방법.
  9. 제 8 항에 있어서,
    상기 프로세스 검사단계에서,
    상기 프로세스가 상기 가상환경에서 실행된 프로세스가 아닌 경우, 상기 클라이언트 가상화 필터 드라이버는 상기 프로세스로부터의 상기 접속 요청을 차단시키는 것을 특징으로 하는
    클라이언트 가상화를 이용한 서버의 논리적 망분리 방법.
  10. 제 7 항에 있어서,
    상기 클라이언트 단말에 대한 인증정보 확인단계에서,
    상기 클라이언트 단말이 인증되지 않은 경우, 상기 서버 가상화 필터 드라이버는, 상기 프로세스로부터의 상기 접속 요청을 차단시키는 것을 특징으로 하는
    클라이언트 가상화를 이용한 서버의 논리적 망분리 방법.
KR1020100019877A 2010-03-05 2010-03-05 클라이언트 가상화를 이용한 서버의 논리적 망분리 시스템 및 방법 KR101089157B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020100019877A KR101089157B1 (ko) 2010-03-05 2010-03-05 클라이언트 가상화를 이용한 서버의 논리적 망분리 시스템 및 방법
PCT/KR2011/001490 WO2011108877A2 (ko) 2010-03-05 2011-03-04 클라이언트 가상화를 이용한 서버의 논리적 분리 시스템 및 방법
US13/582,609 US8713640B2 (en) 2010-03-05 2011-03-04 System and method for logical separation of a server by using client virtualization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100019877A KR101089157B1 (ko) 2010-03-05 2010-03-05 클라이언트 가상화를 이용한 서버의 논리적 망분리 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20110100839A KR20110100839A (ko) 2011-09-15
KR101089157B1 true KR101089157B1 (ko) 2011-12-02

Family

ID=44542734

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100019877A KR101089157B1 (ko) 2010-03-05 2010-03-05 클라이언트 가상화를 이용한 서버의 논리적 망분리 시스템 및 방법

Country Status (3)

Country Link
US (1) US8713640B2 (ko)
KR (1) KR101089157B1 (ko)
WO (1) WO2011108877A2 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101290963B1 (ko) * 2012-03-26 2013-07-30 제주대학교 산학협력단 가상화 기반 망분리 시스템 및 방법
KR101373068B1 (ko) * 2012-08-27 2014-03-11 주식회사 신한은행 망분리 시스템, 망분리를 위한 더미 웹서버 및 망분리 방법
US9507949B2 (en) * 2012-09-28 2016-11-29 Intel Corporation Device and methods for management and access of distributed data sources
KR101394369B1 (ko) 2012-11-13 2014-05-13 주식회사 파수닷컴 가상 폴더를 이용한 보안 콘텐츠 관리 장치 및 방법
WO2014163256A1 (ko) * 2013-04-01 2014-10-09 주식회사 앤솔루션 가상 사설망을 이용한 네트워크 기반 망분리 시스템 및 방법
KR101480443B1 (ko) * 2013-09-17 2015-01-09 주식회사 하나은행 하이브리드 망 분리 시스템 및 그 방법
KR101498965B1 (ko) * 2014-06-27 2015-03-04 김영자 가상화 기술을 이용한 내외부망 격리 시스템 및 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7461148B1 (en) * 2001-02-16 2008-12-02 Swsoft Holdings, Ltd. Virtual private server with isolation of system components
US6922774B2 (en) * 2001-05-14 2005-07-26 The United States Of America As Represented By The National Security Agency Device for and method of secure computing using virtual machines
EP1349033B1 (en) * 2002-03-26 2004-03-31 Soteres GmbH A method of protecting the integrity of a computer program
US8776050B2 (en) * 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US20050080982A1 (en) * 2003-08-20 2005-04-14 Vasilevsky Alexander D. Virtual host bus adapter and method
EP1571781A1 (fr) 2004-03-03 2005-09-07 France Telecom Sa Procédé et système d'accréditation d'un client pour l'accès à un réseau virtuel permettant d'accéder à des services
US8046837B2 (en) * 2005-08-26 2011-10-25 Sony Corporation Information processing device, information recording medium, information processing method, and computer program
KR20070111603A (ko) 2006-05-18 2007-11-22 이상규 클라이언트 및 서버의 보안시스템
US20100107163A1 (en) * 2007-03-20 2010-04-29 Sanggyu Lee Movable virtual machine image
KR20070058390A (ko) 2007-03-23 2007-06-08 김용구 클라이언트 컴퓨터의 가상화와 서버 연동을 이용한 작업연속성과 일관성을 유지하는 시스템 및 그 방법
KR100926028B1 (ko) 2007-09-13 2009-11-11 어울림정보기술주식회사 정보 자원 관리 시스템
KR101489301B1 (ko) * 2008-03-20 2015-02-06 삼성전자주식회사 가상환경 시스템 및 그의 구동방법
US20100274886A1 (en) * 2009-04-24 2010-10-28 Nelson Nahum Virtualized data storage in a virtualized server environment
US8090797B2 (en) * 2009-05-02 2012-01-03 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments
CN103238305A (zh) * 2010-05-28 2013-08-07 安全第一公司 用于安全数据储存的加速器系统

Also Published As

Publication number Publication date
WO2011108877A3 (ko) 2012-02-09
KR20110100839A (ko) 2011-09-15
US20120331522A1 (en) 2012-12-27
US8713640B2 (en) 2014-04-29
WO2011108877A2 (ko) 2011-09-09

Similar Documents

Publication Publication Date Title
US11606374B2 (en) Analyzing client application behavior to detect anomalies and prevent access
CN107820604B (zh) 具有联网设备的计算机驱动系统的半虚拟化安全威胁防护
RU2714607C2 (ru) Двукратная самодиагностика памяти для защиты множества сетевых конечных точек
EP3029593B1 (en) System and method of limiting the operation of trusted applications in the presence of suspicious programs
US11831654B2 (en) Secure over-the-air updates
KR101089157B1 (ko) 클라이언트 가상화를 이용한 서버의 논리적 망분리 시스템 및 방법
US8353036B2 (en) Method and system for protecting cross-domain interaction of a web application on an unmodified browser
KR101700552B1 (ko) 보안 운영 체제 환경으로의 콘텍스트 기반 전환
US8601580B2 (en) Secure operating system/web server systems and methods
EP3314499B1 (en) Temporary process deprivileging
CN112653655A (zh) 汽车安全通信控制方法、装置、计算机设备及存储介质
Hong et al. Avguardian: Detecting and mitigating publish-subscribe overprivilege for autonomous vehicle systems
US9219728B1 (en) Systems and methods for protecting services
US8261328B2 (en) Trusted electronic communication through shared vulnerability
CN109359450B (zh) Linux系统的安全访问方法、装置、设备和存储介质
EP3036674B1 (en) Proof of possession for web browser cookie based security tokens
KR102201218B1 (ko) 모바일 단말의 보안 엔진의 접근 제어 시스템 및 방법
RU2790338C1 (ru) Система и способ контроля доступа к данным
EP4167523A1 (en) Network gateway and method for transferring data from a first network to a second network
US11671422B1 (en) Systems and methods for securing authentication procedures
US20230122924A1 (en) Network gateway and method for transferring data from a first network to a second network
Abhyankar et al. Selftrust-A Practical Approach for Trust Establishment
CN105912945A (zh) 一种操作系统安全加固装置及运行方法
CN113806716A (zh) 一种智能安全认证鉴权方法、装置及存储介质
CN117235818A (zh) 基于固态硬盘的加密认证方法、装置、计算机设备及介质

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: 20141128

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161128

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171128

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181128

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20191128

Year of fee payment: 9