KR101120372B1 - 호스트 장치의 정보유출 차단방법 - Google Patents

호스트 장치의 정보유출 차단방법 Download PDF

Info

Publication number
KR101120372B1
KR101120372B1 KR1020090098762A KR20090098762A KR101120372B1 KR 101120372 B1 KR101120372 B1 KR 101120372B1 KR 1020090098762 A KR1020090098762 A KR 1020090098762A KR 20090098762 A KR20090098762 A KR 20090098762A KR 101120372 B1 KR101120372 B1 KR 101120372B1
Authority
KR
South Korea
Prior art keywords
system call
host device
storage medium
portable storage
information
Prior art date
Application number
KR1020090098762A
Other languages
English (en)
Other versions
KR20110041778A (ko
Inventor
박동훈
강기수
은혁준
김상진
Original Assignee
닉스테크 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 닉스테크 주식회사 filed Critical 닉스테크 주식회사
Priority to KR1020090098762A priority Critical patent/KR101120372B1/ko
Publication of KR20110041778A publication Critical patent/KR20110041778A/ko
Application granted granted Critical
Publication of KR101120372B1 publication Critical patent/KR101120372B1/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/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

호스트 장치의 정보유출 차단방법이 개시된다.
휴대용 저장매체를 호스트 장치에 연결 시 호스트 장치의 싱크 프로그램을 통해 휴대용 저장매체로 정보가 유출되는 것을 미연에 방지할 수 있다.
또한, 호스트 장치는 휴대용 저장매체를 이동식 메모리로 인식하고, 휴대용 저장매체로 파일이 복사, 생성되거나 또는 파일이 독출되는 것을 제어할 수 있다. 이로써, 호스트 장치에 저장된 주요 정보가 유출되는 것을 방지할 수 있다.
시스템 콜, 가상 포트, 이동식 드라이브, 볼륨, 보안

Description

호스트 장치의 정보유출 차단방법{Method for preventing information leakage of host apparatus }
본 발명은 호스트 장치의 정보유출 차단방법에 관한 것으로서, 보다 구체적으로, 호스트 장치로부터 휴대용 저장매체로 복사되거나 휴대용 저장매체에 파일이 생성되는 것을 차단할 수 있는 호스트 장치의 정보유출 에 관한 것이다.
최근 개인 컴퓨터 뿐만 아니라 휴대용 저장 장치의 보급이 확대됨에 따라, 휴대용 저장 장치와 개인 컴퓨터 간의 데이터 전송을 제공하는 다양한 응용 서비스가 활발히 연구되고 있다.
사용자는 휴대용 저장 장치를 컴퓨터와 연결한 후, 컴퓨터에 저장된 정보를 휴대용 저장 장치에 복사하거나, 또는 그 반대의 동작을 쉽게 수행한다. 이는, 사용자가 보다 용이하게 정보를 공유할 수 있도록 한다.
그러나, 데이터 전송과 관련된 기술 및 응용 서비스가 발전함에 따라, 주요정보 또는 개인 정보가 휴대용 저장 장치를 통해 외부로 유출되는 경우가 빈번히 발생한다. 따라서, 컴퓨터와 같은 호스트 장치에 저장된 정보가 휴대용 저장 장치를 통해 유출되는 것을 차단할 수 있는 기술이 필요하다.
상술한 바와 같이, 본 발명이 해결하고자 하는 과제는, 주요 정보가 휴대용 저장 장치를 통해 유출되는 것을 방지할 수 있는 호스트 장치의 정보유출 차단방법을 제공하는 것이다.
제안되는 호스트 장치의 정보유출 차단방법은 호스트 장치에 휴대용 저장매체가 가상 포트로 연결되는 단계. 상기 호스트 장치에 설치된 상기 휴대용 저장매체용 싱크 프로그램을 실행하는 단계, 상기 싱크 프로그램이 시스템 콜을 생성하는 단계, 상기 호스트 장치의 어플리케이션으로부터 커널로 전달되는 시스템 콜을 후킹하는 단계, 상기 후킹된 시스템 콜에 포함되는 핸들(handle)을 분석하여 상기 시스템 콜이 전송될 타겟 포트가 상기 가상포트를 통해 상기 휴대용 저장매체로 전송되기 위한 콜인지 판단하는 단계 및 판단 결과에 따라 상기 가상 포트에 설정된 접근권한 정책이 차단이면, 상기 시스템 콜의 전송을 차단하는 단계를 포함한다.
상기 후킹된 시스템 콜에 포함된 핸들(handle)을 분석하는 단계는 상기 호스트 장치에 마련된 복수의 포트들 중 상기 시스템 콜이 전송될 포트에 대한 정보를 확인하여 상기 시스템 콜의 목적지를 판단한다.
상기 시스템 콜이 전송될 타겟 포트가 상기 가상 포트를 통해 상기 휴대용 저장매체로 전송되기 위한 콜인지 판단하는 단계는 상기 호스트장치에 구비된 복수의 포트들에 기기들이 연결되거나 가상 포트가 생성될 때마다 순차적으로 생성되는 포트 리스트와 상기 시스템 콜의 목적지인 타겟 포트를 비교하여 상기 타겟 포트가 가상 포트인지를 확인한다.
삭제
어플리케이션에게 시스템 콜의 전송이 차단되었음을 통지하는 단계를 더 포함할 수 있다.
상기 시스템 콜은 파일의 생성 및 파일의 복사 중 하나이다.
상기 휴대용 저장매체는 휴대 단말 또는 스마트 폰에 구비된다.
호스트 장치와 휴대용 저장매체가 연결되는 단계, 상기 호스트 장치에 연결된 휴대용 저장매체에게 이동식 드라이브 볼륨을 할당하는 단계, 상기 호스트 장치의 어플리케이션으로부터 상기 휴대용 저장매체로 전달되는 시스템 콜을 후킹(hooking)하는 단계, 상기 후킹된 시스템 콜의 속성 정보 및 경로정보를 확인하는 단계 및 상기 확인된 상기 이동식 드라이브 볼륨의 속성 정보 및 경로정보와 기 설정된 접근권한 정책을 확인하는 단계, 상기 접근 권한 정책이 차단이면, 상기 시스템 콜의 전달을 차단하는 단계를 포함한다.
상기 후킹된 시스템 콜의 속성 정보 및 경로정보를 확인하는 단계는 상기 후킹된 시스템 콜에 포함된 파일 처리 명령 정보와 시스템 콜이 전송되고자 하는 목적지인 드라이브 볼륨 정보를 확인한다.
삭제
삭제
삭제
삭제
할당하는 단계는, 휴대용 저장매체를 USB(Universal Serial Bus) 이동식 디스크로 인식하여 이동식 드라이브 볼륨을 할당할 수 있다.
시스템 콜에 포함된 경로 정보로부터 시스템 콜의 목적지를 확인하는 단계와, 목적지가 이동식 드라이브로 인식되는 휴대용 저장매체이면, 이동식 드라이브에 대해 설정된 접근권한 정책을 확인하는 단계를 더 포함하며, 확인된 접근권한 정책이 차단이면, 휴대용 저장매체로의 접근을 차단할 수 있다.
어플리케이션에게 시스템 콜의 전달이 차단되었음을 통지하는 단계를 더 포함할 수 있다.
분석하는 단계 이전에, 어플리케이션으로부터 커널로 전달되는 패킷을 후 킹(hooking)하는 단계를 더 포함할 수 있다.
본 발명에 의하면, 휴대용 저장매체를 호스트 장치에 연결 시 싱크 프로그램을 통해 휴대용 저장매체로 정보가 유출되는 것을 미연에 방지할 수 있다. 이는, 싱크 프로그램이 사용하는 가상 포트를 차단함으로써 호스트 장치로부터 휴대용 저장매체로 전송되는 데이터 전송을 제어할 수 있기 때문이다.
또한, 본 발명에 의하면, 휴대용 저장매체를 이동식 메모리로 인식하고, 휴대용 저장매체로 파일이 복사, 생성되거나 또는 파일이 독출되는 것을 제어할 수 있다. 이로써, 호스트 장치에 저장된 주요 정보가 유출되는 것을 방지할 수 있다.
이하 첨부된 도면을 참조하여 본 발명의 실시예를 설명한다. 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 제안되는 일 실시예에 따른 호스트 장치를 도시한 블록도이다.
도 1의 호스트 장치(100)는 호스트 장치(100)에 유무선 통신가능하게 연결되는 휴대용 저장매체(10)가 가상 포트를 통해 연결된 경우, 호스트 장치(100)로부 터 휴대용 저장매체(10)로의 파일 복사 또는 파일 생성을 차단할 수 있다.
호스트 장치(100)는 소프트웨어 설치가 가능한 기기로서, 개인용 컴퓨터를 예로 들 수 있다. 휴대용 저장매체(10)는 모바일폰, 스마트폰, PDA(Personal Digital Assistants) 등 이동성 저장매체 기능을 제공하는 기기일 수 있다.
이를 위하여, 호스트 장치(100)는 어플리케이션부(110), 포트 접근 제어부(120), 정책 제공부(130), I/O(In/Out) 매니저(140) 및 인터페이스부(150)를 포함한다. 어플리케이션부(110)는 7계층 중 어플리케이션 레이어에 해당하며, 포트 접근 제어부(120), 정책 제공부(130) 및 I/O(In/Out) 매니저(140)는 OS 레이어에 해당하며, 인터페이스부(150)는 하드웨어 레이어에 해당한다.
어플리케이션부(110)는 적어도 하나의 응용 프로그램을 포함한다. 예를 들어, 어플리케이션부(110)에는 휴대용 저장매체(10)에게 다양한 서비스를 제공하기 위한 싱크(SYNC) 프로그램이 설치된다.
싱크 프로그램은 호스트 장치(100)와 휴대용 저장매체(10)가 정보를 공유할 수 있도록 하는 프로그램으로서, 사용자는 싱크 프로그램을 사용하여 호스트 장치(100)에 저장된 파일(문서, 음악, 이미지 등 다양함)을 휴대용 저장매체(10)에게 다운로딩할 수 있다.
어플리케이션부(110)의 싱크 프로그램은 호스트 장치(100)에 휴대용 저장매체(10)가 연결되었음을 인식하고, 휴대용 저장매체(10)에게 가상 포트를 통해서 전송할 시스템 콜(system call)을 커널(kernel) 레이어로 출력할 수 있다. 시스템 콜은 IRP(In/Out Request Packet)의 일종으로서, 파일의 생성 또는 파일의 복사를 요 청할 수 있다. 시스템 콜은 싱크 프로그램이 자동으로 생성하거나 또는 사용자 요청에 따라 생성될 수 있다.
포트 접근 제어부(120)는 어플리케이션부(110)를 감시하여, 어플리케이션부(110)로부터 커널(kernel) 레이어로 출력되는 시스템 콜을 후킹(hooking)할 수 있다. 포트 접근 제어부(120)는 후킹된 시스템 콜을 분석하여 시스템 콜이 가상 포트로의 접속에 관련된 콜인지 판단한다.
구체적으로, 어플리케이션부(110)로부터 출력되는 시스템 콜은 핸들(handle)을 포함하고 있으며, 어플리케이션부(110)는 호스트 장치(100)에 마련된 복수의 포트들(150-1, …, 150-n, n은 양수) 중 어느 포트에 대한 시스템 콜인지를 알려주는 정보를 핸들에 포함시킬 수 있다. 이에 의해, 포트 접근 제어부(120)는 시스템 콜의 핸들을 분석하여 시스템 콜의 목적지를 판단할 수 있다.
포트 접근 제어부(120)는 COM 포트 리스트와 시스템 콜의 목적지인 타겟 포트를 비교하여, 타겟 포트가 가상 포트인지를 확인할 수 있다. 호스트 장치(100)는 복수의 포트들(150-1, …, 150-n)에 기기들이 연결되거나 가상 포트가 생성될 때마다 순차적으로 포트 리스트를 생성한다.
또는, 포트 접근 제어부(120)는 정책 제공부(130)로부터 제공되는 접근권한 정책과 확인된 타겟 포트를 비교하여 타겟 포트가 가상 포트인지를 확인할 수 있다.
포트 접근 제어부(120)는 타겟 포트가 가상 포트인 것으로 확인되고, 확인된 가상 포트에 대해 차단이라는 정책이 설정되어 있는 경우, 시스템 콜이 휴대용 저장매체(10)로 전송되는 것을 차단할 수 있다. 이로써, 어플리케이션부(110)로부터의 시스템 콜이 휴대용 저장매체(10)로 접근되는 것은 차단된다. 그리고, 포트 접근 제어부(120)는 어플리케이션부(110)에게 시스템 콜의 전송이 거부되었음을 보고한다.
반면, 확인된 타겟 포트가 가상 포트가 아니거나, 허용이라는 정책이 접근권한 정책에 설정되어 있는 경우, 포트 접근 제어부(120)는 시스템 콜을 타겟 포트에 대응하는 매체(예를 들어, 휴대용 저장매체)로 전송하도록, 시스템 콜을 I/O 매니저(140)에게 출력할 수 있다. 이러한 포트 접근 제어부(120)는 '*.sys' 형태로 호스트 장치(100)의 커널 레이어에 설치될 수 있다. *.sys의 일 예로 smss.exe를 예로 들 수 있다. SMSS(Session Management Subsystem)는 사용자 세션을 시작하는 기능을 담당한다.
정책 제공부(130)는 시스템 콜의 전송을 차단하거나 허용하는 정책을 포트 별로 설정 및 저장할 수 있다. 사용자는 접근권한 정책을 설정하기 위한 프로그램을 이용하여 수동으로 접근권한을 설정하거나, 정책 제공부(130)가 자동으로 설정할 수 있다.
예를 들어, 정책 제공부(130)는 복수의 포트들(150-1, …, 150-n) 중 가상 포트로 설정된 포트에 대해서는 차단이라는 정책을 설정한다. 또한, 정책 제공부(130)는 복수의 포트들(150-1, …, 150-n) 중 지정된 일반 포트에 대해서도 차단 또는 허용을 설정한다. 이러한 정책 제공부(130)는 '*.exe' 형태로 커널 레이어에 설치될 수 있다.
I/O 매니저(140)는 포트 접근 제어부(120)로부터 입력되는 시스템 콜을 해당 포트로 전송한다.
인터페이스부(150)는 복수의 포트들(150-1, …, 150-n)을 포함한다. 복수의 포트들(150-1, …, 150-n)은 일반 직렬 포트(COM 포트) 또는 가상 직렬 포트를 포함한다.
도 2는 제안되는 일 실시예에 따른 호스트 장치의 정보유출 차단방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, 210단계에서 호스트 장치(100)는 휴대용 저장매체(10)를 가상 포트를 통해 연결한다.
220단계에서, 어플리케이션부(110)의 어플리케이션, 예를 들어, 싱크 프로그램은 휴대용 저장매체(10)와의 접속을 시도하고, 접속되면, 휴대용 저장매체(10)에게 전송할 시스템 콜을 생성하여 출력할 수 있다. 220단계에서 생성되는 시스템 콜은 파일 생성 또는 파일 복사 명령에 대한 것일 수 있다.
230단계에서, 포트 접근 제어부(120)는 어플리케이션부(110)로부터 커널 레이어로 출력되는 시스템 콜을 후킹할 수 있다.
240단계에서, 포트 접근 제어부(120)는 후킹된 시스템 콜의 핸들을 분석하여 시스템 콜이 전송될 목적지, 즉, 타겟 포트를 확인할 수 있다.
250단계에서, 포트 접근 제어부(120)는 핸들 분석에 의해 확인된 타겟 포트와 정책 제공부(130)에 설정된 접근권한 정책을 비교할 수 있다. 접근권한 정책은 각 포트 별로, 시스템 콜을 차단할지 또는 허용할지를 나타내는 정책을 의미한다.
260단계에서, 비교 결과, 확인된 타겟 포트가 가상 포트이고, 즉, 싱크 프로그램이 가상 포트를 사용하고, 가상 포트에 대해 차단이 설정되어 있으면, 270단계에서, 포트 접근 제어부(120)는 시스템 콜이 휴대용 저장매체(10)에 접근하는 것을 차단할 수 있다.
280단계에서, 포트 접근 제어부(120)는 어플리케이션부(110)에게 시스템 콜의 전송이 거부되었음을 보고할 수 있다.
반면, 290단계에서, 포트 접근 제어부(120)는 확인된 타겟 포트가 가상 포트가 아니거나, 허용이라는 정책이 접근권한 정책에 설정되어 있는 경우, 시스템 콜이 휴대용 저장매체(10)에 전송되도록 할 수 있다. 이로써, 시스템 콜은 I/O 매니저(140)를 경유하여 휴대용 저장매체(10)로 접근한다.
상술한 제1실시예에 의하면, 가상 포트를 통해 연결된 휴대용 저장매체(10)에게 전송되는 시스템 콜을 후킹하고, 후킹된 시스템 콜의 목적지가 휴대용 저장매체(10)인 경우, 시스템 콜의 전송을 차단하는 것이 가능하다. 이로써, 호스트 장치(100)에 저장된 주요 정보가 휴대용 저장매체(10)에 복사되거나 새로운 파일로 생성되는 것을 방지할 수 있다.
또한, 사용자 또는 관리자는 휴대용 저장매체(10)에 문서를 저장해야 하는 경우, 차단정책 프로그램의 GUI(Graphic User Interface)를 이용하여, 가상 포트에 대해 설정된 접근권한 정책을 차단에서 허용으로 변경하고, 정보를 저장할 수 있음은 물론이다. 이 때, 사용자는 관리자로부터 사용 허가를 받은 후에 상기와 같이 접근권한 정책을 변경할 수 있다. 여기서 사용 허가는 웹(web)을 통한 전자적 승 인, 정책 변경에 필요한 비밀번호(password)의 공유, 사용자의 접근권한 레벨 변경 등 다양한 방식으로 이루어질 수 있다.
도 3은 제안되는 다른 실시예에 따른 호스트 장치를 도시한 블록도이다.
도 3의 호스트 장치(300)는 호스트 장치(300)에 유무선 통신가능하게 연결되는 휴대용 저장매체(20)에게 이동식 드라이브 볼륨을 할당하며, 호스트 장치(300)로부터 휴대용 저장매체(20)로의 파일 복사 또는 파일 생성을 차단할 수 있다.
호스트 장치(300)는 소프트웨어 설치가 가능한 기기로서, 개인용 컴퓨터를 예로 들 수 있다. 휴대용 저장매체(20)는 모바일폰, 스마일폰, PDA(Personal Digital Assistants) 등 이동성 저장매체 기능을 제공하는 기기일 수 있다.
이를 위하여, 호스트 장치(300)는 어플리케이션부(310), 볼륨 접근 제어부(320), 정책 제공부(330), I/O 매니저(340), 파일 시스템 드라이버(350) 및 드라이버 유닛(360)을 포함할 수 있다.
어플리케이션부(310)는 적어도 하나의 응용 프로그램을 포함한다. 예를 들어, 어플리케이션부(310)에는 문서 작성을 위한 프로그램, 이미지 편집을 위한 프로그램 등이 설치된다. 어플리케이션부(310)는 사용자의 명령에 따라 시스템 콜을 생성하여 커널 레이어로 출력할 수 있다. 시스템 콜은 IRP(In/Out Request Packet)의 일종으로서, 파일의 생성 또는 파일의 복사를 요청할 수 있다.
볼륨 접근 제어부(320)는 초기 로드 시, 파일 시스템 볼륨과 디바이스 볼륨 사이의 매핑관계 정보를 I/O 매니저(340)를 통해 획득할 수 있다. 파일 시스템 볼 륨은 호스트 장치(300)의 파티션된 논리적인 볼륨이며, 디바이스 볼륨은 각 논리적인 볼륨에 대응하는 물리적인 디바이스 볼륨을 의미한다. 매핑관계 정보는 논리적 볼륨과 그에 매핑되는 물리적 디바이스 볼륨을 보여주는 정보이다. 응용 프로그램이 파일을 저장하려는 경우, 파일을 논리적 볼륨(예를 들어, d 드라이브)에 저장하게 되면, 제안하는 볼륨 접근 제어부(320)는 해당 논리적 볼륨(예를 들어, d 드라이브)에 매핑되는 물리적 디바이스 볼륨을 확인함으로써, 확인된 물리적 디바이스 볼륨이 휴대용 저장매체인지 판단할 수 있다.
볼륨 접근 제어부(320)는 하드웨어 매체(예를 들어, 휴대용 저장매체, HDD)로의 접근권한 정책을 기반으로 I/O 매니저(340)와 파일 시스템 드라이버(350) 사이에서 접근제어 기능을 수행할 수 있다.
이를 위하여, 볼륨 접근 제어부(320)는 어플리케이션부(310)를 감시하여, 어플리케이션부(310)로부터 커널 레이어로 출력되는 시스템 콜을 후킹(hooking) 할 수 있다. 볼륨 접근 제어부(320)는 후킹된 시스템 콜을 분석하여 시스템 콜의 속성 정보 및 경로 정보를 확인한다. 속성 정보는 시스템 콜의 속성을 포함하며, 경로 정보는 시스템 콜이 전송되고자 하는 목적지, 즉, 드라이브의 볼륨 정보(예를 들어, D 드라이브, F 드라이브)를 포함한다.
확인 결과, 시스템 콜의 속성 정보가 파일 생성 또는 파일 복사 명령인 경우, 볼륨 접근 제어부(320)는 경로 정보로부터 목적지의 볼륨을 확인한다. 즉, 볼륨 접근 제어부(320)는 경로 정보로부터 목적지 및 목적지의 볼륨을 확인할 수 있다. 목적지가 휴대용 저장매체(20)인 경우, 목적지의 볼륨은 이동식 드라이브 볼 륨이다.
볼륨 접근 제어부(320)는 정책 제공부(330)로부터 제공되는 접근권한 정책으로부터 이동식 드라이브의 볼륨에 대해 설정된 정책을 확인할 수 있다. 확인결과, 이동식 드라이브의 볼륨에 대해 접근권한 정책이 차단으로 설정된 경우, 볼륨 접근 제어부(320)는, 시스템 콜이 커널 레이어로 전달되는 것을 차단할 수 있다. 이에 의해, 시스템 콜은 휴대용 저장매체(20)로 전송되지 못한다. 그리고, 볼륨 접근 제어부(320)는 어플리케이션부(310)에게 시스템 콜의 전송이 차단되었음을 보고한다.
반면, 이동식 드라이브의 볼륨에 대해 설정된 정책이 허용인 경우, 볼륨 접근 제어부(320)는 시스템 콜을 커널 레이어로 전달할 수 있다. 이에 의해, 시스템 콜은 휴대용 저장매체(20)로 전달되어 해당 동작을 수행할 수 있게 된다. 이러한 볼륨 접근 제어부(320)는 '*.sys' 형태로 호스트 장치(300)의 커널 레이어에 설치될 수 있다.
정책 제공부(330)는 파일 시스템의 볼륨 변화를 감시하고, 볼륨 접근 제어부(320)에게 접근권한 정책을 제공할 수 있다. 이를 위하여, 정책 제공부(330)는 시스템 콜의 전송을 차단하거나 허가하는 정책을 각 드라이브 별 또는 각 드라이브의 볼륨 별로 설정 및 저장한다. 도 1을 참조하여 설명한 바와 같이, 사용자는 수동으로 정책을 설정하거나 또는 정책 프로그램이 자동으로 각 볼륨의 특성을 고려하여 정책을 설정할 수 있다. 자동으로 설정하는 경우, 정책 프로그램은 이동식 드라이버(363)에 연결되는 매체에 대해서는 차단을 디폴트값으로 설정하여 정보 유 출을 방지할 수 있다.
예를 들어, 호스트 장치(300)의 HDD(Hard Disk Drive)가 C 드라이브 및 D 드라이브로 파티션 된 경우, 정책 제공부(330)에는 각 드라이브에 대한 접근권한 정책을 허용 또는 차단 중 하나로 설정된다.
또한, 이동식 드라이브로 인식되는 볼륨에 대해서는 차단이 설정될 수 있다. 따라서, USB(Universal Serial Bus) 드라이버가 호스트 장치(300)에 설치된 경우, USB 드라이버를 통해 연결되는 매체에 대해서는 파일의 복사 또는 생성이 차단될 수 있다.
이러한 정책 제공부(330)는 '*.exe' 형태로 커널 레이어 내부의 I/O 매니저(340)와 파일 시스템 드라이버(350) 사이에 설치될 수 있다. 정책 제공부(330)의 정책은 상술한 smss.exe에서 제공할 수 있다. 또한, 상술한 바와 같이 정책 내용은 사용자 또는 관리자에 의해 변경가능하다.
I/O 매니저(340)는 커널 내의 입출력을 담당하며, 볼륨 접근 제어부(320)로부터 입력되는 시스템 콜을 해당 볼륨의 드라이버로 전송할 수 있다.
파일 시스템 드라이버(350)는 커널 내에서 파일 시스템을 구현하는 디바이스 드라이버로서, HDD 드라이버(361), CD-ROM 드라이버(362) 또는 이동식 드라이버(363)를 제어하여 해당 파일을 독출하거나 각 드라이버(361, 362, 363)에 대응하는 저장매체에 파일을 복사시킬 수 있다.
드라이버 유닛(360)의 HDD 드라이버(361)는 호스트 장치(300)에 설치된 HDD를 구동하는 드라이버이며, CD-ROM 드라이버(362)는 CD, DVD와 같은 광디스크를 구 동하는 드라이버이며, 이동식 드라이버(363)는 USB 메모리(예를 들어, 휴대용 저장매체(20))를 구동하는 드라이버이다. 휴대용 저장매체(20)가 이동식 드라이버(363)를 통해 연결되는 경우, 휴대용 저장매체(20)는 이동형 저장매체, 즉, USB 메모리로 인식된다. 이로써, 휴대용 저장매체(20)에게 이동식 드라이브 볼륨이 할당된다.
도 4는 제안되는 다른 실시예에 따른 호스트 장치의 정보유출 차단방법을 설명하기 위한 흐름도이다.
도 4를 참조하면, 400단계에서 호스트 장치(300)는 호스트 장치(300)에 연결된 휴대용 저장매체(20)에게 이동식 드라이브 볼륨을 할당할 수 있다.
410단계에서 볼륨 접근 제어부(320)는 어플리케이션부(310)로부터 커널 레이어로 출력되는 시스템 콜을 후킹(hooking) 할 수 있다.
420단계에서 볼륨 접근 제어부(320)는 후킹된 시스템 콜을 분석하여 시스템 콜의 속성 정보 및 경로 정보를 확인할 수 있다.
430단계에서 확인 결과, 시스템 콜의 속성 정보가 파일 생성 또는 파일 복사 명령이고, 440단계에서 시스템 콜의 경로 정보에 포함된 목적지가 이동식 드라이브이면, 450단계에서 볼륨 접근 제어부(320)는 접근권한 정책과 확인된 이동식 드라이브를 비교하여, 이동식 드라이브의 볼륨에 대해 설정된 정책을 확인할 수 있다.
460단계에서 설정된 접근권한 정책이 차단이면, 470단계에서 볼륨 접근 제어부(320)는, 시스템 콜이 커널 레이어로 전달되는 것을 차단할 수 있다. 이에 의 해, 시스템 콜은 휴대용 저장매체(20)로 접근하지 못한다.
480단계에서, 볼륨 접근 제어부(320)는 어플리케이션부(310)에게 시스템 콜의 전송이 차단되었음을 보고할 수 있다.
반면, 430단계에서 속성정보가 파일 생성 또는 파일 복사 명령이 아니면 490단계에서, 볼륨 접근 제어부(320)는 시스템 콜을 커널 레이어로 전달할 수 있다.
또한, 440단계에서 경로정보에 포함된 목적지가 이동식 드라이브가 아니면,속성정보가 파일 생성 또는 파일 복사 명령인 경우에도 볼륨 접근 제어부(320)는 490단계를 수행할 수 있다.
또한, 460단계에서 확인된 접근권한 정책이 허용이면, 속성정보가 파일 생성 또는 파일 복사 명령이고, 시스템 콜의 목적지가 이동식 드라이브인 경우에도, 볼륨 접근 제어부(320)는 490단계를 수행할 수 있다.
상술한 실시예에 의하면, 이동식 디스크로 인식되는 휴대용 저장매체(20)에 파일의 복사 또는 파일의 생성과 같은 시스템 콜이 발생하면, 기설정된 접근권한 정책에 의해, 시스템 콜이 휴대용 저장매체(20)에게 접근되는 프로세스는 차단될 수 있다. 이로써, 호스트 장치(300)로부터 휴대용 저장매체(20)로의 파일 복사, 파일 생성 등의 정보 유출을 방지하는 것이 가능하다.
본 발명에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또 는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 제안되는 일 실시예에 따른 호스트 장치를 도시한 블록도,
도 2는 제안되는 일 실시예에 따른 호스트 장치의 정보유출 차단방법을 설명하기 위한 흐름도,
도 3은 제안되는 다른 실시예에 따른 호스트 장치를 도시한 블록도, 그리고,
도 4는 제안되는 다른 실시예에 따른 호스트 장치의 정보유출 차단방법을 설명하기 위한 흐름도이다.

Claims (17)

  1. 호스트 장치에 휴대용 저장매체가 가상 포트로 연결되는 단계;
    상기 호스트 장치에 설치된 상기 휴대용 저장매체용 싱크 프로그램을 실행하는 단계;
    상기 싱크 프로그램이 시스템 콜을 생성하는 단계;
    상기 호스트 장치의 어플리케이션으로부터 커널로 전달되는 시스템 콜을 후킹하는 단계;
    상기 후킹된 시스템 콜에 포함된 핸들(handle)을 분석하여 상기 시스템 콜이 전송될 타겟 포트가 상기 가상 포트를 통해 상기 휴대용 저장매체로 전송되기 위한 콜인지 판단하는 단계; 및
    판단 결과에 따라 상기 가상 포트에 설정된 접근권한 정책이 차단이면, 상기 시스템 콜의 전송을 차단하는 단계
    를 포함하는 호스트 장치의 정보유출 차단방법.
  2. 제 1항에 있어서,
    상기 시스템 콜이 전송될 타켓 포트가 상기 가상 포트를 통해 상기 휴대용 저장매체로 전송되기 위한 콜인지 판단하는 단계는,
    상기 호스트 장치에 마련된 복수의 포트들 중 상기 시스템 콜이 전송될 포트에 대한 정보를 확인하여 상기 시스템 콜의 목적지로 판단하는
    호스트 장치의 정보유출 차단 방법.
  3. 제1항에 있어서,
    상기 시스템 콜이 전송될 타켓 포트가 상기 가상 포트를 통해 상기 휴대용 저장매체로 전송되기 위한 콜인지 판단하는 단계는
    상기 호스트장치에 구비된 복수의 포트들에 기기들이 연결되거나 가상 포트가 생성될 때마다 순차적으로 생성되는 포트 리스트와, 상기 시스템 콜의 목적지인 타겟 포트를 비교하여 상기 타겟 포트가 가상 포트인지를 확인하는
    호스트 장치의 정보유출 차단하는 방법.
  4. 제 1항에 있어서,
    상기 설정된 접근권한 정책은 변경가능한 호스트 장치의 정보유출 차단방법.
  5. 제 1항에 있어서,
    상기 어플리케이션에게 상기 시스템 콜의 전송이 차단되었음을 통지하는 단계를 더 포함하는 호스트 장치의 정보유출 차단방법.
  6. 삭제
  7. 제 1항에 있어서,
    상기 시스템 콜은 파일의 생성 및 파일의 복사 중 하나인 호스트 장치의 정보유출 차단방법.
  8. 제 1항에 있어서,
    상기 휴대용 저장매체는, 휴대 단말 또는 스마트 폰에 구비되는 호스트 장치의 정보유출 차단방법.
  9. 호스트 장치와 휴대용 저장매체가 연결되는 단계;
    상기 호스트 장치에 연결된 휴대용 저장매체에게 이동식 드라이브 볼륨을 할당하는 단계;
    상기 호스트 장치의 어플리케이션으로부터 상기 휴대용 저장매체로 전달되는 시스템 콜을 후킹(hooking)하는 단계;
    상기 후킹된 시스템 콜의 속성 정보 및 경로정보를 확인하는 단계; 및
    상기 확인된 상기 이동식 드라이브 볼륨의 속성 정보 및 경로정보와 기 설정된 접근권한 정책을 확인하는 단계;
    상기 접근 권한 정책이 차단이면, 상기 시스템 콜의 전달을 차단하는 단계
    를 포함하는 호스트 장치의 정보유출 차단방법.
  10. 제 9항에 있어서,
    상기 후킹된 시스템 콜의 속성 정보 및 경로정보를 확인하는 단계는
    상기 후킹된 시스템 콜에 포함된 파일 처리 명령 정보와 시스템 콜이 전송되고자 하는 목적지인 드라이브 볼륨 정보를 확인하는
    호스트 장치의 정보유출 차단방법.
  11. 제 9항에 있어서,
    상기 할당하는 단계는, 상기 휴대용 저장매체를 USB(Universal Serial Bus) 이동식 디스크로 인식하여 상기 이동식 드라이브 볼륨을 할당하는 호스트 장치의 정보유출 차단방법.
  12. 삭제
  13. 제 9항에 있어서,
    상기 어플리케이션에게 상기 시스템 콜의 전달이 차단되었음을 통지하는 단계를 더 포함하는 호스트 장치의 정보유출 차단방법.
  14. 삭제
  15. 제 9항에 있어서,
    상기 시스템 콜은 상기 호스트 장치에 저장된 파일의 복사 명령어인 호스트 장치의 정보유출 차단방법.
  16. 제 9항에 있어서,
    상기 휴대용 저장매체는, 휴대 단말 또는 스마트 폰에 구비되는 호스트 장치의 정보유출 차단방법.
  17. 제1항 내지 제5항 및 제9항 내지 제11항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체.
KR1020090098762A 2009-10-16 2009-10-16 호스트 장치의 정보유출 차단방법 KR101120372B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090098762A KR101120372B1 (ko) 2009-10-16 2009-10-16 호스트 장치의 정보유출 차단방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090098762A KR101120372B1 (ko) 2009-10-16 2009-10-16 호스트 장치의 정보유출 차단방법

Publications (2)

Publication Number Publication Date
KR20110041778A KR20110041778A (ko) 2011-04-22
KR101120372B1 true KR101120372B1 (ko) 2012-02-24

Family

ID=44047576

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090098762A KR101120372B1 (ko) 2009-10-16 2009-10-16 호스트 장치의 정보유출 차단방법

Country Status (1)

Country Link
KR (1) KR101120372B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101710328B1 (ko) * 2016-08-18 2017-02-27 주식회사 시큐브 동적 재구성 및 교체를 지원하는 os 보안 커널 시스템 및 그 방법
KR20190047202A (ko) 2017-10-27 2019-05-08 서동일 Pc에서 정보유출을 차단을 위한 특정 프로그램 운영 시 화면정보저장 보안 시스템 및 그 방법
KR102559482B1 (ko) * 2023-03-13 2023-07-26 (주)디지탈센스 It 장비 반출입 관리 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050063476A (ko) * 2003-12-22 2005-06-28 정주영 정보보안 시스템
KR20090020457A (ko) * 2007-08-23 2009-02-26 삼성전자주식회사 소프트웨어 이동 장치와 로컬 호스트간에 상호 인증하는방법, i/o 채널 형성 방법 및 그 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050063476A (ko) * 2003-12-22 2005-06-28 정주영 정보보안 시스템
KR20090020457A (ko) * 2007-08-23 2009-02-26 삼성전자주식회사 소프트웨어 이동 장치와 로컬 호스트간에 상호 인증하는방법, i/o 채널 형성 방법 및 그 장치

Also Published As

Publication number Publication date
KR20110041778A (ko) 2011-04-22

Similar Documents

Publication Publication Date Title
EP1946238B1 (en) Operating system independent data management
US8464319B2 (en) Resource access based on multiple scope levels
CN102938039B (zh) 针对应用的选择性文件访问
JP4287485B2 (ja) 情報処理装置及び方法、コンピュータ読み取り可能な記録媒体、並びに、外部記憶媒体
US20160359859A1 (en) System For Secure File Access
JP5429157B2 (ja) 機密情報漏洩防止システム及び機密情報漏洩防止方法
US8417969B2 (en) Storage volume protection supporting legacy systems
KR101308351B1 (ko) 어플리케이션에 권한을 할당하는 단말기 및 상기 단말기의 권한 할당 방법
CN100419620C (zh) 一种usb海量存储设备上应用程序与usb海量存储设备进行命令交互和双向数据传输的方法
GB2398134A (en) Applying a data handing policy to predetermined system calls
JP2011086026A (ja) 情報記憶装置、情報記憶プログラム、そのプログラムを記録した記録媒体及び情報記憶方法
US20090293058A1 (en) Virtual system and method of restricting use of contents in the virtual system
US20070271472A1 (en) Secure Portable File Storage Device
KR101120372B1 (ko) 호스트 장치의 정보유출 차단방법
KR101227187B1 (ko) 보안영역 데이터의 반출 제어시스템과 그 제어방법
KR20130079004A (ko) 스마트폰에서 파일 시스템 가상화를 이용한 모바일 정보 보호 시스템 및 가상 보안 환경 제공 방법
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 (ja) 情報処理装置及びその制御方法、並びに制御プログラム及び記憶媒体
KR100952484B1 (ko) 이동 저장매체를 인증하는 보안 모듈 및 상기 보안 모듈의동작 방법
KR101028149B1 (ko) 클라이언트 단말의 파일관리장치, 방법 및 그 프로그램이 기록된 기록매체
JP2016224709A (ja) ファイル管理システム、ファイル管理方法、及びファイル管理プログラム
KR20030005760A (ko) 개인용 컴퓨터에서 사용자의 접근권한에 따라접근제어하는 방법 및 그 장치
KR100696322B1 (ko) 하드웨어 매체 접근제어 시스템 및 이를 이용한 하드웨어매체 접근제어 방법
WO2023007570A1 (ja) 情報処理方法、プログラム、記憶媒体

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