KR20110041778A - Method for preventing information leakage of host apparatus - Google Patents
Method for preventing information leakage of host apparatus Download PDFInfo
- Publication number
- KR20110041778A KR20110041778A KR1020090098762A KR20090098762A KR20110041778A KR 20110041778 A KR20110041778 A KR 20110041778A KR 1020090098762 A KR1020090098762 A KR 1020090098762A KR 20090098762 A KR20090098762 A KR 20090098762A KR 20110041778 A KR20110041778 A KR 20110041778A
- Authority
- KR
- South Korea
- Prior art keywords
- system call
- host device
- storage medium
- portable storage
- port
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/032—Protect output to user by software means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명은 호스트 장치의 정보유출 차단방법에 관한 것으로서, 보다 구체적으로, 호스트 장치로부터 휴대용 저장매체로 복사되거나 휴대용 저장매체에 파일이 생성되는 것을 차단할 수 있는 호스트 장치의 정보유출 에 관한 것이다. The present invention relates to a method for preventing information leakage of a host device, and more particularly, to information leakage of a host device that can block a file from being copied to a portable storage medium or a file generated on the portable storage medium.
최근 개인 컴퓨터 뿐만 아니라 휴대용 저장 장치의 보급이 확대됨에 따라, 휴대용 저장 장치와 개인 컴퓨터 간의 데이터 전송을 제공하는 다양한 응용 서비스가 활발히 연구되고 있다. Recently, as the spread of portable storage devices as well as personal computers has been expanded, various application services providing data transmission between portable storage devices and personal computers have been actively studied.
사용자는 휴대용 저장 장치를 컴퓨터와 연결한 후, 컴퓨터에 저장된 정보를 휴대용 저장 장치에 복사하거나, 또는 그 반대의 동작을 쉽게 수행한다. 이는, 사용자가 보다 용이하게 정보를 공유할 수 있도록 한다.After the user connects the portable storage device with the computer, the user easily copies the information stored in the computer to the portable storage device or vice versa. This allows users to share information more easily.
그러나, 데이터 전송과 관련된 기술 및 응용 서비스가 발전함에 따라, 주요정보 또는 개인 정보가 휴대용 저장 장치를 통해 외부로 유출되는 경우가 빈번히 발생한다. 따라서, 컴퓨터와 같은 호스트 장치에 저장된 정보가 휴대용 저장 장치를 통해 유출되는 것을 차단할 수 있는 기술이 필요하다.However, as technology and application services related to data transmission have evolved, frequently the main information or personal information is leaked out through the portable storage device. Accordingly, there is a need for a technology that can prevent information stored in a host device such as a computer from leaking through a portable storage device.
상술한 바와 같이, 본 발명이 해결하고자 하는 과제는, 주요 정보가 휴대용 저장 장치를 통해 유출되는 것을 방지할 수 있는 호스트 장치의 정보유출 차단방법을 제공하는 것이다.As described above, the problem to be solved by the present invention is to provide a method of preventing information leakage of the host device that can prevent the main information from leaking through the portable storage device.
제안되는 호스트 장치의 정보유출 차단방법은, 호스트 장치에 휴대용 저장매체가 연결되면, 호스트 장치의 어플리케이션으로부터 커널로 전달되는 시스템 콜을 후킹하는 단계와, 후킹된 시스템 콜이 가상 포트를 통해 휴대용 저장매체로 전송되기 위한 콜인지 판단하는 단계, 및 판단 결과에 따라 시스템 콜의 전송을 차단하는 단계를 포함할 수 있다.The proposed method of preventing information leakage of the host device includes hooking a system call transmitted from an application of the host device to the kernel when the portable storage medium is connected to the host device, and hooking the system call to the portable storage medium through the virtual port. The method may include determining whether the call is to be transmitted to, and blocking transmission of the system call according to the determination result.
판단하는 단계는, 시스템 콜에 포함된 핸들(handle)을 분석하여 시스템 콜이 전송되기 위한 포트를 확인하는 단계와, 확인된 포트에 대해 설정된 포트의 타입을 확인하는 단계를 포함하며, 확인된 포트의 타입이 가상 포트이면, 시스템 콜의 전송을 차단할 수 있다.The determining may include analyzing a handle included in the system call to identify a port to which the system call is transmitted, and identifying a type of a port set for the identified port. If the type of the virtual port, it can block the transmission of the system call.
또한, 확인된 포트에 대해 설정된 접근권한 정책을 확인하는 단계를 더 포함하며, 설정된 접근권한 정책이 차단이면, 시스템 콜의 전송을 차단할 수 있다.The method may further include checking an access right policy set for the identified port. If the access right policy is blocked, transmission of a system call may be blocked.
설정된 접근권한 정책은 변경가능하다.The set access policy can be changed.
어플리케이션에게 시스템 콜의 전송이 차단되었음을 통지하는 단계를 더 포함할 수 있다.The method may further include notifying the application that the transmission of the system call is blocked.
호스트 장치에 휴대용 저장매체가 연결되면, 호스트 장치에 설치된 휴대용 저장매체용 싱크 프로그램이 시스템 콜을 생성하는 단계를 더 포함할 수 있다.When the portable storage medium is connected to the host device, the portable storage medium sink program installed in the host device may further include generating a system call.
시스템 콜은 파일의 생성 및 파일의 복사 중 하나일 수 있다.The system call can be one of creating a file and copying a file.
휴대용 저장매체는, 휴대 단말 또는 스마트 폰에 구비될 수 있다.The portable storage medium may be provided in a portable terminal or a smart phone.
한편, 제안되는 다른 호스트 장치의 정보유출 차단방법은, 호스트 장치와 휴대용 저장매체가 연결되는 단계와, 호스트 장치의 어플리케이션으로부터 휴대용 저장매체로 전달되는 시스템 콜을 후킹(hooking)하는 단계와, 후킹된 시스템 콜의 속성 정보를 확인하는 단계와, 확인된 속성 정보에 따라 시스템 콜의 전달을 차단하는 단계를 포함할 수 있다.On the other hand, the proposed method of preventing information leakage of the other host device, the step of connecting the host device and the portable storage medium, hooking a system call transferred from the application of the host device to the portable storage medium, and hooked The method may include checking property information of the system call and blocking delivery of the system call according to the identified property information.
연결되는 단계 이후, 연결된 휴대용 저장매체에게 이동식 드라이브 볼륨을 할당하는 단계를 더 포함할 수 있다.After the connecting step, the method may further include allocating a removable drive volume to the connected portable storage medium.
할당하는 단계는, 휴대용 저장매체를 USB(Universal Serial Bus) 이동식 디스크로 인식하여 이동식 드라이브 볼륨을 할당할 수 있다.In the assigning step, the portable storage medium may be recognized as a universal serial bus (USB) removable disk to allocate a removable drive volume.
시스템 콜에 포함된 경로 정보로부터 시스템 콜의 목적지를 확인하는 단계와, 목적지가 이동식 드라이브로 인식되는 휴대용 저장매체이면, 이동식 드라이브에 대해 설정된 접근권한 정책을 확인하는 단계를 더 포함하며, 확인된 접근권한 정책이 차단이면, 휴대용 저장매체로의 접근을 차단할 수 있다.Identifying the destination of the system call from the path information included in the system call; and if the destination is a portable storage medium recognized as a removable drive, checking the access permission policy set for the removable drive. If one policy is blocking, access to portable storage media can be blocked.
어플리케이션에게 시스템 콜의 전달이 차단되었음을 통지하는 단계를 더 포함할 수 있다.The method may further include notifying the application that delivery of the system call has been blocked.
분석하는 단계 이전에, 어플리케이션으로부터 커널로 전달되는 패킷을 후 킹(hooking)하는 단계를 더 포함할 수 있다. Prior to analyzing, the method may further include hooking a packet transferred from the application to the kernel.
본 발명에 의하면, 휴대용 저장매체를 호스트 장치에 연결 시 싱크 프로그램을 통해 휴대용 저장매체로 정보가 유출되는 것을 미연에 방지할 수 있다. 이는, 싱크 프로그램이 사용하는 가상 포트를 차단함으로써 호스트 장치로부터 휴대용 저장매체로 전송되는 데이터 전송을 제어할 수 있기 때문이다.According to the present invention, when the portable storage medium is connected to the host device, information leakage to the portable storage medium can be prevented through a sink program. This is because the data transmission from the host device to the portable storage medium can be controlled by blocking the virtual port used by the sink program.
또한, 본 발명에 의하면, 휴대용 저장매체를 이동식 메모리로 인식하고, 휴대용 저장매체로 파일이 복사, 생성되거나 또는 파일이 독출되는 것을 제어할 수 있다. 이로써, 호스트 장치에 저장된 주요 정보가 유출되는 것을 방지할 수 있다.In addition, according to the present invention, the portable storage medium may be recognized as a removable memory, and the file may be copied, generated, or read from the portable storage medium. As a result, it is possible to prevent the main information stored in the host device from leaking.
이하 첨부된 도면을 참조하여 본 발명의 실시예를 설명한다. 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. In describing the present invention, when it is determined that detailed descriptions of related known functions or configurations may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. Terminology used herein is a term used to properly express a preferred embodiment of the present invention, which may vary according to a user, an operator's intention, or a custom in the field to which the present invention belongs. Therefore, the definitions of the terms should be made based on the contents throughout the specification.
도 1은 제안되는 일 실시예에 따른 호스트 장치를 도시한 블록도이다.1 is a block diagram illustrating a host device according to an exemplary embodiment.
도 1의 호스트 장치(100)는 호스트 장치(100)에 유무선 통신가능하게 연결되는 휴대용 저장매체(10)가 가상 포트를 통해 연결된 경우, 호스트 장치(100)로부 터 휴대용 저장매체(10)로의 파일 복사 또는 파일 생성을 차단할 수 있다. The
호스트 장치(100)는 소프트웨어 설치가 가능한 기기로서, 개인용 컴퓨터를 예로 들 수 있다. 휴대용 저장매체(10)는 모바일폰, 스마트폰, PDA(Personal Digital Assistants) 등 이동성 저장매체 기능을 제공하는 기기일 수 있다.The
이를 위하여, 호스트 장치(100)는 어플리케이션부(110), 포트 접근 제어부(120), 정책 제공부(130), I/O(In/Out) 매니저(140) 및 인터페이스부(150)를 포함한다. 어플리케이션부(110)는 7계층 중 어플리케이션 레이어에 해당하며, 포트 접근 제어부(120), 정책 제공부(130) 및 I/O(In/Out) 매니저(140)는 OS 레이어에 해당하며, 인터페이스부(150)는 하드웨어 레이어에 해당한다.To this end, the
어플리케이션부(110)는 적어도 하나의 응용 프로그램을 포함한다. 예를 들어, 어플리케이션부(110)에는 휴대용 저장매체(10)에게 다양한 서비스를 제공하기 위한 싱크(SYNC) 프로그램이 설치된다.The
싱크 프로그램은 호스트 장치(100)와 휴대용 저장매체(10)가 정보를 공유할 수 있도록 하는 프로그램으로서, 사용자는 싱크 프로그램을 사용하여 호스트 장치(100)에 저장된 파일(문서, 음악, 이미지 등 다양함)을 휴대용 저장매체(10)에게 다운로딩할 수 있다.The sink program is a program that allows the
어플리케이션부(110)의 싱크 프로그램은 호스트 장치(100)에 휴대용 저장매체(10)가 연결되었음을 인식하고, 휴대용 저장매체(10)에게 가상 포트를 통해서 전송할 시스템 콜(system call)을 커널(kernel) 레이어로 출력할 수 있다. 시스템 콜은 IRP(In/Out Request Packet)의 일종으로서, 파일의 생성 또는 파일의 복사를 요 청할 수 있다. 시스템 콜은 싱크 프로그램이 자동으로 생성하거나 또는 사용자 요청에 따라 생성될 수 있다.The sink program of the
포트 접근 제어부(120)는 어플리케이션부(110)를 감시하여, 어플리케이션부(110)로부터 커널(kernel) 레이어로 출력되는 시스템 콜을 후킹(hooking)할 수 있다. 포트 접근 제어부(120)는 후킹된 시스템 콜을 분석하여 시스템 콜이 가상 포트로의 접속에 관련된 콜인지 판단한다.The port
구체적으로, 어플리케이션부(110)로부터 출력되는 시스템 콜은 핸들(handle)을 포함하고 있으며, 어플리케이션부(110)는 호스트 장치(100)에 마련된 복수의 포트들(150-1, …, 150-n, n은 양수) 중 어느 포트에 대한 시스템 콜인지를 알려주는 정보를 핸들에 포함시킬 수 있다. 이에 의해, 포트 접근 제어부(120)는 시스템 콜의 핸들을 분석하여 시스템 콜의 목적지를 판단할 수 있다.In detail, the system call output from the
포트 접근 제어부(120)는 COM 포트 리스트와 시스템 콜의 목적지인 타겟 포트를 비교하여, 타겟 포트가 가상 포트인지를 확인할 수 있다. 호스트 장치(100)는 복수의 포트들(150-1, …, 150-n)에 기기들이 연결되거나 가상 포트가 생성될 때마다 순차적으로 포트 리스트를 생성한다.The port
또는, 포트 접근 제어부(120)는 정책 제공부(130)로부터 제공되는 접근권한 정책과 확인된 타겟 포트를 비교하여 타겟 포트가 가상 포트인지를 확인할 수 있다.Alternatively, the port
포트 접근 제어부(120)는 타겟 포트가 가상 포트인 것으로 확인되고, 확인된 가상 포트에 대해 차단이라는 정책이 설정되어 있는 경우, 시스템 콜이 휴대용 저장매체(10)로 전송되는 것을 차단할 수 있다. 이로써, 어플리케이션부(110)로부터의 시스템 콜이 휴대용 저장매체(10)로 접근되는 것은 차단된다. 그리고, 포트 접근 제어부(120)는 어플리케이션부(110)에게 시스템 콜의 전송이 거부되었음을 보고한다.The port
반면, 확인된 타겟 포트가 가상 포트가 아니거나, 허용이라는 정책이 접근권한 정책에 설정되어 있는 경우, 포트 접근 제어부(120)는 시스템 콜을 타겟 포트에 대응하는 매체(예를 들어, 휴대용 저장매체)로 전송하도록, 시스템 콜을 I/O 매니저(140)에게 출력할 수 있다. 이러한 포트 접근 제어부(120)는 '*.sys' 형태로 호스트 장치(100)의 커널 레이어에 설치될 수 있다. *.sys의 일 예로 smss.exe를 예로 들 수 있다. SMSS(Session Management Subsystem)는 사용자 세션을 시작하는 기능을 담당한다.On the other hand, if the identified target port is not a virtual port, or the policy of allowing is set in the access right policy, the port
정책 제공부(130)는 시스템 콜의 전송을 차단하거나 허용하는 정책을 포트 별로 설정 및 저장할 수 있다. 사용자는 접근권한 정책을 설정하기 위한 프로그램을 이용하여 수동으로 접근권한을 설정하거나, 정책 제공부(130)가 자동으로 설정할 수 있다.The
예를 들어, 정책 제공부(130)는 복수의 포트들(150-1, …, 150-n) 중 가상 포트로 설정된 포트에 대해서는 차단이라는 정책을 설정한다. 또한, 정책 제공부(130)는 복수의 포트들(150-1, …, 150-n) 중 지정된 일반 포트에 대해서도 차단 또는 허용을 설정한다. 이러한 정책 제공부(130)는 '*.exe' 형태로 커널 레이어에 설치될 수 있다.For example, the
I/O 매니저(140)는 포트 접근 제어부(120)로부터 입력되는 시스템 콜을 해당 포트로 전송한다.The I /
인터페이스부(150)는 복수의 포트들(150-1, …, 150-n)을 포함한다. 복수의 포트들(150-1, …, 150-n)은 일반 직렬 포트(COM 포트) 또는 가상 직렬 포트를 포함한다.The
도 2는 제안되는 일 실시예에 따른 호스트 장치의 정보유출 차단방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating an information leakage blocking method of a host device according to an exemplary embodiment.
도 2를 참조하면, 210단계에서 호스트 장치(100)는 휴대용 저장매체(10)를 가상 포트를 통해 연결한다.2, in
220단계에서, 어플리케이션부(110)의 어플리케이션, 예를 들어, 싱크 프로그램은 휴대용 저장매체(10)와의 접속을 시도하고, 접속되면, 휴대용 저장매체(10)에게 전송할 시스템 콜을 생성하여 출력할 수 있다. 220단계에서 생성되는 시스템 콜은 파일 생성 또는 파일 복사 명령에 대한 것일 수 있다.In
230단계에서, 포트 접근 제어부(120)는 어플리케이션부(110)로부터 커널 레이어로 출력되는 시스템 콜을 후킹할 수 있다.In
240단계에서, 포트 접근 제어부(120)는 후킹된 시스템 콜의 핸들을 분석하여 시스템 콜이 전송될 목적지, 즉, 타겟 포트를 확인할 수 있다.In
250단계에서, 포트 접근 제어부(120)는 핸들 분석에 의해 확인된 타겟 포트와 정책 제공부(130)에 설정된 접근권한 정책을 비교할 수 있다. 접근권한 정책은 각 포트 별로, 시스템 콜을 차단할지 또는 허용할지를 나타내는 정책을 의미한다.In
260단계에서, 비교 결과, 확인된 타겟 포트가 가상 포트이고, 즉, 싱크 프로그램이 가상 포트를 사용하고, 가상 포트에 대해 차단이 설정되어 있으면, 270단계에서, 포트 접근 제어부(120)는 시스템 콜이 휴대용 저장매체(10)에 접근하는 것을 차단할 수 있다.In
280단계에서, 포트 접근 제어부(120)는 어플리케이션부(110)에게 시스템 콜의 전송이 거부되었음을 보고할 수 있다.In
반면, 290단계에서, 포트 접근 제어부(120)는 확인된 타겟 포트가 가상 포트가 아니거나, 허용이라는 정책이 접근권한 정책에 설정되어 있는 경우, 시스템 콜이 휴대용 저장매체(10)에 전송되도록 할 수 있다. 이로써, 시스템 콜은 I/O 매니저(140)를 경유하여 휴대용 저장매체(10)로 접근한다.On the other hand, in
상술한 제1실시예에 의하면, 가상 포트를 통해 연결된 휴대용 저장매체(10)에게 전송되는 시스템 콜을 후킹하고, 후킹된 시스템 콜의 목적지가 휴대용 저장매체(10)인 경우, 시스템 콜의 전송을 차단하는 것이 가능하다. 이로써, 호스트 장치(100)에 저장된 주요 정보가 휴대용 저장매체(10)에 복사되거나 새로운 파일로 생성되는 것을 방지할 수 있다.According to the first embodiment described above, a system call transmitted to a
또한, 사용자 또는 관리자는 휴대용 저장매체(10)에 문서를 저장해야 하는 경우, 차단정책 프로그램의 GUI(Graphic User Interface)를 이용하여, 가상 포트에 대해 설정된 접근권한 정책을 차단에서 허용으로 변경하고, 정보를 저장할 수 있음은 물론이다. 이 때, 사용자는 관리자로부터 사용 허가를 받은 후에 상기와 같이 접근권한 정책을 변경할 수 있다. 여기서 사용 허가는 웹(web)을 통한 전자적 승 인, 정책 변경에 필요한 비밀번호(password)의 공유, 사용자의 접근권한 레벨 변경 등 다양한 방식으로 이루어질 수 있다.In addition, when a user or an administrator needs to store a document in the
도 3은 제안되는 다른 실시예에 따른 호스트 장치를 도시한 블록도이다.3 is a block diagram illustrating a host device according to another exemplary embodiment.
도 3의 호스트 장치(300)는 호스트 장치(300)에 유무선 통신가능하게 연결되는 휴대용 저장매체(20)에게 이동식 드라이브 볼륨을 할당하며, 호스트 장치(300)로부터 휴대용 저장매체(20)로의 파일 복사 또는 파일 생성을 차단할 수 있다. The
호스트 장치(300)는 소프트웨어 설치가 가능한 기기로서, 개인용 컴퓨터를 예로 들 수 있다. 휴대용 저장매체(20)는 모바일폰, 스마일폰, PDA(Personal Digital Assistants) 등 이동성 저장매체 기능을 제공하는 기기일 수 있다.The
이를 위하여, 호스트 장치(300)는 어플리케이션부(310), 볼륨 접근 제어부(320), 정책 제공부(330), I/O 매니저(340), 파일 시스템 드라이버(350) 및 드라이버 유닛(360)을 포함할 수 있다.To this end, the
어플리케이션부(310)는 적어도 하나의 응용 프로그램을 포함한다. 예를 들어, 어플리케이션부(310)에는 문서 작성을 위한 프로그램, 이미지 편집을 위한 프로그램 등이 설치된다. 어플리케이션부(310)는 사용자의 명령에 따라 시스템 콜을 생성하여 커널 레이어로 출력할 수 있다. 시스템 콜은 IRP(In/Out Request Packet)의 일종으로서, 파일의 생성 또는 파일의 복사를 요청할 수 있다. The
볼륨 접근 제어부(320)는 초기 로드 시, 파일 시스템 볼륨과 디바이스 볼륨 사이의 매핑관계 정보를 I/O 매니저(340)를 통해 획득할 수 있다. 파일 시스템 볼 륨은 호스트 장치(300)의 파티션된 논리적인 볼륨이며, 디바이스 볼륨은 각 논리적인 볼륨에 대응하는 물리적인 디바이스 볼륨을 의미한다. 매핑관계 정보는 논리적 볼륨과 그에 매핑되는 물리적 디바이스 볼륨을 보여주는 정보이다. 응용 프로그램이 파일을 저장하려는 경우, 파일을 논리적 볼륨(예를 들어, d 드라이브)에 저장하게 되면, 제안하는 볼륨 접근 제어부(320)는 해당 논리적 볼륨(예를 들어, d 드라이브)에 매핑되는 물리적 디바이스 볼륨을 확인함으로써, 확인된 물리적 디바이스 볼륨이 휴대용 저장매체인지 판단할 수 있다. The volume
볼륨 접근 제어부(320)는 하드웨어 매체(예를 들어, 휴대용 저장매체, HDD)로의 접근권한 정책을 기반으로 I/O 매니저(340)와 파일 시스템 드라이버(350) 사이에서 접근제어 기능을 수행할 수 있다. The volume
이를 위하여, 볼륨 접근 제어부(320)는 어플리케이션부(310)를 감시하여, 어플리케이션부(310)로부터 커널 레이어로 출력되는 시스템 콜을 후킹(hooking) 할 수 있다. 볼륨 접근 제어부(320)는 후킹된 시스템 콜을 분석하여 시스템 콜의 속성 정보 및 경로 정보를 확인한다. 속성 정보는 시스템 콜의 속성을 포함하며, 경로 정보는 시스템 콜이 전송되고자 하는 목적지, 즉, 드라이브의 볼륨 정보(예를 들어, D 드라이브, F 드라이브)를 포함한다. To this end, the volume
확인 결과, 시스템 콜의 속성 정보가 파일 생성 또는 파일 복사 명령인 경우, 볼륨 접근 제어부(320)는 경로 정보로부터 목적지의 볼륨을 확인한다. 즉, 볼륨 접근 제어부(320)는 경로 정보로부터 목적지 및 목적지의 볼륨을 확인할 수 있다. 목적지가 휴대용 저장매체(20)인 경우, 목적지의 볼륨은 이동식 드라이브 볼 륨이다. As a result of the check, when the attribute information of the system call is a file creation or file copy command, the volume
볼륨 접근 제어부(320)는 정책 제공부(330)로부터 제공되는 접근권한 정책으로부터 이동식 드라이브의 볼륨에 대해 설정된 정책을 확인할 수 있다. 확인결과, 이동식 드라이브의 볼륨에 대해 접근권한 정책이 차단으로 설정된 경우, 볼륨 접근 제어부(320)는, 시스템 콜이 커널 레이어로 전달되는 것을 차단할 수 있다. 이에 의해, 시스템 콜은 휴대용 저장매체(20)로 전송되지 못한다. 그리고, 볼륨 접근 제어부(320)는 어플리케이션부(310)에게 시스템 콜의 전송이 차단되었음을 보고한다.The volume
반면, 이동식 드라이브의 볼륨에 대해 설정된 정책이 허용인 경우, 볼륨 접근 제어부(320)는 시스템 콜을 커널 레이어로 전달할 수 있다. 이에 의해, 시스템 콜은 휴대용 저장매체(20)로 전달되어 해당 동작을 수행할 수 있게 된다. 이러한 볼륨 접근 제어부(320)는 '*.sys' 형태로 호스트 장치(300)의 커널 레이어에 설치될 수 있다.On the other hand, if the policy set for the volume of the removable drive is allowed, the volume
정책 제공부(330)는 파일 시스템의 볼륨 변화를 감시하고, 볼륨 접근 제어부(320)에게 접근권한 정책을 제공할 수 있다. 이를 위하여, 정책 제공부(330)는 시스템 콜의 전송을 차단하거나 허가하는 정책을 각 드라이브 별 또는 각 드라이브의 볼륨 별로 설정 및 저장한다. 도 1을 참조하여 설명한 바와 같이, 사용자는 수동으로 정책을 설정하거나 또는 정책 프로그램이 자동으로 각 볼륨의 특성을 고려하여 정책을 설정할 수 있다. 자동으로 설정하는 경우, 정책 프로그램은 이동식 드라이버(363)에 연결되는 매체에 대해서는 차단을 디폴트값으로 설정하여 정보 유 출을 방지할 수 있다.The
예를 들어, 호스트 장치(300)의 HDD(Hard Disk Drive)가 C 드라이브 및 D 드라이브로 파티션 된 경우, 정책 제공부(330)에는 각 드라이브에 대한 접근권한 정책을 허용 또는 차단 중 하나로 설정된다. For example, when a hard disk drive (HDD) of the
또한, 이동식 드라이브로 인식되는 볼륨에 대해서는 차단이 설정될 수 있다. 따라서, USB(Universal Serial Bus) 드라이버가 호스트 장치(300)에 설치된 경우, USB 드라이버를 통해 연결되는 매체에 대해서는 파일의 복사 또는 생성이 차단될 수 있다.In addition, blocking may be set for a volume recognized as a removable drive. Therefore, when a universal serial bus (USB) driver is installed in the
이러한 정책 제공부(330)는 '*.exe' 형태로 커널 레이어 내부의 I/O 매니저(340)와 파일 시스템 드라이버(350) 사이에 설치될 수 있다. 정책 제공부(330)의 정책은 상술한 smss.exe에서 제공할 수 있다. 또한, 상술한 바와 같이 정책 내용은 사용자 또는 관리자에 의해 변경가능하다.The
I/O 매니저(340)는 커널 내의 입출력을 담당하며, 볼륨 접근 제어부(320)로부터 입력되는 시스템 콜을 해당 볼륨의 드라이버로 전송할 수 있다.The I /
파일 시스템 드라이버(350)는 커널 내에서 파일 시스템을 구현하는 디바이스 드라이버로서, HDD 드라이버(361), CD-ROM 드라이버(362) 또는 이동식 드라이버(363)를 제어하여 해당 파일을 독출하거나 각 드라이버(361, 362, 363)에 대응하는 저장매체에 파일을 복사시킬 수 있다. The
드라이버 유닛(360)의 HDD 드라이버(361)는 호스트 장치(300)에 설치된 HDD를 구동하는 드라이버이며, CD-ROM 드라이버(362)는 CD, DVD와 같은 광디스크를 구 동하는 드라이버이며, 이동식 드라이버(363)는 USB 메모리(예를 들어, 휴대용 저장매체(20))를 구동하는 드라이버이다. 휴대용 저장매체(20)가 이동식 드라이버(363)를 통해 연결되는 경우, 휴대용 저장매체(20)는 이동형 저장매체, 즉, USB 메모리로 인식된다. 이로써, 휴대용 저장매체(20)에게 이동식 드라이브 볼륨이 할당된다. The
도 4는 제안되는 다른 실시예에 따른 호스트 장치의 정보유출 차단방법을 설명하기 위한 흐름도이다.4 is a flowchart illustrating an information leakage blocking method of a host device according to another exemplary embodiment.
도 4를 참조하면, 400단계에서 호스트 장치(300)는 호스트 장치(300)에 연결된 휴대용 저장매체(20)에게 이동식 드라이브 볼륨을 할당할 수 있다.Referring to FIG. 4, in
410단계에서 볼륨 접근 제어부(320)는 어플리케이션부(310)로부터 커널 레이어로 출력되는 시스템 콜을 후킹(hooking) 할 수 있다. In
420단계에서 볼륨 접근 제어부(320)는 후킹된 시스템 콜을 분석하여 시스템 콜의 속성 정보 및 경로 정보를 확인할 수 있다. In
430단계에서 확인 결과, 시스템 콜의 속성 정보가 파일 생성 또는 파일 복사 명령이고, 440단계에서 시스템 콜의 경로 정보에 포함된 목적지가 이동식 드라이브이면, 450단계에서 볼륨 접근 제어부(320)는 접근권한 정책과 확인된 이동식 드라이브를 비교하여, 이동식 드라이브의 볼륨에 대해 설정된 정책을 확인할 수 있다. In
460단계에서 설정된 접근권한 정책이 차단이면, 470단계에서 볼륨 접근 제어부(320)는, 시스템 콜이 커널 레이어로 전달되는 것을 차단할 수 있다. 이에 의 해, 시스템 콜은 휴대용 저장매체(20)로 접근하지 못한다.If the access right policy set in
480단계에서, 볼륨 접근 제어부(320)는 어플리케이션부(310)에게 시스템 콜의 전송이 차단되었음을 보고할 수 있다.In
반면, 430단계에서 속성정보가 파일 생성 또는 파일 복사 명령이 아니면 490단계에서, 볼륨 접근 제어부(320)는 시스템 콜을 커널 레이어로 전달할 수 있다.On the other hand, if the attribute information is not a file creation or file copy command in
또한, 440단계에서 경로정보에 포함된 목적지가 이동식 드라이브가 아니면,속성정보가 파일 생성 또는 파일 복사 명령인 경우에도 볼륨 접근 제어부(320)는 490단계를 수행할 수 있다. In addition, if the destination included in the path information is not a removable drive in
또한, 460단계에서 확인된 접근권한 정책이 허용이면, 속성정보가 파일 생성 또는 파일 복사 명령이고, 시스템 콜의 목적지가 이동식 드라이브인 경우에도, 볼륨 접근 제어부(320)는 490단계를 수행할 수 있다.In addition, if the access right policy confirmed in
상술한 실시예에 의하면, 이동식 디스크로 인식되는 휴대용 저장매체(20)에 파일의 복사 또는 파일의 생성과 같은 시스템 콜이 발생하면, 기설정된 접근권한 정책에 의해, 시스템 콜이 휴대용 저장매체(20)에게 접근되는 프로세스는 차단될 수 있다. 이로써, 호스트 장치(300)로부터 휴대용 저장매체(20)로의 파일 복사, 파일 생성 등의 정보 유출을 방지하는 것이 가능하다.According to the above-described embodiment, when a system call such as copying a file or generating a file occurs in the
본 발명에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또 는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the present invention can be implemented in the form of program instructions that can be executed by various computer means and recorded on a computer readable medium. The computer readable medium may include a program command, a data file, a data structure, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. The medium may be a transmission medium such as an optical or metal line, a wave guide, or the like, including a carrier wave for transmitting a signal designating a program command, a data structure, or the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.
도 1은 제안되는 일 실시예에 따른 호스트 장치를 도시한 블록도,1 is a block diagram illustrating a host device according to an embodiment of the present disclosure;
도 2는 제안되는 일 실시예에 따른 호스트 장치의 정보유출 차단방법을 설명하기 위한 흐름도,2 is a flowchart illustrating a method of blocking information leakage of a host device according to an embodiment of the present disclosure;
도 3은 제안되는 다른 실시예에 따른 호스트 장치를 도시한 블록도, 그리고,3 is a block diagram illustrating a host device according to another proposed embodiment, and
도 4는 제안되는 다른 실시예에 따른 호스트 장치의 정보유출 차단방법을 설명하기 위한 흐름도이다.4 is a flowchart illustrating an information leakage blocking method of a host device according to another exemplary embodiment.
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090098762A KR101120372B1 (en) | 2009-10-16 | 2009-10-16 | Method for preventing information leakage of host apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090098762A KR101120372B1 (en) | 2009-10-16 | 2009-10-16 | Method for preventing information leakage of host apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110041778A true KR20110041778A (en) | 2011-04-22 |
KR101120372B1 KR101120372B1 (en) | 2012-02-24 |
Family
ID=44047576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090098762A KR101120372B1 (en) | 2009-10-16 | 2009-10-16 | Method for preventing information leakage of host apparatus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101120372B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101710328B1 (en) * | 2016-08-18 | 2017-02-27 | 주식회사 시큐브 | Os security kernel system supporting dynamic reconfiguration and change and method thereof |
KR20190047202A (en) | 2017-10-27 | 2019-05-08 | 서동일 | Saving screen information when oprating a specific program to prevent information leakage from PC Security system and its method |
KR102559482B1 (en) * | 2023-03-13 | 2023-07-26 | (주)디지탈센스 | IT equipment carry-in and carry-out management system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050063476A (en) * | 2003-12-22 | 2005-06-28 | 정주영 | Information security system |
KR101506577B1 (en) * | 2007-08-23 | 2015-03-27 | 삼성전자주식회사 | Method for autenticating between a software mobility device and a local host, method for creating I/O channel, and the device thereof |
-
2009
- 2009-10-16 KR KR1020090098762A patent/KR101120372B1/en active IP Right Grant
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101710328B1 (en) * | 2016-08-18 | 2017-02-27 | 주식회사 시큐브 | Os security kernel system supporting dynamic reconfiguration and change and method thereof |
KR20190047202A (en) | 2017-10-27 | 2019-05-08 | 서동일 | Saving screen information when oprating a specific program to prevent information leakage from PC Security system and its method |
KR102559482B1 (en) * | 2023-03-13 | 2023-07-26 | (주)디지탈센스 | IT equipment carry-in and carry-out management system |
Also Published As
Publication number | Publication date |
---|---|
KR101120372B1 (en) | 2012-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1946238B1 (en) | Operating system independent data management | |
CN102938039B (en) | For the selectivity file access of application | |
US9740468B2 (en) | Cloud-based application resource files | |
US11514157B2 (en) | Multi-user device | |
JP4287485B2 (en) | Information processing apparatus and method, computer-readable recording medium, and external storage medium | |
US20130269025A1 (en) | Resource access based on multiple scope levels | |
EP2867820B1 (en) | Devices, systems, and methods for monitoring and asserting trust level using persistent trust log | |
US8417969B2 (en) | Storage volume protection supporting legacy systems | |
WO2009110275A1 (en) | Classified information leakage prevention system and classified information leakage prevention method | |
KR101308351B1 (en) | Terminal and method for assigning a permission to application | |
CN100419620C (en) | Method for command interaction and two-way data transmission on USB mass storage equipment by program and USB mass storage equipment | |
JP2011086026A (en) | Information storage device and program, recording medium with the program recorded thereon, and information storage method | |
KR20120050742A (en) | Apparatus and method for managing digital rights through hooking process of kernel native api | |
US20090293058A1 (en) | Virtual system and method of restricting use of contents in the virtual system | |
JP2008242826A (en) | Information processing system and control method and program of information processing system | |
KR101275293B1 (en) | Network apparatus and Method for supporting network virtualization | |
KR101120372B1 (en) | Method for preventing information leakage of host apparatus | |
KR20120037381A (en) | Controlling access to software component state | |
KR20130079004A (en) | Mobile data loss prevention system and method for providing virtual security environment using file system virtualization on smart phone | |
GB2515736A (en) | Controlling access to one or more datasets of an operating system in use | |
US9015797B1 (en) | System and method of isolation of resources using resource manager | |
JP2005275812A (en) | Information processor and control method thereof, control program and storage medium | |
JP2009169868A (en) | Storage area access device and method for accessing storage area | |
KR100952484B1 (en) | Security module of authentificating portable storages such as usb memory devices, portable hdd and method of operating the security module | |
JP2016224709A (en) | File management system, file management method, and file management program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150128 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160129 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180109 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20200114 Year of fee payment: 9 |