KR101265530B1 - Malicious program blocking apparatus and method - Google Patents

Malicious program blocking apparatus and method Download PDF

Info

Publication number
KR101265530B1
KR101265530B1 KR1020100136594A KR20100136594A KR101265530B1 KR 101265530 B1 KR101265530 B1 KR 101265530B1 KR 1020100136594 A KR1020100136594 A KR 1020100136594A KR 20100136594 A KR20100136594 A KR 20100136594A KR 101265530 B1 KR101265530 B1 KR 101265530B1
Authority
KR
South Korea
Prior art keywords
file
storage
information
storage location
recording
Prior art date
Application number
KR1020100136594A
Other languages
Korean (ko)
Other versions
KR20120074683A (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 KR1020100136594A priority Critical patent/KR101265530B1/en
Publication of KR20120074683A publication Critical patent/KR20120074683A/en
Application granted granted Critical
Publication of KR101265530B1 publication Critical patent/KR101265530B1/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/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

Abstract

악성 프로그램 차단 장치 및 방법이 개시된다. 본 발명의 실시예들은 응용 프로그램이 파일 시스템 드라이버를 통해 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I(Input)/O(Output)만을 감지하여 상기 I/O에 따른 파일의 기록 요청 위치와 상기 파일 시스템 저장부 상에 저장되어 있는 보호 대상 파일의 저장 위치를 비교하여 상기 기록 요청 위치와 상기 저장 위치가 일치하는 경우, 상기 I/O에 따른 상기 파일의 기록 행위를 차단함으로써, 악성 프로그램으로부터 시스템을 보호할 수 있는 발명이다.An apparatus and method for blocking malicious programs are disclosed. The embodiments of the present invention detect only I (Input) / O (Output) generated when an application program accesses a file system storage through a file system driver and writes a file, thereby recording a file according to the I / O. By comparing a request location with a storage location of a file to be protected stored on the file system storage unit and blocking the recording of the file according to the I / O when the recording request location matches the storage location, It is an invention that can protect the system from malicious programs.

Description

악성 프로그램 차단 장치 및 방법{MALICIOUS PROGRAM BLOCKING APPARATUS AND METHOD}Malware Blocking Device and Method {MALICIOUS PROGRAM BLOCKING APPARATUS AND METHOD}

악성 프로그램 차단 장치 및 방법이 개시된다. 특히, 본 발명의 실시예들은 파일 시스템 저장부에 직접 접근하여 보호 대상 파일에 수정 및 변형을 가하는 악성 프로그램을 차단하는 기술에 대한 것이다.An apparatus and method for blocking malicious programs are disclosed. In particular, embodiments of the present invention are directed to a technique for blocking malicious programs that directly modify and modify files to be protected by accessing the file system storage unit directly.

보통, 응용 프로그램들은 파일 시스템 저장부에 파일을 기록하기 위해 파일 시스템에 대해 파일의 기록을 요청하고, 상기 파일 시스템은 상기 요청에 대응하여 상기 파일을 상기 파일 시스템 저장부에 기록한다.Typically, application programs request writing of a file to a file system in order to write a file to a file system storage, and the file system writes the file to the file system storage in response to the request.

이러한 응용 프로그램들 중에는 악성 프로그램도 존재하는데 이러한 악성 프로그램들은 파일 시스템 저장부에 잘못된 파일을 기록하는 등의 행위를 수행함으로써, 시스템에 악영향을 미치곤 한다.Among these applications, malicious programs exist. These malicious programs often adversely affect the system by performing actions such as writing wrong files in the file system storage.

일반적으로 악성 프로그램들이 파일 시스템 저장부에 파일을 기록하는 행위는 보안 프로그램 등을 이용하여 방지할 수 있다.In general, malicious programs can write a file to the file system storage using a security program.

하지만, 최근에 발견되고 있는 악성 프로그램들 중에는 보안 프로그램의 실시간 검사나 파일 보호 기능 등에 의해 탐지되지 않고, 불특정 보호 파일이나 운영체제(Operating System: OS)의 파일 등의 데이터를 수정하기 위해 파일 시스템 저장부에 직접 접근하여 데이터를 기록하는 프로그램들이 존재한다.However, among recently discovered malicious programs, the file system storage unit is used to modify data such as unspecified protected files or operating system (OS) files without being detected by real-time scans or file protection functions of security programs. There are programs that access and record data directly.

이러한 악성 프로그램들은 파일 시스템에 대해 파일 시스템 저장부의 특정 위치에 파일이 기록되도록 요청을 수행함으로써, 파일 시스템 저장부에 직접 접근한다.These malicious programs directly access the file system storage by making a request to the file system to write the file to a specific location of the file system storage.

다시 말해서, 일반적인 응용 프로그램들은 파일이 파일 시스템 저장부에 기록되는 위치와 상관없이, 파일 시스템에 대해 파일의 기록을 요청하지만, 파일 시스템 저장부에 직접 접근하는 악성 프로그램들은 파일 시스템에 대해 파일 시스템 저장부의 특정 위치에 파일이 기록되도록 요청한다.In other words, typical applications request the writing of a file to the file system regardless of where the file is written to the file system storage, while malicious programs that directly access the file system storage store the file system for the file system. Request the file to be written to a specific location in the negative.

현재, 보안 프로그램의 실시간 감시나 파일 보호 기능 등은 일반적인 파일 시스템 필터 드라이버로 구성되어 있기 때문에 파일 시스템 저장부에 직접 접근하여 보호 파일을 수정하는 행위는 감지하지 못할 수 있다.Currently, since the real-time monitoring or file protection function of the security program is composed of a general file system filter driver, modification of a protected file by directly accessing the file system storage unit may not be detected.

따라서, 파일 시스템 저장부에 직접 접근하여 파일에 대한 수정을 가하는 악성 프로그램을 차단할 수 있는 기법에 대한 연구가 필요하다.Therefore, there is a need for a technique for blocking malicious programs that directly access file system storage and modify files.

본 발명의 실시예들은 모든 파일에 대한 I(Input)/O(Output)를 감지하는 것이 아니라, 응용 프로그램이 파일 시스템 드라이버를 통해 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I/O만을 감지하여 보호 대상 파일에 대한 수정 행위를 차단함으로써, 시스템 성능 저하를 방지할 수 있고, 파일 시스템 보다 상위 계층에 속해있는 파일 시스템 필터 드라이버를 통해 상기 I/O를 감지하여 보호 대상 파일이 저장되어 있는 정확한 위치를 파일 시스템에 요청함으로써, 잘못된 I/O 차단으로 인한 파일 손상을 방지할 수 있는 기법을 제공하고자 한다.The embodiments of the present invention do not sense I (Input) / O (Output) for all files, but rather the I / O that occurs when an application writes a file by directly accessing the file system storage through a file system driver. By detecting only O and blocking modifications to protected files, system performance can be prevented from being deteriorated, and the protected files are saved by detecting the I / O through a file system filter driver belonging to a higher layer than the file system. By requesting the file system for the exact location, it is intended to provide a technique to prevent file corruption due to bad I / O blocking.

본 발명의 일실시예에 따른 악성 프로그램 차단 장치는 파일 시스템 저장부에 기록되어 있는 보호 대상 파일의 저장 위치와 연관된 저장 위치 정보가 저장된 정보 저장부, 응용 프로그램이 파일 시스템 드라이버를 통해 상기 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I(Input)/O(Output)를 감지하는 I/O 감지부, 상기 I/O가 감지된 경우, 상기 저장 위치 정보를 기초로 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 일치하는지 여부를 판단하는 일치 여부 판단부 및 상기 기록 요청 위치와 상기 저장 위치가 일치하는 경우, 상기 I/O에 따른 상기 파일의 기록 행위를 차단하는 기록 차단부를 포함한다.An apparatus for blocking malicious programs according to an embodiment of the present invention includes an information storage unit storing storage location information associated with a storage location of a protected file recorded in a file system storage unit, and an application program storing the file system through a file system driver. I / O sensing unit for detecting I (Input) / O (Output) generated when a file is accessed by directly accessing the unit, and when the I / O is detected, the I / O based on the storage location information A matching determination unit that determines whether the recording request position of the file and the storage location of the file to be protected match with each other; and when the recording request position and the storage location coincide with each other, And a recording blocker for blocking the recording operation.

또한, 본 발명의 일실시예에 따른 악성 프로그램 차단 방법은 파일 시스템 저장부에 기록되어 있는 보호 대상 파일의 저장 위치와 연관된 저장 위치 정보가 저장된 데이터베이스를 관리하는 단계, 응용 프로그램이 파일 시스템 드라이버를 통해 상기 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I/O를 감지하는 단계, 상기 I/O가 감지된 경우, 상기 저장 위치 정보를 기초로 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 일치하는지 여부를 판단하는 단계 및 상기 기록 요청 위치와 상기 저장 위치가 일치하는 경우, 상기 I/O에 따른 상기 파일의 기록 행위를 차단하는 단계를 포함한다.In addition, the malicious program blocking method according to an embodiment of the present invention comprises the steps of managing a database in which the storage location information associated with the storage location of the protected file recorded in the file system storage unit, the application program through the file system driver Detecting an I / O generated when a file is accessed by directly accessing the file system storage, and when the I / O is detected, recording the file according to the I / O based on the storage location information Determining whether a request location matches a storage location of the protected file, and if the recording request location matches the storage location, blocking recording of the file according to the I / O. .

본 발명의 실시예들은 모든 파일에 대한 I(Input)/O(Output)를 감지하는 것이 아니라, 응용 프로그램이 파일 시스템 드라이버를 통해 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I/O만을 감지하여 보호 대상 파일에 대한 수정 행위를 차단함으로써, 시스템 성능 저하를 방지할 수 있고, 파일 시스템 보다 상위 계층에 속해있는 파일 시스템 필터 드라이버를 통해 상기 I/O를 감지하여 보호 대상 파일이 저장되어 있는 정확한 위치를 파일 시스템에 요청함으로써, 잘못된 I/O 차단으로 인한 파일 손상을 방지할 수 있다.The embodiments of the present invention do not sense I (Input) / O (Output) for all files, but rather the I / O that occurs when an application writes a file by directly accessing the file system storage through a file system driver. By detecting only O and blocking modifications to protected files, system performance can be prevented from being deteriorated, and the protected files are saved by detecting the I / O through a file system filter driver belonging to a higher layer than the file system. By asking the file system for the correct location, you can prevent file corruption due to bad I / O blocking.

도 1은 본 발명의 일실시예에 따른 악성 프로그램 차단 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 저장 위치 정보를 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 악성 프로그램 차단 방법을 도시한 순서도이다.
1 is a diagram showing the structure of a malicious program blocking device according to an embodiment of the present invention.
2 is a diagram for describing storage location information according to an embodiment of the present invention.
3 is a flowchart illustrating a malicious program blocking method according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

보통, 파일 시스템 저장부에 직접 접근하는 I(Input)/O(Output)는 디스크 입출력 감시 드라이버를 통해서 감시될 수 있다. 디스크 입출력 감시 드라이버를 통한 I/O 감시 기법은 주로 디스크의 미러링(mirroring) 또는 실시간 볼륨 백업 기능에 주로 사용되는 것으로, 디스크의 미러링 또는 실시간 볼륨 백업 기능은 디스크의 일정 범위의 섹터(sector) 영역을 지정하고, 해당 영역 내에서 발생하는 기록 I/O를 감지하여 다른 디스크에 동일하게 기록함으로써, 구현될 수 있다.Normally, I (Input) / O (Output) directly accessing file system storage can be monitored through the disk I / O monitoring driver. The I / O monitoring method through the disk I / O monitoring driver is mainly used for mirroring or real-time volume backup of the disk, and the mirroring or real-time volume backup of the disk is used to cover a certain sector area of the disk. It can be implemented by designating and detecting the write I / O occurring in the area and writing the same to other disks.

그러나, 디스크 입출력 감시 드라이버를 통한 I/O 감시 기법은 모든 파일에 대한 I/O를 감시하기 때문에 상기 보호 대상 파일의 개수가 많거나 용량이 큰 경우, 디스크의 I/O 성능을 저하시켜 전반적인 시스템 성능 및 안정성을 떨어뜨릴 수 있다.However, since the I / O monitoring technique through the disk I / O monitoring driver monitors I / O for all files, when the number of files to be protected is large or large, the I / O performance of the disk is degraded to reduce the overall system. Performance and stability may be compromised.

또한, 디스크 입출력 감시 드라이버는 파일 시스템 드라이버 보다 하위 계층에 속해 있기 때문에 상기 파일 시스템 드라이버에 보호 대상 파일이 저장되어 있는 섹터 위치를 요청할 수 없어, 보호 대상 파일이 저장되어 있는 위치가 아닌 다른 위치에 대한 파일 기록 I/O마저 차단해 버리는 경우가 발생할 수 있다.In addition, since the disk I / O monitoring driver belongs to a lower layer than the file system driver, the file system driver cannot request the sector position where the protected file is stored. Sometimes file writing I / O may be blocked.

따라서, 본 발명의 실시예들은 모든 파일에 대한 I/O를 감지하는 것이 아니라, 응용 프로그램이 파일 시스템 드라이버를 통해 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I/O만을 감지하여 보호 대상 파일에 대한 수정 행위를 차단함으로써, 시스템 성능 저하를 방지할 수 있고, 파일 시스템 보다 상위 계층에 속해있는 파일 시스템 필터 드라이버를 통해 상기 I/O를 감지하여 보호 대상 파일이 저장되어 있는 정확한 위치를 파일 시스템에 요청함으로써, 잘못된 I/O 차단으로 인한 파일 손상을 방지할 수 있는 기법을 제공하고자 한다.Therefore, embodiments of the present invention do not detect I / O for all files, but only detect I / O that occurs when an application writes a file by directly accessing a file system storage through a file system driver. By blocking modifications to protected files, system performance can be prevented, and the correct location where the protected files are stored by detecting the I / O through a file system filter driver belonging to a higher layer than the file system By requesting the file system, we want to provide a technique to prevent file corruption due to bad I / O blocking.

도 1은 본 발명의 일실시예에 따른 악성 프로그램 차단 장치의 구조를 도시한 도면이다.1 is a diagram showing the structure of a malicious program blocking device according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 악성 프로그램 차단 장치(110)는 정보 저장부(111), I/O 감지부(112), 일치 여부 판단부(113) 및 기록 차단부(114)를 포함한다.Referring to FIG. 1, the malicious program blocking device 110 according to an embodiment of the present invention includes an information storage unit 111, an I / O detecting unit 112, a match determining unit 113, and a recording blocking unit ( 114).

정보 저장부(111)에는 파일 시스템 저장부에 기록되어 있는 보호 대상 파일의 저장 위치와 연관된 저장 위치 정보가 저장되어 있다.The information storage unit 111 stores storage location information associated with a storage location of a file to be protected, which is recorded in the file system storage unit.

본 발명의 일실시예에 따르면, 상기 저장 위치 정보는 상기 파일 시스템 저장부를 구성하는 적어도 하나의 저장 장치 별로 상기 보호 대상 파일이 저장된 경로에 따른 섹터의 위치에 대한 정보를 포함할 수 있다.According to an embodiment of the present invention, the storage location information may include information about a location of a sector along a path in which the target file is stored for each of at least one storage device configuring the file system storage.

이와 관련하여 도 2에는 정보 저장부(111)에 저장되어 있는 상기 저장 위치 정보의 구조가 도시되어 있다.2 illustrates a structure of the storage location information stored in the information storage 111.

도 2는 본 발명의 일실시예에 따른 저장 위치 정보를 설명하기 위한 도면이다.2 is a diagram for describing storage location information according to an embodiment of the present invention.

도 2에 도시된 바와 같이 정보 저장부(111)에는 상기 파일 시스템 저장부를 구성하는 적어도 하나의 저장 장치(211, 212, 213) 별로 상기 보호 대상 파일이 저장된 각 경로(221, 222)에 따른 각 섹터들의 위치(231, 232, 233, 234)에 대한 정보가 포함된 상기 저장 위치 정보가 저장되어 있을 수 있다.As illustrated in FIG. 2, the information storage unit 111 may include each of the at least one storage device 211, 212, 213 constituting the file system storage unit according to each path 221, 222 in which the protected file is stored. The storage location information including the information on the locations 231, 232, 233, and 234 of the sectors may be stored.

I/O 감지부(112)는 응용 프로그램이 파일 시스템 드라이버를 통해 상기 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I/O를 감지한다.The I / O detecting unit 112 detects I / O generated when an application program accesses the file system storage unit directly through a file system driver and writes a file.

다시 말해서, I/O 감지부(112)는 응용 프로그램이 파일 시스템 드라이버를 통해 상기 파일 시스템 저장부의 특정 위치를 지정하여 상기 파일을 기록하고자 할 때 발생하는 I/O를 감지할 수 있다.In other words, the I / O detector 112 may detect I / O that occurs when an application program attempts to record the file by designating a specific location of the file system storage through a file system driver.

이때, 본 발명의 일실시예에 따르면, I/O 감지부(112)는 파일 시스템 필터 드라이버를 통해 상기 I/O를 감지함으로써, 상기 I/O와 연관된 상기 응용 프로그램의 요청을 상기 파일 시스템보다 먼저 전달받을 수 있다.In this case, according to an embodiment of the present invention, the I / O detecting unit 112 detects the I / O through a file system filter driver, thereby requesting the request of the application program associated with the I / O from the file system. You can get it first.

또한, 본 발명의 일실시예에 따르면, I/O 감지부(112)는 직접 접근 기억 장치(Direct Access Storage Device: DASD) I/O 또는 RAW 파일 시스템으로 요청되는 I/O를 감지할 수 있다.In addition, according to an embodiment of the present invention, the I / O detecting unit 112 may detect I / O requested by a direct access storage device (DASD) I / O or a RAW file system. .

이때, 본 발명의 일실시예에 따르면, 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로 감지할 수 있다.In this case, according to an embodiment of the present invention, the I / O detecting unit 112 checks the FLAG information of the FILE_OBJECT included in the I / O, and if the FO_VOLUME_OPEN information is included in the FLAG information, the I / O May be detected as the DASD I / O, and if the FLAG information in the VOLUME PARAMETER BLOCK of the FILE_OBJECT included in the I / O is included, the VPAG_RAW_MOUNT information is included in the FLAG information in the VOLUME PARAMETER BLOCK. May be detected as I / O requested to the RAW file system.

I/O 감지부(112)에서 상기 I/O가 감지된 경우, 일치 여부 판단부(113)는 정보 저장부(111)에 저장되어 있는 상기 저장 위치 정보를 기초로 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 일치하는지 여부를 판단한다.When the I / O is detected by the I / O detecting unit 112, the matching unit 113 determines whether the I / O is based on the storage location information stored in the information storing unit 111. It is determined whether the recording request position of the file and the storage location of the protected file are identical.

다시 말해서, 일치 여부 판단부(113)는 상기 응용 프로그램이 파일의 기록을 요청한 상기 파일 시스템 저장부 상의 위치와 정보 저장부(111)에 저장되어 있는 상기 보호 대상 파일의 저장 위치를 비교하여 상기 기록 요청 위치와 상기 저장 위치가 일치하는지 여부를 판단한다.In other words, the match determination unit 113 compares the location on the file system storage where the application program requests the file recording with the storage location of the file to be protected stored in the information storage 111 to record the file. It is determined whether the request location and the storage location match.

이때, 일치 여부 판단부(113)는 정보 저장부(111)로부터 상기 보호 대상 파일이 저장되어 있는 상기 파일 시스템 저장부 상의 섹터 위치를 확인하여 상기 보호 대상 파일이 저장되어 있는 섹터 위치와 상기 기록 요청 위치가 일치하는지 여부를 판단할 수 있다.At this time, the coincidence determining unit 113 checks the sector position on the file system storage unit in which the protected file is stored from the information storage unit 111 to determine the sector position where the protected file is stored and the recording request. It may be determined whether the positions match.

만약, 상기 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 일치하는 경우, 기록 차단부(114)는 상기 I/O에 따른 상기 파일의 기록 행위를 차단한다.If the recording request location and the storage location of the file to be protected match, the recording blocking unit 114 blocks the recording of the file according to the I / O.

결국, 본 발명의 일실시예에 따른 악성 프로그램 차단 장치(110)는 I/O 감지부(112)가 응용 프로그램의 상기 파일 시스템 저장부에 대한 직접 접근과 관련된 I/O를 감지하는 경우, 일치 여부 판단부(113)가 상기 I/O에 따른 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치를 비교한 후 상기 기록 요청 위치와 상기 저장 위치가 일치하면, 기록 차단부(114)가 상기 I/O에 따른 상기 파일의 기록 행위를 차단함으로써, 악성 프로그램에 의한 파일의 수정이나 변경을 방지할 수 있다.As a result, when the malicious program blocking device 110 according to an embodiment of the present invention detects the I / O associated with the direct access to the file system storage of the application program, the I / O detection unit 112 matches, If the determination unit 113 compares the recording request position of the file according to the I / O with the storage position of the file to be protected, and if the recording request position and the storage position coincide, the recording blocking unit 114 determines the By blocking the recording operation of the file due to I / O, it is possible to prevent the file from being modified or changed by a malicious program.

또한, 본 발명의 일실시예에 따른 악성 프로그램 차단 장치(110)는 I/O 감지부(112)가 상기 파일 시스템 드라이버보다 상위 계층에 속해 있는 파일 시스템 필터 드라이버를 통해 상기 I/O를 감지함으로써, 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 일치하는 경우, 상기 파일 시스템 드라이버가 상기 파일 시스템 저장부에 상기 파일을 기록하기 전에 상기 I/O에 따른 상기 파일의 기록 행위를 원천적으로 차단할 수 있다.In addition, the malicious program blocking device 110 according to an embodiment of the present invention by the I / O detection unit 112 detects the I / O through a file system filter driver belonging to a higher layer than the file system driver When the file write request position of the file according to the I / O and the storage location of the file to be protected are matched, before the file system driver writes the file to the file system storage, the file according to the I / O. It is possible to block the recording behavior of the file.

본 발명의 일실시예에 따르면, 악성 프로그램 차단 장치(110)는 저장 여부 판단부(115) 및 저장 제어부(116)를 더 포함할 수 있다.According to an embodiment of the present invention, the malicious program blocking device 110 may further include a storage determining unit 115 and a storage control unit 116.

저장 여부 판단부(115)는 I/O 감지부(112)에서 상기 I/O가 감지된 경우, 일치 여부 판단부(113)가 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치 간 일치 여부를 판단하기 전에 정보 저장부(111)에 상기 보호 대상 파일의 저장 위치와 연관된 상기 저장 위치 정보가 저장되어 있는지 여부를 먼저 판단한다.When the I / O is detected by the I / O detecting unit 112, the storage determining unit 115 determines whether the file matching request unit 113 records the location and the protection target according to the I / O. Before determining whether the storage locations of the files coincide with each other, it is first determined whether the storage location information associated with the storage location of the file to be protected is stored in the information storage unit 111.

만약, 정보 저장부(111)에 상기 저장 위치 정보가 저장되어 있지 않은 것으로 판단된 경우, 저장 제어부(116)는 상기 보호 대상 파일의 저장 위치를 확인하여 정보 저장부(111)에 상기 저장 위치 정보를 저장한다.If it is determined that the storage location information is not stored in the information storage unit 111, the storage control unit 116 checks the storage location of the file to be protected and stores the storage location information in the information storage unit 111. Save it.

그리고 나서, 일치 여부 판단부(113)는 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 서로 일치하는지 여부를 판단한다.Then, the coincidence determining unit 113 determines whether the recording request position of the file according to the I / O and the storage position of the file to be protected coincide with each other.

이때, 본 발명의 일실시예에 따르면, 저장 제어부(116)는 일치 여부 판단부(113)에서 상기 I/O에 따른 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 서로 일치하는 것으로 판단된 경우, 상기 보호 대상 파일의 저장 위치를 재확인한다.At this time, according to an embodiment of the present invention, the storage control unit 116 determines that the match request position of the file according to the I / O and the storage position of the protected target file match each other in the match unit 113. If so, the storage location of the protected file is reconfirmed.

그리고 나서, 일치 여부 판단부(113)는 상기 기록 요청 위치와 상기 재확인된 상기 보호 대상 파일의 저장 위치가 서로 일치하는지 여부를 판단한다.Then, the coincidence determining unit 113 determines whether the recording request position and the storage position of the reconfirmed file to be confirmed coincide with each other.

만약, 상기 기록 요청 위치와 상기 재확인된 상기 보호 대상 파일의 저장 위치가 서로 일치하는 경우, 기록 차단부(114)는 상기 I/O에 따른 상기 파일의 기록 행위를 차단한다.If the recording request location and the re-confirmed storage location of the protected object file coincide with each other, the recording blocking unit 114 blocks recording of the file according to the I / O.

하지만, 상기 기록 요청 위치와 상기 재확인된 상기 보호 대상 파일의 저장 위치가 서로 일치하지 않는 경우, 저장 제어부(116)는 상기 재확인된 저장 위치를 기초로 정보 저장부(111)에 저장되어 있는 상기 저장 위치 정보를 갱신한다.However, when the recording request location and the storage location of the reconfirmed protected file are not identical to each other, the storage control unit 116 stores the information stored in the information storage unit 111 based on the reconfirmed storage location. Update the location information.

결국, 본 발명의 일실시예에 따른 악성 프로그램 차단 장치(110)는 I/O 감지부(112)에서 상기 I/O가 감지된 경우, 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 서로 일치하더라도, 상기 I/O에 따른 상기 파일의 기록을 차단하기에 앞서, 상기 보호 대상 파일의 저장 위치가 정확한 저장 위치인지 여부를 재확인함으로써, 정상적인 I/O의 차단에 따른 피해를 최소화할 수 있다.As a result, when the I / O is detected by the I / O detecting unit 112, the malicious program blocking apparatus 110 according to an embodiment of the present invention, the recording request position of the file according to the I / O and the Even if the storage locations of the protected files coincide with each other, normal I / O is blocked by rechecking whether the storage location of the protected file is the correct storage location before blocking the recording of the file according to the I / O. The damage caused by this can be minimized.

지금까지 설명한 악성 프로그램 차단 장치(110)의 동작을 다시 한번 설명하면 다음과 같다.Referring again to the operation of the malicious program blocking device 110 described above is as follows.

I/O 감지부(112)가 악성 프로그램에 의한 상기 I/O를 감지한 경우, 저장 여부 판단부(115)는 정보 저장부(111)에 상기 보호 대상 파일의 상기 파일 시스템 저장부 상의 저장 위치와 연관된 저장 위치 정보가 저장되어 있는지 여부를 판단할 수 있다.When the I / O detection unit 112 detects the I / O due to a malicious program, the storage determining unit 115 stores a storage location on the file system storage unit of the protected file in the information storage unit 111. It may be determined whether the storage location information associated with the is stored.

만약, 정보 저장부(111)에 상기 저장 위치 정보가 저장되어 있지 않은 경우, 저장 제어부(116)는 상기 보호 대상 파일의 저장 위치를 확인하여 정보 저장부(111)에 상기 저장 위치 정보를 저장할 수 있다.If the storage location information is not stored in the information storage unit 111, the storage control unit 116 may check the storage location of the file to be protected and store the storage location information in the information storage unit 111. have.

반면, 정보 저장부(111)에 상기 저장 위치 정보가 저장되어 있는 경우, 일치 여부 판단부(113)는 상기 I/O에 따른 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 서로 일치하는지 여부를 판단할 수 있다.On the other hand, when the storage location information is stored in the information storage unit 111, the match determination unit 113 determines whether the recording request position of the file according to the I / O and the storage position of the protected file match with each other. It can be determined.

이때, 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 서로 일치하는 것으로 판단된 경우, 저장 제어부(116)는 상기 보호 대상 파일의 저장 위치를 재확인할 수 있다.In this case, when it is determined that the recording request position of the file according to the I / O and the storage location of the file to be protected coincide with each other, the storage controller 116 may reconfirm the storage location of the file to be protected.

그리고 나서, 일치 여부 판단부(113)는 상기 기록 요청 위치와 상기 재확인된 저장 위치가 서로 일치하는지 여부를 판단하고, 상기 기록 요청 위치와 상기 재확인된 저장 위치가 서로 일치하는 것으로 판단되면, 기록 차단부(114)는 상기 I/O에 따른 상기 파일의 기록 행위를 차단할 수 있다.Then, the coincidence determination unit 113 determines whether the record request position and the reconfirmed storage position match each other, and if it is determined that the record request position and the reconfirmed storage position coincide with each other, recording is blocked. The unit 114 may block recording of the file according to the I / O.

하지만, 일치 여부 판단부(113)에서 상기 기록 요청 위치와 상기 재확인된 저장 위치가 서로 일치하지 않는 것으로 판단된 경우, 저장 제어부(116)는 정보 저장부(111)에 저장되어 있는 상기 저장 위치 정보가 잘못된 것으로 확인하고, 상기 재확인된 저장 위치를 기초로 상기 저장 위치 정보를 갱신할 수 있다.However, when it is determined by the coincidence determining unit 113 that the recording request position and the reconfirmed storage position do not coincide with each other, the storage control unit 116 stores the storage position information stored in the information storage unit 111. May be confirmed to be wrong and update the storage location information based on the reconfirmed storage location.

지금까지 설명한 악성 프로그램 차단 장치(110)는 I/O 감지부(112)가 상기 I/O를 감지한 경우, 기록 차단부(114)가 상기 I/O에 따른 상기 파일의 기록 행위를 차단한 실시예에 대한 것이었다.The malicious program blocking device 110 described above is configured to block the recording of the file according to the I / O when the I / O detecting unit 112 detects the I / O. It was for the example.

하지만, 본 발명의 또 다른 일실시예에 따른 악성 프로그램 차단 장치(110)는 I/O 감지부(112)가 상기 I/O와 연관된 상기 응용 프로그램의 상기 파일 시스템 드라이버에 대한 파일 기록 요청을 감지하면, 기록 차단부(114)가 상기 파일 기록 요청을 차단함으로써, 악성 프로그램의 활동을 원천적으로 차단할 수 있다.However, the malicious program blocking apparatus 110 according to another embodiment of the present invention, the I / O detection unit 112 detects a file recording request for the file system driver of the application program associated with the I / O. In this case, the record blocking unit 114 may block the file recording request, thereby blocking the activity of the malicious program.

다시 말해서, I/O 감지부(112)는 상기 파일 시스템 드라이버보다 상위 계층에 속해 있는 파일 시스템 필터 드라이버를 통해 상기 I/O를 감지할 수 있으므로, 상기 I/O와 연관된 상기 응용 프로그램의 상기 파일 시스템 드라이버에 대한 파일 기록 요청을 감지하고, 기록 차단부(114)가 상기 파일 시스템 드라이버에 상기 파일 기록 요청이 도달하기 전에 미리 상기 파일 기록 요청을 차단함으로써, 악성 프로그램의 활동을 원천적으로 차단할 수 있다.In other words, the I / O detector 112 may detect the I / O through a file system filter driver belonging to a higher layer than the file system driver, and thus the file of the application program associated with the I / O. By detecting a file write request for a system driver, the write blocker 114 blocks the file write request in advance before the file write request arrives at the file system driver, thereby blocking the malicious program's activity. .

도 3은 본 발명의 일실시예에 따른 악성 프로그램 차단 방법을 도시한 순서도이다.3 is a flowchart illustrating a malicious program blocking method according to an embodiment of the present invention.

단계(S310)에서는 파일 시스템 저장부에 기록되어 있는 보호 대상 파일의 저장 위치와 연관된 저장 위치 정보가 저장된 데이터베이스를 관리한다.In operation S310, a database in which storage location information associated with a storage location of a file to be protected, recorded in the file system storage unit, is stored.

이때, 본 발명의 일실시예에 따르면, 상기 저장 위치 정보는 상기 파일 시스템 저장부를 구성하는 적어도 하나의 저장 장치 별로 상기 보호 대상 파일이 저장된 경로에 따른 섹터의 위치에 대한 정보를 포함할 수 있다.In this case, according to an embodiment of the present invention, the storage location information may include information about a location of a sector along a path in which the protected file is stored for each of at least one storage device configuring the file system storage.

단계(S320)에서는 응용 프로그램이 파일 시스템 드라이버를 통해 상기 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I/O를 감지한다.In operation S320, an application program detects I / O generated when a file is accessed by directly accessing the file system storage through a file system driver.

이때, 본 발명의 일실시예에 따르면, 단계(S320)에서는 파일 시스템 필터 드라이버를 이용하여 상기 I/O를 감지할 수 있다.At this time, according to an embodiment of the present invention, in step S320, the I / O may be detected using a file system filter driver.

또한, 본 발명의 일실시예에 따르면, 단계(S320)에서는 DASD I/O 또는 RAW 파일 시스템으로 요청되는 I/O를 감지할 수 있다.In addition, according to an embodiment of the present invention, in step S320, I / O requested by the DASD I / O or the RAW file system may be detected.

이때, 본 발명의 일실시예에 따르면, 단계(S320)에서는 상기 I/O에 포함된 FILE_OBJECT의 FLAG 정보를 확인하는 단계 및 상기 FLAG 정보에 FO_VOLUME_OPEN 정보가 포함되어 있는 경우, 상기 I/O를 상기 DASD I/O로 감지하는 단계를 포함할 수 있다.At this time, according to an embodiment of the present invention, in step S320, identifying the FLAG information of the FILE_OBJECT included in the I / O, and if the FO_VOLUME_OPEN information is included in the FLAG information, the I / O Detecting by DASD I / O.

또한, 본 발명의 일실시예에 따르면, 단계(S320)에서는 상기 I/O에 포함된 FILE_OBJECT의 VOLUME PARAMETER BLOCK내의 FLAG 정보를 확인하는 단계 및 상기 VOLUME PARAMETER BLOCK내의 FLAG 정보에 VPB_RAW_MOUNT 정보가 포함되어 있는 경우, 상기 I/O를 상기 RAW 파일 시스템으로 요청되는 I/O로 감지하는 단계를 포함할 수 있다.According to an embodiment of the present invention, in step S320, the FLAG information in the VOLUME PARAMETER BLOCK of the FILE_OBJECT included in the I / O is checked, and the VPB_RAW_MOUNT information is included in the FLAG information in the VOLUME PARAMETER BLOCK. In this case, the method may include detecting the I / O as an I / O requested by the RAW file system.

단계(S320)에서의 감지 결과, 단계(S330)에서 상기 I/O가 감지되지 않은 경우, 본 과정은 종료된다.As a result of the detection in step S320, if the I / O is not detected in step S330, the process ends.

하지만, 단계(S320)에서의 감지 결과, 단계(S330)에서 상기 I/O가 감지된 경우, 단계(S340)에서는 상기 저장 위치 정보를 기초로 상기 I/O에 따른 상기 파일의 기록 요청 위치와 상기 보호 대상 파일의 저장 위치가 일치하는지 여부를 판단한다.However, when the I / O is detected in step S330 as a result of the detection in step S320, in step S340, a request position for recording the file according to the I / O is based on the storage location information. It is determined whether the storage locations of the protected files match.

단계(S340)의 판단 결과, 단계(S350)에서 상기 기록 요청 위치와 상기 저장 위치가 서로 일치하지 않는 경우, 본 과정은 종료된다.As a result of the determination of step S340, if the recording request location and the storage location do not coincide with each other in step S350, the process ends.

하지만, 단계(S340)의 판단 결과, 단계(S350)에서 상기 기록 요청 위치와 상기 저장 위치가 서로 일치하는 경우, 단계(S360)에서는 상기 I/O에 따른 상기 파일의 기록 행위를 차단한다.However, when it is determined in step S340 that the recording request location and the storage location coincide with each other in step S350, in step S360, recording of the file according to the I / O is blocked.

본 발명의 일실시예에 따르면, 상기 악성 프로그램 차단 방법은 단계(S340)이전에 단계(S330)에서 상기 I/O가 감지된 경우, 상기 데이터베이스에 상기 저장 위치 정보가 저장되어 있는지 여부를 판단하는 단계를 더 포함할 수 있다.According to an embodiment of the present disclosure, the malicious program blocking method may include determining whether the storage location information is stored in the database when the I / O is detected in step S330 before step S340. It may further comprise a step.

그리고 나서, 상기 악성 프로그램 차단 방법은 상기 데이터베이스에 상기 저장 위치 정보가 저장되어 있지 않는 경우, 상기 보호 대상 파일의 저장 위치를 확인하여 상기 데이터베이스에 상기 저장 위치 정보를 저장하는 단계를 더 포함할 수 있다.Then, when the storage location information is not stored in the database, the malicious program blocking method may further include checking the storage location of the file to be protected and storing the storage location information in the database. .

또한, 본 발명의 일실시예에 따르면, 상기 악성 프로그램 차단 방법은 단계(S360)이전에 단계(S350)에서 상기 기록 요청 위치와 상기 저장 위치가 일치하는 것으로 판단된 경우, 상기 보호 대상 파일의 저장 위치를 재확인하는 단계를 더 포함할 수 있다.In addition, according to an embodiment of the present invention, the malicious program blocking method, if it is determined in step S350 that the recording request location and the storage location is the same before the step (S360), the storage of the file to be protected The method may further include reconfirming the position.

그리고 나서, 상기 악성 프로그램 차단 방법은 상기 기록 요청 위치와 상기 재확인된 저장 위치가 일치하는지 여부를 판단할 수 있다.Then, the malicious program blocking method may determine whether the recording request location and the reconfirmed storage location match.

이때, 상기 기록 요청 위치와 상기 재확인된 저장 위치가 일치하는 경우, 단계(S360)에서는 상기 I/O에 따른 상기 파일의 기록 행위를 차단할 수 있다.In this case, when the recording request location and the reconfirmed storage location coincide with each other, in step S360, recording of the file according to the I / O may be blocked.

하지만, 상기 기록 요청 위치와 상기 재확인된 저장 위치가 일치하지 않는 경우, 상기 악성 프로그램 차단 방법은 상기 재확인된 저장 위치를 기초로 상기 데이터베이스에 저장되어 있는 상기 저장 위치 정보를 갱신하는 단계를 더 포함할 수 있다.However, if the recording request location and the reconfirmed storage location do not match, the malicious program blocking method may further include updating the storage location information stored in the database based on the reconfirmed storage location. Can be.

본 발명의 또 다른 일실시예에 따르면, 단계(S320)에서는 상기 I/O와 연관된 상기 응용 프로그램의 상기 파일 시스템 드라이버에 대한 파일 기록 요청을 감지하는 단계 및 상기 파일 기록 요청이 감지되는 경우, 상기 파일 기록 요청을 차단하는 단계를 포함할 수 있다.According to another embodiment of the present invention, in step S320, detecting a file write request for the file system driver of the application program associated with the I / O, and if the file write request is detected, And blocking the file recording request.

이상, 도 3을 참조하여 본 발명의 일실시예에 따른 악성 프로그램 차단 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 악성 프로그램 차단 방법은 도 1을 이용하여 설명한 악성 프로그램 차단 장치(110)의 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.The malicious program blocking method according to an embodiment of the present invention has been described above with reference to FIG. 3. Here, since the malicious program blocking method according to an embodiment of the present invention may correspond to the configuration of the malicious program blocking device 110 described with reference to FIG. 1, a detailed description thereof will be omitted.

본 발명의 일실시예에 따른 악성 프로그램 차단 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Malicious program blocking method according to an embodiment of the present invention is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. 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. 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.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. In the present invention as described above has been described by the specific embodiments, such as specific components and limited embodiments and drawings, but this is provided to help a more general understanding of the present invention, the present invention is not limited to the above embodiments. For those skilled in the art, various modifications and variations are possible from these descriptions.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

110: 악성 프로그램 차단 장치
111: 정보 저장부 112: I/O 감지부
113: 일치 여부 판단부 114: 기록 차단부
115: 저장 여부 판단부 116: 저장 제어부
110: malware blocking device
111: information storage unit 112: I / O detection unit
113: match determination unit 114: record blocking unit
115: storage determining unit 116: storage control unit

Claims (20)

파일 시스템 저장부에 기록되어 있는 보호 대상 파일의 저장 위치와 연관된 저장 위치 정보가 저장된 정보 저장부;
응용 프로그램이 파일 시스템 드라이버를 통해 상기 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I(Input)/O(Output)를 감지하는 I/O 감지부;
상기 I/O가 감지된 경우, 상기 I/O에 따른 상기 파일의 기록에 대한 기록 요청 위치와, 상기 정보 저장부에 저장된 상기 저장 위치 정보에 따른 상기 보호 대상 파일의 저장 위치가 서로 일치하는지 여부를 판단하는 일치 여부 판단부; 및
상기 기록 요청 위치와 상기 저장 위치가 서로 일치하는 경우, 상기 I/O에 따른 상기 파일의 기록 행위를 차단하는 기록 차단부
를 포함하는 악성 프로그램 차단 장치.
An information storage unit storing storage location information associated with a storage location of a file to be protected recorded in the file system storage unit;
An I / O detector for detecting I (Input) / O (Output) generated when an application program accesses the file system storage unit directly through a file system driver to record a file;
When the I / O is detected, whether the recording request position for recording the file according to the I / O and the storage position of the file to be protected according to the storage location information stored in the information storage unit coincide with each other. A match determination unit to determine a; And
A recording blocker which blocks a recording operation of the file according to the I / O when the recording request location and the storage location coincide with each other;
Malware blocking device comprising a.
제1항에 있어서,
상기 I/O가 감지된 경우, 상기 정보 저장부에 상기 저장 위치 정보가 저장되어 있는지 여부를 판단하는 저장 여부 판단부; 및
상기 정보 저장부에 상기 저장 위치 정보가 저장되어 있지 않은 경우, 상기 보호 대상 파일의 저장 위치를 확인하여 상기 정보 저장부에 상기 저장 위치 정보를 저장하는 저장 제어부
를 더 포함하는 악성 프로그램 차단 장치.
The method of claim 1,
A storage determining unit determining whether the storage location information is stored in the information storage unit when the I / O is detected; And
If the storage location information is not stored in the information storage unit, the storage control unit for storing the storage location information to determine the storage location of the file to be protected to the information storage unit
Malware blocking device further comprising.
제2항에 있어서,
상기 저장 제어부는
상기 일치 여부 판단부의 판단 결과, 상기 기록 요청 위치와 상기 저장 위치가 일치하는 경우, 상기 보호 대상 파일의 저장 위치를 재확인하고,
상기 일치 여부 판단부는 상기 기록 요청 위치와 상기 재확인된 저장 위치가 일치하는지 여부를 판단하며,
상기 기록 차단부는 기록 요청 위치와 상기 재확인된 저장 위치가 일치하는 경우, 상기 I/O에 따른 상기 파일의 기록 행위를 차단하는 악성 프로그램 차단 장치.
The method of claim 2,
The storage control unit
As a result of the determination of the match determination unit, when the recording request location and the storage location match, the storage location of the protected file is reconfirmed,
The match determination unit determines whether or not the recording request position and the re-confirmed storage location,
And the recording blocker blocks the recording of the file according to the I / O when the recording request location and the reconfirmed storage location match.
제3항에 있어서,
상기 저장 제어부는
상기 일치 여부 판단부의 판단 결과, 상기 기록 요청 위치와 상기 재확인된 저장 위치가 일치하지 않는 경우, 상기 재확인된 저장 위치를 기초로 상기 정보 저장부에 저장되어 있는 상기 저장 위치 정보를 갱신하는 악성 프로그램 차단 장치.
The method of claim 3,
The storage control unit
When the record request location and the reconfirmed storage location do not coincide with each other, the malicious program block for updating the storage location information stored in the information storage unit is based on the reconfirmed storage location. Device.
제1항에 있어서,
상기 I/O 감지부는
파일 시스템 필터 드라이버를 이용하여 상기 I/O를 감지하는 악성 프로그램 차단 장치.
The method of claim 1,
The I / O detector
Malware blocking device that detects the I / O using a file system filter driver.
제5항에 있어서,
상기 I/O 감지부는
직접 접근 기억 장치(Direct Access Storage Device: DASD) I/O 또는 RAW 파일 시스템으로 요청되는 I/O 중 어느 하나 이상을 감지하는 악성 프로그램 차단 장치.
The method of claim 5,
The I / O detector
Direct Access Storage Device (DASD) A malware blocking device that detects one or more of the I / Os or I / Os required by the RAW file system.
제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로 감지하는 악성 프로그램 차단 장치.
The method according to claim 6,
The I / O detector
When the FLAG information of the FILE_OBJECT included in the I / O is checked and the FO_VOLUME_OPEN information is included in the FLAG information, the I / O is detected as the DASD I / O.
If the FLAG information in the VOLUME PARAMETER BLOCK of the FILE_OBJECT included in the I / O is checked and the FLAG information in the VOLUME PARAMETER BLOCK includes the VPB_RAW_MOUNT information, the I / O is the I / O requested by the RAW file system. Malware blocking device that detects.
제1항에 있어서,
상기 저장 위치 정보는
상기 파일 시스템 저장부를 구성하는 적어도 하나의 저장 장치 별로 상기 보호 대상 파일이 저장된 경로에 따른 섹터(sector)의 위치에 대한 정보를 포함하는 악성 프로그램 차단 장치.
The method of claim 1,
The storage location information
And at least one storage device of the file system storage unit, the malicious program blocking device including information on a location of a sector along a path in which the protected file is stored.
제1항에 있어서,
상기 I/O 감지부는
상기 I/O와 연관된 상기 응용 프로그램의 상기 파일 시스템 드라이버에 대한 파일 기록 요청을 감지하고,
상기 기록 차단부는 상기 파일 기록 요청을 차단하는 악성 프로그램 차단 장치.
The method of claim 1,
The I / O detector
Detect a file write request for the file system driver of the application associated with the I / O,
The recording blocking unit is a malicious program blocking device that blocks the file recording request.
파일 시스템 저장부에 기록되어 있는 보호 대상 파일의 저장 위치와 연관된 저장 위치 정보가 저장된 데이터베이스를 관리하는 단계;
응용 프로그램이 파일 시스템 드라이버를 통해 상기 파일 시스템 저장부에 직접 접근하여 파일을 기록할 때 발생하는 I(Input)/O(Output)를 감지하는 단계;
상기 I/O가 감지된 경우, 상기 I/O에 따른 상기 파일의 기록에 대한 기록 요청 위치와, 상기 정보 저장부에 저장된 상기 저장 위치 정보에 따른 상기 보호 대상 파일의 저장 위치가 서로 일치하는지 여부를 판단하는 단계; 및
상기 기록 요청 위치와 상기 저장 위치가 서로 일치하는 경우, 상기 I/O에 따른 상기 파일의 기록 행위를 차단하는 단계
를 포함하는 악성 프로그램 차단 방법.
Managing a database in which storage location information associated with a storage location of a protected object file recorded in the file system storage unit is stored;
Detecting an I (Input) / O (Output) that occurs when an application program directly accesses the file system storage through a file system driver to write a file;
When the I / O is detected, whether the recording request position for recording the file according to the I / O and the storage position of the file to be protected according to the storage location information stored in the information storage unit coincide with each other. Determining; And
Blocking recording of the file according to the I / O when the recording request location and the storage location coincide with each other;
Malware blocking method comprising a.
제10항에 있어서,
상기 I/O가 감지된 경우, 상기 데이터베이스에 상기 저장 위치 정보가 저장되어 있는지 여부를 판단하는 단계; 및
상기 데이터베이스에 상기 저장 위치 정보가 저장되어 있지 않은 경우, 상기 보호 대상 파일의 저장 위치를 확인하여 상기 데이터베이스에 상기 저장 위치 정보를 저장하는 단계
를 더 포함하는 악성 프로그램 차단 방법.
The method of claim 10,
Determining whether the storage location information is stored in the database when the I / O is detected; And
If the storage location information is not stored in the database, checking a storage location of the protected file and storing the storage location information in the database
Malware blocking method comprising more.
제10항에 있어서,
상기 기록 요청 위치와 상기 저장 위치가 일치하는 것으로 판단된 경우, 상기 보호 대상 파일의 저장 위치를 재확인하는 단계; 및
상기 기록 요청 위치와 상기 재확인된 저장 위치가 일치하는지 여부를 판단하는 단계
를 더 포함하고,
상기 차단하는 단계는
상기 기록 요청 위치와 상기 재확인된 저장 위치가 일치하는 경우, 상기 I/O에 따른 상기 파일의 기록 행위를 차단하는 악성 프로그램 차단 방법.
The method of claim 10,
Reconfirming the storage location of the file to be protected if it is determined that the recording request location and the storage location match; And
Determining whether the recording request location and the reconfirmed storage location match;
Further comprising:
The blocking step
And blocking the recording of the file according to the I / O when the recording request location and the reconfirmed storage location match.
제12항에 있어서,
상기 기록 요청 위치와 상기 재확인된 저장 위치가 일치하지 않는 것으로 판단된 경우, 상기 재확인된 저장 위치를 기초로 상기 데이터베이스에 저장되어 있는 상기 저장 위치 정보를 갱신하는 단계
를 더 포함하는 악성 프로그램 차단 방법.
The method of claim 12,
If it is determined that the recording request location and the reconfirmed storage location do not coincide, updating the storage location information stored in the database based on the reconfirmed storage location;
Malware blocking method comprising more.
제10항에 있어서,
상기 감지하는 단계는
파일 시스템 필터 드라이버를 이용하여 상기 I/O를 감지하는 악성 프로그램 차단 방법.
The method of claim 10,
The sensing step
A malicious program blocking method that detects the I / O using a file system filter driver.
제14항에 있어서,
상기 감지하는 단계는
직접 접근 기억 장치(Direct Access Storage Device: DASD) I/O 또는 RAW 파일 시스템으로 요청되는 I/O 중 어느 하나 이상을 감지하는 악성 프로그램 차단 방법.
15. The method of claim 14,
The sensing step
A method of blocking malware that detects one or more of Direct Access Storage Device (DASD) I / Os or I / Os requested by the RAW file system.
제15항에 있어서,
상기 감지하는 단계는
상기 I/O에 포함된 FILE_OBJECT의 FLAG 정보를 확인하는 단계; 및
상기 FLAG 정보에 FO_VOLUME_OPEN 정보가 포함되어 있는 경우, 상기 I/O를 상기 DASD I/O로 감지하는 단계
를 포함하는 악성 프로그램 차단 방법.
16. The method of claim 15,
The sensing step
Checking FLAG information of FILE_OBJECT included in the I / O; And
Detecting the I / O as the DASD I / O when the FLAG information includes FO_VOLUME_OPEN information.
Malware blocking method comprising a.
제15항에 있어서,
상기 감지하는 단계는
상기 I/O에 포함된 FILE_OBJECT의 VOLUME PARAMETER BLOCK내의 FLAG 정보를 확인하는 단계; 및
상기 VOLUME PARAMETER BLOCK내의 FLAG 정보에 VPB_RAW_MOUNT 정보가 포함되어 있는 경우, 상기 I/O를 상기 RAW 파일 시스템으로 요청되는 I/O로 감지하는 단계
를 포함하는 악성 프로그램 차단 방법.
16. The method of claim 15,
The sensing step
Checking the FLAG information in the VOLUME PARAMETER BLOCK of the FILE_OBJECT included in the I / O; And
Detecting the I / O as an I / O requested by the RAW file system when the FLAG information in the VOLUME PARAMETER BLOCK includes VPB_RAW_MOUNT information
Malware blocking method comprising a.
제10항에 있어서,
상기 저장 위치 정보는
상기 파일 시스템 저장부를 구성하는 적어도 하나의 저장 장치 별로 상기 보호 대상 파일이 저장된 경로에 따른 섹터(sector)의 위치에 대한 정보를 포함하는 악성 프로그램 차단 방법.
The method of claim 10,
The storage location information
And at least one storage device constituting the file system storage unit, the malicious program blocking method comprising information on a location of a sector along a path in which the protected file is stored.
제10항에 있어서,
상기 감지하는 단계는
상기 I/O와 연관된 상기 응용 프로그램의 상기 파일 시스템 드라이버에 대한 파일 기록 요청을 감지하는 단계; 및
상기 파일 기록 요청이 감지되는 경우, 상기 파일 기록 요청을 차단하는 단계
를 포함하는 악성 프로그램 차단 방법.
The method of claim 10,
The sensing step
Detecting a file write request for the file system driver of the application program associated with the I / O; And
If the file recording request is detected, blocking the file recording request
Malware blocking method comprising a.
제10항 내지 제19항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer readable recording medium having recorded thereon a program for performing the method of claim 10.
KR1020100136594A 2010-12-28 2010-12-28 Malicious program blocking apparatus and method KR101265530B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100136594A KR101265530B1 (en) 2010-12-28 2010-12-28 Malicious program blocking apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100136594A KR101265530B1 (en) 2010-12-28 2010-12-28 Malicious program blocking apparatus and method

Publications (2)

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

Family

ID=46708771

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100136594A KR101265530B1 (en) 2010-12-28 2010-12-28 Malicious program blocking apparatus and method

Country Status (1)

Country Link
KR (1) KR101265530B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101834808B1 (en) * 2016-07-18 2018-03-06 한양대학교 산학협력단 Apparatus and method for protecting file from encryption

Also Published As

Publication number Publication date
KR20120074683A (en) 2012-07-06

Similar Documents

Publication Publication Date Title
CN102799817B (en) For the system and method using Intel Virtualization Technology to carry out malware protection
US7636872B2 (en) Threat event-driven backup
WO2017177801A1 (en) Method and apparatus for realising integrity protection for operating system
US20170364679A1 (en) Instrumented versions of executable files
EP3682332B1 (en) Method and apparatus for erasing or writing flash data
KR20190021673A (en) Apparatus and method for preventing ransomware
WO2017133442A1 (en) Real-time measurement method and device
US9086990B2 (en) Bitline deletion
KR101265530B1 (en) Malicious program blocking apparatus and method
CN112825098A (en) Data protection method and device, computing equipment and storage medium
US8054722B2 (en) Disk operation protection method and disk controller
KR101290852B1 (en) Apparatus and Method for Preventing Data Loss Using Virtual Machine
WO2022105610A1 (en) Data protection method, apparatus, storage medium, and computer device
KR101375658B1 (en) Program data change protecting apparatus and program data change protecting method
US10691586B2 (en) Apparatus and method for software self-test
US10831916B2 (en) Method for blocking access of malicious application and storage device implementing the same
KR102145358B1 (en) Method and computer-readable medium emboding program for protecting data integrity of disk in alternate operating system environment
KR20140023459A (en) Program protection apparatus and program protection method
US10628056B2 (en) Information processing apparatus and shared memory management method
US20130173851A1 (en) Non-volatile storage device, access control program, and storage control method
JP7283552B2 (en) Information processing device, information processing method, and program
KR101444929B1 (en) Abnormal call detecting device and abnormal call detecting method
KR102332588B1 (en) Cache Tamper-Proof Method and System on Android
CN116910768B (en) Attack defending method, system, device and medium
US20220374534A1 (en) File system protection apparatus and method in auxiliary storage device

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