KR20120074683A - 악성 프로그램 차단 장치 및 방법 - Google Patents

악성 프로그램 차단 장치 및 방법 Download PDF

Info

Publication number
KR20120074683A
KR20120074683A KR1020100136594A KR20100136594A KR20120074683A KR 20120074683 A KR20120074683 A KR 20120074683A KR 1020100136594 A KR1020100136594 A KR 1020100136594A KR 20100136594 A KR20100136594 A KR 20100136594A KR 20120074683 A KR20120074683 A KR 20120074683A
Authority
KR
South Korea
Prior art keywords
file
storage
information
storage location
file system
Prior art date
Application number
KR1020100136594A
Other languages
English (en)
Other versions
KR101265530B1 (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 KR1020100136594A priority Critical patent/KR101265530B1/ko
Publication of KR20120074683A publication Critical patent/KR20120074683A/ko
Application granted granted Critical
Publication of KR101265530B1 publication Critical patent/KR101265530B1/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/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
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

악성 프로그램 차단 장치 및 방법이 개시된다. 본 발명의 실시예들은 응용 프로그램이 파일 시스템 드라이버를 통해 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I(Input)/O(Output)만을 감지하여 상기 I/O에 따른 파일의 기록 요청 위치와 상기 파일 시스템 저장부 상에 저장되어 있는 보호 대상 파일의 저장 위치를 비교하여 상기 기록 요청 위치와 상기 저장 위치가 일치하는 경우, 상기 I/O에 따른 상기 파일의 기록 행위를 차단함으로써, 악성 프로그램으로부터 시스템을 보호할 수 있는 발명이다.

Description

악성 프로그램 차단 장치 및 방법{MALICIOUS PROGRAM BLOCKING APPARATUS AND METHOD}
악성 프로그램 차단 장치 및 방법이 개시된다. 특히, 본 발명의 실시예들은 파일 시스템 저장부에 직접 접근하여 보호 대상 파일에 수정 및 변형을 가하는 악성 프로그램을 차단하는 기술에 대한 것이다.
보통, 응용 프로그램들은 파일 시스템 저장부에 파일을 기록하기 위해 파일 시스템에 대해 파일의 기록을 요청하고, 상기 파일 시스템은 상기 요청에 대응하여 상기 파일을 상기 파일 시스템 저장부에 기록한다.
이러한 응용 프로그램들 중에는 악성 프로그램도 존재하는데 이러한 악성 프로그램들은 파일 시스템 저장부에 잘못된 파일을 기록하는 등의 행위를 수행함으로써, 시스템에 악영향을 미치곤 한다.
일반적으로 악성 프로그램들이 파일 시스템 저장부에 파일을 기록하는 행위는 보안 프로그램 등을 이용하여 방지할 수 있다.
하지만, 최근에 발견되고 있는 악성 프로그램들 중에는 보안 프로그램의 실시간 검사나 파일 보호 기능 등에 의해 탐지되지 않고, 불특정 보호 파일이나 운영체제(Operating System: OS)의 파일 등의 데이터를 수정하기 위해 파일 시스템 저장부에 직접 접근하여 데이터를 기록하는 프로그램들이 존재한다.
이러한 악성 프로그램들은 파일 시스템에 대해 파일 시스템 저장부의 특정 위치에 파일이 기록되도록 요청을 수행함으로써, 파일 시스템 저장부에 직접 접근한다.
다시 말해서, 일반적인 응용 프로그램들은 파일이 파일 시스템 저장부에 기록되는 위치와 상관없이, 파일 시스템에 대해 파일의 기록을 요청하지만, 파일 시스템 저장부에 직접 접근하는 악성 프로그램들은 파일 시스템에 대해 파일 시스템 저장부의 특정 위치에 파일이 기록되도록 요청한다.
현재, 보안 프로그램의 실시간 감시나 파일 보호 기능 등은 일반적인 파일 시스템 필터 드라이버로 구성되어 있기 때문에 파일 시스템 저장부에 직접 접근하여 보호 파일을 수정하는 행위는 감지하지 못할 수 있다.
따라서, 파일 시스템 저장부에 직접 접근하여 파일에 대한 수정을 가하는 악성 프로그램을 차단할 수 있는 기법에 대한 연구가 필요하다.
본 발명의 실시예들은 모든 파일에 대한 I(Input)/O(Output)를 감지하는 것이 아니라, 응용 프로그램이 파일 시스템 드라이버를 통해 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I/O만을 감지하여 보호 대상 파일에 대한 수정 행위를 차단함으로써, 시스템 성능 저하를 방지할 수 있고, 파일 시스템 보다 상위 계층에 속해있는 파일 시스템 필터 드라이버를 통해 상기 I/O를 감지하여 보호 대상 파일이 저장되어 있는 정확한 위치를 파일 시스템에 요청함으로써, 잘못된 I/O 차단으로 인한 파일 손상을 방지할 수 있는 기법을 제공하고자 한다.
본 발명의 일실시예에 따른 악성 프로그램 차단 장치는 파일 시스템 저장부에 기록되어 있는 보호 대상 파일의 저장 위치와 연관된 저장 위치 정보가 저장된 정보 저장부, 응용 프로그램이 파일 시스템 드라이버를 통해 상기 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I(Input)/O(Output)를 감지하는 I/O 감지부, 상기 I/O가 감지된 경우, 상기 저장 위치 정보를 기초로 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 일치하는지 여부를 판단하는 일치 여부 판단부 및 상기 기록 요청 위치와 상기 저장 위치가 일치하는 경우, 상기 I/O에 따른 상기 파일의 기록 행위를 차단하는 기록 차단부를 포함한다.
또한, 본 발명의 일실시예에 따른 악성 프로그램 차단 방법은 파일 시스템 저장부에 기록되어 있는 보호 대상 파일의 저장 위치와 연관된 저장 위치 정보가 저장된 데이터베이스를 관리하는 단계, 응용 프로그램이 파일 시스템 드라이버를 통해 상기 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I/O를 감지하는 단계, 상기 I/O가 감지된 경우, 상기 저장 위치 정보를 기초로 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 일치하는지 여부를 판단하는 단계 및 상기 기록 요청 위치와 상기 저장 위치가 일치하는 경우, 상기 I/O에 따른 상기 파일의 기록 행위를 차단하는 단계를 포함한다.
본 발명의 실시예들은 모든 파일에 대한 I(Input)/O(Output)를 감지하는 것이 아니라, 응용 프로그램이 파일 시스템 드라이버를 통해 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I/O만을 감지하여 보호 대상 파일에 대한 수정 행위를 차단함으로써, 시스템 성능 저하를 방지할 수 있고, 파일 시스템 보다 상위 계층에 속해있는 파일 시스템 필터 드라이버를 통해 상기 I/O를 감지하여 보호 대상 파일이 저장되어 있는 정확한 위치를 파일 시스템에 요청함으로써, 잘못된 I/O 차단으로 인한 파일 손상을 방지할 수 있다.
도 1은 본 발명의 일실시예에 따른 악성 프로그램 차단 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 저장 위치 정보를 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 악성 프로그램 차단 방법을 도시한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
보통, 파일 시스템 저장부에 직접 접근하는 I(Input)/O(Output)는 디스크 입출력 감시 드라이버를 통해서 감시될 수 있다. 디스크 입출력 감시 드라이버를 통한 I/O 감시 기법은 주로 디스크의 미러링(mirroring) 또는 실시간 볼륨 백업 기능에 주로 사용되는 것으로, 디스크의 미러링 또는 실시간 볼륨 백업 기능은 디스크의 일정 범위의 섹터(sector) 영역을 지정하고, 해당 영역 내에서 발생하는 기록 I/O를 감지하여 다른 디스크에 동일하게 기록함으로써, 구현될 수 있다.
그러나, 디스크 입출력 감시 드라이버를 통한 I/O 감시 기법은 모든 파일에 대한 I/O를 감시하기 때문에 상기 보호 대상 파일의 개수가 많거나 용량이 큰 경우, 디스크의 I/O 성능을 저하시켜 전반적인 시스템 성능 및 안정성을 떨어뜨릴 수 있다.
또한, 디스크 입출력 감시 드라이버는 파일 시스템 드라이버 보다 하위 계층에 속해 있기 때문에 상기 파일 시스템 드라이버에 보호 대상 파일이 저장되어 있는 섹터 위치를 요청할 수 없어, 보호 대상 파일이 저장되어 있는 위치가 아닌 다른 위치에 대한 파일 기록 I/O마저 차단해 버리는 경우가 발생할 수 있다.
따라서, 본 발명의 실시예들은 모든 파일에 대한 I/O를 감지하는 것이 아니라, 응용 프로그램이 파일 시스템 드라이버를 통해 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I/O만을 감지하여 보호 대상 파일에 대한 수정 행위를 차단함으로써, 시스템 성능 저하를 방지할 수 있고, 파일 시스템 보다 상위 계층에 속해있는 파일 시스템 필터 드라이버를 통해 상기 I/O를 감지하여 보호 대상 파일이 저장되어 있는 정확한 위치를 파일 시스템에 요청함으로써, 잘못된 I/O 차단으로 인한 파일 손상을 방지할 수 있는 기법을 제공하고자 한다.
도 1은 본 발명의 일실시예에 따른 악성 프로그램 차단 장치의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 악성 프로그램 차단 장치(110)는 정보 저장부(111), I/O 감지부(112), 일치 여부 판단부(113) 및 기록 차단부(114)를 포함한다.
정보 저장부(111)에는 파일 시스템 저장부에 기록되어 있는 보호 대상 파일의 저장 위치와 연관된 저장 위치 정보가 저장되어 있다.
본 발명의 일실시예에 따르면, 상기 저장 위치 정보는 상기 파일 시스템 저장부를 구성하는 적어도 하나의 저장 장치 별로 상기 보호 대상 파일이 저장된 경로에 따른 섹터의 위치에 대한 정보를 포함할 수 있다.
이와 관련하여 도 2에는 정보 저장부(111)에 저장되어 있는 상기 저장 위치 정보의 구조가 도시되어 있다.
도 2는 본 발명의 일실시예에 따른 저장 위치 정보를 설명하기 위한 도면이다.
도 2에 도시된 바와 같이 정보 저장부(111)에는 상기 파일 시스템 저장부를 구성하는 적어도 하나의 저장 장치(211, 212, 213) 별로 상기 보호 대상 파일이 저장된 각 경로(221, 222)에 따른 각 섹터들의 위치(231, 232, 233, 234)에 대한 정보가 포함된 상기 저장 위치 정보가 저장되어 있을 수 있다.
I/O 감지부(112)는 응용 프로그램이 파일 시스템 드라이버를 통해 상기 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I/O를 감지한다.
다시 말해서, I/O 감지부(112)는 응용 프로그램이 파일 시스템 드라이버를 통해 상기 파일 시스템 저장부의 특정 위치를 지정하여 상기 파일을 기록하고자 할 때 발생하는 I/O를 감지할 수 있다.
이때, 본 발명의 일실시예에 따르면, I/O 감지부(112)는 파일 시스템 필터 드라이버를 통해 상기 I/O를 감지함으로써, 상기 I/O와 연관된 상기 응용 프로그램의 요청을 상기 파일 시스템보다 먼저 전달받을 수 있다.
또한, 본 발명의 일실시예에 따르면, I/O 감지부(112)는 직접 접근 기억 장치(Direct Access Storage Device: DASD) I/O 또는 RAW 파일 시스템으로 요청되는 I/O를 감지할 수 있다.
이때, 본 발명의 일실시예에 따르면, I/O 감지부(112)는 상기 I/O에 포함된 FILE_OBJECT의 FLAG 정보를 확인하여 상기 FLAG 정보에 FO_VOLUME_OPEN 정보가 포함되어 있는 경우, 상기 I/O를 상기 DASD I/O로 감지할 수 있고, 상기 I/O에 포함된 FILE_OBJECT의 VOLUME PARAMETER BLOCK내의 FLAG 정보를 확인하여 상기 VOLUME PARAMETER BLOCK내의 FLAG 정보에 VPB_RAW_MOUNT 정보가 포함되어 있는 경우, 상기 I/O를 상기 RAW 파일 시스템으로 요청되는 I/O로 감지할 수 있다.
I/O 감지부(112)에서 상기 I/O가 감지된 경우, 일치 여부 판단부(113)는 정보 저장부(111)에 저장되어 있는 상기 저장 위치 정보를 기초로 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 일치하는지 여부를 판단한다.
다시 말해서, 일치 여부 판단부(113)는 상기 응용 프로그램이 파일의 기록을 요청한 상기 파일 시스템 저장부 상의 위치와 정보 저장부(111)에 저장되어 있는 상기 보호 대상 파일의 저장 위치를 비교하여 상기 기록 요청 위치와 상기 저장 위치가 일치하는지 여부를 판단한다.
이때, 일치 여부 판단부(113)는 정보 저장부(111)로부터 상기 보호 대상 파일이 저장되어 있는 상기 파일 시스템 저장부 상의 섹터 위치를 확인하여 상기 보호 대상 파일이 저장되어 있는 섹터 위치와 상기 기록 요청 위치가 일치하는지 여부를 판단할 수 있다.
만약, 상기 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 일치하는 경우, 기록 차단부(114)는 상기 I/O에 따른 상기 파일의 기록 행위를 차단한다.
결국, 본 발명의 일실시예에 따른 악성 프로그램 차단 장치(110)는 I/O 감지부(112)가 응용 프로그램의 상기 파일 시스템 저장부에 대한 직접 접근과 관련된 I/O를 감지하는 경우, 일치 여부 판단부(113)가 상기 I/O에 따른 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치를 비교한 후 상기 기록 요청 위치와 상기 저장 위치가 일치하면, 기록 차단부(114)가 상기 I/O에 따른 상기 파일의 기록 행위를 차단함으로써, 악성 프로그램에 의한 파일의 수정이나 변경을 방지할 수 있다.
또한, 본 발명의 일실시예에 따른 악성 프로그램 차단 장치(110)는 I/O 감지부(112)가 상기 파일 시스템 드라이버보다 상위 계층에 속해 있는 파일 시스템 필터 드라이버를 통해 상기 I/O를 감지함으로써, 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 일치하는 경우, 상기 파일 시스템 드라이버가 상기 파일 시스템 저장부에 상기 파일을 기록하기 전에 상기 I/O에 따른 상기 파일의 기록 행위를 원천적으로 차단할 수 있다.
본 발명의 일실시예에 따르면, 악성 프로그램 차단 장치(110)는 저장 여부 판단부(115) 및 저장 제어부(116)를 더 포함할 수 있다.
저장 여부 판단부(115)는 I/O 감지부(112)에서 상기 I/O가 감지된 경우, 일치 여부 판단부(113)가 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치 간 일치 여부를 판단하기 전에 정보 저장부(111)에 상기 보호 대상 파일의 저장 위치와 연관된 상기 저장 위치 정보가 저장되어 있는지 여부를 먼저 판단한다.
만약, 정보 저장부(111)에 상기 저장 위치 정보가 저장되어 있지 않은 것으로 판단된 경우, 저장 제어부(116)는 상기 보호 대상 파일의 저장 위치를 확인하여 정보 저장부(111)에 상기 저장 위치 정보를 저장한다.
그리고 나서, 일치 여부 판단부(113)는 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 서로 일치하는지 여부를 판단한다.
이때, 본 발명의 일실시예에 따르면, 저장 제어부(116)는 일치 여부 판단부(113)에서 상기 I/O에 따른 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 서로 일치하는 것으로 판단된 경우, 상기 보호 대상 파일의 저장 위치를 재확인한다.
그리고 나서, 일치 여부 판단부(113)는 상기 기록 요청 위치와 상기 재확인된 상기 보호 대상 파일의 저장 위치가 서로 일치하는지 여부를 판단한다.
만약, 상기 기록 요청 위치와 상기 재확인된 상기 보호 대상 파일의 저장 위치가 서로 일치하는 경우, 기록 차단부(114)는 상기 I/O에 따른 상기 파일의 기록 행위를 차단한다.
하지만, 상기 기록 요청 위치와 상기 재확인된 상기 보호 대상 파일의 저장 위치가 서로 일치하지 않는 경우, 저장 제어부(116)는 상기 재확인된 저장 위치를 기초로 정보 저장부(111)에 저장되어 있는 상기 저장 위치 정보를 갱신한다.
결국, 본 발명의 일실시예에 따른 악성 프로그램 차단 장치(110)는 I/O 감지부(112)에서 상기 I/O가 감지된 경우, 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 서로 일치하더라도, 상기 I/O에 따른 상기 파일의 기록을 차단하기에 앞서, 상기 보호 대상 파일의 저장 위치가 정확한 저장 위치인지 여부를 재확인함으로써, 정상적인 I/O의 차단에 따른 피해를 최소화할 수 있다.
지금까지 설명한 악성 프로그램 차단 장치(110)의 동작을 다시 한번 설명하면 다음과 같다.
I/O 감지부(112)가 악성 프로그램에 의한 상기 I/O를 감지한 경우, 저장 여부 판단부(115)는 정보 저장부(111)에 상기 보호 대상 파일의 상기 파일 시스템 저장부 상의 저장 위치와 연관된 저장 위치 정보가 저장되어 있는지 여부를 판단할 수 있다.
만약, 정보 저장부(111)에 상기 저장 위치 정보가 저장되어 있지 않은 경우, 저장 제어부(116)는 상기 보호 대상 파일의 저장 위치를 확인하여 정보 저장부(111)에 상기 저장 위치 정보를 저장할 수 있다.
반면, 정보 저장부(111)에 상기 저장 위치 정보가 저장되어 있는 경우, 일치 여부 판단부(113)는 상기 I/O에 따른 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 서로 일치하는지 여부를 판단할 수 있다.
이때, 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 서로 일치하는 것으로 판단된 경우, 저장 제어부(116)는 상기 보호 대상 파일의 저장 위치를 재확인할 수 있다.
그리고 나서, 일치 여부 판단부(113)는 상기 기록 요청 위치와 상기 재확인된 저장 위치가 서로 일치하는지 여부를 판단하고, 상기 기록 요청 위치와 상기 재확인된 저장 위치가 서로 일치하는 것으로 판단되면, 기록 차단부(114)는 상기 I/O에 따른 상기 파일의 기록 행위를 차단할 수 있다.
하지만, 일치 여부 판단부(113)에서 상기 기록 요청 위치와 상기 재확인된 저장 위치가 서로 일치하지 않는 것으로 판단된 경우, 저장 제어부(116)는 정보 저장부(111)에 저장되어 있는 상기 저장 위치 정보가 잘못된 것으로 확인하고, 상기 재확인된 저장 위치를 기초로 상기 저장 위치 정보를 갱신할 수 있다.
지금까지 설명한 악성 프로그램 차단 장치(110)는 I/O 감지부(112)가 상기 I/O를 감지한 경우, 기록 차단부(114)가 상기 I/O에 따른 상기 파일의 기록 행위를 차단한 실시예에 대한 것이었다.
하지만, 본 발명의 또 다른 일실시예에 따른 악성 프로그램 차단 장치(110)는 I/O 감지부(112)가 상기 I/O와 연관된 상기 응용 프로그램의 상기 파일 시스템 드라이버에 대한 파일 기록 요청을 감지하면, 기록 차단부(114)가 상기 파일 기록 요청을 차단함으로써, 악성 프로그램의 활동을 원천적으로 차단할 수 있다.
다시 말해서, I/O 감지부(112)는 상기 파일 시스템 드라이버보다 상위 계층에 속해 있는 파일 시스템 필터 드라이버를 통해 상기 I/O를 감지할 수 있으므로, 상기 I/O와 연관된 상기 응용 프로그램의 상기 파일 시스템 드라이버에 대한 파일 기록 요청을 감지하고, 기록 차단부(114)가 상기 파일 시스템 드라이버에 상기 파일 기록 요청이 도달하기 전에 미리 상기 파일 기록 요청을 차단함으로써, 악성 프로그램의 활동을 원천적으로 차단할 수 있다.
도 3은 본 발명의 일실시예에 따른 악성 프로그램 차단 방법을 도시한 순서도이다.
단계(S310)에서는 파일 시스템 저장부에 기록되어 있는 보호 대상 파일의 저장 위치와 연관된 저장 위치 정보가 저장된 데이터베이스를 관리한다.
이때, 본 발명의 일실시예에 따르면, 상기 저장 위치 정보는 상기 파일 시스템 저장부를 구성하는 적어도 하나의 저장 장치 별로 상기 보호 대상 파일이 저장된 경로에 따른 섹터의 위치에 대한 정보를 포함할 수 있다.
단계(S320)에서는 응용 프로그램이 파일 시스템 드라이버를 통해 상기 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I/O를 감지한다.
이때, 본 발명의 일실시예에 따르면, 단계(S320)에서는 파일 시스템 필터 드라이버를 이용하여 상기 I/O를 감지할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S320)에서는 DASD I/O 또는 RAW 파일 시스템으로 요청되는 I/O를 감지할 수 있다.
이때, 본 발명의 일실시예에 따르면, 단계(S320)에서는 상기 I/O에 포함된 FILE_OBJECT의 FLAG 정보를 확인하는 단계 및 상기 FLAG 정보에 FO_VOLUME_OPEN 정보가 포함되어 있는 경우, 상기 I/O를 상기 DASD I/O로 감지하는 단계를 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S320)에서는 상기 I/O에 포함된 FILE_OBJECT의 VOLUME PARAMETER BLOCK내의 FLAG 정보를 확인하는 단계 및 상기 VOLUME PARAMETER BLOCK내의 FLAG 정보에 VPB_RAW_MOUNT 정보가 포함되어 있는 경우, 상기 I/O를 상기 RAW 파일 시스템으로 요청되는 I/O로 감지하는 단계를 포함할 수 있다.
단계(S320)에서의 감지 결과, 단계(S330)에서 상기 I/O가 감지되지 않은 경우, 본 과정은 종료된다.
하지만, 단계(S320)에서의 감지 결과, 단계(S330)에서 상기 I/O가 감지된 경우, 단계(S340)에서는 상기 저장 위치 정보를 기초로 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 일치하는지 여부를 판단한다.
단계(S340)의 판단 결과, 단계(S350)에서 상기 기록 요청 위치와 상기 저장 위치가 서로 일치하지 않는 경우, 본 과정은 종료된다.
하지만, 단계(S340)의 판단 결과, 단계(S350)에서 상기 기록 요청 위치와 상기 저장 위치가 서로 일치하는 경우, 단계(S360)에서는 상기 I/O에 따른 상기 파일의 기록 행위를 차단한다.
본 발명의 일실시예에 따르면, 상기 악성 프로그램 차단 방법은 단계(S340)이전에 단계(S330)에서 상기 I/O가 감지된 경우, 상기 데이터베이스에 상기 저장 위치 정보가 저장되어 있는지 여부를 판단하는 단계를 더 포함할 수 있다.
그리고 나서, 상기 악성 프로그램 차단 방법은 상기 데이터베이스에 상기 저장 위치 정보가 저장되어 있지 않는 경우, 상기 보호 대상 파일의 저장 위치를 확인하여 상기 데이터베이스에 상기 저장 위치 정보를 저장하는 단계를 더 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 악성 프로그램 차단 방법은 단계(S360)이전에 단계(S350)에서 상기 기록 요청 위치와 상기 저장 위치가 일치하는 것으로 판단된 경우, 상기 보호 대상 파일의 저장 위치를 재확인하는 단계를 더 포함할 수 있다.
그리고 나서, 상기 악성 프로그램 차단 방법은 상기 기록 요청 위치와 상기 재확인된 저장 위치가 일치하는지 여부를 판단할 수 있다.
이때, 상기 기록 요청 위치와 상기 재확인된 저장 위치가 일치하는 경우, 단계(S360)에서는 상기 I/O에 따른 상기 파일의 기록 행위를 차단할 수 있다.
하지만, 상기 기록 요청 위치와 상기 재확인된 저장 위치가 일치하지 않는 경우, 상기 악성 프로그램 차단 방법은 상기 재확인된 저장 위치를 기초로 상기 데이터베이스에 저장되어 있는 상기 저장 위치 정보를 갱신하는 단계를 더 포함할 수 있다.
본 발명의 또 다른 일실시예에 따르면, 단계(S320)에서는 상기 I/O와 연관된 상기 응용 프로그램의 상기 파일 시스템 드라이버에 대한 파일 기록 요청을 감지하는 단계 및 상기 파일 기록 요청이 감지되는 경우, 상기 파일 기록 요청을 차단하는 단계를 포함할 수 있다.
이상, 도 3을 참조하여 본 발명의 일실시예에 따른 악성 프로그램 차단 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 악성 프로그램 차단 방법은 도 1을 이용하여 설명한 악성 프로그램 차단 장치(110)의 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 악성 프로그램 차단 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 악성 프로그램 차단 장치
111: 정보 저장부 112: I/O 감지부
113: 일치 여부 판단부 114: 기록 차단부
115: 저장 여부 판단부 116: 저장 제어부

Claims (20)

  1. 파일 시스템 저장부에 기록되어 있는 보호 대상 파일의 저장 위치와 연관된 저장 위치 정보가 저장된 정보 저장부;
    응용 프로그램이 파일 시스템 드라이버를 통해 상기 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I(Input)/O(Output)를 감지하는 I/O 감지부;
    상기 I/O가 감지된 경우, 상기 저장 위치 정보를 기초로 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 일치하는지 여부를 판단하는 일치 여부 판단부; 및
    상기 기록 요청 위치와 상기 저장 위치가 일치하는 경우, 상기 I/O에 따른 상기 파일의 기록 행위를 차단하는 기록 차단부
    를 포함하는 악성 프로그램 차단 장치.
  2. 제1항에 있어서,
    상기 I/O가 감지된 경우, 상기 정보 저장부에 상기 저장 위치 정보가 저장되어 있는지 여부를 판단하는 저장 여부 판단부; 및
    상기 정보 저장부에 상기 저장 위치 정보가 저장되어 있지 않은 경우, 상기 보호 대상 파일의 저장 위치를 확인하여 상기 정보 저장부에 상기 저장 위치 정보를 저장하는 저장 제어부
    를 더 포함하는 악성 프로그램 차단 장치.
  3. 제2항에 있어서,
    상기 저장 제어부는
    상기 일치 여부 판단부의 판단 결과, 상기 기록 요청 위치와 상기 저장 위치가 일치하는 경우, 상기 보호 대상 파일의 저장 위치를 재확인하고,
    상기 일치 여부 판단부는 상기 기록 요청 위치와 상기 재확인된 저장 위치가 일치하는지 여부를 판단하며,
    상기 기록 차단부는 기록 요청 위치와 상기 재확인된 저장 위치가 일치하는 경우, 상기 I/O에 따른 상기 파일의 기록 행위를 차단하는 악성 프로그램 차단 장치.
  4. 제3항에 있어서,
    상기 저장 제어부는
    상기 일치 여부 판단부의 판단 결과, 상기 기록 요청 위치와 상기 재확인된 저장 위치가 일치하지 않는 경우, 상기 재확인된 저장 위치를 기초로 상기 정보 저장부에 저장되어 있는 상기 저장 위치 정보를 갱신하는 악성 프로그램 차단 장치.
  5. 제1항에 있어서,
    상기 I/O 감지부는
    파일 시스템 필터 드라이버를 이용하여 상기 I/O를 감지하는 악성 프로그램 차단 장치.
  6. 제5항에 있어서,
    상기 I/O 감지부는
    직접 접근 기억 장치(Direct Access Storage Device: DASD) I/O 또는 RAW 파일 시스템으로 요청되는 I/O 중 어느 하나 이상을 감지하는 악성 프로그램 차단 장치.
  7. 제6항에 있어서,
    상기 I/O 감지부는
    상기 I/O에 포함된 FILE_OBJECT의 FLAG 정보를 확인하여 상기 FLAG 정보에 FO_VOLUME_OPEN 정보가 포함되어 있는 경우, 상기 I/O를 상기 DASD I/O로 감지하고,
    상기 I/O에 포함된 FILE_OBJECT의 VOLUME PARAMETER BLOCK내의 FLAG 정보를 확인하여 상기 VOLUME PARAMETER BLOCK내의 FLAG 정보에 VPB_RAW_MOUNT 정보가 포함되어 있는 경우, 상기 I/O를 상기 RAW 파일 시스템으로 요청되는 I/O로 감지하는 악성 프로그램 차단 장치.
  8. 제1항에 있어서,
    상기 저장 위치 정보는
    상기 파일 시스템 저장부를 구성하는 적어도 하나의 저장 장치 별로 상기 보호 대상 파일이 저장된 경로에 따른 섹터(sector)의 위치에 대한 정보를 포함하는 악성 프로그램 차단 장치.
  9. 제1항에 있어서,
    상기 I/O 감지부는
    상기 I/O와 연관된 상기 응용 프로그램의 상기 파일 시스템 드라이버에 대한 파일 기록 요청을 감지하고,
    상기 기록 차단부는 상기 파일 기록 요청을 차단하는 악성 프로그램 차단 장치.
  10. 파일 시스템 저장부에 기록되어 있는 보호 대상 파일의 저장 위치와 연관된 저장 위치 정보가 저장된 데이터베이스를 관리하는 단계;
    응용 프로그램이 파일 시스템 드라이버를 통해 상기 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I(Input)/O(Output)를 감지하는 단계;
    상기 I/O가 감지된 경우, 상기 저장 위치 정보를 기초로 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 일치하는지 여부를 판단하는 단계; 및
    상기 기록 요청 위치와 상기 저장 위치가 일치하는 경우, 상기 I/O에 따른 상기 파일의 기록 행위를 차단하는 단계
    를 포함하는 악성 프로그램 차단 방법.
  11. 제10항에 있어서,
    상기 I/O가 감지된 경우, 상기 데이터베이스에 상기 저장 위치 정보가 저장되어 있는지 여부를 판단하는 단계; 및
    상기 데이터베이스에 상기 저장 위치 정보가 저장되어 있지 않은 경우, 상기 보호 대상 파일의 저장 위치를 확인하여 상기 데이터베이스에 상기 저장 위치 정보를 저장하는 단계
    를 더 포함하는 악성 프로그램 차단 방법.
  12. 제10항에 있어서,
    상기 기록 요청 위치와 상기 저장 위치가 일치하는 것으로 판단된 경우, 상기 보호 대상 파일의 저장 위치를 재확인하는 단계; 및
    상기 기록 요청 위치와 상기 재확인된 저장 위치가 일치하는지 여부를 판단하는 단계
    를 더 포함하고,
    상기 차단하는 단계는
    상기 기록 요청 위치와 상기 재확인된 저장 위치가 일치하는 경우, 상기 I/O에 따른 상기 파일의 기록 행위를 차단하는 악성 프로그램 차단 방법.
  13. 제12항에 있어서,
    상기 기록 요청 위치와 상기 재확인된 저장 위치가 일치하지 않는 것으로 판단된 경우, 상기 재확인된 저장 위치를 기초로 상기 데이터베이스에 저장되어 있는 상기 저장 위치 정보를 갱신하는 단계
    를 더 포함하는 악성 프로그램 차단 방법.
  14. 제10항에 있어서,
    상기 감지하는 단계는
    파일 시스템 필터 드라이버를 이용하여 상기 I/O를 감지하는 악성 프로그램 차단 방법.
  15. 제14항에 있어서,
    상기 감지하는 단계는
    직접 접근 기억 장치(Direct Access Storage Device: DASD) I/O 또는 RAW 파일 시스템으로 요청되는 I/O 중 어느 하나 이상을 감지하는 악성 프로그램 차단 방법.
  16. 제15항에 있어서,
    상기 감지하는 단계는
    상기 I/O에 포함된 FILE_OBJECT의 FLAG 정보를 확인하는 단계; 및
    상기 FLAG 정보에 FO_VOLUME_OPEN 정보가 포함되어 있는 경우, 상기 I/O를 상기 DASD I/O로 감지하는 단계
    를 포함하는 악성 프로그램 차단 방법.
  17. 제15항에 있어서,
    상기 감지하는 단계는
    상기 I/O에 포함된 FILE_OBJECT의 VOLUME PARAMETER BLOCK내의 FLAG 정보를 확인하는 단계; 및
    상기 VOLUME PARAMETER BLOCK내의 FLAG 정보에 VPB_RAW_MOUNT 정보가 포함되어 있는 경우, 상기 I/O를 상기 RAW 파일 시스템으로 요청되는 I/O로 감지하는 단계
    를 포함하는 악성 프로그램 차단 방법.
  18. 제10항에 있어서,
    상기 저장 위치 정보는
    상기 파일 시스템 저장부를 구성하는 적어도 하나의 저장 장치 별로 상기 보호 대상 파일이 저장된 경로에 따른 섹터(sector)의 위치에 대한 정보를 포함하는 악성 프로그램 차단 방법.
  19. 제10항에 있어서,
    상기 감지하는 단계는
    상기 I/O와 연관된 상기 응용 프로그램의 상기 파일 시스템 드라이버에 대한 파일 기록 요청을 감지하는 단계; 및
    상기 파일 기록 요청이 감지되는 경우, 상기 파일 기록 요청을 차단하는 단계
    를 포함하는 악성 프로그램 차단 방법.
  20. 제10항 내지 제19항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
KR1020100136594A 2010-12-28 2010-12-28 악성 프로그램 차단 장치 및 방법 KR101265530B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100136594A KR101265530B1 (ko) 2010-12-28 2010-12-28 악성 프로그램 차단 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100136594A KR101265530B1 (ko) 2010-12-28 2010-12-28 악성 프로그램 차단 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20120074683A true KR20120074683A (ko) 2012-07-06
KR101265530B1 KR101265530B1 (ko) 2013-05-20

Family

ID=46708771

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100136594A KR101265530B1 (ko) 2010-12-28 2010-12-28 악성 프로그램 차단 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101265530B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018016830A1 (ko) * 2016-07-18 2018-01-25 한양대학교 산학협력단 파일 암호화 방지 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018016830A1 (ko) * 2016-07-18 2018-01-25 한양대학교 산학협력단 파일 암호화 방지 장치 및 방법

Also Published As

Publication number Publication date
KR101265530B1 (ko) 2013-05-20

Similar Documents

Publication Publication Date Title
US7636872B2 (en) Threat event-driven backup
US10489066B1 (en) Systems and methods for ensuring right-to-erasure compliance during data recovery
WO2017177801A1 (zh) 一种实现操作系统完整性保护的方法和装置
US20170364679A1 (en) Instrumented versions of executable files
KR20190021673A (ko) 랜섬웨어 방지 장치 및 방법
WO2017133442A1 (zh) 一种实时度量方法及装置
US9086990B2 (en) Bitline deletion
JP2008305377A (ja) ネットワーク記憶装置の侵入保護システムおよび方法
KR102494167B1 (ko) 메모리의 커널영역을 보호하기 위한 전자장치 및 방법
KR101265530B1 (ko) 악성 프로그램 차단 장치 및 방법
US20210132822A1 (en) System and method for selecting a redundant array of independent disks (raid) level for a storage device segment extent
CN112825098A (zh) 数据保护方法、装置、计算设备及存储介质
US9009430B2 (en) Restoration of data from a backup storage volume
KR101290852B1 (ko) 가상 머신을 이용한 데이터 유출 방지 장치 및 방법
US11599274B2 (en) System and method for validating actions to be performed on a storage system objects
KR20190131897A (ko) 원격 관리 컴퓨팅 시스템의 자동 복구방법 및 시스템
KR102332588B1 (ko) 안드로이드 기반에서 캐시 변조 방지 방법 및 시스템
KR101375658B1 (ko) 프로그램 정보변경 보호장치 및 프로그램 정보변경 보호방법
US10691586B2 (en) Apparatus and method for software self-test
US10831916B2 (en) Method for blocking access of malicious application and storage device implementing the same
US10628056B2 (en) Information processing apparatus and shared memory management method
JP5392494B2 (ja) ファイルチェック装置、ファイルチェックプログラムおよびファイルチェック方法
US20170192694A1 (en) Movement-driven selection of a data storage location or device
JP7283552B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
KR101444929B1 (ko) 비정상 경로 호출 감지 장치 및 비정상 경로 호출 감지 방법

Legal Events

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

Payment date: 20160513

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180514

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190513

Year of fee payment: 7