KR101482903B1 - 데이터 유출 방지 방법, 서버 장치, 및 클라이언트 장치 - Google Patents

데이터 유출 방지 방법, 서버 장치, 및 클라이언트 장치 Download PDF

Info

Publication number
KR101482903B1
KR101482903B1 KR1020140013600A KR20140013600A KR101482903B1 KR 101482903 B1 KR101482903 B1 KR 101482903B1 KR 1020140013600 A KR1020140013600 A KR 1020140013600A KR 20140013600 A KR20140013600 A KR 20140013600A KR 101482903 B1 KR101482903 B1 KR 101482903B1
Authority
KR
South Korea
Prior art keywords
external storage
server
client
storage device
determining whether
Prior art date
Application number
KR1020140013600A
Other languages
English (en)
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 KR1020140013600A priority Critical patent/KR101482903B1/ko
Application granted granted Critical
Publication of KR101482903B1 publication Critical patent/KR101482903B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Abstract

데이터 유출 방지 방법, 서버 장치 및 클라이언트 장치가 개시된다. 일실시예에 따른 데이터 유출 방법은 가상 머신 위에 운영 체제를 활성화시키는 단계; 상기 서버 장치에 연결된 클라이언트 장치에 외부 저장 장치가 연결되었는지 여부를 검출하는 단계; 및 상기 외부 저장 장치가 상기 클라이언트 장치에 연결된 경우, 상기 외부 저장 장치가 상기 서버 장치에 액세스하는 것을 차단할지 여부를 결정하는 단계를 포함할 수 있다.

Description

데이터 유출 방지 방법, 서버 장치, 및 클라이언트 장치{METHOD FOR PREVENTING DATA LOSS, SERVER APPARATUS, CLIENT APPARATUS}
아래의 설명은 데이터 유출 방지 기술에 관한 것으로, 보다 구체적으로 클라이언트 장치를 통해 데이터가 외부로 유출되는 것을 방지하는 기술에 관한 것이다.
기업은 기업 내의 정보들이 외부로 유출되지 않기를 원한다.
해커에 의한 외부로부터의 침입은 네트워크를 통해서만 침입이 가능함으로, 네트워크 영역만을 감시하여 해결 가능하다. 이러한 외부 침입에 대해서는 방화벽, IPS 등 많은 보안 제품들이 존재하고 계속적으로 발전해나가고 있다.
이에 반해, 내부자 데이터 유출은 기업의 내부 직원 등과 같이 이미 내부 정보를 가지고 있거나, 혹은 사내 네트워크를 통해 내부 정보에 대해 쉽게 액세스 가능한 사람이 기업의 보안 정보를 유출하는 것을 말한다. 따라서, 이러한 내부자 데이터 유출이 심각한 이유는 유출 경로가 매우 다양하고, 이로 인해 내부 데이터 유출을 방지하는 것이 힘들며, 심지어 데이터의 내부 유출 여부조차 파악하기 힘들다는 점에 있다.
그리고 내부자 데이터 유출은 정보의 중요도를 잘 알고 있는 내부자에 의한 유출이기 때문에, 유출되면 기업에 치명적인 피해를 입힐 수 있는 중요한 정보가 유출되기 쉽다는 점에서 외부 침입에 의한 데이터 유출보다 더 위험하다.
최근에는, USB 플래시 메모리에 보안 문서를 저장하여 유출, 휴대폰에 USB 충전 케이블 또는 WiFi 내부 망 또는 다른 PC 외부 포트에 연결하고, 보안 문서를 휴대폰에 담아 유출, 개발 보드의 flash 메모리에 보안 문서를 담아서 유출하는 등의 일이 발생하여 사회적 문제가 되는 경우가 많다.
외부 저장 장치 등을 이용하여 내부적으로 데이터를 유출하는 것을 방지하기 위한 방법으로서, 종래에는 사용자 PC의 운영체제 커널(kernel)에 보안 모듈을 탑재하고, 인가되지 않은 저장 장치 혹은 네트워크 장치, 기타 장치가 H/W에 탑재가 되면 이를 차단하고, 이렇게 차단된 정보를 서버에 날려 보안 경고를 보내는 방법이 있다.
하지만, 위 방법은 다른 운영체제로 부팅하면 쉽게 보안이 해제 되어버리는 문제점을 가지고 있다. 보안 모듈은 해당 운영체제 커널에서만 유효하기 때문이다. 예를 들어, 사용자 PC에 Windows XP가 설치되어 있고, Windows XP 커널에 보안 모듈이 있어 외부 장치에 대해서 차단을 하고 있을 때, 리눅스 부팅 디스크로 부팅해버리면 해당 PC의 보안은 해제되어 버린다.
또한, 내부자 정보 유출 방지를 위해 VDI 솔루션은 좋은 방법이긴 하나, 보안 기술과 정책이 포함되지 않은 VDI 솔루션은 일반 PC나 다를 바 없다.
일실시예에 따른 데이터 유출 방지 방법은, 가상 머신 위에 운영 체제를 활성화시키는 단계; 상기 서버 장치에 연결된 클라이언트 장치에 외부 저장 장치가 연결되었는지 여부를 검출하는 단계; 및 상기 외부 저장 장치가 상기 클라이언트 장치에 연결된 경우, 상기 외부 저장 장치가 상기 서버 장치에 액세스하는 것을 차단할지 여부를 결정하는 단계를 포함할 수 있다.
일실시예에 따른 데이터 유출 방지 방법은, 상기 외부 저장 장치가 화이트 리스트에 포함되지 않는 장치이거나, 또는 상기 외부 저장 장치가 블랙 리스트에 포함되는 장치인 경우, 상기 외부 저장 장치의 액세스를 차단하거나 또는 상기 외부 저장 장치로 데이터가 전송되는 것을 차단하는 단계를 더 포함할 수 있다.
일실시예에 따른 서버 장치는, 외부 저장 장치가 상기 클라이언트 장치에 연결되었는지 여부를 검출하는 검출부; 및 상기 외부 저장 장치가 상기 클라이언트 장치에 연결된 경우, 상기 외부 저장 장치가 상기 서버 장치에 액세스하는 것을 차단할지 여부를 결정하는 제어부를 포함할 수 있다.
일실시예에 따른 클라이언트 장치는, 외부 저장 장치가 상기 클라이언트 장치에 연결되었는지 여부를 검출하는 클라이언트 모듈; 및 상기 외부 저장 장치가 상기 클라이언트 장치에 연결된 경우, 상기 외부 저장 장치가 상기 서버 장치에 액세스하는 것을 차단할지 여부를 결정하는 제어부를 포함할 수 있다.
다른 실시예에 따른 클라이언트 장치는, 외부 저장 장치가 상기 클라이언트 장치에 연결되었는지 여부를 검출하는 클라이언트 모듈; 및 상기 외부 저장 장치가 상기 클라이언트 장치에 연결된 경우, 상기 외부 저장 장치에 대한 연결 이벤트 메시지를 상기 서버 장치로 전송하도록 제어하는 제어부를 포함할 수 있고, 상기 서버 장치는 상기 클라이언트 장치로부터 상기 연결 이벤트 메시지를 수신하는 경우, 상기 외부 저장 장치가 상기 서버 장치에 액세스하는 것을 차단할지 여부를 결정할 수 있다.
도 1은 일실시예에 따른 데이터 유출 방지 시스템의 전체적인 동작을 설명하기 위한 도면이다.
도 2는 다른 실시예에 따른 데이터 유출 방지 시스템의 전체적인 동작을 설명하기 위한 도면이다.
도 3은 일실시예에 따른 서버 장치의 세부 구성을 도시한 도면이다.
도 4는 일실시예에 따른 클라이언트 장치의 세부 구성을 도시한 도면이다.
도 5는 일실시예에 따른 서버 장치의 감시 구조를 설명하기 위한 도면이다.
도 6 및 도 7은 일실시예에 따른 보안 소프트웨어 모듈에 대한 방해 작업이 감지된 경우의 데이터 유출 방지 동작을 설명하기 위한 도면이다.
도 8은 일실시예에 따른 데이터 유출 방지 방법의 동작을 도시한 흐름도이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 아래의 특정한 구조적 내지 기능적 설명들은 단지 발명의 실시예들을 설명하기 위한 목적으로 예시된 것으로, 발명의 범위가 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 안된다. 일실시예에 따른 데이터 유출 방지 방법은 서버 장치에 의해 수행될 수 있으며, 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 일실시예에 따른 데이터 유출 방지 시스템의 전체적인 동작을 설명하기 위한 도면이다.
도 1을 참고하면, 데이터 유출 방지 시스템은 서버 장치(110) 및 클라이언트 장치(120)를 포함할 수 있다.
서버 장치(110)는 서버 팜(server farm)을 구성하는 복수의 서버 장치(110)들 중 어느 하나일 수 있다. 서버 장치(110)는 클라이언트 장치(120)에 외부 저장 장치가 연결된 경우, 데이터가 클라이언트 장치(120)에 연결된 외부 저장 장치로 임의적으로 전송되는 것을 방지할 수 있다. 서버 장치(110)는 클라이언트 장치(120)에 연결된 외부 저장 장치가 허용되는 장치인지 여부를 판단하고, 판단 결과에 따라 외부 저장 장치의 액세스를 허용하거나 또는 외부 저장 장치의 액세스를 차단할 수 있다. 예를 들어, 외부 저장 장치는 USB 메모리, 외장 하드 디스크 등을 포함할 수 있다.
서버 장치(110)와 클라이언트 장치(120)는 네트워크를 통해 서로 연결될 수 있다. 클라이언트 장치(120)는 서버 장치(110)에 연결되어 서버 장치(110)의 자원을 이용할 수 있다. 클라이언트 장치(120)는 시스템 소프트웨어와 클라이언트 프로그램을 운용하고, 사용자의 제어에 의해 동작할 수 있다. 사용자는 클라이언트 장치(120)를 통해 서버 장치(110)의 자원에 액세스할 수 있으며, 서버 장치(110)의 승인 여부에 따라 서버 장치(110)로부터 데이터를 수신할 수 있다.
외부 저장 장치가 클라이언트 장치(120)에 연결되는 경우, 클라이언트 장치(120)는 외부 저장 장치가 클라이언트 장치(120)에 연결되었음을 나타내는 연결 이벤트 메시지를 서버 장치(110)에 전송할 수 있다. 또한, 클라이언트 장치(120)는 외부 저장 장치의 장치 정보를 서버 장치(110)에 전송할 수 있다.
다른 실시예에 따르면, 외부 저장 장치가 클라이언트 장치(120)에 연결되는 경우, 일차적으로 클라이언트 장치(120)가 외부 저장 장치가 서버 장치(110)에 액세스하는 것을 차단할지 여부를 결정할 수 있다. 클라이언트 장치(120)가 외부 저장 장치의 액세스를 승인하는 경우, 이차적으로 서버 장치(110)가 클라이언트 장치(120)에 연결된 외부 저장 장치의 액세스를 차단할지 여부를 결정할 수 있다. 클라이언트 장치(120)가 외부 저장 장치의 액세스를 승인하는 경우, 클라이언트 장치(120)는 외부 저장 장치가 클라이언트 장치(120)에 연결되었음을 나타내는 연결 이벤트 메시지와 외부 저장 장치의 장치 정보를 서버 장치(110)에 전송할 수 있다.
서버 장치(110)는 운영 체제(Operating System, OS) 내에서 가상 머신(virtual machine)을 활성화시키는 것이 아니라, 가상 머신 위에 운영 체제를 활성화시킬 수 있다. 예를 들어, 서버 장치(110)는 가상 머신 위에 운영 체제를 활성화시킴으로써, 운영 체제가 변경 또는 재설치되거나, 또는 보안 소프트웨어가 제거되더라도 가상 머신에서 이를 검출할 수 있다. 서버 장치(110)는 운영 체제가 변경 또는 재설치되거나, 또는 보안 소프트웨어가 제거되는 등의 보안 문제가 발생하면, 데이터의 유출을 차단하고 관리자에게 보안 문제의 발생을 보고할 수 있다. 서버 장치(110)는 클라이언트 장치(120)로 데이터를 전송하는 것이 허용되는 작업인지 여부를 판단함으로써, 내부의 중요한 데이터가 외부로 유출되는 것을 방지할 수 있다.
도 2는 다른 실시예에 따른 데이터 유출 방지 시스템의 전체적인 동작을 설명하기 위한 도면이다.
도 2를 참고하면, 유출 방지 시스템은 서버 장치(110), 클라이언트 장치(120), 및 관리 서버 장치(210)를 포함할 수 있다. 서버 장치(110) 및 클라이언트 장치(120)의 동작은 도 1에 기재된 내용을 참고할 수 있다.
관리 서버 장치(210)는 데이터 유출 방지 정책을 관리할 수 있고, 서버 장치(110) 또는 클라이언트 장치(120)에 데이터 유출 방지 정책을 전송할 수 있다. 예를 들어, 관리 서버 장치(210)는 서버 장치(110)로의 액세스가 허용되는 장치의 목록을 나타내는 화이트 리스트 및 서버 장치(110)로의 액세스가 허용되지 않는 장치의 목록을 나타내는 블랙 리스트를 관리할 수 있다. 화이트 리스트 및 블랙 리스트를 포함하는 데이터 유출 방지 정책은 서버 장치(110)에서 운용되는 각각의 운영 체제들마다 독립적으로 존재할 수 있다. 다른 예로, 특정한 데이터 유출 방지 정책이 모든 운영 체제들에 공통적으로 적용될 수도 있다.
관리 서버 장치(210)는 클라이언트 장치(120)로부터 외부 저장 장치가 연결되었음을 나타내는 연결 이벤트 메시지를 수신할 수 있고, 외부 저장 장치를 통한 데이터 유출 이벤트의 위험성 정도를 판단할 수 있다. 예를 들어, 관리 서버 장치(210)는 클라이언트 장치(120)로부터 수신한 외부 저장 장치의 장치 정보를 분석하여, 서버 장치(110)를 통해 데이터가 클라이언트 장치(120)에 연결된 외부 저장 장치로 유출될 위험성이 있는지 여부를 판단할 수 있다.
일실시예에 따르면, 데이터가 서버 장치(110)에서 클라이언트 장치(120)에 연결된 외부 저장 장치로 유출될 위험성이 있는 것으로 판단되는 경우, 관리 서버 장치(210)는 데이터의 유출을 방지하도록 서버 장치(110)를 제어하는 제어 메시지를 서버 장치(110)로 전송할 수 있다. 예를 들어, 관리 서버 장치(210)는 외부 저장 장치가 서버 장치(110)에 액세스하는 것을 차단하도록 제어하는 제어 메시지 또는 서버 장치(110)가 외부 저장 장치로 데이터를 전송하지 못하도록 제어하는 제어 메시지를 서버 장치(110)에 전송할 수 있다. 서버 장치(110)는 관리 서버 장치(210)로부터 수신한 제어 메시지에 따라 외부 저장 장치의 액세스를 차단하거나 또는 외부 저장 장치로의 데이터 전송을 차단할 수 있다. 반대로, 데이터가 서버 장치(110)에서 클라이언트 장치(120)에 연결된 외부 저장 장치로 유출될 위험성이 없는 것으로 판단되면, 관리 서버 장치(210)는 데이터의 전송을 허용하도록 제어하는 제어 메시지를 서버 장치(110)에 전송할 수 있다.
다른 실시예에 따르면, 데이터가 서버 장치(110)에서 클라이언트 장치(120)에 연결된 외부 저장 장치로 유출될 위험성이 있는 것으로 판단되는 경우, 관리 서버 장치(210)는 데이터의 유출을 방지하도록 클라이언트 장치(120)를 제어하는 제어 메시지를 클라이언트 장치(120)로 전송할 수 있다. 예를 들어, 관리 서버 장치(210)는 외부 저장 장치가 서버 장치(110)에 액세스하는 것을 차단하도록 제어하는 제어 메시지 클라이언트 장치(120)에 전송할 수 있다. 클라이언트 장치(120)는 관리 서버 장치(210)로부터 수신한 제어 메시지에 따라 외부 저장 장치의 연결을 차단하거나 또는 연결 이벤트 메시지를 서버 장치(110)에 전송하지 않을 수 있다. 반대로, 데이터가 서버 장치(110)에서 클라이언트 장치(120)에 연결된 외부 저장 장치로 유출될 위험성이 없는 것으로 판단되면, 관리 서버 장치(210)는 외부 저장 장치의 액세스를 허용하는 제어 메시지를 클라이언트 장치(120)에 전송할 수 있다. 관리 서버 장치(210)로부터 외부 저장 장치의 액세스를 허용하는 제어 메시지를 수신하는 경우, 클라이언트 장치(120)는 외부 저장 장치가 클라이언트 장치(120)에 연결되었음을 나타내는 연결 이벤트 메시지 및 외부 저장 장치의 장치 정보를 서버 장치(110)에 전송할 수 있다. 클라이언트 장치(120)로부터 연결 이벤트 메시지를 수신하는 경우, 서버 장치(110)는 이차적으로 클라이언트 장치(120)에 연결된 외부 저장 장치가 서버 장치(110)에 액세스하는 것을 차단할지 여부를 결정할 수 있다.
도 3은 일실시예에 따른 서버 장치(310)의 세부 구성을 도시한 도면이다.
도 3을 참고하면, 서버 장치(310)는 검출부(320) 및 제어부(330)를 포함할 수 있다.
제어부(330)는 가상 머신을 부팅시키고, 가상 머신이 부팅되면 가상 머신 위에 운영 체제를 부팅할 수 있다. 가상 머신이 부팅되면, 제어부(330)는 가상 머신을 통하여 서버 장치(310)에 연결된 장치를 검색하고, 초기화할 수 있다. 제어부(330)는 가상 머신 위에 운영 체제를 활성화시키고, 데이터 유출 이벤트의 발생 여부를 검출할 수 있다.
예를 들어, 제어부(330)는 플래시 롬(flash ROM)에 기록된 가상 머신 모듈을 이용하여 가상 머신을 실행시키고, 가상 머신을 이용하여 데이터 유출 이벤트의 발생 여부를 검출할 수 있다. 플래시 롬은 바이오스(BIOS)가 저장되는 장치로, 플래시 롬이 훼손되면 서버 장치(310)는 클라이언트 장치(340)의 액세스를 차단할 수 있다. 가상 머신을 실행하기 위한 가상 머신 모듈을 플래시 롬에 기록함으로써, 가상 머신 모듈이 임의로 수정되지 않도록 할 수 있고, 운영 체제보다 가상 머신이 먼저 부팅되는 것을 보장할 수 있다.
일실시예에 따르면, 제어부(330)는 클라이언트 장치(340)로부터 전송된 사용자 식별 정보에 기초하여 클라이언트 장치(340)의 사용자에 대한 인증 절차를 수행할 수 있다. 예를 들어, 사용자 식별 정보는 사용자의 아이디 정보, 비밀 번호 정보 등을 포함할 수 있다. 제어부(330)는 클라이언트 장치(340)를 사용하고 있는 사용자가 서버 장치(310)에 대한 액세스가 허용되는 사용자인지, 아니면 액세스가 허용되지 않는 사용자인지 여부를 판단할 수 있다. 제어부(330)는 클라이언트 장치(340)를 사용하고 있는 사용자의 인증이 실패한 경우, 클라이언트 장치(340)의 액세스를 차단할 수 있다.
검출부(320)는 외부 저장 장치가 클라이언트 장치(340)에 연결되었는지 여부를 검출할 수 있다. 예를 들어, 클라이언트 장치(340)로부터 외부 저장 장치가 연결되었음을 나타내는 연결 이벤트 메시지를 수신한 경우, 검출부(320)는 외부 저장 장치가 클라이언트 장치(340)에 연결되었다고 판단할 수 있다. 다른 예로, 검출부(320)는 클라이언트 장치(340)에 연결된 외부 저장 장치가 있는지 여부를 검색하고, 검색 결과에 기초하여 외부 저장 장치가 클라이언트 장치(340)에 연결되었는지 여부를 판단할 수 있다. 검출부(320)는 서버 장치(310)의 가상 머신을 통하여 클라이언트 장치(340)에 외부 저장 장치가 연결되었는지 여부를 판단할 수 있다.
제어부(330)는 외부 저장 장치가 클라이언트 장치(340)에 연결된 경우, 외부 저장 장치가 서버 장치(310)에 액세스하는 것을 차단할지 여부를 결정할 수 있다. 제어부(330)는 서버 장치(310)를 통해 전달되는 내부의 데이터가 클라이언트 장치(340)에 연결된 외부 저장 장치로 유출하는 것을 방지할 수 있다. 제어부(330)는 화이트 리스트 및 블랙 리스트 중 적어도 하나에 기초하여 외부 저장 장치가 허용되는 장치인지 여부를 판단하고, 판단 결과에 따라 외부 저장 장치가 서버 장치(310)에 액세스하는 것을 차단할지 여부를 결정할 수 있다.
예를 들어, 외부 저장 장치가 화이트 리스트에 포함되는 장치인 경우, 제어부(330)는 클라이언트 장치(340)에 연결된 외부 저장 장치의 액세스를 허용할 수 있고, 데이터를 외부 저장 장치로 전송할 수 있다. 다른 예로, 외부 저장 장치가 화이트 리스트에 포함되지 않은 장치이거나 또는 블랙 리스트에 포함되는 장치인 경우, 제어부(330)는 클라이언트 장치(340)에 연결된 외부 저장 장치의 액세스를 차단할 수 있다. 구체적으로, 제어부(330)는 외부 저장 장치가 서버 장치(310)의 가상 머신에 액세스하는 것을 차단할 수 있다.
다른 실시예에 따르면, 외부 저장 장치가 화이트 리스트에 포함되지 않은 장치이거나 또는 블랙 리스트에 포함되는 장치인 경우, 제어부(330)는 클라이언트 장치(340)에 연결된 외부 저장 장치의 액세스 권한을 제한할 수 있다. 예를 들어, 제어부(330)는 클라이언트 장치(340)에 연결된 외부 저장 장치가 서버 장치(310)가 관리하는 데이터를 판독(read)하는 것은 허용하나, 데이터가 클라이언트 장치(340)에 전송되어 클라이언트 장치(340)에 연결된 외부 저장 장치에 기록(write)되는 것은 차단할 수 있다. 클라이언트 장치(340)에 연결된 외부 저장 장치가 화이트 리스트에 포함되지 않는 장치이거나, 또는 블랙 리스트에 포함되는 장치인 경우, 서버 장치(310)가 관리하는 데이터가 외부 저장 장치로 전송되는 것을 차단할 수 있다.
일실시예에 따르면, 화이트 리스트 및 블랙 리스트는 관리 서버 장치(350)로부터 제공될 수 있다. 화이트 리스트 및 블랙 리스트는 관리 서버 장치(350)에 의해 업데이트될 수 있다. 제어부(330)는 관리 서버 장치(350)로부터 수신한 화이트 리스트 및 블랙 리스트에 기초하여 이전에 저장하고 있던 화이트 리스트 및 블랙 리스트를 업데이트할 수 있다. 일실시예에 따르면, 제어부(330)는 가상 머신에 기초하여 복수 개의 운영 체제들을 독립적으로 활성화시킬 수 있고, 화이트 리스트 및 블랙 리스트는 각각의 운영 체제들마다 독립적으로 결정될 수 있다.
클라이언트 장치(340)는 외부 저장 장치가 연결되면, 연결 이벤트 메시지를 서버 장치(310)에 전송하여 외부 저장 장치가 클라이언트 장치(340)에 연결되었음을 보고할 수 있고, 외부 저장 장치에 대한 장치 정보를 서버 장치(310)에 전송할 수 있다. 예를 들어, 장치 정보는 외부 저장 장치의 고유한 정보로서, 외부 저장 장치에 기록된 벤더ID(VendorID), 포트 정보 등을 포함할 수 있다.
제어부(330)는 클라이언트 장치(340)로부터 수신한 장치 정보를 이용하여 외부 저장 장치가 데이터 유출 방지 정책에 의해 허용되는 장치인지 여부를 판단할 수 있다. 예를 들어, 데이터 유출 방지 정책은 서버 장치(310)로의 액세스가 허용되는 장치들을 나타내는 화이트 리스트 및/또는 서버 장치(310)로의 액세스가 허용되지 않는 장치들을 나타내는 블랙 리스트를 포함할 수 있고, 제어부(330)는 외부 저장 장치의 장치 정보가 화이트 리스트 및/또는 블랙 리스트에 포함되어 있는지 여부를 판단하는 것에 의해, 클라이언트 장치(340)에 연결된 외부 연결 장치가 허용되는 장치인지 여부를 판단할 수 있다.
화이트 리스트 및/또는 블랙 리스트는 운영 체제의 인스턴스 별로 관리될 수 있다. 예를 들어, 서버 장치(310)는 복수의 가상 머신 위에 복수의 운영 체제들을 활성화시킬 수 있다. 이 경우, 각각의 운영 체제들은 인스턴스 ID에 의하여 식별될 수 있다. 서버 장치(310)는 클라이언트 장치(340)로부터 인스턴스 ID를 수신할 수 있다. 서버 장치(310)는 수신된 인스턴스 ID를 이용하여, 클라이언트 장치(340)가 복수의 운영 체제들 중 어느 운영 체제에 연결한 것인지를 판단할 수 있다. 이 때, 데이터 유출 방지 정책은 각각의 운영 체제들 별로 화이트 리스트 및/또는 블랙 리스트를 포함할 수 있다. 예를 들어, 제어부(330)는 외부 저장 장치의 장치 정보가 수신된 인스턴스 ID에 대응하는 화이트 리스트에 포함되어 있는지 여부를 판단함으로써 클라이언트 장치(340)에 연결된 외부 연결 장치가 허용되는 장치인지 여부를 판단할 수 있다.
다른 실시예에 따르면, 제어부(330)는 네트워크를 통하여 데이터가 서버 장치(310)의 외부로 전송되는지 여부를 검출할 수 있다. 예를 들어, 제어부(330)는 데이터가 네트워크를 통해 클라이언트 장치(340)로 전송되는 데이터 유출 이벤트가 발생하는 경우, 데이터 유출 방지 정책에 기초하여 데이터의 전송 여부를 결정할 수 있다. 서버 장치(310)의 외부로 데이터가 전송되는 것이 검출되는 경우, 제어부(330)는 서버 장치(310)의 외부로 데이터가 전송되는 것이 데이터 유출 방지 정책에 의해 허용되는지 여부를 판단할 수 있다. 예를 들어, 데이터 유출 방지 정책은 서버 장치(310)에 대하여 허용되는 네트워크를 통한 통신에 대한 규칙을 포함할 수 있고, 제어부(330)는 데이터 유출 방지 정책에 기초하여 데이터의 외부 전송이 허용되는지 여부를 판단할 수 있다. 서버 장치(310)의 외부로 데이터가 전송되는 것이 허용되지 않는 경우, 제어부(330)는 데이터의 전송을 차단할 수 있다. 따라서, 제어부(330)는 데이터가 네트워크를 통하여 임의로 유출되는 것을 방지할 수 있다.
이하, 구체적인 데이터 유출 이벤트 별로 서버 장치(310)의 데이터 유출 방지동작을 보다 자세히 설명하도록 한다.
제1 실시예로, 사용자가 클라이언트 장치(340)를 통해 서버 장치(310)로부터 데이터를 유출하기 위하여 클라이언트 장치(340)에 외부 저장 장치(예를 들어, USB 메모리 등)를 연결하는 경우에 서버 장치(310)가 수행하는 데이터 유출 방지 동작을 설명하도록 한다.
제어부(330)는 가상 머신 위에 운영 체제를 활성화시킬 수 있다. 예를 들어, 제어부(330)는 가상 머신 위에 리눅스, 윈도우 XP 등의 게스트 운영 체제를 활성화시킬 수 있다.
사용자가 클라이언트 장치(340)에 외부 저장 장치를 연결하는 경우, 클라이언트 장치(340)는 외부 저장 장치가 클라이언트 장치(340)에 연결되었음을 나타내는 연결 이벤트 메시지를 서버 장치(310)로 전송할 수 있다. 일실시예에 따르면, 제어부(330)는 클라이언트 장치(340)를 사용하고 있는 사용자를 인증하기 위하여 클라이언트 장치(340)로부터 수신한 사용자 정보 또는 클라이언트 장치(340)의 하드디스크 시리얼 넘버 등에 관한 정보를 관리 서버 장치(350)로 전송할 수 있다.
제어부(330)는 가상 머신을 통하여 클라이언트 장치(340)에 외부 저장 장치가 연결되었는지 여부를 결정할 수 있다. 클라이언트 장치(340)에 외부 저장 장치가 연결된 경우, 제어부(330)는 서버 장치(310)에 대한 액세스가 허용되는 외부 저장 장치인지 여부를 판단하고, 판단 결과에 따라 외부 저장 장치의 액세스 권한을 제한할 수 있다. 제어부(330)는 화이트 리스트 및/또는 블랙 리스트에 기초하여 클라이언트 장치(340)에 연결된 외부 저장 장치가 허용되는 장치인지 여부를 판단할 수 있다. 예를 들어, 외부 저장 장치가 화이트 리스트에 포함되는 장치인 경우, 제어부(330)는 클라이언트 장치(340)에 연결된 외부 저장 장치의 액세스를 허용할 수 있고, 데이터를 외부 저장 장치로 전송할 수 있다. 다른 예로, 외부 저장 장치가 화이트 리스트에 포함되지 않은 장치이거나 또는 블랙 리스트에 포함되는 장치인 경우, 제어부(330)는 클라이언트 장치(340)에 연결된 외부 저장 장치의 액세스를 차단할 수 있다.
제2 실시예로, 사용자가 클라이언트 장치(340)를 통해 서버 장치(310)의 운영 체제를 변경하거나 또는 재설치하는 경우에 서버 장치(310)의 데이터 유출 방지 동작을 설명하도록 한다.
제어부(330)는 가상 머신 위에 운영 체제를 활성화시킬 수 있다. 예를 들어, 제어부(330)는 가상 머신 위에 리눅스, 윈도우 XP 등의 게스트 운영 체제를 활성화시킬 수 있다.
사용자가 클라이언트 장치(340)를 통해 서버 장치(310)의 운영 체제에 액세스하고, 운영 체제의 시스템 파일을 변경하거나 삭제하는 등의 조작을 수행하는 경우, 제어부(330)는 가상 머신을 통해 운영 체제의 변경 또는 재설치 여부를 검출할 수 있다.
운영 체제의 변경 또는 재설치가 감지되는 경우, 제어부(330)는 관리 서버 장치(350)로부터 보안 소프트웨어를 수신하고, 수신한 보안 소프트웨어를 운영 체재에 설치할 수 있다.
예를 들어, 서버 장치(310)에서 가상 머신 위에 Windows XP의 운영 체제가 설치되고, 보안 소프트웨어로써, Dri_1.sys 드라이버와 App_1.exe 프로그램이 동작하는 경우, 관리 서버 장치(350)는 사용자가 서버 장치(310)에 액세스하여 운영 체제를 변경 또는 재설치하는 것에 대비하여 보안 소프트웨어(Dri_1.sys 드라이버 및 App_1.exe 프로그램)를 저장할 수 있다. 또한, 운영 체제의 변경 또는 재설치가 감지되면, 관리 서버 장치(350)는 서버 장치(310)로 보안 소프트웨어(Dri_1.sys 드라이버 및 App_1.exe 프로그램)를 전송할 수 있고, 제어부(330)는 보안 소프트웨어(Dri_1.sys 드라이버 및 App_1.exe 프로그램)를 수신하여 운영 체제에 설치할 수 있다.
제3 실시예로, 사용자가 클라이언트 장치(340)를 통해 서버 장치(310)에 설치된 보안 프로그램에 대한 방해 작업이 발생하는 경우에서 서버 장치(310)의 데이터 유출 방지 동작을 설명하도록 한다.
제어부(330)는 가상 머신 위에 운영 체제를 활성화시킬 수 있다. 예를 들어, 제어부(330)는 가상 머신 위에 리눅스, 윈도우 XP 등의 게스트 운영 체제를 활성화시킬 수 있다.
사용자가 클라이언트 장치(340)를 통해 서버 장치(310)에 설치된 보안 소프트웨어 모듈에 대한 방해 작업을 시도하는 경우, 제어부(330)는 보안 소프트웨어 모듈에 대한 방해 작업이 발생하는지 여부를 가상 머신을 통하여 검출할 수 있다.
보안 소프트웨어 모듈에 대한 방해 작업의 시도가 검출되는 경우, 제어부(330)는 가상 머신에서 제공되는 인터페이스를 통해 보안 소프트웨어 모듈의 변경을 방지하는 동작 및 가상 머신을 통하여 보안 소프트웨어 모듈에 대해 무적(Undefeatable) 공간을 제공하는 동작 중 어느 하나를 수행할 수 있다.
서버 장치(310)의 동작은 클라이언트 장치(340)에 연결된 외부 저장 장치로 데이터가 전송되는 것으로 제한되지 아니하며, 네트워크, 프로세서, 메모리 및 모든 입출력 장치로 데이터가 전송되는 것에 동일하게 적용될 수 있다.
도 4는 일실시예에 따른 클라이언트 장치(410)의 세부 구성을 도시한 도면이다.
도 4를 참고하면, 클라이언트 장치(410)는 클라이언트 모듈(420) 및 제어부(430)를 포함할 수 있다.
<일실시예에 따른 클라이언트 장치(410)>
일실시예에 따른 클라이언트 장치(410)는, 외부 저장 장치가 클라이언트 장치(410)에 연결된 경우, 외부 저장 장치가 서버 장치(440)에 액세스하는 것을 차단할지 여부를 결정할 수 있다. 클라이언트 장치(410)는 서버 장치(440)로 연결 이벤트 메시지를 전송하기 전에, 데이터 유출 방지 정책에 기초하여 외부 저장 장치의 액세스를 허용할지 여부를 결정할 수 있다.
일 예로, 클라이언트 장치(410)에 외부 저장 장치가 연결된 경우, 클라이언트 장치(410)는 데이터 유출 방지 정책에 기초하여 외부 저장 장치의 연결을 승인할지 여부를 결정하고, 외부 저장 장치가 승인되면 서버 장치(440)로 연결 이벤트 메시지를 전송할 수 있다. 외부 저장 장치가 승인되지 않는 경우, 클라이언트 장치(410)는 외부 저장 장치의 액세스를 차단할 수 있다.
클라이언트 모듈(420)은 클라이언트 프로그램을 운용할 수 있다. 예를 들어, 클라이언트 모듈(420)은 사용자 정보에 기초하여 사용자 인증을 수행하거나, 또는 하드디스크 시리얼 넘버 등 클라이언트 장치(410)의 하드웨어와 연관된 정보를 이용하여 사용자 인증을 수행할 수 있다.
클라이언트 장치(410)의 사용자에 대한 인증이 성공하는 경우, 클라이언트 모듈(420)은 클라이언트 장치(410)의 환경 검사를 수행할 수 있다. 클라이언트 모듈(420)은 외부 저장 장치가 클라이언트 장치(410)에 연결되었는지 여부를 검출할 수 있다. 예를 들어, 클라이언트 모듈(420)은 클라이언트 장치(410)에 인증되지 않은 하드디스크 또는 USB 장치 등이 연결되어 있는지 여부 등을 검사할 수 있다. 일실시예에 따른 제어부(430)는 클라이언트 장치(410)의 환경이 비정상적인 것으로 판단되는 경우, 관리 서버 장치(450)로 비정상적인 환경에 대한 정보를 전송하고, 사용자의 클라이언트 장치(410)에 대한 액세스를 차단할 수 있다.
제어부(430)는 외부 저장 장치가 클라이언트 장치(410)에 연결된 경우, 외부 저장 장치가 서버 장치(440)에 액세스하는 것을 차단할지 여부를 결정할 수 있다. 제어부(430)는 클라이언트 장치(410)에 연결된 외부 저장 장치의 장치 정보를 이용하여 외부 저장 장치가 데이터 유출 방지 정책에 의해 허용되는 장치인지 여부를 판단할 수 있다. 예를 들어, 데이터 유출 방지 정책은 액세스가 허용되는 장치들을 나타내는 화이트 리스트 및/또는 액세스가 허용되지 않는 장치들을 나타내는 블랙 리스트를 포함할 수 있다. 제어부(430)는 외부 저장 장치의 장치 정보에 기초하여 외부 저장 장치가 화이트 리스트 및/또는 블랙 리스트에 포함되어 있는지 여부를 판단하는 것에 의해, 클라이언트 장치(410)에 연결된 외부 연결 장치가 허용되는 장치인지 여부를 판단할 수 있다.
데이터 유출 방지 정책은 운영 체제의 인스턴스 별로 관리될 수 있다. 예를 들어, 서버 장치(440)에는 복수의 가상 머신 위에 복수의 운영 체제들이 활성화될 수 있다. 이 경우, 각각의 운영 체제들은 인스턴스 ID에 의하여 식별될 수 있다. 클라이언트 장치(410)는 현재 접속 중인 운영 체제의 인스턴스 ID를 이용하여 클라이언트 장치(340)가 복수의 운영 체제들 중 어느 운영 체제에 연결한 것인지를 판단할 수 있다. 이 때, 데이터 유출 방지 정책은 각각의 운영 체제들 별로 화이트 리스트 및/또는 블랙 리스트를 포함할 수 있다. 예를 들어, 제어부(330)는 외부 저장 장치의 장치 정보가 수신된 인스턴스 ID에 대응하는 화이트 리스트에 포함되어 있는지 여부를 판단함으로써 클라이언트 장치(340)에 연결된 외부 연결 장치가 허용되는 장치인지 여부를 판단할 수 있다.
일실시예에 따르면, 제어부(430)는 외부 저장 장치가 클라이언트 장치(410)에 연결되는 경우, 연결 이벤트 메시지를 관리 서버 장치(450)로 전송하고, 관리 서버 장치(450)로부터 연결 이벤트 메시지에 대응하는 제어 메시지를 수신할 수 있다. 제어부(430)는 관리 서버 장치(450)로부터 수신한 제어 메시지에 기초하여 외부 저장 장치의 액세스를 허용할지 여부를 결정할 수 있다. 외부 저장 장치의 액세스가 허용되는 경우, 제어부(430)는 연결 이벤트 메시지 및 외부 저장 장치의 장치 정보를 서버 장치(440)에 전송할 수 있다.
<다른 실시예에 따른 클라이언트 장치(410)>
다른 실시예에 따른 클라이언트 장치(410)는 클라이언트 장치(410)에 연결된 외부 저장 장치의 액세스 허용 여부를 결정하지 않고, 서버 장치(440)에 연결 이벤트 메시지를 전송할 수 있다. 연결 이벤트 메시지를 수신한 서버 장치(440)는 데이터 유출 방지 정책에 기초하여 클라이언트 장치(410)에 연결된 외부 저장 장치가 서버 장치(440)에 액세스하는 것을 차단할지 여부를 결정할 수 있다.
클라이언트 모듈(420)은 클라이언트 프로그램을 운용하고, 사용자 인증을 수행할 수 있다. 클라이언트 모듈(420)은 외부 저장 장치가 클라이언트 장치(410)에 연결되었는지 여부를 검출할 수 있다. 예를 들어, 클라이언트 모듈(420)은 클라이언트 장치(410)에 인증되지 않은 하드디스크 또는 USB 장치 등이 연결되어 있는지 여부 등을 검사할 수 있다.
제어부(430)는 외부 저장 장치가 클라이언트 장치(410)에 연결된 경우, 외부 저장 장치에 대한 연결 이벤트 메시지를 서버 장치(440)로 전송하도록 제어할 수 있다. 서버 장치(440)가 클라이언트 장치(410)로부터 연결 이벤트 메시지를 수신한 경우, 서버 장치(440)는 외부 저장 장치의 액세스 허용 여부를 결정할 수 있다. 서버 장치(440)는 클라이언트 장치(410)로부터 수신한 외부 저장 장치의 장치 정보를 이용하여 외부 저장 장치가 데이터 유출 방지 정책에 의해 허용되는 장치인지 여부를 판단할 수 있다.
예를 들어, 서버 장치(440)는 외부 저장 장치의 장치 정보가 화이트 리스트 및/또는 블랙 리스트에 포함되어 있는지 여부를 판단하는 것에 의해, 클라이언트 장치(410)에 연결된 외부 연결 장치가 허용되는 장치인지 여부를 판단할 수 있다. 외부 저장 장치가 화이트 리스트에 포함되지 않은 장치이거나 또는 블랙 리스트에 포함되는 장치인 경우, 서버 장치(440)는 클라이언트 장치(410)에 연결된 외부 저장 장치의 액세스를 차단하거나 또는 액세스 권한을 제한할 수 있다. 클라이언트 장치(410)에 연결된 외부 저장 장치가 화이트 리스트에 포함되지 않는 장치이거나, 또는 블랙 리스트에 포함되는 장치인 경우, 서버 장치(440)가 관리하는 데이터가 외부 저장 장치로 전송되는 것을 차단할 수 있다.
다른 예로, 제어부(430)는 외부 저장 장치가 클라이언트 장치(410)에 연결된 경우, 외부 저장 장치에 대한 연결 이벤트 메시지를 관리 서버 장치(450)로 전송하도록 제어할 수 있다. 클라이언트 장치(410)는 관리 서버 장치(450)로부터 연결 이벤트 메시지에 대응하는 제어 메시지를 수신하고, 수신한 제어 메시지에 기초하여 외부 저장 장치의 액세스를 허용할지 여부를 결정할 수 있다. 외부 저장 장치의 액세스가 허용되는 경우, 제어부(430)는 연결 이벤트 메시지를 서버 장치(440)에 전송할 수 있다.
도 5는 일실시예에 따른 서버 장치의 감시 구조를 설명하기 위한 도면이다.
도 5를 참조하면, 일실시예에 따른 서버 장치는 가상화를 제공하는 소프트웨어 계층인 하이퍼바이저(hypervisor)와 호스트 운영 체제(OS)(520)을 부팅시키고, 가상 머신(530)을 부팅할 수 있다. 하이퍼바이저는 가상화 머신 모니터(virtual machine monitor, VMM)으로도 지칭될 수 있다. 가상 머신(530)은 하드웨어(510) 기반 위에서 하드웨어(Hardware, H/W)(510)와 게스트 운영 체제(540)를 관리할 수 있다.
게스트 운영 체제(540)는 복수 개가 존재할 수 있고, 각각의 게스트 운영 체제(540)들은 서로 독립적으로 동작할 수 있다. 클라이언트 장치는 복수 개의 게스트 운영 체제(540)들 중 하나 이상의 게스트 운영 체제(540)에 연결할 수 있다. 예를 들어, 게스트 운영 체제(540)들은 윈도우 XP, 리눅스, 윈도우 7 등의 서로 다른 운영 체제를 포함할 수 있다.
일실시예에 따른 가상 머신(530)은 게스트 운영 체제(540)뿐만 아니라 또 다른 가상 머신도 관리할 수 있는 중첩된 가상 머신(Nested Hypervisor, VMM on VMM)일 수 있다.
서버 장치는 가상 머신(530)을 부팅한 이후에, 가상 머신(530) 위에 게스트 운영 체제(540)를 활성화시킴으로써, 게스트 운영 체제(540)가 하드웨어(510)에 요청하는 모든 정보는 가상 머신(530)을 통해 전달될 수 있다. 이에 따라, 가상 머신(530)은 게스트 운영 체제(540)에서 어떠한 요청이 전달되는지를 알 수 있는 슈퍼 권한을 갖게 되고, 사용자가 클라이언트 장치를 통해 내부 데이터를 유출하려고 할 때, 데이터 유출의 위험을 감지할 수 있다.
도 6 및 도 7은 일실시예에 따른 보안 소프트웨어 모듈에 대한 방해 작업이 감지된 경우의 데이터 유출 방지 동작을 설명하기 위한 도면이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 서버 장치(310)의 제어부(330)는, 보안 소프트웨어 모듈에 대한 방해 작업의 발생이 감지되는 경우, 가상 머신에서 제공되는 인터페이스를 통해 보안 소프트웨어 모듈의 변경을 방지할 수 있다.
보다 자세히 설명하면, 예를 들어, 기존의 모듈 A+(610), 모듈 B(611) 및 모듈 C(612)가 수행하던 동작에 대해서, 보호 대상인 모듈 A(620)가 가상 머신에게 자신의 보호 권한에 대한 인증을 요청할 수 있다. 이 때, 가상 머신은 해쉬(HASH) 및 암호화(Encryption) 등의 과정을 통하여 모듈 A(620)에 대한 인증 작업을 수행하고, 모듈 A(620)에 대한 인증에 성공하면 모듈 A(620)에게 인증에 성공하였음을 알릴 수 있다(600).
이후, 가상 머신은 모듈 A(620)에 대한 모니터링 과정을 수행하며(601), 각종 I/O 동작이나 특권 모드의 명령어에 대해서 운영 체제 이상의 권한을 가지고 모듈 A(620)에 대하여 선수 검사를 수행할 수 있다(603). 따라서, 가상 머신은 모듈 A(620)에게 영향을 미치는 모든 경우를 제한 및 제어할 수 있다.
또한, 가상 머신은 하드웨어 램(Hardware RAM)에 대한 1차적인 제어권을 가지고 하드웨어 램을 제어함으로써, 모듈 A(620)에 대한 인젝션(Injection)을 차단할 수 있다(302).
또한, 모듈 A(620)가 요청한 악의적인 방해 작업에 대한 리스트(Maliciouse List)를 참조하여, 가상 머신은 리스트에 포함되는 방해 작업(630)은 실행을 거부할 수 있다(604).
도 7을 참조하면, 본 발명의 일실시예에 따른 서버 장치(310)의 제어부(330)는, 보안 소프트웨어 모듈에 대한 방해 작업의 발생이 감지되는 경우, 가상 머신을 통하여 보안 소프트웨어 모듈에 대해 무적(Undefeatable) 공간을 제공할 수 있다.
보다 자세히 설명하면, 도 5에서 설명한 가상 머신의 역할이 동일하게 적용될 수 있으나, 다만, 모듈 및 방해 작업에 대한 정보는 관리자(Administrator, 710)를 통하여 갱신되거나(711) 또는 보안 서버 장치(Secure Server, 720)을 통하여 갱신될 수 있다(721).
승인 정책에 대해서는 사용자 및 그룹별로 설정이 가능하고, 외부 저장 장치에 대해 읽기/쓰기 권한 차단, 쓰기 권한 차단 등으로 분류하여, 사용자 별로 설정할 수 있다.
도 8은 일실시예에 따른 데이터 유출 방지 방법의 동작을 도시한 흐름도이다.
단계(810)에서, 서버 장치는 가상 머신 위에 운영 체제를 활성화시킬 수 있다. 예를 들어, 서버 장치는 가상 머신 위에 리눅스, 윈도우 XP 등의 게스트 운영 체제를 활성화시킬 수 있다. 각각의 게스트 운영 체제는 독립적으로 동작할 수 있다. 일실시예에 따르면, 서버 장치는 플래시 롬에 기록된 가상 머신 모듈을 이용하여 가상 머신을 실행시키고, 가상 머신 위에 운영 체제를 활성화시킬 수 있다.
단계(820)에서, 서버 장치는 클라이언트 장치에 외부 저장 장치가 연결되었는지 여부를 검출할 수 있다. 예를 들어, 클라이언트 장치부터 외부 저장 장치가 연결되었음을 나타내는 연결 이벤트 메시지를 수신한 경우, 서버 장치는 외부 저장 장치가 클라이언트 장치에 연결되었다고 판단할 수 있다. 다른 예로, 서버 장치는 클라이언트 장치에 연결된 외부 저장 장치가 있는지 여부를 검색하고, 검색 결과에 기초하여 외부 저장 장치가 클라이언트 장치에 연결되었는지 여부를 판단할 수 있다. 서버 장치는 가상 머신을 통하여 클라이언트 장치에 외부 저장 장치가 연결되었는지 여부를 판단할 수 있다.
단계(830)에서, 서버 장치는, 외부 저장 장치가 클라이언트 장치에 연결된 경우, 외부 저장 장치가 서버 장치에 액세스하는 것을 차단할지 여부를 결정할 수 있다. 예를 들어, 서버 장치는 화이트 리스트 및 블랙 리스트 중 적어도 하나에 기초하여 외부 저장 장치가 허용되는 장치인지 여부를 판단하고, 판단 결과에 따라 외부 저장 장치가 서버 장치에 액세스하는 것을 차단할지 여부를 결정할 수 있다.
단계(840)에서, 서버 장치는, 외부 저장 장치가 화이트 리스트에 포함되지 않는 장치이거나, 또는 외부 저장 장치가 블랙 리스트에 포함되는 장치인 경우, 외부 저장 장치의 액세스를 차단하거나 또는 외부 저장 장치로 데이터가 전송되는 것을 차단할 수 있다. 외부 저장 장치가 화이트 리스트에 포함되는 장치인 경우, 서버 장치는 클라이언트 장치에 연결된 외부 저장 장치의 액세스를 허용할 수 있고, 데이터를 외부 저장 장치로 전송할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
110: 서버 장치
120: 클라이언트 장치
210: 관리 서버 장치

Claims (19)

  1. 클라이언트 장치와 통신하는 서버 장치에 있어서,
    외부 저장 장치가 상기 클라이언트 장치에 연결되었는지 여부를 검출하는 검출부; 및
    상기 외부 저장 장치가 상기 클라이언트 장치에 연결된 경우, 상기 외부 저장 장치가 상기 서버 장치에 액세스하는 것을 차단할지 여부를 결정하는 제어부를 포함하고,
    상기 검출부는,
    상기 서버 장치의 가상 머신을 이용하여 상기 외부 저장 장치가 상기 클라이언트 장치에 연결되었는지 여부를 판단하는 것을 특징으로 하는 서버 장치.
  2. 제1항에 있어서,
    상기 제어부는,
    화이트 리스트 및 블랙 리스트 중 적어도 하나에 기초하여 상기 외부 저장 장치가 허용되는 장치인지 여부를 판단하고, 상기 판단 결과에 기초하여 상기 외부 저장 장치가 상기 서버 장치에 액세스하는 것을 차단할지 여부를 결정하는 것을 특징으로 하는 서버 장치.
  3. 제2항에 있어서,
    상기 제어부는,
    상기 외부 저장 장치가 화이트 리스트에 포함되지 않는 장치이거나, 또는 상기 외부 저장 장치가 블랙 리스트에 포함되는 장치인 경우, 상기 외부 저장 장치의 액세스를 차단하는 것을 특징으로 하는 서버 장치.
  4. 제2항에 있어서,
    상기 제어부는,
    상기 외부 저장 장치가 화이트 리스트에 포함되지 않는 장치이거나, 또는 상기 외부 저장 장치가 블랙 리스트에 포함되는 장치인 경우, 상기 외부 저장 장치로 데이터가 전송되는 것을 차단하는 것을 특징으로 하는 서버 장치.
  5. 클라이언트 장치와 통신하는 서버 장치에 있어서,
    외부 저장 장치가 상기 클라이언트 장치에 연결되었는지 여부를 검출하는 검출부; 및
    상기 외부 저장 장치가 상기 클라이언트 장치에 연결된 경우, 상기 외부 저장 장치가 상기 서버 장치에 액세스하는 것을 차단할지 여부를 결정하는 제어부를 포함하고,
    상기 제어부는,
    화이트 리스트 및 블랙 리스트 중 적어도 하나에 기초하여 상기 외부 저장 장치가 허용되는 장치인지 여부를 판단하고, 상기 판단 결과에 기초하여 상기 외부 저장 장치가 상기 서버 장치에 액세스하는 것을 차단할지 여부를 결정하고,
    상기 화이트 리스트 및 상기 블랙 리스트 중 적어도 하나는,
    상기 서버 장치가 운용하는 각각의 운영 체제들마다 독립적으로 결정되는 것을 특징으로 하는 서버 장치.
  6. 클라이언트 장치와 통신하는 서버 장치에 있어서,
    외부 저장 장치가 상기 클라이언트 장치에 연결되었는지 여부를 검출하는 검출부; 및
    상기 외부 저장 장치가 상기 클라이언트 장치에 연결된 경우, 상기 외부 저장 장치가 상기 서버 장치에 액세스하는 것을 차단할지 여부를 결정하는 제어부를 포함하고,
    상기 제어부는,
    화이트 리스트 및 블랙 리스트 중 적어도 하나에 기초하여 상기 외부 저장 장치가 허용되는 장치인지 여부를 판단하고, 상기 판단 결과에 기초하여 상기 외부 저장 장치가 상기 서버 장치에 액세스하는 것을 차단할지 여부를 결정하고,
    상기 화이트 리스트 및 상기 블랙 리스트 중 적어도 하나는,
    상기 서버 장치에 연결된 관리 서버 장치로부터 제공되거나, 또는 상기 관리 서버 장치에 의해 업데이트되는 것을 특징으로 하는 서버 장치.
  7. 삭제
  8. 클라이언트 장치와 통신하는 서버 장치에 있어서,
    외부 저장 장치가 상기 클라이언트 장치에 연결되었는지 여부를 검출하는 검출부; 및
    상기 외부 저장 장치가 상기 클라이언트 장치에 연결된 경우, 상기 외부 저장 장치가 상기 서버 장치에 액세스하는 것을 차단할지 여부를 결정하는 제어부를 포함하고,
    상기 서버 장치는,
    적어도 하나의 가상 머신 위에 복수 개의 운영 체제들을 독립적으로 활성화시키는 것을 특징으로 하는 서버 장치.
  9. 서버 장치와 통신하는 클라이언트 장치에 있어서,
    외부 저장 장치가 상기 클라이언트 장치에 연결되었는지 여부를 검출하는 클라이언트 모듈; 및
    상기 외부 저장 장치가 상기 클라이언트 장치에 연결된 경우, 상기 외부 저장 장치가 상기 서버 장치에 액세스하는 것을 차단할지 여부를 결정하는 제어부를 포함하고,
    상기 서버 장치는,
    적어도 하나의 가상 머신 위에 복수 개의 운영 체제들을 독립적으로 활성화시키는 것을 특징으로 하는 클라이언트 장치.
  10. 제9항에 있어서,
    상기 제어부는,
    화이트 리스트 및 블랙 리스트 중 적어도 하나에 기초하여 상기 외부 저장 장치가 허용되는 장치인지 여부를 판단하고, 상기 판단 결과에 기초하여 상기 외부 저장 장치가 상기 서버 장치에 액세스하는 것을 차단할지 여부를 결정하는 것을 특징으로 하는 클라이언트 장치.
  11. 제10항에 있어서,
    상기 제어부는,
    상기 외부 저장 장치가 화이트 리스트에 포함되지 않는 장치이거나, 또는 상기 외부 저장 장치가 블랙 리스트에 포함되는 장치인 경우, 상기 외부 저장 장치의 액세스를 차단하는 것을 특징으로 하는 클라이언트 장치.
  12. 제10항에 있어서,
    상기 화이트 리스트 및 상기 블랙 리스트 중 적어도 하나는,
    상기 서버 장치에 연결된 관리 서버 장치로부터 제공되거나, 또는 상기 관리 서버 장치에 의해 업데이트되는 것을 특징으로 하는 클라이언트 장치.
  13. 제9항에 있어서,
    상기 서버 장치는,
    상기 가상 머신을 이용하여 상기 외부 저장 장치의 액세스를 차단할지 여부를 결정하는 것을 특징으로 하는 클라이언트 장치.
  14. 제9항에 있어서,
    상기 클라이언트 모듈은,
    외부 저장 장치가 상기 클라이언트 장치에 연결된 경우, 상기 외부 저장 장치의 연결 이벤트 메시지 및 상기 외부 저장 장치의 장치 정보를 상기 서버 장치로 전송하는 것을 특징으로 하는 클라이언트 장치.
  15. 클라이언트 장치와 통신하는 서버 장치에 있어서,
    외부 저장 장치가 상기 클라이언트 장치에 연결되었는지 여부를 검출하는 검출부; 및
    상기 외부 저장 장치가 상기 클라이언트 장치에 연결된 경우, 상기 외부 저장 장치가 상기 서버 장치에 액세스하는 것을 차단할지 여부를 결정하는 제어부를 포함하고,
    상기 서버 장치는,
    하이퍼바이저 위에 적어도 하나의 운영체제를 위한 적어도 하나의 가상 머신을 활성화시키는 것을 특징으로 하는 서버 장치.
  16. 제15항에 있어서,
    상기 제어부는,
    상기 외부 저장 장치가 화이트 리스트에 포함되지 않는 장치이거나, 또는 상기 외부 저장 장치가 블랙 리스트에 포함되는 장치인 경우, 상기 외부 저장 장치로 데이터가 전송되는 것을 차단하는 것을 특징으로 하는 서버 장치.
  17. 서버 장치가 수행하는 데이터 유출 방지 방법에 있어서,
    가상 머신 위에 운영 체제를 활성화시키는 단계;
    상기 서버 장치에 연결된 클라이언트 장치에 외부 저장 장치가 연결되었는지 여부를 검출하는 단계; 및
    상기 외부 저장 장치가 상기 클라이언트 장치에 연결된 경우, 상기 외부 저장 장치가 상기 서버 장치에 액세스하는 것을 차단할지 여부를 결정하는 단계
    를 포함하는 데이터 유출 방지 방법.
  18. 제17항에 있어서,
    상기 외부 저장 장치가 화이트 리스트에 포함되지 않는 장치이거나, 또는 상기 외부 저장 장치가 블랙 리스트에 포함되는 장치인 경우, 상기 외부 저장 장치의 액세스를 차단하거나 또는 상기 외부 저장 장치로 데이터가 전송되는 것을 차단하는 단계
    를 더 포함하는 데이터 유출 방지 방법.
  19. 제17항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체.
KR1020140013600A 2014-02-06 2014-02-06 데이터 유출 방지 방법, 서버 장치, 및 클라이언트 장치 KR101482903B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140013600A KR101482903B1 (ko) 2014-02-06 2014-02-06 데이터 유출 방지 방법, 서버 장치, 및 클라이언트 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140013600A KR101482903B1 (ko) 2014-02-06 2014-02-06 데이터 유출 방지 방법, 서버 장치, 및 클라이언트 장치

Publications (1)

Publication Number Publication Date
KR101482903B1 true KR101482903B1 (ko) 2015-01-15

Family

ID=52589064

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140013600A KR101482903B1 (ko) 2014-02-06 2014-02-06 데이터 유출 방지 방법, 서버 장치, 및 클라이언트 장치

Country Status (1)

Country Link
KR (1) KR101482903B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101931779B1 (ko) * 2017-08-07 2018-12-21 한국전자통신연구원 가상 머신 내부의 파일 접근 모니터링 장치 및 그 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040070382A (ko) * 2003-02-03 2004-08-09 (주)디지탈센스 문서 유출 방지 시스템 및 방법
KR20060067179A (ko) * 2004-12-14 2006-06-19 (주)온소프텔 데이터의 보안 서비스 방법
JP2008077246A (ja) * 2006-09-19 2008-04-03 Broadleaf:Kk アクセス制御システム、およびアクセス制御方法
KR20090044177A (ko) * 2007-10-31 2009-05-07 주식회사 다산네트웍스 블랙리스트 기반의 침입 관리 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040070382A (ko) * 2003-02-03 2004-08-09 (주)디지탈센스 문서 유출 방지 시스템 및 방법
KR20060067179A (ko) * 2004-12-14 2006-06-19 (주)온소프텔 데이터의 보안 서비스 방법
JP2008077246A (ja) * 2006-09-19 2008-04-03 Broadleaf:Kk アクセス制御システム、およびアクセス制御方法
KR20090044177A (ko) * 2007-10-31 2009-05-07 주식회사 다산네트웍스 블랙리스트 기반의 침입 관리 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101931779B1 (ko) * 2017-08-07 2018-12-21 한국전자통신연구원 가상 머신 내부의 파일 접근 모니터링 장치 및 그 방법
US10965679B2 (en) 2017-08-07 2021-03-30 Electronics And Telecommunications Research Institute Apparatus for monitoring file access in virtual machine and method for the same

Similar Documents

Publication Publication Date Title
RU2703156C2 (ru) Системы и способы обеспечения компьютерной безопасности, использующие исключения асинхронной интроспекции
RU2679721C2 (ru) Аттестация хоста, содержащего доверительную среду исполнения
EP2106583B1 (en) Protecting operating-system resources
EP3103056B1 (en) Methods and apparatus for protecting operating system data
US8788763B2 (en) Protecting memory of a virtual guest
US8380987B2 (en) Protection agents and privilege modes
US8782351B2 (en) Protecting memory of a virtual guest
EP2973171B1 (en) Context based switching to a secure operating system environment
KR101281678B1 (ko) 이동 저장 장치에서 호스트 인증 방법, 호스트 인증을 위한정보 제공 방법, 장치, 및 기록매체
US10210326B2 (en) USB stack isolation for enhanced security
US20190171826A1 (en) Apparatus and method for blocking ransome ware using access control to the contents file
EP3688647B1 (en) Enclave handling on an execution platform
WO2018212474A1 (ko) 독립된 복원영역을 갖는 보조기억장치 및 이를 적용한 기기
US9064130B1 (en) Data loss prevention in the event of malware detection
KR20190021673A (ko) 랜섬웨어 방지 장치 및 방법
KR101673774B1 (ko) 가상화 시스템에서 파일 입출력 제어를 위한 방법
WO2017016231A1 (zh) 一种策略管理方法、系统及计算机存储介质
US20180189415A1 (en) Controlling access to one or more datasets of an operating system in use
US20220326863A1 (en) Data storage apparatus with variable computer file system
KR101290852B1 (ko) 가상 머신을 이용한 데이터 유출 방지 장치 및 방법
KR101482903B1 (ko) 데이터 유출 방지 방법, 서버 장치, 및 클라이언트 장치
KR101349807B1 (ko) 이동식 저장매체 보안시스템 및 그 방법
CN114730338A (zh) 用于发现应用程序篡改的系统和方法
KR101415403B1 (ko) 공유 가능한 보안공간 제공시스템 및 그 방법
Hadar et al. Self-aware Deployment Enforcement of Virtualized and Cloud-based Images.

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee