KR20110041778A - Method for preventing information leakage of host apparatus - Google Patents

Method for preventing information leakage of host apparatus Download PDF

Info

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
Application number
KR1020090098762A
Other languages
Korean (ko)
Other versions
KR101120372B1 (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 KR1020090098762A priority Critical patent/KR101120372B1/en
Publication of KR20110041778A publication Critical patent/KR20110041778A/en
Application granted granted Critical
Publication of KR101120372B1 publication Critical patent/KR101120372B1/en

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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/032Protect 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

PURPOSE: A method for blocking information leakage through a synchronizing program of a host device is provided to control data transmission by blocking a virtual port of a synchronizing program. CONSTITUTION: A portable storage medium is connected to a host device(210). The hooking of a system call operates(230). The system call is delivered from an application of the host device to a kernel. It is determined whether the system call is transmitted to the portable storage medium through a virtual port. The transmission of the system call is blocked according to a determination result(270).

Description

호스트 장치의 정보유출 차단방법{Method for preventing information leakage of host apparatus }Method for preventing information leakage of host apparatus}

본 발명은 호스트 장치의 정보유출 차단방법에 관한 것으로서, 보다 구체적으로, 호스트 장치로부터 휴대용 저장매체로 복사되거나 휴대용 저장매체에 파일이 생성되는 것을 차단할 수 있는 호스트 장치의 정보유출 에 관한 것이다. 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 host device 100 of FIG. 1 is a file from the host device 100 to the portable storage medium 10 when the portable storage medium 10 connected to the host device 100 via wired or wireless communication is connected through a virtual port. You can block copying or creating files.

호스트 장치(100)는 소프트웨어 설치가 가능한 기기로서, 개인용 컴퓨터를 예로 들 수 있다. 휴대용 저장매체(10)는 모바일폰, 스마트폰, PDA(Personal Digital Assistants) 등 이동성 저장매체 기능을 제공하는 기기일 수 있다.The host device 100 may be a device for installing software, and may include a personal computer as an example. The portable storage medium 10 may be a device that provides a mobile storage medium function, such as a mobile phone, a smart phone, and personal digital assistants (PDAs).

이를 위하여, 호스트 장치(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 host device 100 includes an application unit 110, a port access control unit 120, a policy providing unit 130, an I / O (In / Out) manager 140, and an interface unit 150. . The application unit 110 corresponds to an application layer among the seven layers, and the port access control unit 120, the policy provider 130, and the I / O (In / Out) manager 140 correspond to an OS layer. 150 corresponds to a hardware layer.

어플리케이션부(110)는 적어도 하나의 응용 프로그램을 포함한다. 예를 들어, 어플리케이션부(110)에는 휴대용 저장매체(10)에게 다양한 서비스를 제공하기 위한 싱크(SYNC) 프로그램이 설치된다.The application unit 110 includes at least one application program. For example, the application unit 110 is provided with a SYNC program for providing various services to the portable storage medium 10.

싱크 프로그램은 호스트 장치(100)와 휴대용 저장매체(10)가 정보를 공유할 수 있도록 하는 프로그램으로서, 사용자는 싱크 프로그램을 사용하여 호스트 장치(100)에 저장된 파일(문서, 음악, 이미지 등 다양함)을 휴대용 저장매체(10)에게 다운로딩할 수 있다.The sink program is a program that allows the host device 100 and the portable storage medium 10 to share information, and a user may use various programs such as documents, music, and images stored in the host device 100 using the sink program. ) Can be downloaded to the portable storage medium (10).

어플리케이션부(110)의 싱크 프로그램은 호스트 장치(100)에 휴대용 저장매체(10)가 연결되었음을 인식하고, 휴대용 저장매체(10)에게 가상 포트를 통해서 전송할 시스템 콜(system call)을 커널(kernel) 레이어로 출력할 수 있다. 시스템 콜은 IRP(In/Out Request Packet)의 일종으로서, 파일의 생성 또는 파일의 복사를 요 청할 수 있다. 시스템 콜은 싱크 프로그램이 자동으로 생성하거나 또는 사용자 요청에 따라 생성될 수 있다.The sink program of the application unit 110 recognizes that the portable storage medium 10 is connected to the host device 100, and sends a system call to the portable storage medium 10 through a virtual port. You can output to a layer. The system call is a kind of In / Out Request Packet (IRP), and may request creation or copying of a file. System calls can be generated automatically by the sink program or upon user request.

포트 접근 제어부(120)는 어플리케이션부(110)를 감시하여, 어플리케이션부(110)로부터 커널(kernel) 레이어로 출력되는 시스템 콜을 후킹(hooking)할 수 있다. 포트 접근 제어부(120)는 후킹된 시스템 콜을 분석하여 시스템 콜이 가상 포트로의 접속에 관련된 콜인지 판단한다.The port access control unit 120 may monitor the application unit 110 and hook a system call output from the application unit 110 to a kernel layer. The port access control unit 120 analyzes the hooked system call to determine whether the system call is a call related to a connection to a virtual port.

구체적으로, 어플리케이션부(110)로부터 출력되는 시스템 콜은 핸들(handle)을 포함하고 있으며, 어플리케이션부(110)는 호스트 장치(100)에 마련된 복수의 포트들(150-1, …, 150-n, n은 양수) 중 어느 포트에 대한 시스템 콜인지를 알려주는 정보를 핸들에 포함시킬 수 있다. 이에 의해, 포트 접근 제어부(120)는 시스템 콜의 핸들을 분석하여 시스템 콜의 목적지를 판단할 수 있다.In detail, the system call output from the application unit 110 includes a handle, and the application unit 110 includes a plurality of ports 150-1,..., 150-n provided in the host device 100. (n is a positive number) may include information indicating which port is a system call. As a result, the port access control unit 120 may determine the destination of the system call by analyzing the handle of the system call.

포트 접근 제어부(120)는 COM 포트 리스트와 시스템 콜의 목적지인 타겟 포트를 비교하여, 타겟 포트가 가상 포트인지를 확인할 수 있다. 호스트 장치(100)는 복수의 포트들(150-1, …, 150-n)에 기기들이 연결되거나 가상 포트가 생성될 때마다 순차적으로 포트 리스트를 생성한다.The port access control unit 120 may check whether the target port is a virtual port by comparing a COM port list with a target port that is a destination of a system call. The host device 100 sequentially generates a port list whenever devices are connected to the plurality of ports 150-1,..., 150-n or a virtual port is created.

또는, 포트 접근 제어부(120)는 정책 제공부(130)로부터 제공되는 접근권한 정책과 확인된 타겟 포트를 비교하여 타겟 포트가 가상 포트인지를 확인할 수 있다.Alternatively, the port access control unit 120 may determine whether the target port is a virtual port by comparing the access right policy provided from the policy provider 130 with the identified target port.

포트 접근 제어부(120)는 타겟 포트가 가상 포트인 것으로 확인되고, 확인된 가상 포트에 대해 차단이라는 정책이 설정되어 있는 경우, 시스템 콜이 휴대용 저장매체(10)로 전송되는 것을 차단할 수 있다. 이로써, 어플리케이션부(110)로부터의 시스템 콜이 휴대용 저장매체(10)로 접근되는 것은 차단된다. 그리고, 포트 접근 제어부(120)는 어플리케이션부(110)에게 시스템 콜의 전송이 거부되었음을 보고한다.The port access control unit 120 may determine that the target port is a virtual port, and when a blocking policy is set for the identified virtual port, the system call may be blocked from being transmitted to the portable storage medium 10. As a result, the system call from the application unit 110 is blocked from accessing the portable storage medium 10. In addition, the port access control unit 120 reports to the application unit 110 that the transmission of the system call is denied.

반면, 확인된 타겟 포트가 가상 포트가 아니거나, 허용이라는 정책이 접근권한 정책에 설정되어 있는 경우, 포트 접근 제어부(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 access control unit 120 makes a system call corresponding to the target port (for example, a portable storage medium). System call may be output to I / O manager 140. The port access control unit 120 may be installed in the kernel layer of the host device 100 in the form of '* .sys'. An example of * .sys is smss.exe. The Session Management Subsystem (SMSS) is responsible for initiating user sessions.

정책 제공부(130)는 시스템 콜의 전송을 차단하거나 허용하는 정책을 포트 별로 설정 및 저장할 수 있다. 사용자는 접근권한 정책을 설정하기 위한 프로그램을 이용하여 수동으로 접근권한을 설정하거나, 정책 제공부(130)가 자동으로 설정할 수 있다.The policy provider 130 may set and store a policy for each port that blocks or permits transmission of a system call. The user may manually set the access right by using a program for setting the access right policy, or the policy provider 130 may automatically set the access right.

예를 들어, 정책 제공부(130)는 복수의 포트들(150-1, …, 150-n) 중 가상 포트로 설정된 포트에 대해서는 차단이라는 정책을 설정한다. 또한, 정책 제공부(130)는 복수의 포트들(150-1, …, 150-n) 중 지정된 일반 포트에 대해서도 차단 또는 허용을 설정한다. 이러한 정책 제공부(130)는 '*.exe' 형태로 커널 레이어에 설치될 수 있다.For example, the policy provider 130 sets a policy of blocking for a port set as a virtual port among the plurality of ports 150-1,..., 150-n. In addition, the policy provider 130 sets a block or allow for the designated general port among the plurality of ports 150-1,..., 150-n. The policy provider 130 may be installed in the kernel layer in the form of '* .exe'.

I/O 매니저(140)는 포트 접근 제어부(120)로부터 입력되는 시스템 콜을 해당 포트로 전송한다.The I / O manager 140 transmits a system call input from the port access control unit 120 to the corresponding port.

인터페이스부(150)는 복수의 포트들(150-1, …, 150-n)을 포함한다. 복수의 포트들(150-1, …, 150-n)은 일반 직렬 포트(COM 포트) 또는 가상 직렬 포트를 포함한다.The interface unit 150 includes a plurality of ports 150-1,..., 150-n. The plurality of ports 150-1,..., 150-n include a general serial port (COM port) or a virtual serial port.

도 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 operation 210, the host device 100 connects the portable storage medium 10 through a virtual port.

220단계에서, 어플리케이션부(110)의 어플리케이션, 예를 들어, 싱크 프로그램은 휴대용 저장매체(10)와의 접속을 시도하고, 접속되면, 휴대용 저장매체(10)에게 전송할 시스템 콜을 생성하여 출력할 수 있다. 220단계에서 생성되는 시스템 콜은 파일 생성 또는 파일 복사 명령에 대한 것일 수 있다.In operation 220, the application of the application unit 110, for example, the sink program attempts to connect with the portable storage medium 10, and when connected, generates and outputs a system call to be transmitted to the portable storage medium 10. have. The system call generated in step 220 may correspond to a file creation or file copy command.

230단계에서, 포트 접근 제어부(120)는 어플리케이션부(110)로부터 커널 레이어로 출력되는 시스템 콜을 후킹할 수 있다.In operation 230, the port access control unit 120 may hook a system call output from the application unit 110 to the kernel layer.

240단계에서, 포트 접근 제어부(120)는 후킹된 시스템 콜의 핸들을 분석하여 시스템 콜이 전송될 목적지, 즉, 타겟 포트를 확인할 수 있다.In operation 240, the port access control unit 120 may analyze a handle of the hooked system call to identify a destination, that is, a target port, to which the system call is to be transmitted.

250단계에서, 포트 접근 제어부(120)는 핸들 분석에 의해 확인된 타겟 포트와 정책 제공부(130)에 설정된 접근권한 정책을 비교할 수 있다. 접근권한 정책은 각 포트 별로, 시스템 콜을 차단할지 또는 허용할지를 나타내는 정책을 의미한다.In operation 250, the port access control unit 120 may compare the target port identified by the handle analysis with the access right policy set in the policy providing unit 130. The access right policy refers to a policy indicating whether to block or allow a system call for each port.

260단계에서, 비교 결과, 확인된 타겟 포트가 가상 포트이고, 즉, 싱크 프로그램이 가상 포트를 사용하고, 가상 포트에 대해 차단이 설정되어 있으면, 270단계에서, 포트 접근 제어부(120)는 시스템 콜이 휴대용 저장매체(10)에 접근하는 것을 차단할 수 있다.In step 260, if the checked target port is the virtual port, that is, the sink program uses the virtual port, and the blocking is set for the virtual port, in step 270, the port access control unit 120 calls the system call. Access to the portable storage medium 10 can be blocked.

280단계에서, 포트 접근 제어부(120)는 어플리케이션부(110)에게 시스템 콜의 전송이 거부되었음을 보고할 수 있다.In operation 280, the port access control unit 120 may report that the transmission of the system call is denied to the application unit 110.

반면, 290단계에서, 포트 접근 제어부(120)는 확인된 타겟 포트가 가상 포트가 아니거나, 허용이라는 정책이 접근권한 정책에 설정되어 있는 경우, 시스템 콜이 휴대용 저장매체(10)에 전송되도록 할 수 있다. 이로써, 시스템 콜은 I/O 매니저(140)를 경유하여 휴대용 저장매체(10)로 접근한다.On the other hand, in step 290, the port access control unit 120, if the identified target port is not a virtual port, or if the policy of allowing permission is set in the access rights policy, the system call to be transmitted to the portable storage medium 10 Can be. As a result, the system call accesses the portable storage medium 10 via the I / O manager 140.

상술한 제1실시예에 의하면, 가상 포트를 통해 연결된 휴대용 저장매체(10)에게 전송되는 시스템 콜을 후킹하고, 후킹된 시스템 콜의 목적지가 휴대용 저장매체(10)인 경우, 시스템 콜의 전송을 차단하는 것이 가능하다. 이로써, 호스트 장치(100)에 저장된 주요 정보가 휴대용 저장매체(10)에 복사되거나 새로운 파일로 생성되는 것을 방지할 수 있다.According to the first embodiment described above, a system call transmitted to a portable storage medium 10 connected through a virtual port is hooked, and if the destination of the hooked system call is a portable storage medium 10, transmission of the system call is performed. It is possible to cut off. As a result, it is possible to prevent the main information stored in the host device 100 from being copied to the portable storage medium 10 or generated as a new file.

또한, 사용자 또는 관리자는 휴대용 저장매체(10)에 문서를 저장해야 하는 경우, 차단정책 프로그램의 GUI(Graphic User Interface)를 이용하여, 가상 포트에 대해 설정된 접근권한 정책을 차단에서 허용으로 변경하고, 정보를 저장할 수 있음은 물론이다. 이 때, 사용자는 관리자로부터 사용 허가를 받은 후에 상기와 같이 접근권한 정책을 변경할 수 있다. 여기서 사용 허가는 웹(web)을 통한 전자적 승 인, 정책 변경에 필요한 비밀번호(password)의 공유, 사용자의 접근권한 레벨 변경 등 다양한 방식으로 이루어질 수 있다.In addition, when a user or an administrator needs to store a document in the portable storage medium 10, by using a graphical user interface (GUI) of the blocking policy program, the access right policy set for the virtual port is changed from blocking to allowing, Of course, information can be stored. In this case, the user may change the access right policy as described above after receiving the permission from the administrator. Here, the permission may be made in various ways such as electronic approval through the web, sharing of passwords required for policy change, and changing the access level of the user.

도 3은 제안되는 다른 실시예에 따른 호스트 장치를 도시한 블록도이다.3 is a block diagram illustrating a host device according to another exemplary embodiment.

도 3의 호스트 장치(300)는 호스트 장치(300)에 유무선 통신가능하게 연결되는 휴대용 저장매체(20)에게 이동식 드라이브 볼륨을 할당하며, 호스트 장치(300)로부터 휴대용 저장매체(20)로의 파일 복사 또는 파일 생성을 차단할 수 있다. The host device 300 of FIG. 3 allocates a removable drive volume to the portable storage medium 20 connected to the host device 300 in a wired or wireless communication, and copies files from the host device 300 to the portable storage medium 20. Or you can block file creation.

호스트 장치(300)는 소프트웨어 설치가 가능한 기기로서, 개인용 컴퓨터를 예로 들 수 있다. 휴대용 저장매체(20)는 모바일폰, 스마일폰, PDA(Personal Digital Assistants) 등 이동성 저장매체 기능을 제공하는 기기일 수 있다.The host device 300 is a device for installing software, and may be a personal computer as an example. The portable storage medium 20 may be a device that provides a mobile storage medium function such as a mobile phone, a smile phone, and a personal digital assistant (PDA).

이를 위하여, 호스트 장치(300)는 어플리케이션부(310), 볼륨 접근 제어부(320), 정책 제공부(330), I/O 매니저(340), 파일 시스템 드라이버(350) 및 드라이버 유닛(360)을 포함할 수 있다.To this end, the host device 300 may include the application unit 310, the volume access control unit 320, the policy providing unit 330, the I / O manager 340, the file system driver 350, and the driver unit 360. It may include.

어플리케이션부(310)는 적어도 하나의 응용 프로그램을 포함한다. 예를 들어, 어플리케이션부(310)에는 문서 작성을 위한 프로그램, 이미지 편집을 위한 프로그램 등이 설치된다. 어플리케이션부(310)는 사용자의 명령에 따라 시스템 콜을 생성하여 커널 레이어로 출력할 수 있다. 시스템 콜은 IRP(In/Out Request Packet)의 일종으로서, 파일의 생성 또는 파일의 복사를 요청할 수 있다. The application unit 310 includes at least one application program. For example, the application unit 310 is provided with a program for creating a document, a program for image editing, and the like. The application unit 310 may generate a system call according to a user's command and output the generated system call to the kernel layer. The system call is a kind of In / Out Request Packet (IRP) and may request creation or copy of a file.

볼륨 접근 제어부(320)는 초기 로드 시, 파일 시스템 볼륨과 디바이스 볼륨 사이의 매핑관계 정보를 I/O 매니저(340)를 통해 획득할 수 있다. 파일 시스템 볼 륨은 호스트 장치(300)의 파티션된 논리적인 볼륨이며, 디바이스 볼륨은 각 논리적인 볼륨에 대응하는 물리적인 디바이스 볼륨을 의미한다. 매핑관계 정보는 논리적 볼륨과 그에 매핑되는 물리적 디바이스 볼륨을 보여주는 정보이다. 응용 프로그램이 파일을 저장하려는 경우, 파일을 논리적 볼륨(예를 들어, d 드라이브)에 저장하게 되면, 제안하는 볼륨 접근 제어부(320)는 해당 논리적 볼륨(예를 들어, d 드라이브)에 매핑되는 물리적 디바이스 볼륨을 확인함으로써, 확인된 물리적 디바이스 볼륨이 휴대용 저장매체인지 판단할 수 있다. The volume access control unit 320 may obtain mapping relationship information between the file system volume and the device volume through the I / O manager 340 at the initial load. The file system volume is a partitioned logical volume of the host device 300, and the device volume refers to a physical device volume corresponding to each logical volume. Mapping relationship information is information showing a logical volume and a physical device volume mapped thereto. When an application wants to store a file, if the file is stored on a logical volume (eg, d drive), the proposed volume access control 320 may be physically mapped to that logical volume (eg, d drive). By checking the device volume, it may be determined whether the identified physical device volume is a portable storage medium.

볼륨 접근 제어부(320)는 하드웨어 매체(예를 들어, 휴대용 저장매체, HDD)로의 접근권한 정책을 기반으로 I/O 매니저(340)와 파일 시스템 드라이버(350) 사이에서 접근제어 기능을 수행할 수 있다. The volume access control unit 320 may perform an access control function between the I / O manager 340 and the file system driver 350 based on an access right policy to a hardware medium (eg, a portable storage medium or an HDD). have.

이를 위하여, 볼륨 접근 제어부(320)는 어플리케이션부(310)를 감시하여, 어플리케이션부(310)로부터 커널 레이어로 출력되는 시스템 콜을 후킹(hooking) 할 수 있다. 볼륨 접근 제어부(320)는 후킹된 시스템 콜을 분석하여 시스템 콜의 속성 정보 및 경로 정보를 확인한다. 속성 정보는 시스템 콜의 속성을 포함하며, 경로 정보는 시스템 콜이 전송되고자 하는 목적지, 즉, 드라이브의 볼륨 정보(예를 들어, D 드라이브, F 드라이브)를 포함한다. To this end, the volume access control unit 320 may monitor the application unit 310 and hook a system call output from the application unit 310 to the kernel layer. The volume access control unit 320 analyzes the hooked system call and checks property information and path information of the system call. The attribute information includes attributes of the system call, and the route information includes volume information (eg, D drive, F drive) of a destination to which the system call is to be transmitted, that is, a drive.

확인 결과, 시스템 콜의 속성 정보가 파일 생성 또는 파일 복사 명령인 경우, 볼륨 접근 제어부(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 access control unit 320 checks the volume of the destination from the path information. That is, the volume access control unit 320 may check the destination and the volume of the destination from the route information. If the destination is a portable storage medium 20, the volume of the destination is a removable drive volume.

볼륨 접근 제어부(320)는 정책 제공부(330)로부터 제공되는 접근권한 정책으로부터 이동식 드라이브의 볼륨에 대해 설정된 정책을 확인할 수 있다. 확인결과, 이동식 드라이브의 볼륨에 대해 접근권한 정책이 차단으로 설정된 경우, 볼륨 접근 제어부(320)는, 시스템 콜이 커널 레이어로 전달되는 것을 차단할 수 있다. 이에 의해, 시스템 콜은 휴대용 저장매체(20)로 전송되지 못한다. 그리고, 볼륨 접근 제어부(320)는 어플리케이션부(310)에게 시스템 콜의 전송이 차단되었음을 보고한다.The volume access control unit 320 may check the policy set for the volume of the removable drive from the access right policy provided from the policy provider 330. As a result of the check, when the access right policy is set to block the volume of the removable drive, the volume access control unit 320 may block the system call from being transmitted to the kernel layer. As a result, the system call cannot be transmitted to the portable storage medium 20. In addition, the volume access control unit 320 reports to the application unit 310 that the transmission of the system call is blocked.

반면, 이동식 드라이브의 볼륨에 대해 설정된 정책이 허용인 경우, 볼륨 접근 제어부(320)는 시스템 콜을 커널 레이어로 전달할 수 있다. 이에 의해, 시스템 콜은 휴대용 저장매체(20)로 전달되어 해당 동작을 수행할 수 있게 된다. 이러한 볼륨 접근 제어부(320)는 '*.sys' 형태로 호스트 장치(300)의 커널 레이어에 설치될 수 있다.On the other hand, if the policy set for the volume of the removable drive is allowed, the volume access control unit 320 may transmit a system call to the kernel layer. As a result, the system call is transferred to the portable storage medium 20 to perform the corresponding operation. The volume access control unit 320 may be installed in the kernel layer of the host device 300 in the form of '* .sys'.

정책 제공부(330)는 파일 시스템의 볼륨 변화를 감시하고, 볼륨 접근 제어부(320)에게 접근권한 정책을 제공할 수 있다. 이를 위하여, 정책 제공부(330)는 시스템 콜의 전송을 차단하거나 허가하는 정책을 각 드라이브 별 또는 각 드라이브의 볼륨 별로 설정 및 저장한다. 도 1을 참조하여 설명한 바와 같이, 사용자는 수동으로 정책을 설정하거나 또는 정책 프로그램이 자동으로 각 볼륨의 특성을 고려하여 정책을 설정할 수 있다. 자동으로 설정하는 경우, 정책 프로그램은 이동식 드라이버(363)에 연결되는 매체에 대해서는 차단을 디폴트값으로 설정하여 정보 유 출을 방지할 수 있다.The policy provider 330 may monitor a volume change of the file system and provide an access right policy to the volume access controller 320. To this end, the policy provider 330 sets and stores a policy for blocking or permitting transmission of a system call for each drive or for each drive volume. As described with reference to FIG. 1, a user may manually set a policy or a policy program may automatically set a policy in consideration of characteristics of each volume. In the case of automatic setting, the policy program can prevent information leakage by setting the blocking to the default value for the medium connected to the mobile driver 363.

예를 들어, 호스트 장치(300)의 HDD(Hard Disk Drive)가 C 드라이브 및 D 드라이브로 파티션 된 경우, 정책 제공부(330)에는 각 드라이브에 대한 접근권한 정책을 허용 또는 차단 중 하나로 설정된다. For example, when a hard disk drive (HDD) of the host device 300 is partitioned into a C drive and a D drive, the policy provider 330 is set to allow or block an access permission policy for each drive.

또한, 이동식 드라이브로 인식되는 볼륨에 대해서는 차단이 설정될 수 있다. 따라서, 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 host device 300, copying or creation of a file may be blocked for a medium connected through the USB driver.

이러한 정책 제공부(330)는 '*.exe' 형태로 커널 레이어 내부의 I/O 매니저(340)와 파일 시스템 드라이버(350) 사이에 설치될 수 있다. 정책 제공부(330)의 정책은 상술한 smss.exe에서 제공할 수 있다. 또한, 상술한 바와 같이 정책 내용은 사용자 또는 관리자에 의해 변경가능하다.The policy provider 330 may be installed between the I / O manager 340 and the file system driver 350 in the kernel layer in the form of '* .exe'. The policy of the policy provider 330 may be provided by smss.exe described above. In addition, as described above, the policy content may be changed by a user or an administrator.

I/O 매니저(340)는 커널 내의 입출력을 담당하며, 볼륨 접근 제어부(320)로부터 입력되는 시스템 콜을 해당 볼륨의 드라이버로 전송할 수 있다.The I / O manager 340 is responsible for input / output in the kernel, and may transmit a system call input from the volume access control unit 320 to a driver of a corresponding volume.

파일 시스템 드라이버(350)는 커널 내에서 파일 시스템을 구현하는 디바이스 드라이버로서, HDD 드라이버(361), CD-ROM 드라이버(362) 또는 이동식 드라이버(363)를 제어하여 해당 파일을 독출하거나 각 드라이버(361, 362, 363)에 대응하는 저장매체에 파일을 복사시킬 수 있다. The file system driver 350 is a device driver that implements a file system in the kernel. The file system driver 350 controls the HDD driver 361, the CD-ROM driver 362, or the removable driver 363 to read the corresponding file or to read each driver 361. Files can be copied to a storage medium corresponding to.

드라이버 유닛(360)의 HDD 드라이버(361)는 호스트 장치(300)에 설치된 HDD를 구동하는 드라이버이며, CD-ROM 드라이버(362)는 CD, DVD와 같은 광디스크를 구 동하는 드라이버이며, 이동식 드라이버(363)는 USB 메모리(예를 들어, 휴대용 저장매체(20))를 구동하는 드라이버이다. 휴대용 저장매체(20)가 이동식 드라이버(363)를 통해 연결되는 경우, 휴대용 저장매체(20)는 이동형 저장매체, 즉, USB 메모리로 인식된다. 이로써, 휴대용 저장매체(20)에게 이동식 드라이브 볼륨이 할당된다. The HDD driver 361 of the driver unit 360 is a driver for driving an HDD installed in the host device 300, and the CD-ROM driver 362 is a driver for driving an optical disc such as a CD or a DVD. 363 is a driver for driving a USB memory (eg, portable storage medium 20). When the portable storage medium 20 is connected through the removable driver 363, the portable storage medium 20 is recognized as a removable storage medium, that is, a USB memory. Thus, a removable drive volume is assigned to the portable storage medium 20.

도 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 operation 400, the host device 300 may allocate a removable drive volume to the portable storage medium 20 connected to the host device 300.

410단계에서 볼륨 접근 제어부(320)는 어플리케이션부(310)로부터 커널 레이어로 출력되는 시스템 콜을 후킹(hooking) 할 수 있다. In operation 410, the volume access controller 320 may hook a system call output from the application unit 310 to the kernel layer.

420단계에서 볼륨 접근 제어부(320)는 후킹된 시스템 콜을 분석하여 시스템 콜의 속성 정보 및 경로 정보를 확인할 수 있다. In step 420, the volume access control unit 320 may analyze the hooked system call and check the property information and the path information of the system call.

430단계에서 확인 결과, 시스템 콜의 속성 정보가 파일 생성 또는 파일 복사 명령이고, 440단계에서 시스템 콜의 경로 정보에 포함된 목적지가 이동식 드라이브이면, 450단계에서 볼륨 접근 제어부(320)는 접근권한 정책과 확인된 이동식 드라이브를 비교하여, 이동식 드라이브의 볼륨에 대해 설정된 정책을 확인할 수 있다. In operation 430, if the attribute information of the system call is a file creation or file copy command, and if the destination included in the system call path information is a removable drive in operation 440, the volume access control unit 320 may determine an access right policy in operation 450. You can check the policy set for the volume of the removable drive by comparing it with the confirmed removable drive.

460단계에서 설정된 접근권한 정책이 차단이면, 470단계에서 볼륨 접근 제어부(320)는, 시스템 콜이 커널 레이어로 전달되는 것을 차단할 수 있다. 이에 의 해, 시스템 콜은 휴대용 저장매체(20)로 접근하지 못한다.If the access right policy set in step 460 is blocked, in step 470, the volume access control unit 320 may block the system call from being transmitted to the kernel layer. As a result, the system call does not have access to the portable storage medium 20.

480단계에서, 볼륨 접근 제어부(320)는 어플리케이션부(310)에게 시스템 콜의 전송이 차단되었음을 보고할 수 있다.In operation 480, the volume access control unit 320 may report to the application unit 310 that transmission of the system call is blocked.

반면, 430단계에서 속성정보가 파일 생성 또는 파일 복사 명령이 아니면 490단계에서, 볼륨 접근 제어부(320)는 시스템 콜을 커널 레이어로 전달할 수 있다.On the other hand, if the attribute information is not a file creation or file copy command in step 430, in step 490, the volume access control unit 320 may transmit a system call to the kernel layer.

또한, 440단계에서 경로정보에 포함된 목적지가 이동식 드라이브가 아니면,속성정보가 파일 생성 또는 파일 복사 명령인 경우에도 볼륨 접근 제어부(320)는 490단계를 수행할 수 있다. In addition, if the destination included in the path information is not a removable drive in step 440, the volume access control unit 320 may perform step 490 even when the property information is a file creation or file copy command.

또한, 460단계에서 확인된 접근권한 정책이 허용이면, 속성정보가 파일 생성 또는 파일 복사 명령이고, 시스템 콜의 목적지가 이동식 드라이브인 경우에도, 볼륨 접근 제어부(320)는 490단계를 수행할 수 있다.In addition, if the access right policy confirmed in step 460 is allowed, even if the attribute information is a file creation or file copy command, and the destination of the system call is a removable drive, the volume access control unit 320 may perform step 490. .

상술한 실시예에 의하면, 이동식 디스크로 인식되는 휴대용 저장매체(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 portable storage medium 20 that is recognized as a removable disk, the system call is transferred to the portable storage medium 20 according to a preset access right policy. May be blocked. As a result, it is possible to prevent information leakage such as file copying and file generation from the host device 300 to the portable storage medium 20.

본 발명에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또 는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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)

호스트 장치에 휴대용 저장매체가 연결되면, 상기 호스트 장치의 어플리케이션으로부터 커널로 전달되는 시스템 콜을 후킹하는 단계;Hooking a system call transferred from an application of the host device to a kernel when a portable storage medium is connected to the host device; 상기 후킹된 시스템 콜이 가상 포트를 통해 상기 휴대용 저장매체로 전송되기 위한 콜인지 판단하는 단계; 및Determining whether the hooked system call is to be transmitted to the portable storage medium through a virtual port; And 판단 결과에 따라 상기 시스템 콜의 전송을 차단하는 단계Blocking transmission of the system call according to a determination result 를 포함하는 호스트 장치의 정보유출 차단방법.Information leakage blocking method of the host device comprising a. 제 1항에 있어서,The method of claim 1, 상기 판단하는 단계는,The determining step, 상기 시스템 콜에 포함된 핸들(handle)을 분석하여 상기 시스템 콜이 전송되기 위한 포트를 확인하는 단계; 및Analyzing a handle included in the system call to identify a port for transmitting the system call; And 상기 확인된 포트에 대해 설정된 포트의 타입을 확인하는 단계Confirming the type of the port set for the identified port; 를 포함하며,Including; 상기 확인된 포트의 타입이 상기 가상 포트이면, 상기 시스템 콜의 전송을 차단하는 호스트 장치의 정보유출 차단방법.If the identified port type is the virtual port, blocking the transmission of the system call. 제 2항에 있어서,3. The method of claim 2, 상기 확인된 포트에 대해 설정된 접근권한 정책을 확인하는 단계Checking the access right policy set for the identified port; 를 더 포함하며,More, 상기 설정된 접근권한 정책이 차단이면, 상기 시스템 콜의 전송을 차단하는 호스트 장치의 정보유출 차단방법.The information leakage blocking method of the host device to block the transmission of the system call, if the set access right policy is blocked. 제 3항에 있어서,The method of claim 3, wherein 상기 설정된 접근권한 정책은 변경가능한 호스트 장치의 정보유출 차단방법.The set access right policy is a change information blocking method of the host device. 제 1항에 있어서,The method of claim 1, 상기 어플리케이션에게 상기 시스템 콜의 전송이 차단되었음을 통지하는 단계를 더 포함하는 호스트 장치의 정보유출 차단방법.And notifying the application that the transmission of the system call is blocked. 제 1항에 있어서,The method of claim 1, 상기 호스트 장치에 상기 휴대용 저장매체가 연결되면, 상기 호스트 장치에 설치된 상기 휴대용 저장매체용 싱크 프로그램이 상기 시스템 콜을 생성하는 단계When the portable storage medium is connected to the host device, generating a system call by the sink program for the portable storage medium installed in the host device; 를 더 포함하는 호스트 장치의 정보유출 차단방법.Information leakage blocking method of the host device further comprising. 제 6항에 있어서,The method of claim 6, 상기 시스템 콜은 파일의 생성 및 파일의 복사 중 하나인 호스트 장치의 정보유출 차단방법.The system call is one of the creation and copying of the file information leakage blocking method of the host device. 제 1항에 있어서,The method of claim 1, 상기 휴대용 저장매체는, 휴대 단말 또는 스마트 폰에 구비되는 호스트 장치의 정보유출 차단방법.The portable storage medium, the information leakage blocking method of the host device provided in the mobile terminal or a smart phone. 호스트 장치와 휴대용 저장매체가 연결되는 단계;Connecting the host device to the portable storage medium; 상기 호스트 장치의 어플리케이션으로부터 상기 휴대용 저장매체로 전달되는 시스템 콜을 후킹(hooking)하는 단계;Hooking a system call from an application of the host device to the portable storage medium; 상기 후킹된 시스템 콜의 속성 정보를 확인하는 단계; 및Checking attribute information of the hooked system call; And 상기 확인된 속성 정보에 따라 상기 시스템 콜의 전달을 차단하는 단계Blocking delivery of the system call according to the identified attribute information 를 포함하는 호스트 장치의 정보유출 차단방법.Information leakage blocking method of the host device comprising a. 제 9항에 있어서,The method of claim 9, 상기 연결되는 단계 이후, 상기 연결된 휴대용 저장매체에게 이동식 드라이브 볼륨을 할당하는 단계After the step of connecting, assigning a removable drive volume to the connected portable storage medium 를 더 포함하는 호스트 장치의 정보유출 차단방법.Information leakage blocking method of the host device further comprising. 제 10항에 있어서,The method of claim 10, 상기 할당하는 단계는, 상기 휴대용 저장매체를 USB(Universal Serial Bus) 이동식 디스크로 인식하여 상기 이동식 드라이브 볼륨을 할당하는 호스트 장치의 정보유출 차단방법.The allocating step may include: recognizing the portable storage medium as a universal serial bus (USB) removable disk and allocating the removable drive volume. 제 10항에 있어서,The method of claim 10, 상기 시스템 콜에 포함된 경로 정보로부터 상기 시스템 콜의 목적지를 확인하는 단계; 및Identifying a destination of the system call from route information included in the system call; And 상기 목적지가 이동식 드라이브로 인식되는 상기 휴대용 저장매체이면, 상기 이동식 드라이브에 대해 설정된 접근권한 정책을 확인하는 단계If the destination is the portable storage medium recognized as a removable drive, confirming an access right policy set for the removable drive 를 더 포함하며,More, 상기 확인된 접근권한 정책이 차단이면, 상기 휴대용 저장매체로의 접근을 차단하는 호스트 장치의 정보유출 차단방법.And if the identified access right policy is blocked, blocking access to the portable storage medium. 제 9항에 있어서,The method of claim 9, 상기 어플리케이션에게 상기 시스템 콜의 전달이 차단되었음을 통지하는 단계를 더 포함하는 호스트 장치의 정보유출 차단방법.And notifying the application that the transmission of the system call is blocked. 제 9항에 있어서,The method of claim 9, 상기 분석하는 단계 이전에, 상기 어플리케이션으로부터 상기 커널로 전달되는 패킷을 후킹(hooking)하는 단계를 더 포함하는 호스트 장치의 정보유출 차단방법.Prior to the analyzing, hooking a packet transmitted from the application to the kernel further comprising the step of (hooking). 제 9항에 있어서,The method of claim 9, 상기 시스템 콜은 상기 호스트 장치에 저장된 파일의 복사 명령어인 호스트 장치의 정보유출 차단방법.And the system call is a copy command of a file stored in the host device. 제 9항에 있어서,The method of claim 9, 상기 휴대용 저장매체는, 휴대 단말 또는 스마트 폰에 구비되는 호스트 장치의 정보유출 차단방법.The portable storage medium, the information leakage blocking method of the host device provided in the mobile terminal or a smart phone. 제 1항 내지 제 16항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium for recording a program for executing the method of any one of claims 1 to 16 on a computer.
KR1020090098762A 2009-10-16 2009-10-16 Method for preventing information leakage of host apparatus KR101120372B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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