KR101044651B1 - 파일 보안 시스템 및 그 제공방법 - Google Patents

파일 보안 시스템 및 그 제공방법 Download PDF

Info

Publication number
KR101044651B1
KR101044651B1 KR1020100131138A KR20100131138A KR101044651B1 KR 101044651 B1 KR101044651 B1 KR 101044651B1 KR 1020100131138 A KR1020100131138 A KR 1020100131138A KR 20100131138 A KR20100131138 A KR 20100131138A KR 101044651 B1 KR101044651 B1 KR 101044651B1
Authority
KR
South Korea
Prior art keywords
file
application
information
tagged
security system
Prior art date
Application number
KR1020100131138A
Other languages
English (en)
Inventor
김문규
이재식
Original Assignee
주식회사 미라지웍스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 미라지웍스 filed Critical 주식회사 미라지웍스
Priority to KR1020100131138A priority Critical patent/KR101044651B1/ko
Application granted granted Critical
Publication of KR101044651B1 publication Critical patent/KR101044651B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)

Abstract

파일 보안 시스템 및 그 제공방법이 개시된다. 상기 파일 보안 시스템은 호스트에서 실행되는 소정의 애플리케이션에 의해 핸들링(handling) 된 파일에 소정의 태그 정보를 태깅하기 위한 태깅 모듈, 상기 태깅 모듈에 의해 태깅된 파일의 실행을 감시하기 위한 모니터링 모듈, 및 상기 태깅된 파일의 실행이 감시되면, 상기 호스트에 소정의 보안메커니즘을 제공하기 위한 제어모듈을 포함한다.

Description

파일 보안 시스템 및 그 제공방법{System for file security and providing method thereof}
본 발명은 파일 보안 시스템 및 그 제공방법에 관한 것으로, 보다 상세하게는 소정의 애플리케이션이 핸들링하는 파일을 태깅을 통해 지속적으로 감시할 수 있는 파일 보안 시스템 및 그 방법에 관한 것이다.
데이터 프로세싱 장치(예컨대, 컴퓨터, 모바일 단말기 등) 및 네트워크(예컨대, 인터넷)의 발달과 함께 정보들이 컴퓨터와 네트워크를 통해 다루어지고 있다. 컴퓨터와 네트워크를 통해 전송되거나 다루어지는 많은 정보들 중에는 사용자가 원하는 정보들뿐만 아니라, 악의적인 공격자에 의해 유포되는 악의적 코드(예컨대, 바이러스(virus), 스파이웨어(spy-ware), 애드웨어(ad-ware) 등)도 포함될 수 있다. 그리고 이러한 악의적 코드들은 사용자 시스템에 치명적인 손해를 입히거나, 사용자가 원하지 않는 동작을 수행하도록 한다. 따라서, 이러한 악의적 코드를 지속적으로 감시하고 차단하고자 하는 노력이 많이 수행되고 있다.
종래에는 일반적으로 악의적 코드들을 검색하기 위해 미리 악의적 코드들의 패턴을 저장하고 있는 DB를 이용하여, 상기 DB에 존재하는 패턴이 호스트 시스템(사용자 단말기 또는 웹 서버 등)에 존재하는 모든 파일 또는 특정 위치(드라이브 또는 디렉토리 등)에 존재하는 파일에 포함되어 있는지를 검색하였다.
하지만, 이러한 방식은 현재 호스트 시스템에 저장되어 있는 불특정 다수의 파일을 무작위로 검색하는 방식으로 많은 시간과 자원을 낭비하는 문제점이 있다. 또한, 종래의 방식은 검색 시점에서 파일이 악의적 코드를 포함하고 있는지만을 판단하는 방식인데, 악의적 코드의 생성 및 활동 방식의 기술이 발달하면서 특정 시점에서는 악의적 코드가 활성화되지 않거나 악의적 코드 자체가 아니었다가, 특정 데이터 프로세싱이 수행되면 또는 특정 시점이 되면 악의적 코드로서 활동을 시작하는 경우도 발생할 수 있다.
예컨대, 호스트 시스템에 소정의 애플리케이션을 통해 특정 파일이 전송되어 올 수 있다. 그러면, 종래에는 상기 특정 파일이 악의적 코드를 포함하고 있는지 여부를 판단하고, 악의적 코드를 포함하고 있지 않은 경우에는 상기 특정 파일은 안전한 파일로 분류하게 된다. 하지만 상기 특정 파일은 상기 호스트 시스템으로 전송될 당시에는 악의적 코드를 포함하고 있지 않거나 활성화되어 있지 않아서 악의적 코드를 검사하기 위한 패턴 검색을 통과할 수 있더라도, 상기 특정 파일이 호스트 시스템에서 실행되는 경우 소정의 데이터 프로세싱을 통해 악의적 코드로 조합되거나 활성화되어 상기 호스트 시스템에서 활동을 수행할 수도 있다.
또는 상기 특정 파일 자체는 악의적 코드를 포함하고 있지 않더라도 상기 특정 파일이 생성하거나 변경한 파일이 악의적 코드를 포함할 수도 있다.
따라서, 호스트 시스템에서 불특정 파일을 무작위로 검사하는 것보다는 선택적으로 특정 애플리케이션에 대한 감시와 검사를 수행하면서, 상기 특정 애플리케이션이 핸들링(생성, 수신, 변경 등)하는 파일에 대한 지속적인 감시 및/또는 검사를 수행하는 기술적 사상이 요구될 수 있다.
따라서, 본 발명이 이루고자 하는 기술적인 과제는 특정 애플리케이션 자체에 소정의 보안 메커니즘(예컨대, 경고정보, 사용차단, 악성코드 검사 등)을 제공하는 것이 아니라, 특정 애플리케이션이 핸들링(예컨대, 다운로드, 생성, 변경 등) 하는 파일에 대해 지속적으로 보안 메커니즘을 제공할 수 있는 시스템 및 그 방법을 제공하는 것이다.
또한, 특정 애플리케이션에 의해 핸들링 된 파일이 핸들링하는 새로운 파일에도 보안 메커니즘을 제공함으로써 상기 특정 애플리케이션에 의해 계층적으로 핸들링되는 다수의 파일들에 대한 보안 메커니즘을 제공할 수 있는 시스템 및 그 방법을 제공하는 것이다.
또한, 특정 애플리케이션에 핸들링 되는 파일들에 대해 소정의 태그정보를 태깅함으로써 상기 애플리케이션에 의해 핸들링된 파일들의 일괄적인 제어가 가능한 시스템 및 방법을 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 파일 보안 시스템은 호스트에서 실행되는 소정의 애플리케이션에 의해 핸들링(handling) 된 파일에 소정의 태그 정보를 태깅하기 위한 태깅 모듈, 상기 태깅 모듈에 의해 태깅된 파일의 실행을 감시하기 위한 모니터링 모듈, 및 상기 태깅된 파일의 실행이 감시되면, 상기 호스트에 소정의 보안메커니즘을 제공하기 위한 제어모듈을 포함한다.
상기 보안 메커니즘은 상기 태깅된 파일의 실행을 차단하는 방식, 상기 태깅된 파일의 실행을 차단하기 위한 UI를 제공하는 방식, 상기 태깅된 파일이 실행될 것을 알려주는 경고(warning) 정보를 디스플레이하는 방식, 소정의 보안 솔루션(solution)을 통해 상기 태깅된 파일을 검사하는 방식, 또는 상기 보안 솔루션에 대한 정보를 제공하는 방식 중 적어도 하나의 방식을 포함할 수 있다.
상기 파일 보안 시스템은 상기 파일 보안 시스템에 의해 관리될 대상 애플리케이션을 구분할 수 있는 구분정보를 설정하기 위한 정책모듈을 더 포함하며, 상기 애플리케이션은 상기 구분정보에 상응하는 것을 특징으로 할 수 있다.
상기 태그정보는 상기 파일 보안 시스템에 의해 감시되고 있음을 나타내는 감시정보를 적어도 포함하고, 상기 애플리케이션에 대한 정보를 더 포함할 수 있는 것을 특징으로 할 수 있다.
상기 모니터링 모듈은 상기 태깅된 파일에 의해 핸들링 되는 제2파일을 감시하고, 상기 태깅모듈은 감시된 상기 제2파일을 태깅할 수 있는 것을 특징으로 할 수 있다.
상기 태깅 모듈은 상기 애플리케이션에 상기 태그정보를 태깅할 수 있는 소정의 코드를 인젝션(injection)하는 것을 특징으로 할 수 있다.
상기 파일 보안 시스템은 상기 태깅 모듈에 의해 태깅된 파일들에 대한 정보를 저장하는 DB를 더 포함할 수 있다.
상기 제어모듈은 상기 DB에 저장된 상기 태깅된 파일들에 대한 정보에 상응하는 파일의 적어도 일부를 삭제하거나 소정의 저장위치로 이동시킬 수 있는 것을 특징으로 할 수 있다.
상기 제어모듈은 상기 DB에 저장된 정보에 상응하는 파일들 중 특정 애플리케이션별로 상기 특정 애플리케이션에 의해 핸들링 된 파일들의 적어도 일부를 삭제하거나 소정의 저장위치로 이동시킬 수 있는 것을 특징으로 할 수 있다.
상기 애플리케이션에 의해 핸들링(handling) 된 파일은 상기 애플리케이션에 의해 생성된 파일, 상기 애플리케이션을 통해 상기 호스트로 전송된 파일, 또는 상기 호스트에 저장되어 있던 파일이 상기 애플리케이션을 통해 변경된 파일 중 적어도 하나인 것을 특징으로 할 수 있다.
상기 기술적 과제를 해결하기 위한 파일 보안 시스템 제공방법은 파일 보안 시스템이 호스트에 위치한 소정의 애플리케이션에 의해 핸들링(handling) 된 파일에 소정의 태그 정보를 태깅하는 단계, 상기 태깅 모듈에 의해 태깅된 파일의 실행을 감시하는 단계, 및 상기 태깅된 파일의 실행이 감시되면, 상기 호스트에 소정의 보안메커니즘을 제공하는 단계를 포함한다.
상기 파일 보안 시스템 제공방법은 상기 파일 보안 시스템에 의해 관리될 대상 애플리케이션을 구분할 수 있는 구분정보가 설정되는 단계 및 설정된 구분정보에 상응하는 상기 애플리케이션을 특정하는 단계를 더 포함할 수 있다.
상기 파일 보안 시스템 제공방법은 상기 파일 보안 시스템에 의해 태깅된 파일에 의해 핸들링 되는 제2파일을 감시하는 단계 및 감시된 상기 제2파일에 태그정보를 태깅하는 단계를 더 포함할 수 있다.
상기 파일 보안 시스템 제공방법은 상기 파일 보안 시스템에 의해 태깅된 파일들에 대한 정보를 저장하는 단계를 더 포함할 수 있다.
상기 제어모듈은 상기 DB에 저장된 정보에 기초하여 상기 파일 보안 시스템에 의해 태깅된 파일들 중 적어도 일부를 삭제하거나 소정의 저장위치로 이동시키는 단계를 더 포함할 수 있다.
상기 파일 보안 시스템 제공방법은 프로그램을 기록한 컴퓨터 판독가능한 기록매체에 저장될 수 있다.
본 발명의 기술적 사상에 따른 파일 보안 시스템 및 그 제공방법은 호스트 시스템에 악영향을 미칠 우려가 있다고 판단된 애플리케이션이 핸들링하는 모든 파일에 대한 보안 메커니즘을 제공할 수 있으므로, 애플리케이션이 상기 호스트 시스템에 영향을 미칠 수 있는 계층적인 영향에 대한 보안 메커니즘을 제공할 수 있는 효과가 있다.
또한, 특정 애플리케이션 자체에 소정의 보안 메커니즘(예컨대, 경고정보, 사용차단, 악성코드 검사 등)을 제공하는 것에 그치지 않고, 특정 애플리케이션이 핸들링(예컨대, 다운로드, 생성, 변경 등) 하는 파일에 대해 지속적으로 보안 메커니즘을 제공할 수 있으므로, 호스트 시스템에 악영향을 미칠 수 있는 특정 애플리케이션에 의해 핸들링되는 파일이 상기 호스트 시스템에서 실행될 때마다 사용자의 주의를 환기시킬 수 있는 효과가 있다.
또한, 상기 애플리케이션에 의해 핸들링된 파일이 호스트 시스템에 저장될 때에만 보안 메커니즘이 제공되는 것이 아니라, 추후에 실행될 때에도 보안 메커니즘을 제공할 수 있으므로, 상기 파일이 소정의 데이터 프로세싱에 의해 악성 코드를 조합하거나, 특정 시점에 활성화되더라도 보안 메커니즘의 적용이 가능한 효과가 있다.
또한, 호스트 시스템에 악영향을 미칠 우려가 있는 애플리케이션을 지정하는 경우, 상기 애플리케이션뿐만 아니라 상기 애플리케이션에 의해 핸들링된 파일 및/또는 상기 애플리케이션에 의해 핸들링된 파일이 핸들링하는 파일 역시 일괄적으로 제어가 가능한 효과가 있다.
또한, 상기 애플리케이션 또는 상기 애플리케이션에 의해 핸들링된 파일 자체가 악성 코드가 없는 경우라도, 상기 핸들링된 파일이 핸들링하는 파일이 특정한 악성코드를 생성하거나 상기 호스트 시스템에 악영향을 미칠 수 있는 경우까지 소정의 보안 메커니즘을 제공할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 파일 보안 시스템의 개략적인 구성을 설명하기 위한 도면이다.
도 2는 본 발명의 실시 예에 따른 파일 보안 시스템 제공방법에 의해 보안 메커니즘을 제공할 대상 애플리케이션을 설정하는 과정을 설명하기 위한 도면이다.
도 3은 본 발명의 실시 예에 따른 파일 보안 시스템 제공방법에 의해 대상 애플리케이션에 대해 보안 메커니즘이 제공되는 과정을 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른 파일 보안 시스템 제공방법에 의해 대상 애플리케이션에 의해 계층적으로 핸들링 된 파일들에 대한 정보를 저장하는 DB를 개념적으로 설명하기 위한 도면이다.
도 5는 본 발명의 실시 예에 따른 파일 보안 시스템 제공방법을 설명하기 위한 개략적인 플로우 챠트를 나타낸다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다.
반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 실시 예에 따른 파일 보안 시스템의 개략적인 구성을 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 파일 보안 시스템(100)은 제어모듈(110), 태깅 모듈(120), 및 모니터링 모듈(130)을 포함한다. 상기 파일 보안 시스템(100)은 정책모듈(140) 및/또는 DB(150)를 더 포함할 수 있다.
상기 파일 보안 시스템(100)은 소정의 호스트(미도시)에 설치되어 본 발명의 기술적 사상을 구현할 수 있다. 구현 예에 따라서는 상기 호스트와는 별개의 물리적 장치에 구비되어 상기 호스트와 유기적으로 결합하여 본 발명의 기술적 사상을 구현할 수도 있다. 상기 호스트는 사용자 컴퓨터, 모바일 단말기, 또는 웹 서버 등 다양한 형태로 구현될 수 있다.
본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스(resource)의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다. 따라서, 상기 모듈은 본 명세서에서 정의되는 기능을 수행하는 하드웨어 및 소프트웨어의 결합을 의미하며 특정 물리적 구성을 의미하는 것은 아니다.
또한, 본 명세서에서 DB(Database, 150)는 적어도 하나의 테이블로 구현될 수도 있으며, 상기 DB(150)에 저장된 정보를 검색, 저장, 및 관리하기 위한 별도의 DBMS(Database Management System)을 더 포함할 수도 있다. 또한, 링크드 리스트(linked-list), 트리(Tree), 관계형 DB의 형태 등 다양한 방식으로 구현될 수 있으며, 상기 DB(150)에 저장될 수 있는 정보를 저장하기 위한 모든 데이터 저장매체 및 데이터 구조를 포함하는 의미로 사용될 수도 있다.
상기 제어 모듈(110)은 상기 파일 보안 시스템(100)에 포함된 다른 구성(예컨대, 태깅 모듈(120), 모니터링 모듈(130), 정책모듈(140), 및/또는 DB(150) 등)의 기능 및/또는 리소스(resource)를 제어할 수 있다.
상기 태깅 모듈(120)은 호스트에서 실행되는 소정의 애플리케이션에 의해 핸들링(handling) 된 파일에 소정의 태그 정보를 태깅할 수 있다. 상기 애플리케이션은 호스트에 미리 설치된 애플리케이션일 수 있다. 따라서, 상기 호스트는 자동으로 또는 사용자의 요청에 의해 상기 애플리케이션을 실행할 수 있다. 상기 애플리케이션은 상기 애플리케이션이 실행되어 소정의 파일을 핸들링할 수 있는 모든 종류의 애플리케이션을 포함할 수 있다. 예컨대, 상기 애플리케이션은 유저 또는 시스템에 의해 상기 호스트에 악영향을 미칠 가능성이 높다고 판단된 애플리케이션일 수 있다. 호스트에 악영향을 미친다고 함은, 소정의 악성코드(예컨대, 바이러스, 스파이웨어, 애드웨어 등) 또는 사용자의 의도와는 다르게 상기 호스트에 존재하는 리소스를 이용하는 다양한 프로그램 코드들을 상기 호스트에 저장 또는 실행할 수 있는 경우를 의미할 수 있다. 따라서, 상기 애플리케이션은 외부 네트워크와 연결되어 소정의 파일을 수신할 수 있는 다양한 애플리케이션(예컨대, 인스턴트 메신저, 파일 다운로더 등)일 수 있지만, 이에 한정되는 것은 아니다. 상기 애플리케이션은 미리 상기 호스트에 의해 디폴트로 설정될 수도 있지만, 사용자에 의해 설정될 수도 있다. 즉, 사용자 또는 호스트는 위험성이 있거나, 위험성을 유발할 수 있는 애플리케이션을 미리 설정할 수 있다. 또는, 후술할 바와 같이 본 발명의 실시 예에 따른 파일 보안 시스템(100)은 특정 애플리케이션에 의해 핸들링 되는 모든 파일들 또는 적어도 일부를 일괄적으로 제어할 수 있는 기술적 사상을 제공하므로, 사용자는 특정 애플리케이션에 의해 핸들링 되는 파일들을 일괄적으로 제어하기 위해서, 위험성이 없는 애플리케이션도 감시의 대상으로 설정할 수 있다.
상기 애플리케이션에 의해 핸들링 된 파일이라 함은, 상기 애플리케이션에 의해 생성되거나, 상기 애플리케이션에 의해 상기 호스트로 수신되거나, 상기 애플리케이션에 의해 변경되는 파일을 의미할 수 있다. 즉, 상기 애플리케이션에 의해 상기 호스트에 새롭게 저장 또는 설치될 수 있는 모든 형태의 파일을 의미할 수 있다. 예컨대, 상기 애플리케이션이 인스턴트 메신저 또는 파일 다운로더인 경우, 상기 인스턴트 메신저에 의해 수신된 파일이 상기 애플리케이션에 의해 핸들링 된 파일일 수 있다. 또는, 상기 애플리케이션이 소정의 파일을 생성할 수 있는 애플리케이션인 경우, 상기 애플리케이션에 의해 생성된 상기 파일이 상기 애플리케이션에 의해 핸들링 된 파일일 수 있다. 또는 기존에 상기 호스트에 존재하던 파일이 상기 애플리케이션에 의해 변경되는 경우, 변경된 상기 파일이 상기 애플리케이션에 의해 핸들링 된 파일일 수 있다.
상기 태깅 모듈(120)은 이처럼 상기 애플리케이션에 의해 핸들링 된 파일에 소정의 태그정보를 태깅할 수 있다. 상기 파일에 상기 태그정보를 태깅한다고 함은, 상기 파일 보안 시스템(100)이 상기 파일을 식별할 수 있도록 하는 소정의 정보를 상기 파일에 기록하는 것을 의미할 수 있다. 상기 파일에 태깅된 상기 태그정보는 유저가 인식하거나 확인할 수 없을 수도 있다. 상기 파일에 상기 태그정보가 기록될 수 있는 모든 방식으로 상기 태그정보가 상기 태깅 모듈(120)에 의해 태깅될 수 있다. 상기 태그정보는 상기 파일의 위치가 변동되거나 파일이 리네임(rename)되는 경우에도 변경되거나 삭제되지 않는 것이 바람직할 수 있다. 따라서, 상기 파일 보안 시스템(100)은 상기 파일이 유저에 의해 이동되거나 파일명이 변경되더라도 소정의 파일이 상기 파일 보안 시스템(100)에 의해 태깅된 파일인지를 확인할 수 있다.
예컨대, 상기 태깅 모듈(120)은 소정의 메타정보에 상기 태그정보를 기록하거나, 상기 호스트가 NT 파일 시스템인 경우 대체 데이터 스트림(alternate data stream)을 이용하여 상기 파일에 상기 태그정보를 내장하는 방식 등과 같이 다양한 방법으로 상기 태그정보를 기록할 수 있다. 구현 예에 따라서는 상기 태깅 모듈(120)은 상기 파일의 파일명에 상기 태그정보를 기록할 수도 있다.
한편, 상기 태깅 모듈(120)이 상기 태그정보를 상기 애플리케이션에 의해 핸들링 되는 파일들에 태깅하기 위해서는, 상기 태그정보를 태깅할 수 있는 소정의 코드 또는 모듈을 상기 애플리케이션에 인젝션(injection) 할 수 있다. 예컨대, 상기 코드 또는 모듈은 본 발명의 기술적 사상에 따라 소정의 태그정보를 상기 파일들에 태깅할 수 있는 파일(예컨대, .dll 파일) 또는 라이브러리 일 수 있으며, 상기 태깅 모듈(120)은 상기 애플리케이션을 실행하는 프로세스에게 상기 코드 또는 모듈을 호출하도록 제어함으로써 상기 코드 또는 모듈을 인젝션 할 수 있다. 소정의 코드 또는 모듈을 인젝션할 수 있는 방식은 다양할 수 있는데, 예컨대 상기 호스트가 윈도우즈(Windows®) 시스템인 경우, CreateRemoteThread API를 이용하거나, 레지스트리 키를 이용하거나, SetWindowsHookEx() API를 이용하여 메시지 훅을 설치하는 등의 다양한 방식이 사용될 수 있다. 이러한 인젝션 방식에 대해서는 공지되어 있으므로 본 명세서에서는 상세한 설명은 생략하도록 한다.
인젝션된 상기 코드 또는 모듈은 상기 애플리케이션이 실행되면, 상기 애플리케이션이 소정의 파일을 핸들링 하는지를 모니터링 한 후, 상기 파일에 상기 태그정보를 태깅하는 기능을 수행할 수 있다.
한편, 상기 태그정보는 상기 파일이 태깅되었음을 나타낼 수 있는 소정의 정보를 포함할 수 있다. 이러한 정보는 단순히 1 bit의 정보일 수도 있고, 소정의 상수 값으로 표현될 수도 있다. 한편, 상기 태그정보에는 상기 파일을 핸들링 한 상기 애플리케이션에 대한 정보를 더 포함할 수도 있다. 예컨대, 소정의 파일 "aa"는 소정의 애플리케이션 "AA"에 의해 핸들링 된 파일일 수 있다. 그러면, 상기 파일("aa")에 태깅되는 태그정보에는 상기 애플리케이션("AA")에 대한 정보(예컨대, 애플리케이션의 이름 또는 위치 등)이 포함될 수도 있다. 이처럼 상기 파일을 핸들링 한 애플리케이션에 대한 정보가 상기 태그정보에 포함되는 경우에는, 애플리케이션별로 상기 애플리케이션에 의해 핸들링 된 파일들 모두 또는 일부를 일괄적으로 제어(삭제, 이동, 또는 소정의 보안 애플리케이션을 통한 검사 등)할 수 있는 효과가 있다.
한편, 상기 모니터링 모듈(130)은 상기 태깅 모듈(120)에 의해 태깅된 파일의 실행을 감시할 수 있다. 상기 파일이 실행되는 방식은 상기 파일의 종류에 따라 다양할 수 있다. 예컨대, 상기 파일이 실행가능한 파일(예컨대, ".exe")인 경우에는 상기 파일이 상기 호스트에 의해 실행되는 경우를 의미할 수 있으며, 상기 파일이 소정의 멀티미디어 파일인 경우에는 상기 멀티미디어 파일을 재생할 수 있는 소정의 애플리케이션에 의해 상기 멀티미디어 파일이 재생되는 경우를 의미할 수 있다. 또한, 파일의 종류에 따라 상기 파일이 오픈(open)되는 경우 등 다양한 실행형태가 가능할 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다. 상기 모니터링 모듈(130)이 상기 파일의 실행 여부를 판단하는 방식은 다양할 수 있다. 예컨대, 상기 파일 보안 시스템(100)은 후술할 바와 같이 상기 파일 보안 시스템(100)에 의해 태깅된 파일에 대한 정보를 저장하는 소정의 DB(150)를 유지 및/또는 관리할 수 있다. 그러면, 상기 모니터링 모듈(130)은 상기 호스트의 OS(Operating System)으로 출력되는 요청들(requests)들을 후킹(hooking)하여, 후킹된 요청들에 상기 DB(150)에 저장된 정보에 상응하는 파일의 실행요청이 있는지를 모니터링 할 수 있다. 기타 다양한 방식으로 상기 모니터링 모듈(130)이 상기 파일의 실행 여부를 판단할 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
또한, 상기 모니터링 모듈(130)은 상기 애플리케이션에 의해 소정의 파일이 핸들링 되는지 여부도 모니터링할 수 있다. 상기 모니터링 모듈(130)이 상기 애플리케이션에 의해 핸들링되는 파일이 있는지 여부는 예컨대, 상기 애플리케이션 또는 상기 애플리케이션에 의해 로드된 프로세스의 I/O 메시지를 후킹하는 방식을 이용할 수도 있다. 이처럼 상기 모니터링 모듈(130)에 의해 상기 애플리케이션이 소정의 파일을 핸들링 하였다고 판단하면, 상기 태깅 모듈(120)은 상기 파일을 태깅할 수 있다.
한편, 상기 제어모듈(110)은 상기 모니터링 모듈(130)에 의해 태깅된 파일의 실행이 감시되면, 상기 호스트에 소정의 보안 메커니즘을 제공할 수 있다. 즉, 태깅된 파일은 상기 호스트에 악영향을 미칠 가능성이 있다고 판단되어 상기 파일 보안 시스템(100)에 의해 감시되는 파일일 수 있다. 따라서, 상기 제어모듈(110)은 상기 태깅된 파일의 실행이 감시되면, 소정의 방식으로 사용자 또는 호스트에 실행이 요청된 파일은 본 발명의 기술적 사상에 따라 태깅된 파일임을 알려주거나, 사용자 또는 호스트가 상기 태깅된 파일의 실행에 대해 소정의 조치를 자동 또는 수동으로 취하도록 하는 일련의 과정 즉, 보안 메커니즘을 제공할 수 있다.
상기 보안 메커니즘은 단순히 사용자에게 태깅된 파일이 실행되려고 한다는 정보를 전달하는 방식, 또는 적극적으로 태깅된 파일의 실행을 차단하는 방식, 및/또는 태깅된 파일이 소정의 프로세스(예컨대, 보안 솔루션, 백신 프로그램 등을 통해 검사를 수행)를 수행하도록 하는 방식 등 다양한 방식을 포함할 수 있다.
도 3은 본 발명의 실시 예에 따른 파일 보안 시스템 제공방법에 의해 대상 애플리케이션에 대해 보안 메커니즘이 제공되는 과정을 설명하기 위한 도면이다.
도 3을 참조하면, 예컨대, 상기 제어모듈(110)은 상기 태깅된 파일의 실행을 자동으로 차단할 수도 있고, 도 2에 도시된 바와 같이 상기 태깅된 파일의 실행을 차단하기 위한 소정의 UI(10, 11)를 제공할 수도 있다. 만약, 사용자가 UI(10)을 선택하는 경우, 상기 태깅된 파일의 실행은 차단될 수 있다.
구현 예에 따라, 상기 제어모듈(110)은 소정의 보안 솔루션(solution, 예컨대, 백신 프로그램 등)을 통해 상기 태깅된 파일을 자동으로 검사하거나, 도 2에 도시된 바와 같이 사용자가 상기 보안 솔루션을 통해 검사를 하도록 소정의 UI(12, 13)를 제공할 수도 있다. 또는 상기 보안 솔루션에 대한 정보를 사용자 또는 호스트에 제공하여, 해당 보안 솔루션으로 상기 태깅된 파일의 검사를 진행하도록 할 수도 있다.
또는, 상기 제어모듈(110)은 상기 태깅된 파일이 실행될 것을 알려주는 경고(warning) 정보를 상기 호스트에 연결된 소정의 디스플레이 장치(미도시)에 디스플레이하는 등 다양한 방식으로 보안 메커니즘을 제공할 수 있다.
이처럼, 본 발명의 실시 예에 따른 파일 보안 시스템 제공방법에 따르면, 특정 애플리케이션에 의해 핸들링 된 파일은, 핸들링 된 시점뿐만 아니라 실행될 때마다 소정의 보안 메커니즘이 제공될 수 있으므로, 사용자의 주의를 환기시켜 위험성이 있는 파일들에 대한 무분별한 실행을 방지할 수 있다. 또한, 핸들링 된 시점에서 악성코드가 아니었지만 실행시점에서 악성코드로 활성화되거나 조합되는 경우의 위험성을 차단할 수 있는 효과도 있다. 또한, 항상 소정의 보안 솔루션이 상기 호스트에서 동작하고 있지 않아도, 위험성이 있다고 평가된 파일들의 실행시에는 상기 보안 솔루션이 동작을 하도록 함으로써 호스트의 부하를 줄일 수 있는 효과도 있다.
한편, 전술한 바와 같이 상기 파일 보안 시스템(100)은 위험성이 있거나 위험성을 유발할 수 있다고 판단되는 소정의 애플리케이션(예컨대, 인스턴트 메신저 또는 파일 다운로더 등)에 대해 본 발명의 기술적 사상이 적용되도록 감시의 대상으로 설정할 수 있다. 물론, 구현 예에 따라서는 사용자의 필요에 의해 위험성이 없거나 위험성을 유발하지 않는 소정의 애플리케이션이 감시의 대상이 되도록 설정될 수도 있다.
도 2는 본 발명의 실시 예에 따른 파일 보안 시스템 제공방법에 의해 보안 메커니즘을 제공할 대상 애플리케이션을 설정하는 과정을 설명하기 위한 도면이다.
먼저, 도 2a를 참조하면, 본 발명의 실시 예에 따른 파일 보안 시스템(100)은 도 2a에 도시된 바와 같은 UI를 사용자에게 제공할 수 있다. 즉, 사용자는 본 발명의 실시 예에 따른 파일 보안 시스템 제공방법에 따라 감시를 수행할 애플리케이션 즉, 대상 애플리케이션을 설정할 수 있다. 이를 위해 상기 파일 보안 시스템(100)은 정책모듈(140)을 포함할 수 있다. 정책모듈(140)은 도 2a에 도시된 바와 같이 사용자에게 대상 애플리케이션을 설정할 수 있는 소정의 UI를 제공할 수 있다.
상기 정책모듈(140)은 도 2a에 도시된 바와 같은 UI를 제공하여 상기 대상 애플리케이션을 특정할 수 있는 구분정보를 설정할 수 있다. 이를 위해 상기 구분정보를 사용자로부터 수신할 수 있다. 상기 구분정보는 대상 애플리케이션을 특정(구분)할 수 있는 소정의 정보를 의미할 수 있다. 사용자는 소정의 입력장치(예컨대, 마우스, 키보드 등)를 이용하여 상기 구분정보를 상기 정책모듈(140)로 입력할 수 있다.
상기 구분정보는 대상 애플리케이션을 다른 애플리케이션과 구분할 수 있는 소정의 정보일 수 있으며, 상기 구분정보는 사용자가 입력할 수도 있고, 상기 호스트에 디폴트로 설정될 수도 있다. 예컨대, 상기 구분정보는 상기 대상 애플리케이션을 구분할 수 있는 소정의 파일명 구분정보를 포함할 수 있다. 예컨대, 상기 파일명 구분정보는 대상 애플리케이션의 풀네임(fullname)일 수도 있고, 상기 대상 애플리케이션이 포함하는 파일명의 일부일 수도 있다. 예컨대, 'nate'라는 파일명 구분정보가 상기 정책모듈(140)에 저장되어 있는 경우, 파일명에 'nate'라는 텍스트를 포함한 모든 애플리케이션이 대상 애플리케이션으로 설정될 수 있다.
또는 상기 구분정보는 다양한 메타정보들을 포함할 수 있다. 상기 메타정보는 예컨대, 파일의 생성날짜, 작성자, 위치 등 다양할 수 있다. 따라서, 사용자 또는 호스트는 상기 메타정보 중 적어도 하나를 이용하여 상기 대상 애플리케이션을 설정할 수도 있다. 예컨대, 구분정보가 소정의 생성날짜를 포함하는 경우, 해당하는 생성날짜에 생성된 애플리케이션이 상기 대상 애플리케이션으로 설정될 수 있다. 그러면, 상기 파일 보안 시스템(100)은 애플리케이션들의 메타정보를 확인하고, 메타정보에 상기 구분정보가 포함되어 있는지를 확인함으로써 애플리케이션이 대상 애플리케이션인지 여부를 판단할 수 있다.
상기 구분정보 및/또는 상기 대상 애플리케이션은 상기 DB(150)에 저장될 수 있다.
도 2b는 이처럼 정책모듈(140)에 의해 설정된 대상 애플리케이션이 저장된 경우를 나타내는데, 도 2b에 도시된 바와 같이 파일명, 생성날짜, 작성자 등과 같이 다양한 정보를 이용해 사용자 또는 호스트는 구분정보를 저장할 수 있다. 그러면, 상기 구분정보에 상응하는 애플리케이션은 대상 애플리케이션으로 설정될 수 있다. 또한, 하나의 구분정보에 반드시 하나의 대상 애플리케이션이 설정되는 아닐 수 있다. 도 2b에 도시된 바와 같이 'nate'라는 구분정보에 상응하는 'nateon.exe'라는 애플리케이션과 'natel.exe'라는 애플리케이션이 존재할 수 있다. 또한, 새로운 애플리케이션이 상기 호스트에 설치되는 경우, 설치되는 애플리케이션이 대상 애플리케이션인지 여부를 정책모듈(140)은 판단할 수도 있다.
한편, 본 발명의 실시 예에 따른 파일 보안 시스템 제공방법에 의하면, 상술한 바와 같이 파일명, 또는 다양한 메타정보를 이용하여 대상 애플리케이션을 설정함으로써 사용자 또는 호스트는 소정의 위험성이 있는 애플리케이션을 감시할 수도 있을 뿐만 아니라, 위험성이 없는 애플리케이션에 의해 핸들링 되는 파일들에 대해서도 소정의 제어정책을 적용할 수 있다. 예컨대, 특정 워드프로세서에 의해 핸들링 되는 모든 파일을 사용자는 소정의 위치에 저장하고 싶을 수 있다. 그러면, 상기 워드 프로세서를 대상 애플리케이션으로 지정하고, 상기 대상 애플리케이션에 의해 핸들링 되는 파일들을 소정의 저장위치에 저장하도록 하는 제어정책을 상기 정책모듈(140)로 출력할 수 있다. 그러면, 이러한 제어정책은 상기 DB(150)에 저장될 수 있다. 또는 소정의 위험성이 있는 애플리케이션에 대해서는 별도의 드라이브에 저장되도록 지정할 수도 있고, 반드시 소정의 보안 솔루션을 통한 검사가 수행된 후, 실행되도록 소정의 제어정책을 설정할 수도 있다. 또는 소정의 애플리케이션에 의해 핸들링 되는 파일들은 삭제되도록 제어정책이 설정될 수도 있다. 그러면, 상기 제어모듈(110)은 저장된 제어정책에 따라 태깅된 파일들을 일괄적으로 제어(예컨대, 이동, 삭제 등)할 수 있다.
물론, 구현 예에 따라, 상기 제어모듈(110)은 상기 DB(150)에 저장된 태깅된 파일에 대한 정보를 사용자에게 제공할 수 있으며, 사용자는 상기 태깅된 파일에 대한 정보를 보고 직접 특정 애플리케이션별로 또는 사용자가 선택하는 파일에 대해서 소정의 제어를 수행할 수 있다. 즉, 상기 제어모듈(110)은 상기 정책모듈(140)에 의해 설정되어 저장된 제어정책에 따라 자동으로 소정의 제어를 수행할 수도 있다. 또는, 상기 제어모듈(110)은 사용자에게 현재 태깅된 파일들에 대한 정보를 제공하고, 사용자는 제공된 정보를 보고 직접 태깅된 파일들의 전부 또는 일부를 삭제하거나 소정의 위치로 이동하도록 제어할 수도 있다. 또는 상기 제어모듈(110)은 상기 태깅된 파일들을 애플리케이션별로 분류하여 보여줄 수도 있다. 그러면, 사용자는 애플리케이션별로 분류된 태깅된 파일들을 일괄적으로 제어할 수도 있다.
도 4는 본 발명의 실시 예에 따른 파일 보안 시스템 제공방법에 의해 대상 애플리케이션에 의해 계층적으로 핸들링 된 파일들에 대한 정보를 저장하는 DB를 개념적으로 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른 DB(150)를 개념적으로 나타내는데, 본 발명의 실시 예에 따른 DB(150)는 도 4에 도시된 바와 같이 파일 보안 시스템(100)에 의해 태깅된 파일들에 대한 정보(예컨대, "a.exe", "b.txt" 등)를 저장할 수 있다.
또한, 상기 DB(150)에는 상기 태깅된 파일들 각각에 상응하는 애플리케이션 즉, 태깅된 파일들 각각을 핸들링 한 애플리케이션(parent 애플리케이션)에 대한 정보(예컨대, "nateon.exe", "a.exe")를 더 저장할 수 있다. 여기서 어떤 애플리케이션(또는 파일)에 의해 제2파일이 핸들링 되는 경우, 상기 애플리케이션(또는 파일)은 부모(parent)로 표현될 수 있고, 상기 제2파일은 자식(child)로 표현될 수 있다. 따라서, 본 발명의 실시 예에 따른 파일 보안 시스템 제공방법에 의하면, 태깅된 파일에 의해 핸들링 되는 파일이 반복적으로 생성되는 경우에도, 이러한 부모와 자식간의 계층적인 그래프(graph) 또는 트리(tree)로 표현될 수 있어서 계층적인 제어 및 관리가 가능해질 수 있다.
도 4를 참조하면 알 수 있듯이, 본 발명의 실시 예에 따른 파일 보안 시스템(100)은 소정의 애플리케이션에 의해 핸들링 된 파일을 계층적으로 감시할 수 있는 기술적 사상을 제공한다. 예컨대, 도 4에 도시된 바와 같이 애플리케이션(예컨대, "nateon.exe")는 대상 애플리케이션일 수 있다. 상기 애플리케이션(예컨대, "nateon.exe")에 의해 소정의 파일(예컨대, "a.exe")이 핸들링(예컨대, 상기 호스트로 수신)될 수 있다. 그러면, 상기 태깅 모듈(120)은 상기 파일(예컨대, "a.exe")을 태깅할 수 있다. 그 후, 상기 파일(예컨대, "a.exe")이 실행되고, 상기 파일(예컨대, "a.exe")이 소정의 파일(예컨대, "b.txt")를 핸들링(예컨대, 생성)한 경우, 상기 태깅 모듈(120)은 상기 파일(예컨대, "b.txt") 역시 태깅할 수 있다. 이를 위해 상기 모니터링 모듈(130)은 태깅된 파일에 의해 핸들링 되는 제2파일을 감시할 수 있고, 상기 태깅 모듈(120)은 감시된 상기 제2파일을 태깅할 수 있다.
따라서, 본 발명의 실시 예에 따른 파일 보안 시스템(100)은 태깅된 파일에 의해 핸들링 되는 파일 역시 태깅함으로써, 대상 애플리케이션에 의해 직접뿐만 아니라 간접적으로 상기 호스트에 생성되거나, 전송되거나, 변경되는 등의 방식으로 상기 호스트에 영향을 미칠 수 있는 모든 파일들에 대한 보안 메커니즘을 제공할 수 있다.
또한, 상기 DB(150)에는 도 4에는 도시되지 않았지만, 전술한 바와 같이 상기 구분정보 및/또는 상기 대상 애플리케이션에 대한 정보, 또는 소정의 제어정책에 대한 정보가 더 포함될 수 있다.
또한, 전술한 바와 같이 상기 제어모듈(110)은 상기 DB(150)에 저장된 소정의 제어정책에 따라 상기 DB(150)에 저장된 태깅된 파일에 대한 정보에 상응하는 파일을 자동으로 제어할 수도 있다. 또는, 상기 DB(150)에 저장된 태깅된 파일에 대한 정보를 사용자에게 제공하고, 사용자가 상기 정보를 보고 직접 제어하도록 할 수도 있다. 물론, 이때에는 애플리케이션별로 태깅된 파일들의 제어가 가능할 수도 있다. 예컨대, 상기 제어모듈(110)은 동일한 애플리케이션을 부모(parent) 또는 조상(ancestor)으로 하는 파일들 중 적어도 일부를 삭제하거나 미리 지정된 위치로 이동하도록 할 수 있다. 예컨대, 도 4에 도시된 바와 같은 DB(150)가 존재하는 경우, 사용자는 애플리케이션("nateon.exe")을 선택하고, 상기 애플리케이션("nateon.exe")에 의해 핸들링 된 파일들을 모두 삭제 또는 이동하도록 제어할 수 있다. 그러면, 상기 제어모듈(110)은 상기 애플리케이션("nateon.exe")을 조상으로 하는 모든 파일들(예컨대, "a.exe", "b.txt")을 삭제 또는 이동하도록 제어할 수 있다. 구현 예에 따라서는 상기 애플리케이션("nateon.exe")을 직접 부모로 하는 파일들(예컨대, "a.exe")만이 삭제 또는 이동될 수도 있다.
도 5는 본 발명의 실시 예에 따른 파일 보안 시스템 제공방법을 설명하기 위한 개략적인 플로우 챠트를 나타낸다.
본 발명의 실시 예에 따른 파일 보안 시스템 제공방법에 의하면, 먼저 상기 파일 보안 시스템(100)에 의해 소정의 대상 애플리케이션이 특정될 수 있다(S100). 상기 대상 애플리케이션의 특정은 소정의 구분정보를 이용하여 사용자 또는 호스트에 의해 수행될 수 있다. 그러면, 상기 파일 보안 시스템(100)은 상기 대상 애플리케이션을 감시할 수 있다(S110). 그리고, 상기 대상 애플리케이션에 의해 소정의 파일이 핸들링 되는 경우(S120), 상기 파일에 소정의 태그정보를 태깅할 수 있다(S130).
그러면 상기 파일 보안 시스템(100)은 태깅된 상기 파일을 감시할 수 있다(S140). 그리고, 상기 파일의 실행이 요청되는 경우(S150), 전술한 바와 같은 소정의 보안 메커니즘을 사용자 또는 호스트에 제공할 수 있다(S160). 상기 보안 메커니즘에 의해서 상기 파일이 실행되는 경우, 상기 파일 보안 시스템(100)은 실행의 결과로 소정의 제2파일이 다시 핸들링 되는지를 감시할 수 있다(S170). 즉, 태깅된 파일에 의해 다시 핸들링 되는 제2파일이 존재하는지를 감시할 수 있다. 그리고, 상기 태깅된 파일에 의해 핸들링 되는 제2파일이 존재하는 경우, 상기 제2파일 역시 태깅할 수 있다(S130).
또한, 전술한 바와 같이 상기 파일 보안 시스템(100)은 태깅된 파일들에 대해 미리 저장된 소정의 제어정책에 의해 자동으로 상기 태깅된 파일들 중 적어도 일부를 제어할 수 있다. 또는, 사용자가 직접 상기 태깅된 파일들 중 적어도 일부를 제어할 수도 있다. 이때에는 특정 애플리케이션별로, 즉, 특정 애플리케이션에 의해 핸들링 된 파일들(상기 특정 애플리케이션을 조상으로 하는 모든 파일들을 의미함)별로 일괄적으로 제어할 수도 있다.
본 발명의 실시 예에 따른 파일 보안 시스템 제공방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (16)

  1. 호스트에서 실행되는 소정의 애플리케이션에 의해 핸들링(handling) 된 파일에 소정의 태그 정보를 태깅하기 위한 태깅 모듈;
    상기 태깅 모듈에 의해 태깅된 파일의 실행을 감시하기 위한 모니터링 모듈; 및
    상기 태깅된 파일의 실행이 감시되면, 상기 호스트에 소정의 보안메커니즘을 제공하기 위한 제어모듈을 포함하는 파일 보안 시스템.
  2. 제 1항에 있어서, 상기 보안 메커니즘은,
    상기 태깅된 파일의 실행을 차단하는 방식,
    상기 태깅된 파일의 실행을 차단하기 위한 UI를 제공하는 방식,
    상기 태깅된 파일이 실행될 것을 알려주는 경고(warning) 정보를 디스플레이하는 방식,
    소정의 보안 솔루션(solution)을 통해 상기 태깅된 파일을 검사하는 방식, 또는 상기 보안 솔루션에 대한 정보를 제공하는 방식 중 적어도 하나의 방식을 포함하는 것을 특징으로 하는 파일 보안 시스템.
  3. 제 1항에 있어서, 상기 파일 보안 시스템은,
    상기 파일 보안 시스템에 의해 관리될 대상 애플리케이션을 구분할 수 있는 구분정보를 설정하기 위한 정책모듈을 더 포함하며,
    상기 애플리케이션은 상기 구분정보에 상응하는 것을 특징으로 하는 파일 보안 시스템.
  4. 제 1항에 있어서, 상기 태그정보는,
    상기 파일 보안 시스템에 의해 감시되고 있음을 나타내는 감시정보를 적어도 포함하고, 상기 애플리케이션에 대한 정보를 더 포함할 수 있는 것을 특징으로 하는 파일 보안 시스템.
  5. 제 1항에 있어서, 상기 모니터링 모듈은,
    상기 태깅된 파일에 의해 핸들링 되는 제2파일을 감시하고,
    상기 태깅모듈은 감시된 상기 제2파일을 태깅할 수 있는 것을 특징으로 하는 파일 보안 시스템.
  6. 제 1항에 있어서, 상기 태깅 모듈은,
    상기 애플리케이션에 상기 태그정보를 태깅할 수 있는 소정의 코드를 인젝션(injection)하는 것을 특징으로 하는 파일 보안 시스템.
  7. 제 1항에 있어서, 상기 파일 보안 시스템은,
    상기 태깅 모듈에 의해 태깅된 파일들에 대한 정보를 저장하는 DB를 더 포함하는 파일 보안 시스템.
  8. 제 7항에 있어서, 상기 제어모듈은,
    상기 DB에 저장된 상기 태깅된 파일들에 대한 정보에 상응하는 파일의 적어도 일부를 삭제하거나 소정의 저장위치로 이동시킬 수 있는 것을 특징으로 하는 파일 보안 시스템.
  9. 제 8항에 있어서, 상기 제어모듈은,
    상기 DB에 저장된 정보에 상응하는 파일들 중 특정 애플리케이션별로 상기 특정 애플리케이션에 의해 핸들링 된 파일들의 적어도 일부를 삭제하거나 소정의 저장위치로 이동시킬 수 있는 것을 특징으로 하는 파일 보안 시스템.
  10. 제 1항에 있어서, 상기 애플리케이션에 의해 핸들링(handling) 된 파일은,
    상기 애플리케이션에 의해 생성된 파일, 상기 애플리케이션을 통해 상기 호스트로 전송된 파일, 또는 상기 호스트에 저장되어 있던 파일이 상기 애플리케이션을 통해 변경된 파일 중 적어도 하나인 것을 특징으로 하는 파일 보안 시스템.
  11. 파일 보안 시스템이 호스트에 위치한 소정의 애플리케이션에 의해 핸들링(handling) 된 파일에 소정의 태그 정보를 태깅하는 단계;
    상기 태깅 모듈에 의해 태깅된 파일의 실행을 감시하는 단계; 및
    상기 태깅된 파일의 실행이 감시되면, 상기 호스트에 소정의 보안메커니즘을 제공하는 단계를 포함하는 파일 보안 시스템 제공방법.
  12. 제 11항에 있어서, 상기 파일 보안 시스템 제공방법은,
    상기 파일 보안 시스템에 의해 관리될 대상 애플리케이션을 구분할 수 있는 구분정보가 설정되는 단계; 및
    설정된 구분정보에 상응하는 상기 애플리케이션을 특정하는 단계를 더 포함하는 파일 보안 시스템 제공방법.
  13. 제 11항에 있어서, 상기 파일 보안 시스템 제공방법은,
    상기 파일 보안 시스템에 의해 태깅된 파일에 의해 핸들링 되는 제2파일을 감시하는 단계; 및
    감시된 상기 제2파일에 태그정보를 태깅하는 단계를 더 포함하는 파일 보안 시스템 제공방법.
  14. 제 11항에 있어서, 상기 파일 보안 시스템 제공방법은,
    상기 파일 보안 시스템에 의해 태깅된 파일들에 대한 정보를 저장하는 단계를 더 포함하는 파일 보안 시스템 제공방법.
  15. 제 12항에 있어서, 상기 제어모듈은,
    상기 DB에 저장된 정보에 기초하여 상기 파일 보안 시스템에 의해 태깅된 파일들 중 적어도 일부를 삭제하거나 소정의 저장위치로 이동시키는 단계를 더 포함하는 파일 보안 시스템 제공방법.
  16. 제 11항 내지 제 15항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램을 기록한 컴퓨터 판독가능한 기록매체.

KR1020100131138A 2010-12-21 2010-12-21 파일 보안 시스템 및 그 제공방법 KR101044651B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100131138A KR101044651B1 (ko) 2010-12-21 2010-12-21 파일 보안 시스템 및 그 제공방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100131138A KR101044651B1 (ko) 2010-12-21 2010-12-21 파일 보안 시스템 및 그 제공방법

Publications (1)

Publication Number Publication Date
KR101044651B1 true KR101044651B1 (ko) 2011-06-29

Family

ID=44406139

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100131138A KR101044651B1 (ko) 2010-12-21 2010-12-21 파일 보안 시스템 및 그 제공방법

Country Status (1)

Country Link
KR (1) KR101044651B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067210A (ja) 2001-08-22 2003-03-07 Just Syst Corp プログラム実行防止装置、プログラム実行防止方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
KR20040083409A (ko) * 2004-09-10 2004-10-01 (주) 세이프아이 실시간 감시를 통한 컴퓨터 보호 방법 및 이에 따라보호되는 컴퓨터와 그 시스템
KR100954356B1 (ko) 2008-03-10 2010-04-21 주식회사 안철수연구소 코드 보호 기법을 고려한 악성 프로그램 감지 시스템 및 그방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067210A (ja) 2001-08-22 2003-03-07 Just Syst Corp プログラム実行防止装置、プログラム実行防止方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体
KR20040083409A (ko) * 2004-09-10 2004-10-01 (주) 세이프아이 실시간 감시를 통한 컴퓨터 보호 방법 및 이에 따라보호되는 컴퓨터와 그 시스템
KR100954356B1 (ko) 2008-03-10 2010-04-21 주식회사 안철수연구소 코드 보호 기법을 고려한 악성 프로그램 감지 시스템 및 그방법

Similar Documents

Publication Publication Date Title
US11455400B2 (en) Method, system, and storage medium for security of software components
US9824217B2 (en) Runtime detection of self-replicating malware
CN107851155B (zh) 用于跨越多个软件实体跟踪恶意行为的系统及方法
US8091127B2 (en) Heuristic malware detection
RU2468426C2 (ru) Преобразование файла в ограниченном процессе
US8181247B1 (en) System and method for protecting a computer system from the activity of malicious objects
US7854006B1 (en) Differential virus scan
KR101201118B1 (ko) 바이러스 방지 소프트웨어 어플리케이션들의 지식 베이스를모으는 시스템 및 방법
US10417416B1 (en) Methods and systems for detecting computer security threats
EP2570955A1 (en) Restoration of file damage caused by malware
KR102116573B1 (ko) 컴퓨터 보안 작동을 최적화하기 위한 동적 명성 표시자
US10216934B2 (en) Inferential exploit attempt detection
US11227049B1 (en) Systems and methods of detecting malicious PowerShell scripts
KR101086203B1 (ko) 악성 프로세스의 행위를 판단하여 사전에 차단하는 악성프로세스 사전차단 시스템 및 방법
Aslan et al. Using a subtractive center behavioral model to detect malware
US8205261B1 (en) Incremental virus scan
US8978151B1 (en) Removable drive security monitoring method and system
US8381300B2 (en) Offline extraction of configuration data
KR20080096518A (ko) 해석가능한 코드를 실행시키는 것과 연관된 위험의 사정을용이하게 하는 컴퓨터 구현 방법, 컴퓨터 프로그램 제품,및 컴퓨팅 시스템
KR101044651B1 (ko) 파일 보안 시스템 및 그 제공방법
JP6404771B2 (ja) ログ判定装置、ログ判定方法、およびログ判定プログラム
EP2584484A1 (en) System and method for protecting a computer system from the activity of malicious objects
WO2008036665A2 (en) Methods, media, and systems for detecting attack on a digital processing device
Daghmehchi Firoozjaei et al. Parent process termination: an adversarial technique for persistent malware
Mysliwietz et al. Identifying rootkit stealth strategies

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140527

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150611

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160617

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170609

Year of fee payment: 7