KR101889222B1 - Portable storage device perfoming a malignant code detection and method for the same - Google Patents
Portable storage device perfoming a malignant code detection and method for the same Download PDFInfo
- Publication number
- KR101889222B1 KR101889222B1 KR1020170058929A KR20170058929A KR101889222B1 KR 101889222 B1 KR101889222 B1 KR 101889222B1 KR 1020170058929 A KR1020170058929 A KR 1020170058929A KR 20170058929 A KR20170058929 A KR 20170058929A KR 101889222 B1 KR101889222 B1 KR 101889222B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- malicious code
- unit
- block
- storage device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/567—Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
- G06F2212/2146—Solid state disk being detachable, e.g.. USB memory
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 출원은 악성코드탐지를 수행하는 이동식저장장치 및 이를 위한 방법 에 관한 것으로, 보다 상세하게는 이동식저장장치에 포함된 데이터의 단위를 변환하는 변환유닛과 악성코드탐지유닛의 동작에 기초하여 악성코드탐지를 수행하는 이동식저장장치 및 이를 위한 방법에 관한 것이다.The present invention relates to a portable storage device for performing malicious code detection and a method therefor, and more particularly, to a portable storage device for performing malicious code detection based on operations of a conversion unit and a malicious code detection unit, To a removable storage device for performing detection and a method for the same.
악성코드는 컴퓨터 데이터를 지우거나 개인정보를 빼내는 등의 악의적 연산을 수행하는 프로그램이다. Malicious code is a program that performs malicious operations such as erasing computer data or extracting personal information.
상기 악성코드는 PC/모바일 등의 전자기기로 전파되어 상기 전자기기내에서 악의적 연산을 수행함으로써, 상기 전자기기의 사용자에게 막대한 피해를 주고 있다. 따라서, 상기 악성코드를 탐지하고, 탐지된 악성코드를 처리하기 위한 악성코드탐지알고리즘이 전자기기의 운영체제 상에 설치되어 왔다.The malicious code is transmitted to an electronic device such as a PC / mobile and performs malicious operation in the electronic device, thereby causing a great damage to the user of the electronic device. Therefore, a malicious code detection algorithm for detecting the malicious code and processing the detected malicious code has been installed on the operating system of the electronic device.
그러나, 상기 악성코드탐지알고리즘이 전자기기의 운영체제 상에 설치되는 경우, 상기 알고리즘의 실행에 따른 전자기기의 운용부담이 증가하게 된다. 상기 운용부담이 증가된 전자기기의 성능은 확연히 떨어지게 된다. 따라서, 최근 상기 전자기기의 운용부담을 경감시키기 위하여 전자기기와 별도로 구비되며, 악성코드탐지 기능이 탑재되는 매체에 대한 수요가 증대하고 있다.However, when the malicious code detection algorithm is installed on the operating system of the electronic device, the operation burden of the electronic device due to the execution of the algorithm increases. The performance of the electronic device with the increased operational burden is significantly lowered. Therefore, in recent years, in order to alleviate the operational burden of the electronic device, there is an increasing demand for a medium equipped with a malicious code detection function separately provided from an electronic device.
본 출원의 일 과제는, 호스트디바이스의 악성코드탐지부담이 경감되도록, 호스트디바이스와 별도로 구비되며, 악성코드탐지 기능이 탑재되는 이동식저장장치를 제공하는 것에 있다.One aspect of the present invention is to provide a removable storage device provided separately from a host device and equipped with a malicious code detection function so as to alleviate burden of malicious code detection of the host device.
본 출원이 해결하고자 하는 과제가 상술한 과제로 제한되는 것은 아니며, 언급되지 아니한 과제들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present application are not limited to the above-described problems, and the matters not mentioned in the present specification can be clearly understood by those skilled in the art from the present specification and the accompanying drawings .
본 출원의 일 양상에 따르면, 호스트디바이스에 연동되는 이동식저장장치로서, 악성코드패턴을 포함하는 악성코드패턴테이블이 저장되는 탐지메모리; 상기 악성코드패턴테이블에 기초하여 악성코드를 탐지하는 악성코드탐지부;를 포함하고, 상기 악성코드탐지부는 상기 호스트디바이스로부터 생성되는 블록단위의 명령데이터에 기초한 블록단위의 데이터를 획득하고, 상기 블록단위의 데이터를 필터링하여 악성코드로 추정되는 블록단위의 데이터를 포함하는 블록단위의 필터링데이터를 생성하는 데이터필터; 상기 블록단위의 필터링데이터를 파일단위의 필터링데이터로 변환하는 변환유닛; 및 악성코드를 탐지하는 악성코드탐지동작을 수행하는 악성코드탐지유닛;을 포함하며, 상기 악성코드탐지동작은 상기 악성코드패턴테이블을 호출하고, 상기 악성코드패턴테이블에 기초하여 상기 파일단위의 필터링데이터에 포함된 연산패턴이 악성코드패턴인지 여부를 판별함으로써 수행되는 것을 특징으로 하는, 이동식저장장치가 제공될 수 있다. According to an aspect of the present application, there is provided a portable storage device interlocked with a host device, comprising: a detection memory storing a malicious code pattern table including a malicious code pattern; And a malicious code detection unit for detecting a malicious code based on the malicious code pattern table, wherein the malicious code detection unit obtains data of a block unit based on command data of a block unit generated from the host device, A data filter for filtering data of a unit of block and generating filtering data of a block unit including data of a block unit estimated by a malicious code; A conversion unit for converting the filtering data of the block unit into filtering data of a file unit; And a malicious code detection unit that performs malicious code detection operation for detecting malicious code, wherein the malicious code detection operation calls the malicious code pattern table, and performs filtering on the basis of the malicious code pattern table And determining whether or not the operation pattern included in the data is a malicious code pattern.
본 출원의 다른 양상에 따르면, 호스트디바이스에 연동되는 이동식저장장치에 의해 수행되는 악성코드탐지방법으로서, 상기 호스트디바이스로부터 생성되는 블록단위의 명령데이터에 기초한 블록단위의 데이터를 획득하는 단계; 상기 블록단위의 데이터를 필터링하여 악성코드로 추정되는 블록단위의 데이터를 포함하는 블록단위의 필터링데이터를 생성하는 단계; 상기 블록단위의 필터링데이터를 획득하고, 상기 블록단위의 필터링데이터를 변환하여 파일단위의 필터링데이터로 변환하는 단계; 및 상기 파일단위의 필터링데이터에 기초하여 악성코드탐지동작을 수행하는 단계;를 포함하고, 상기 악성코드탐지동작은 상기 악성코드패턴테이블을 호출하고, 상기 악성코드패턴테이블에 기초하여 상기 파일단위의 필터링데이터에 포함된 연산패턴이 악성코드패턴인지 여부를 판별함으로써 수행되는 것을 특징으로 하는, 악성코드탐지방법이 제공될 수 있다.According to another aspect of the present application, there is provided a malicious code detection method performed by a removable storage device interlocked with a host device, comprising: obtaining data of a block unit based on command data in units of blocks generated from the host device; Filtering the data of each block unit to generate filtering data of block units including data of block units estimated as malicious code; Acquiring the filtering data of the block unit, converting the filtering data of the block unit, and converting the filtered data into filtering data of a file unit; And performing malicious code detection based on the filtering data in the file unit, wherein the malicious code detection operation calls the malicious code pattern table, and based on the malicious code pattern table, And detecting whether the operation pattern included in the filtering data is a malicious code pattern or not.
본 출원의 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The solution of the problem of the present application is not limited to the above-mentioned solutions, and the solutions which are not mentioned are to be clearly understood by those skilled in the art to which the present invention belongs It will be possible.
본 출원에 의하면, 호스트디바이스의 악성코드탐지부담이 경감되도록, 호스트디바이스와 별도로 구비되며, 악성코드탐지 기능이 탑재되는 이동식저장장치가 제공될 수 있다.According to the present application, a portable storage device provided separately from a host device and equipped with a malicious code detection function can be provided so as to alleviate burden of malicious code detection of the host device.
본 출원의 효과가 상술한 효과로 제한되는 것은 아니며, 언급되지 아니한 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.The effects of the present application are not limited to the effects described above, and effects not mentioned can be clearly understood by those skilled in the art from the present specification and the accompanying drawings.
도 1은 본 출원의 일 실시예에 따른 이동식저장장치가 이용되는 시스템 환경을 나타내는 도면이다.
도 2는 본 출원의 일 실시예에 따른 호스트디바이스와 이동식저장장치를 나타내는 도면이다.
도 3은 본 출원의 일 실시예에 따른 악성코드검사동작을 나타내는 순서도이다.
도 4는 본 출원의 일 실시예에 따른 제1 악성코드검사동작을 위한 데이터의 전달을 나타내는 도면이다.
도 5는 본 출원의 일 실시예에 따른 쓰기데이터의 출력의 제어 및 차단 처리동작을 나타내는 도면이다.
도 6은 본 출원의 일 실시예예 따른 호스트디바이스와의 통신단절 처리동작을 나타내는 도면이다.
도 7은 본 출원의 일 실시예에 따른 경고파일생성 처리동작을 나타내는 도면이다.
도 8은 본 출원의 일 실시예에 따른 호스트디바이스 및 이동식저장장치를 나타내는 도면이다.
도 9는 본 출원의 일 실시예에 따른 제2 악성코드검사동작 시 데이터 전송을 나타내는 도면이다.
도 10은 본 출원의 일 실시예에 따른 호스트디바이스 및 이동식저장장치를 나타내는 도면이다.
도 11은 본 출원의 일 실시예에 따른 제3 악성코드검사동작 시 데이터 전송을 나타내는 도면이다.
도 12는 본 출원의 일 실시예에 따른 이동식저장장치의 악성코드검사동작 선택 순서도이다.1 is a diagram illustrating a system environment in which a removable storage device according to one embodiment of the present application is utilized.
2 is a diagram illustrating a host device and a removable storage device according to one embodiment of the present application.
3 is a flowchart showing a malicious code checking operation according to an embodiment of the present application.
4 is a diagram illustrating data transfer for a first malicious code checking operation according to an embodiment of the present application.
5 is a diagram showing an operation of controlling and outputting write data according to an embodiment of the present application.
6 is a diagram showing a communication disconnection processing operation with a host device according to an embodiment of the present application.
7 is a diagram showing an alert file generation processing operation according to an embodiment of the present application.
8 is a diagram illustrating a host device and a removable storage device according to one embodiment of the present application.
9 is a diagram illustrating data transmission in a second malicious code checking operation according to an embodiment of the present application.
10 is a diagram illustrating a host device and a removable storage device according to one embodiment of the present application.
11 is a diagram illustrating data transmission in a third malicious code checking operation according to an embodiment of the present application.
12 is a flow chart illustrating a malicious code checking operation selection procedure of the mobile storage device according to an embodiment of the present application.
본 명세서에 기재된 실시예는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 본 발명의 사상을 명확히 설명하기 위한 것이므로, 본 발명이 본 명세서에 기재된 실시예에 의해 한정되는 것은 아니며, 본 발명의 범위는 본 발명의 사상을 벗어나지 아니하는 수정예 또는 변형예를 포함하는 것으로 해석되어야 한다.It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to be illustrative of the present invention and not to limit the scope of the invention. Should be interpreted to include modifications or variations that do not depart from the spirit of the invention.
본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하여 가능한 현재 널리 사용되고 있는 일반적인 용어를 선택하였으나 이는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자의 의도, 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 다만, 이와 달리 특정한 용어를 임의의 의미로 정의하여 사용하는 경우에는 그 용어의 의미에 관하여 별도로 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가진 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석되어야 한다.Although the terms used in the present invention have been selected in consideration of the functions of the present invention, they are generally used in general terms. However, the present invention is not limited to the intention of the person skilled in the art to which the present invention belongs . However, if a specific term is defined as an arbitrary meaning, the meaning of the term will be described separately. Accordingly, the terms used herein should be interpreted based on the actual meaning of the term rather than on the name of the term, and on the content throughout the description.
본 명세서에 첨부된 도면은 본 발명을 용이하게 설명하기 위한 것으로 도면에 도시된 형상은 본 발명의 이해를 돕기 위하여 필요에 따라 과장되어 표시된 것일 수 있으므로 본 발명이 도면에 의해 한정되는 것은 아니다.The drawings attached hereto are intended to illustrate the present invention easily, and the shapes shown in the drawings may be exaggerated and displayed as necessary in order to facilitate understanding of the present invention, and thus the present invention is not limited to the drawings.
본 명세서에서 본 발명에 관련된 공지의 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에 이에 관한 자세한 설명은 필요에 따라 생략하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a detailed description of known configurations or functions related to the present invention will be omitted when it is determined that the gist of the present invention may be obscured.
본 출원의 일 양상에 따르면, 호스트디바이스에 연동되는 이동식저장장치로서, 악성코드패턴을 포함하는 악성코드패턴테이블이 저장되는 탐지메모리; 상기 악성코드패턴테이블에 기초하여 악성코드를 탐지하는 악성코드탐지부;를 포함하고, 상기 악성코드탐지부는 상기 호스트디바이스로부터 생성되는 블록단위의 명령데이터에 기초한 블록단위의 데이터를 획득하고, 상기 블록단위의 데이터를 필터링하여 악성코드로 추정되는 블록단위의 데이터를 포함하는 블록단위의 필터링데이터를 생성하는 데이터필터; 상기 블록단위의 필터링데이터를 파일단위의 필터링데이터로 변환하는 변환유닛; 및 악성코드를 탐지하는 악성코드탐지동작을 수행하는 악성코드탐지유닛;을 포함하며, 상기 악성코드탐지동작은 상기 악성코드패턴테이블을 호출하고, 상기 악성코드패턴테이블에 기초하여 상기 파일단위의 필터링데이터에 포함된 연산패턴이 악성코드패턴인지 여부를 판별함으로써 수행되는 것을 특징으로 하는, 이동식저장장치가 제공될 수 있다. According to an aspect of the present application, there is provided a portable storage device interlocked with a host device, comprising: a detection memory storing a malicious code pattern table including a malicious code pattern; And a malicious code detection unit for detecting a malicious code based on the malicious code pattern table, wherein the malicious code detection unit obtains data of a block unit based on command data of a block unit generated from the host device, A data filter for filtering data of a unit of block and generating filtering data of a block unit including data of a block unit estimated by a malicious code; A conversion unit for converting the filtering data of the block unit into filtering data of a file unit; And a malicious code detection unit that performs malicious code detection operation for detecting malicious code, wherein the malicious code detection operation calls the malicious code pattern table, and performs filtering on the basis of the malicious code pattern table And determining whether or not the operation pattern included in the data is a malicious code pattern.
또, 상기 악성코드탐지유닛은 상기 연산패턴이 상기 악성코드패턴인 경우, 탐지데이터를 생성하는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.The malicious code detection unit may generate detection data when the operation pattern is the malicious code pattern.
또, 데이터의 쓰기 연산이 수행되는 메모리부; 및 상기 데이터의 쓰기 연산이 수행되도록 쓰기데이터를 출력하는 버퍼;를 포함하고, 상기 쓰기데이터는 상기 블록단위의 명령데이터 및 탐지데이터 에 기초하여 생성되는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.A memory unit in which a data write operation is performed; And a buffer for outputting write data such that a write operation of the data is performed, wherein the write data is generated based on the command data and the detection data on a block-by-block basis .
또, 상기 악성코드패턴테이블에 포함된 악성코드패턴에 우선순위가 설정되고, 상기 악성코드패턴테이블은 제1 우선순위를 갖는 제1 악성코드패턴 및 제2 우선순위를 갖는 제2 악성코드패턴을 포함하는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.In addition, a priority is set in a malicious code pattern included in the malicious code pattern table, and the malicious code pattern table includes a first malicious code pattern having a first priority and a second malicious code pattern having a second priority A portable storage device may be provided.
또, 상기 악성코드패턴의 우선순위는 상기 악성코드패턴테이블의 업데이트 이력에 기초하여 설정되는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.In addition, a priority of the malicious code pattern is set based on an update history of the malicious code pattern table.
또, 상기 악성코드탐지유닛은 상기 연산패턴과 상기 제1 우선순위를 갖는 상기 제1 악성코드패턴의 비교가 상기 연산패턴과 상기 제2 우선순위를 갖는 상기 제2 악성코드패턴의 비교보다 먼저 수행되도록 하는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.The malicious code detection unit may perform a comparison between the operation pattern and the first malicious code pattern having the first priority before the comparison between the operation pattern and the second malicious code pattern having the second priority So that it is possible to provide a portable storage device.
또, 상기 악성코드탐지유닛은 상기 탐지데이터에 기초하여 악성코드처리 동작의 수행을 위한 결과데이터가 생성되도록 하는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.The malicious code detection unit may generate result data for performing a malicious code processing operation based on the detection data.
또, 상기 결과데이터의 생성 시점 별로 상기 버퍼의 쓰기데이터의 출력이 제어되되, 상기 버퍼가 상기 쓰기데이터를 출력하는 중에 상기 결과데이터가 생성되는 경우, 상기 버퍼는 상기 쓰기데이터의 출력을 늦추고, 상기 버퍼가 상기 쓰기데이터를 출력하기 이전에 상기 결과데이터가 생성되는 경우, 상기 버퍼는 상기 쓰기데이터의 출력을 차단하는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.When the result data is generated while the buffer is outputting the write data, the buffer delays the output of the write data, and when the result data is generated while the buffer is outputting the write data, And wherein when the result data is generated before the buffer outputs the write data, the buffer blocks the output of the write data.
또, 상기 결과데이터의 생성에 기초하여 상기 이동식저장장치와 상기 호스트디바이스의 상기 연동이 단절되는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.The portable storage device may be disconnected from the host device based on generation of the result data.
또, 상기 결과데이터의 생성에 기초하여, 상기 이동식저장장치는 상기 호스트디바이스에 상기 악성코드의 탐지를 알리기 위한 경고파일이 생성되도록 하는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.Further, based on the generation of the result data, the portable storage device may generate a warning file for notifying the host device of the detection of the malicious code.
또, 상기 악성코드탐지유닛은 상기 블록단위의 필터링데이터에 기초하여 악성코드탐지동작을 수행하는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.The malicious code detection unit may perform a malicious code detection operation based on the filtering data of the block unit.
또, 상기 변환유닛은 상기 블록단위의 데이터를 전송 받고, 상기 블록단위의 데이터를 상기 파일단위의 데이터로 변환하여 상기 악성코드탐지유닛으로 전달하고, 상기 악성코드탐지유닛은 상기 파일단위의 데이터에 기초하여 악성코드탐지동작을 수행하는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.The conversion unit receives the data of the block unit, converts the data of the block unit into the data of the file unit, and transfers the data to the malicious code detection unit. The malicious code detection unit reads the data of the file unit And a malicious code detection operation is performed on the basis of the malicious code detection operation.
또, 상기 이동식저장장치는 아이들모드 및 액티브모드를 포함하는 모드를 갖고, 상기 악성코드탐지동작의 정밀도를 설정하되, 상기 모드에 기초하여 제1 정밀도 및 제2 정밀도를 포함하는 정밀도를 설정하며, 상기 이동식저장장치가 상기 아이들모드인 경우, 상기 제1 정밀도로 설정되고, 상기 이동식저장장치가 상기 액티브모드인 경우, 상기 제2 정밀도로 설정되되, 상기 제1 정밀도는 상기 제2 정밀도보다 높은 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.The portable storage device has a mode including an idle mode and an active mode and sets an accuracy of the malicious code detection operation and sets an accuracy including a first precision and a second precision based on the mode, The first precision is set to the first precision when the removable storage device is in the idle mode and the second precision is set to the second precision when the removable storage device is in the active mode A portable storage device can be provided.
또, 상기 정밀도에 기초하여 상기 악성코드탐지유닛이 상기 악성코드탐지동작을 수행하는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.In addition, a portable storage device may be provided, wherein the malicious code detection unit performs the malicious code detection operation based on the accuracy.
또, 상기 악성코드탐지동작의 정밀도가 제1 정밀도인 경우, 상기 악성코드탐지유닛은 상기 블록단위의 필터링데이터에 기초하여 상기 악성코드탐지동작을 수행하고, 상기 이동식저장장치의 모드가 제2 모드인 경우, 상기 악성코드탐지유닛은 파일단위의 필터링데이터에 기초하여 상기 악성코드탐지동작을 수행하는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.When the accuracy of the malicious code detection operation is the first precision, the malicious code detection unit performs the malicious code detection operation based on the filtering data of the block unit, and when the mode of the removable storage device is the second mode , The malicious code detection unit performs the malicious code detection operation based on the filtering data on a file unit basis.
본 출원의 다른 양상에 따르면, 호스트디바이스에 연동되는 이동식저장장치에 의해 수행되는 악성코드탐지방법으로서, 상기 호스트디바이스로부터 생성되는 블록단위의 명령데이터에 기초한 블록단위의 데이터를 획득하는 단계; 상기 블록단위의 데이터를 필터링하여 악성코드로 추정되는 블록단위의 데이터를 포함하는 블록단위의 필터링데이터를 생성하는 단계; 상기 블록단위의 필터링데이터를 획득하고, 상기 블록단위의 필터링데이터를 변환하여 파일단위의 필터링데이터로 변환하는 단계; 및 상기 파일단위의 필터링데이터에 기초하여 악성코드탐지동작을 수행하는 단계;를 포함하고, 상기 악성코드탐지동작은 상기 악성코드패턴테이블을 호출하고, 상기 악성코드패턴테이블에 기초하여 상기 파일단위의 필터링데이터에 포함된 연산패턴이 악성코드패턴인지 여부를 판별함으로써 수행되는 것을 특징으로 하는, 악성코드탐지방법이 제공될 수 있다.According to another aspect of the present application, there is provided a malicious code detection method performed by a removable storage device interlocked with a host device, comprising: obtaining data of a block unit based on command data in units of blocks generated from the host device; Filtering the data of each block unit to generate filtering data of block units including data of block units estimated as malicious code; Acquiring the filtering data of the block unit, converting the filtering data of the block unit, and converting the filtered data into filtering data of a file unit; And performing malicious code detection based on the filtering data in the file unit, wherein the malicious code detection operation calls the malicious code pattern table, and based on the malicious code pattern table, And detecting whether the operation pattern included in the filtering data is a malicious code pattern or not.
본 명세서에서 악성코드는 데이터의 일종일 수 있다.In this specification, malicious code can be a kind of data.
본 명세서에서 데이터는 패턴을 포함할 수 있다. 상기 패턴은 상기 데이터를 구성하는 데이터의 최소 개념으로 정의될 수 있다. 상기 패턴은 연산과 관련된 연산패턴, 정보와 관련된 내용패턴으로 분류될 수 있다.The data herein may include patterns. The pattern may be defined as a minimal concept of data constituting the data. The pattern may be classified into an operation pattern related to an operation, and a content pattern related to information.
본 명세서에서 데이터는 소정의 단위를 가질 수 있다. 상기 데이터의 단위는 블록단위, 페이지단위, 및 파일단위를 포함할 수 있다. 상기 파일단위는 상기 블록단위 및 페이지단위보다 큰 데이터의 단위일 수 있다.The data herein may have predetermined units. The unit of the data may include a block unit, a page unit, and a file unit. The file unit may be a block unit or a unit of data larger than a page unit.
상기 데이터의 단위는 서로 변환될 수 있다. 즉, 상기 복수의 블록단위의 데이터 또는 복수의 페이지단위의 데이터가 병합되어 상기 파일단위의 데이터가 생성될 수 있다. 또는, 상기 파일단위의 데이터가 분할되어 복수의 블록단위의 데이터 또는 복수의 페이지단위의 데이터가 생성될 수 있다.The units of the data can be mutually converted. That is, the data of the plurality of block units or the data of a plurality of page units may be merged to generate the file unit data. Alternatively, the data of the file unit may be divided to generate data of a plurality of blocks or data of a plurality of pages.
이하에서는 설명을 용이하게 하기 위하여, 데이터의 단위는 블록단위 또는 파일단위인 것으로 설명하도록 한다. 이하의 설명에 국한되지 않고, 이하의 설명에 기재된 블록단위는 페이지단위로 이해될 수도 있다.Hereinafter, for ease of explanation, it is assumed that the unit of data is block unit or file unit. The present invention is not limited to the following description, and the block unit described in the following description may be understood on a page basis.
본 명세서에서 연산은 쓰기, 읽기, 덮어쓰기, 삭제 등을 포함할 수 있다. 상기 쓰기는 상기 이동식저장장치에 소정의 데이터를 저장하는 것으로 정의될 수 있다. 상기 읽기는 상기 이동식저장장치에 저장된 데이터를 획득하는 것으로 정의될 수 있다. 상기 덮어쓰기는 상기 이동식저장장치에 기저장된 데이터를 소정의 데이터로 대체하는 것으로 정의될 수 있다. 상기 삭제는 상기 이동식저장장치에 저장된 데이터를 삭제하는 것으로 정의될 수 있다.The operations herein may include writing, reading, overwriting, deleting, and the like. The writing may be defined as storing predetermined data in the removable storage device. The reading may be defined as obtaining data stored in the removable storage device. The overwriting may be defined as replacing data previously stored in the removable storage device with predetermined data. The deletion may be defined as deleting data stored in the removable storage device.
이하에서는 악성코드탐지기능이 탑재된 이동식저장장치에 대해서 설명하도록 한다. Hereinafter, a portable storage device equipped with a malicious code detection function will be described.
<제1 실시예>≪
도 1은 본 출원의 일 실시예에 따른 이동식저장장치가 이용되는 시스템 환경을 나타내는 도면이다.1 is a diagram illustrating a system environment in which a removable storage device according to one embodiment of the present application is utilized.
도 1을 참조하면, 본 출원의 일 실시예에 따른 시스템(1) 환경은 서버(100), 호스트디바이스(300), 및 이동식저장장치(500)를 포함할 수 있다.Referring to FIG. 1, a
상기 서버(100)는 호스트디바이스(300)와 통신할 수 있다. 상기 서버(100)는 상기 호스트디바이스(300)와 데이터를 교환할 수 있다. 상기 서버(100)는 호스트디바이스(300)에 데이터를 전송하고, 상기 서버(100)는 호스트디바이스(300)로부터 데이터를 전송 받을 수 있다. The
상기 서버(100)는 소정의 데이터를 저장할 수 있다. 상기 데이터는 악성코드탐지에 관련된 데이터일 수 있다.The
즉, 서버(100)는 상기 호스트디바이스(300)로부터 악성코드탐지에 관련된 데이터를 요청하는 데이터를 전송 받을 수 있고, 서버(100)는 상기 요청하는 데이터에 대한 결과값으로서 악성코드탐지에 관련된 데이터를 상기 호스트디바이스(300)로 전송할 수 있다. That is, the
상기 호스트디바이스(300)는 상기 이동식저장장치(500)를 통해 연산을 수행할 수 있다. The
상기 호스트디바이스(300)는 상기 이동식저장장치(500)로 소정의 데이터를 전송할 수 있다. 상기 호스트디바이스(300)는 상기 이동식저장장치(500)에서 연산이 수행되도록 소정의 데이터를 전송할 수 있다.The
상기 이동식저장장치(500)는 소정의 데이터를 저장할 수 있다. 상기 데이터는 상기 호스트디바이스(300)로부터 전송된 데이터일 수 있다.The
상기 이동식저장장치(500)는 소정의 연산을 수행할 수 있다. 상기 이동식저장장치(500)는 상기 호스트디바이스(300)로부터 전송되는 데이터에 기초하여 연산을 수행할 수 있다. 상기 이동식저장장치(500)는 이동식저장장치(500)의 모드(mode)별로 다른 연산을 수행할 수 있다. 상기 모드는 호스트디바이스(300)와 데이터 교환이 이루어지는 액티브 모드(Active mode)와 호스트디바이스(300)와 데이터 교환이 이루어지지 않는 아이들 모드(Idle mode)를 포함할 수 있다. 상기 이동식저장장치(500)는 액티브모드에서 쓰기, 읽기, 대체, 삭제 등의 모든 연산을 수행할 수 있다. 상기 이동식저장장치(500)는 아이들모드에서 읽기, 대체, 삭제만을 수행할 수 있다.The
이하에서는 상기 호스트디바이스(300)와 이동식저장장치(500)에 대해서 구체적으로 설명하도록 한다.Hereinafter, the
도 2는 본 출원의 일 실시예에 따른 호스트디바이스와 이동식저장장치를 나타내는 도면이다. 이하에서는 도 2를 참조하여 설명하도록 한다.2 is a diagram illustrating a host device and a removable storage device according to one embodiment of the present application. The following description will be made with reference to Fig.
먼저, 호스트디바이스(300)의 구성요소에 대해서 설명하도록 한다.First, components of the
상기 호스트디바이스(300)는 어플리케이션(310) 및 운영체제(330)를 포함할 수 있다. 그러나, 도 2에 도시된 호스트디바이스(300)의 구성요소보다 많은 구성요소를 갖는 호스트디바이스(300)가 구현될 수도 있다.The
상기 어플리케이션(310)은 상기 호스트디바이스(300)에서 실행되는 소프트웨어일 수 있다. 상기 어플리케이션(310)은 상기 호스트디바이스(300)의 사용자에 의해 실행될 수 있다.The
상기 어플리케이션(310)은 i) 사용자에 의해 직접 제작되는 사용자소프트웨어, 또는 ii) 별도로 제작된 응용소프트웨어일 수 있다. 상기 응용소프트웨어는 워드프로세서를 포함하는 오피스제품군, 웹브라우저, 미디어재생기를 포함하는 멀티미디어, 매틀랩(Matlab)을 포함하는 분석소프트웨어, 사무관리시스템(1)을 포함하는 협업소프트웨어, 고객관리용의 사무용소프트웨어, 또는 데이터베이스 중 적어도 하나일 수 있다.The
상기 운영체제(330)는 상기 어플리케이션(310)을 제어할 수 있다. 상기 운영체제(330)는 어플리케이션(310)을 실행할 수 있다. 상기 운영체제(330)는 상기 호스트디바이스(300)의 사용자에 의해 상기 어플리케이션(310)이 실행되도록 할 수 있다.The
상기 운영체제(330)는 상기 호스트디바이스(300)의 데이터를 제어할 수 있다. 상기 운영체제(330)는 데이터의 단위를 변경할 수 있다. 상기 운영체제(330)는 상기 호스트디바이스(300)로부터 출력되는 데이터의 단위를 변환할 수 있다.The
이하에서는 이동식저장장치(500)의 구성요소에 대해서 설명하도록 한다.Hereinafter, the components of the
상기 이동식저장장치(500)는 호스트인터페이스(510), 악성코드탐지부(530), 버퍼(550), 메모리부(570), 및 콘트롤러(590)를 포함할 수 있다. 그러나, 도 2에 도시된 이동식저장장치(500)의 구성요소들이 필수적인 것은 아니고, 그보다 많은 구성요소를 갖거나, 그보다 적은 구성요소를 가지는 이동식저장장치(500)가 구현될 수도 있다.The
상기 호스트인터페이스(510)는 상기 이동식저장장치(500)가 외부기기와 통신하도록 할 수 있다. 상기 호스트인터페이스(510)는 외부기기와 데이터를 교환할 수 있다. 상기 외부기기는 호스트디바이스(300)일 수 있다. The
상기 호스트인터페이스(510)는 USB 포트, PS/2 포트, U.2, PCE-Express, SAS, ATA, SATA, 또는 M.2류 등을 포함하는 물리적인터페이스로 구현될 수 있다. 또는, 상기 호스트인터페이스(510)는 NVME, AHCI, 또는 UASP 등을 포함하는 소프트웨어로 구현될 수도 있다. 또는, 상기 호스트인터페이스(510)는 전술한 물리적인터페이스와 논리적인터페이스의 조합 형태로 구현될 수도 있다.The
상기 악성코드탐지부(530)는 악성코드를 탐지할 수 있다. 상기 악성코드탐지부(530)는 이동식저장장치(500) 내의 악성코드를 탐지할 수 있다. 상기 악성코드탐지부(530)는 상기 이동식저장장치(500) 내로 전송되는 데이터에 포함된 악성코드를 탐지할 수 있다.The malicious
상기 악성코드탐지부(530)가 이동식저장장치(500)에 구비됨에 따라, 운영체제(330)의 운영 부담이 경감되는 효과를 가질 수 있다. 상기 악성코드탐지부(530)가 이동식저장장치(500)에 구비되지 않는 경우, 상기 운영체제(330)는 이동식저장장치(500) 내의 악성코드의 탐지를 위한 악성코드탐지 어플리케이션을 구비하여야 한다. 상기 운영체제(330)는 상기 악성코드탐지 어플리케이션을 실행하여야 하기 때문에, 운영체제(330)는 어플리케이션 운영 부담을 갖게 된다. 이에 반하여, 악성코드탐지부(530)가 이동식저장장치(500)에 구비되는 경우, 상기 운영체제(330)는 별도의 악성코드탐지 어플리케이션(310)을 구비하지 않을 수 있다. 상기 운영체제(330)는 악성코드탐지 어플리케이션의 운영 부담을 경감할 수 있다. 이에 따라, 상기 악성코드탐지부(530)가 이동식저장장치(500)에 구비되는 경우, 구비되지 않는 경우에 비하여 운영체제(330)를 효율적으로 운용하는 효과를 가질 수 있다.Since the malicious
상기 악성코드탐지부(530)는 데이터필터(531), 변환유닛(533), 탐지메모리(537), 및 악성코드탐지유닛(535)을 포함할 수 있다. The malicious
상기 데이터필터(531)는 데이터를 필터링할 수 있다. 상기 데이터필터(531)는 데이터필터(531)로 전송된 복수의 원본데이터를 분류하여 출력할 수 있다. 상기 데이터필터(531)는 상기 복수의 원본데이터를 제1 데이터군과 제2 데이터군으로 분류하여, 제1 데이터군만을 출력할 수 있다. The data filter 531 may filter the data. The data filter 531 may classify and output a plurality of original data transmitted to the
일 예로, 상기 데이터필터(531)은 블룸필터(Bloom filter)일 수 있다. 또한, 상기 데이터필터가 블룸필터인 경우, 악성코드거나 악성코드로 의심되는 데이터를 악성코드인 데이터로 분류할 수 있다. 다만, 상기 블룸필터는 상기 악성코드인 데이터를 악성코드가 아닌 데이터로 분류하지는 않는다. 따라서, 데이터필터가 블룸필터인 경우, 상기 데이터필터가 오동작하더라도 악성코드의 가능성이 있는 데이터가 악성코드가 아닌 데이터로 분류되지 않을 수 있다. 이에 따라, 악성코드탐지에 있어서 오탐의 확률은 낮아질 수 있다.For example, the
상기 데이터필터(531)를 악성코드탐지부(530)에 구현함으로써, 악성코드 탐지를 위한 악성코드탐지동작이 간이해지는 효과가 있을 수 있다. 상기 데이터필터(531)가 구비되지 않는 경우. 상기 악성코드탐지부(530)는 악성코드탐지부(530)로 전송되는 모든 데이터에 대하여 악성코드탐지동작을 수행해야 한다. 이에 반해, 상기 데이터필터(531)가 구비되는 경우, 상기 악성코드탐지부(530)는 필터링된 일부의 데이터에 대해서만 악성코드탐지를 수행할 수 있다. 이에 따라, 악성코드탐지 알고리즘이 간이해지는 효과가 있을 수 있다. 또한, 악성코드탐지를 위한 악성코드패턴테이블(P.T)의 사이즈가 작아질 수 있어, 악성코드탐지부(530)의 운용 부담이 감소되는 효과를 가질 수 있다.By implementing the data filter 531 in the malicious
한편, 상기 데이터필터(531)는 분류된 제1 데이터군과 제2 데이터군을 서로 다른 구성으로 출력될 수도 있다. 예를 들어, 상기 데이터필터(531)는 악성코드로 의심된 데이터군은 악성코드탐지부내의 구성으로 전달할 수 있고, 악성코드가 아닌 데이터군은 버퍼(550), 메모리부(570), 또는 콘트롤러(590)로 전송할 수 있다.Meanwhile, the
상기 변환유닛(533)은 데이터의 단위를 변환할 수 있다. 상기 변환유닛(533)은 상기 변환유닛(533)으로 전송되는 데이터의 단위를 변경할 수 있다. 상기 변환유닛(533)은 복수의 블록단위의 데이터를 파일단위의 데이터로 변환하거나, 또는 파일단위의 데이터를 복수의 블록단위의 데이터로 변환할 수 있다.The
상기 탐지메모리(537)는 악성코드탐지와 관련된 데이터를 저장할 수 있다. 상기 탐지메모리(537)에는 악성코드패턴테이블(P.T)이 저장될 수 있다. 상기 악성코드패턴테이블(P.T)은 악성코드 별 악성코드패턴을 포함할 수 있다. 상기 악성코드패턴리스트는 제1 악성코드에 관련된 제1 악성코드패턴, 및 제2 악성코드에 관련된 제2 악성코드패턴을 포함할 수 있다.The
한편, 상기 악성코드패턴테이블(P.T)이 상기 탐지메모리(537)에 저장되는 것으로 설명하였으나, 상기 악성코드패턴테이블(P.T)은 악성코드탐지부(530)와 별도로 구비되는 소정의 메모리에 저장될 수 있다. 상기 소정의 메모리는 콘트롤러 메모리일 수 있다.Meanwhile, although the malicious code pattern table PT is stored in the
상기 악성코드탐지유닛(535)은 상기 악성코드탐지유닛(535)으로 전송된 데이터에 기초하여 이동식저장장치(500) 내의 악성코드를 탐지할 수 있다.The malicious
상기 버퍼(550)는 데이터를 일시 보관할 수 있다. 상기 버퍼(550)는 상기 버퍼(550)로 전송된 데이터를 일시적으로 보관할 수 있다. 상기 버퍼(550)는 보관된 데이터를 특정 시점에 출력할 수 있다. 상기 버퍼(550)는 메모리콘트롤러일 수 있다.The
상기 버퍼(550)는 메모리부(570)로 전송되는 데이터를 제어할 수 있다. 상기 버퍼(550)는 상기 버퍼(550)에 보관된 데이터 중의 특정 데이터만을 출력할 수 있다. 상기 특정데이터는 악성코드로 탐지되지 않은 데이터일 수 있다.The
상기 메모리부(570)는 데이터의 연산이 수행되는 구성일 수 있다. 상기 메모리부(570)에서는 데이터의 쓰기, 읽기, 대체, 삭제 등이 수행될 수 있다.The
상기 메모리부(570)는 복수의 셀, 및 복수의 블록을 포함할 수 있다. 하나의 블록은 복수의 셀로 구성될 수 있다. The
상기 셀 및 상기 블록 별로 데이터가 연산될 수 있다.Data may be calculated for each cell and each block.
상기 복수의 셀 및 상기 복수의 블록은 데이터 주소를 할당 받을 수 있다. 상기 데이터 주소에 기초하여 각 셀 및 각 블록 별로 데이터의 연산이 수행될 수 있다.The plurality of cells and the plurality of blocks may be assigned data addresses. And calculation of data may be performed for each cell and each block based on the data address.
상기 콘트롤러(590)는 이동식저장장치(500)의 동작을 전반적으로 제어할 수 있다. 상기 콘트롤러(590)는 호스트인터페이스(510), 악성코드탐지부(530)의 각 구성, 버퍼(550), 및 메모리부(570)의 동작을 제어할 수 있다. The
상기 콘트롤러(590)는 호스트인터페이스(510), 악성코드탐지부(530)의 각 구성, 버퍼(550), 및 메모리부(570) 간의 데이터 전송을 제어할 수 있다. 즉, 이하에서 A 구성이 B 구성으로 데이터를 전송한다고 하는 경우, 특별한 언급이 없다면 상기 데이터 전송은 상기 콘트롤러(590)의 제어에 의한 것일 수 있다.The
상기 콘트롤러(590)는 하드웨어, 소프트웨어, 또는 이들의 조합에 따라 컴퓨터나 이와 유사한 장치로 구현될 수 있다. 하드웨어적으로 콘트롤러(590)는 전기적인 신호를 처리하여 제어 기능을 수행하는 전자 회로 형태로 제공될 수 있으며, 소프트웨어적으로는 하드웨어적인 콘트롤러(590)를 구동시키는 프로그램 형태로 제공될 수 있다. The
한편, 상기 이동식저장장치(500)의 각 구성의 동작, 데이터전송이 이동식저장장치(500)내의 콘트롤러(590)에 의해 제어된다고 하였으나, 호스트디바이스(300)에 의해 제어될 수도 있다. 예를 들어, 상기 호스트디바이스(300)의 운영체제(330)는 명령블록데이터가 호스트인터페이스(510)를 거쳐 콘트롤러(590)로 전송될 수 있도록 할 수 있다.Although the operation and data transmission of each configuration of the
이상에서는 호스트디바이스(300)와 이동식저장장치(500)의 구성과 각 구성의 기능에 대해서 설명하였다. 이하에서는 호스트디바이스(300)와 이동식저장장치(500)의 데이터 전송 관계에 대해서 설명한다.The configurations of the
상기 호스트디바이스(300)의 각 구성은 데이터를 전송할 수 있다.Each configuration of the
상기 호스트디바이스(300)의 각 구성은 파일단위의 호스트데이터(F-D)를 교환할 수 있다. 상기 어플리케이션(310)은 상기 운영체제(330)로 파일단위의 호스트데이터(F-D)를 전송할 수 있다. 상기 운영체제(330)는 상기 어플리케이션(310)으로 파일단위의 호스트데이터(F-D)를 전송할 수 있다.Each configuration of the
상기 운영체제(330)는 복수의 블록단위의 명령데이터(B-CD)를 출력할 수 있다. 상기 운영체제(330)는 상기 파일단위의 호스트데이터(F-D)를 복수의 블록단위의 명령데이터(B-CD)로 변환하여 출력할 수 있다. 상기 운영체제(330)는 상기 복수의 블록단위의 명령데이터(B-CD)에 의해 이동식저장장치(500)에서 연산이 수행되도록 할 수 있다. 즉, 상기 복수의 블록단위의 명령데이터(B-CD)는 연산패턴을 포함할 수 있다.The
상기 호스트디바이스(300)와 상기 이동식저장장치(500)는 데이터를 교환할 수 있다. The
상기 호스트디바이스(300)와 상기 이동식저장장치(500)가 데이터를 교환하는 것은 연동으로 정의될 수 있다.The exchange of data between the
상기 호스트디바이스(300)의 운영체제(330)와 상기 이동식저장장치(500)의 호스트인터페이스(510)는 통신할 수 있다. 상기 운영체제(330)는 상기 호스트인터페이스(510)로 복수의 블록단위의 명령데이터(B-CD)를 전송할 수 있다. 상기 호스트인터페이스(510)는 상기 운영체제(330)로 복수의 블록단위의 읽기데이터(B-RD)를 전송할 수 있다.The
상기 이동식저장장치(500)의 각 구성은 데이터를 교환할 수 있다.Each configuration of the
상기 호스트인터페이스(510)는 상기 명령데이터(B-CD)를 전송 받을 수 있다. 상기 호스트인터페이스(510)는 상기 명령데이터(B-CD)를 악성코드탐지부(530)의 데이터필터(531)로 전송할 수 있다. 또는, 상기 호스트인터페이스(510)는 상기 명령데이터(B-CD)를 버퍼(550)로 전송할 수 있다.The
상기 버퍼(550)는 이동식저장장치(500)의 각 구성과 데이터를 교환할 수 있다. The
상기 버퍼(550)는 복수의 블록단위의 쓰기데이터(B-WD)를 메모리부(570)에 전달할 수 있다. 상기 쓰기데이터(B-WD)는 메모리부(570)에서 수행되는 연산을 위한 데이터로 정의될 수 있다. 상기 쓰기데이터(B-WD)는 셀과 블록에 할당된 주소와 관련된 데이터, 또는 연산을 위한 데이터를 포함할 수 있다.The
상기 버퍼(550)는 상기 메모리부(570)로부터 복수의 블록단위의 상태데이터(B-SD)를 전달받을 수 있다. 상기 상태데이터(B-SD)는 셀과 블록에 할당된 주소 및 연산과 관련된 연산패턴, 또는 연산될 정보와 관련된 내용패턴을 포함할 수 있다.The
상기 버퍼(550)는 상기 읽기데이터를 악성코드탐지부(530)의 데이터필터(531)로 전송할 수 있다.The
상기 버퍼(550)는 복수의 블록단위의 읽기데이터(B-SD)를 호스트인터페이스(510)로 전송할 수 있다. 상기 읽기데이터(B-RD)는 상태데이터 (B-SD) 중 특정한 데이터일 수 있다. 상기 읽기데이터(B-RD)는 상기 상태데이터(B-SD) 중 악성코드로 탐지되지 않은 데이터일 수 있다.The
상기 악성코드탐지부(530)의 각 구성은 데이터를 서로 교환할 수 있다. 상기 악성코드탐지부(530)의 각 구성은 데이터를 전송하고, 전송받을 수 있다.Each configuration of the malicious
상기 데이터필터(531)는 호스트인터페이스(510)로부터 상기 명령데이터(B-CD)를 전송 받을 수 있다. 상기 데이터필터(531)는 버퍼(550)로부터 상기 읽기데이터(B-RD)를 전송 받을 수 있다. 그러나, 이에 국한되지 않을 수 있다. 상기 데이터필터(531)는 상기 콘트롤러(590)로부터 명령데이터(B-CD), 또는 읽기데이터(B-RD)를 전송 받을 수 있다.The data filter 531 may receive the command data (B-CD) from the
상기 데이터필터(531)는 상기 변환유닛(533)으로 복수의 블록단위의 필터링데이터(B-FD)를 전송할 수 있다. 상기 복수의 블록단위의 필터링데이터(B-FD)는 악성코드로 의심되는 복수의 명령데이터(B-CD)로 정의될 수 있다.The data filter 531 may transmit the filtering data (B-FD) in units of blocks to the
상기 변환유닛(533)은 상기 악성코드탐지유닛(535)과 데이터를 교환할 수 있다.The
상기 변환유닛(533)은 상기 악성코드탐지유닛(535)으로 파일단위의 필터링데이터(F-FD)를 전송할 수 있다. 상기 변환유닛(533)은 복수의 블록단위의 필터링데이터(B-FD)의 단위를 변환하여 파일단위의 필터링데이터(F-FD)를 악성코드탐지유닛(535)으로 전송할 수 있다.The
상기 변환유닛(533)은 상기 악성코드탐지유닛(535)으로부터 파일단위의 탐지데이터(F-DD)를 전송받을 수 있다. 상기 파일단위의 탐지데이터(F-DD)는 악성코드탐지유닛(535)의 악성코드탐지결과를 포함하는 데이터로 정의될 수 있다.The
상기 변환유닛(533)은 복수의 블록단위의 탐지데이터(B-DD)를 상기 버퍼(550)로 전송할 수 있다. 상기 변환유닛(533)은 파일단위의 탐지데이터(F-DD)의 단위를 변환하여 복수의 블록단위의 탐지데이터(B-DD)를 버퍼(550)로 전송할 수 있다. 상기 복수의 블록단위의 탐지데이터(B-DD)는 파일단위의 탐지데이터(F-DD)에 포함된 악성코드탐지결과를 포함하는 데이터일 수 있다.The
한편, 상기 복수의 블록단위의 탐지데이터(B-DD)는 전술한 상태데이터(B-SD) 및 쓰기데이터(B-WD)를 정의할 수 있다. 상기 버퍼(550)는 상기 복수의 블록단위의 탐지데이터(B-DD)에 기초하여 상태데이터(B-SD) 및 쓰기데이터(B-WD)를 정의할 수 있다. 상기 상태데이터(B-SD) 및 쓰기데이터(B-WD)는 상기 탐지데이터(B-DD)에 기초하여 악성코드로 의심되는 데이터가 제거된 데이터일 수 있다.On the other hand, the detection data (B-DD) on a block-by-block basis can define the above-described state data (B-SD) and write data (B-WD). The
상기 악성코드탐지유닛(535)은 파일단위의 필터링데이터(F-FD)를 전송 받을 수 있다. 상기 악성코드탐지유닛(535)은 탐지메모리(537)로부터 악성코드패턴테이블(P.T)을 호출할 수 있다. 상기 악성코드탐지유닛(535)은 상기 파일단위의 필터링데이터(F-FD)와 악성코드패턴테이블(P.T)에 기초하여 악성코드탐지동작을 수행할 수 있다.The malicious
상기 콘트롤러(590)는 이동식저장장치(500)의 각 구성과 데이터를 교환할 수 있다.The
상기 콘트롤러(590)는 이동식저장장치(500)의 각 구성을 제어하기 위한 데이터를 전송할 수 있다. 예를 들어, 상기 콘트롤러(590)는 상기 버퍼(550)의 데이터 출력 시점을 제어하기 위한 데이터를 상기 버퍼(550)로 전송할 수 있다.The
상기 콘트롤러(590)는 이동식저장장치(500)의 각 구성으로부터 소정의 데이터를 전송 받을 수 있다. 예를 들어, 상기 악성코드탐지유닛(535)으로부터 복수의 블록단위의 탐지데이터(B-DD)를 전송 받을 수 있다.The
또한, 상기 콘트롤러(590)는 상기 데이터필터(531)로 복수의 블록단위의 명령데이터(B-CD), 또는 복수의 블록단위의 읽기데이터(B-RD)를 전송할 수도 있다. Also, the
또한, 상기 콘트롤러(590)는 탐지메모리(537)에 저장된 악성코드패턴테이블(P.T)의 업데이트를 위해, 호스트인터페이스(510)를 통해 호스트디바이스(300)로 소정의 업데이트 데이터를 요청할 수 있고, 업데이트 데이터를 반환 받을 수 있다.The
이상에서는 호스트디바이스(300)와 이동식저장장치(500)의 데이터 전송 관계에 대해서 설명하였다. 이하에서는 상기 이동식저장장치(500)의 악성코드검사동작에 대해서 설명한다.The data transfer relationship between the
도 3은 본 출원의 일 실시예에 따른 악성코드검사동작을 나타내는 순서도이다.3 is a flowchart showing a malicious code checking operation according to an embodiment of the present application.
도 4는 본 출원의 일 실시예에 따른 제1 악성코드검사동작을 위한 데이터의 전달을 나타내는 도면이다.4 is a diagram illustrating data transfer for a first malicious code checking operation according to an embodiment of the present application.
도 3을 참조하면, 상기 이동식저장장치(500)의 악성코드검사동작은 악성코드패턴테이블 호출(S1000) 단계, 악성코드패턴비교(S2000) 단계, 악성코드탐지(S3000) 단계, 및 악성코드처리(S4000) 단계를 포함할 수 있다.Referring to FIG. 3, the malicious code checking operation of the
상기 악성코드패턴테이블호출 단계(S1000)에서 상기 악성코드탐지유닛(535)은 악성코드패턴테이블(P.T)을 호출할 수 있다. 상기 악성코드탐지유닛(535)은 탐지메모리(537)로 악성코드패턴테이블(P.T) 호출을 위한 요청데이터를 전송할 수 있다. 상기 악성코드탐지유닛(535)은 상기 요청데이터에 대한 결과값으로 상기 탐지메모리(537)로부터 악성코드패턴테이블(P.T)을 전송 받을 수 있다.In the malicious code pattern table calling step S1000, the malicious
상기 악성코드패턴비교 단계(S2000)에서 상기 악성코드탐지유닛(535)은 데이터의 패턴을 비교하는 패턴비교동작을 수행할 수 있다. 상기 악성코드탐지유닛(535)은 상기 패턴비교동작에 기초하여 악성코드탐지유닛(535)으로 전달된 데이터의 패턴을 분석할 수 있다. 상기 악성코드탐지유닛(535)은 상기 악성코드패턴테이블(P.T)에 포함된 악성코드패턴과 파일단위의 필터링데이터(F-FD)에 포함된 패턴을 비교할 수 있다. In the malicious code pattern comparison step S2000, the malicious
상기 악성코드탐지유닛(535)은 상기 파일단위의 필터링데이터(F-FD)에 대한 패턴비교동작을 수행할 수 있다. 상기 악성코드탐지유닛(535)은 악성코드로 의심되는 파일단위의 데이터에 대해서만 패턴비교동작을 수행할 수 있다. 악성코드로 의심되는 데이터에 대해서만 악성코드탐지가 수행됨으로써 악성코드탐지가 신속하게 수행될 수 있다.The malicious
상기 악성코드탐지유닛(535)은 악성코드의 우선순위에 따라 패턴비교동작을 수행할 수 있다. 상기 우선순위는 악성코드의 위험도, 악성코드 탐지 이력, 악성코드 업데이트 일시 등에 따라 결정될 수 있다. 상기 악성코드탐지유닛(535)은 악성코드의 우선순위 순서대로, 상기 파일단위의 필터링데이터(F-FD)에 상기 악성코드의 패턴이 존재하는지 여부를 탐지할 수 있다.The malicious
상기 악성코드탐지유닛(535)은 상기 패턴비교동작에 따른 분석결과를 생성할 수 있다. The malicious
상기 악성코드탐지 단계(S3000)에서 상기 이동식저장장치(500)는 악성코드를 탐지할 수 있다. In the malicious code detection step S3000, the
상기 이동식저장장치(500)는 상기 분석결과에 기초하여 복수의 블록단위의 명령데이터(B-CD)의 악성코드 포함 여부를 탐지할 수 있다. The
상기 악성코드탐지유닛(535)은 분석결과로서 파일단위의 탐지데이터(F-DD)를 변환유닛(533)으로 전송할 수 있다. 상기 변환유닛(533)은 상기 파일단위의 탐지데이터(F-DD)를 블록단위의 탐지데이터(B-DD)로 변환할 수 있다. 상기 변환유닛(533)은 상기 복수의 블록단위의 탐지데이터(B-DD)를 콘트롤러(590) 또는 버퍼(550)로 전송할 수 있다. 상기 콘트롤러(590) 또는 상기 버퍼(550)는 상기 복수의 블록단위의 탐지데이터(B-DD)를 기초로 복수의 블록단위의 명령데이터(B-CD) 또는 복수의 블록단위의 상태데이터(B-SD) 내의 악성코드를 탐지할 수 있다. The malicious
악성코드가 탐지되는 경우, 상기 콘트롤러(590)는 결과데이터를 생성할 수 있다. 상기 결과데이터는 악성코드탐지신호일 수 있다.If a malicious code is detected, the
상기 악성코드탐지 단계(S3000)에서 악성코드가 탐지되는 경우, 상기 이동식저장장치(500)는 상기 악성코드가 처리될 수 있도록 처리동작을 수행(S4000)할 수 있다. 상기 이동식저장장치(500)의 콘트롤러(590)는 상기 처리동작이 수행되도록 소정의 데이터를 이동식저장장치(500)의 각 구성으로 전송할 수 있다. If a malicious code is detected in the malicious code detection step (S3000), the mobile storage device (500) may perform a processing operation to process the malicious code (S4000). The
상기 소정의 데이터 및 상기 소정의 데이터에 의한 이동식저장장치(500)의 처리동작은 구체적으로 후술하도록 한다.The processing operation of the
상기 악성코드검사동작의 수행을 위해서 소정의 데이터가 악성코드탐지부(530) 내에서 전송될 수 있다.Predetermined data may be transmitted in the malicious
도 4를 참조하면, 상기 악성코드탐지동작을 위한 데이터는 데이터필터(531), 변환유닛(533), 악성코드탐지유닛(535) 순서로 전송될 수 있다.Referring to FIG. 4, the data for the malicious code detection operation may be transmitted in the order of a
이하에서는 도 4를 참조하여 설명하도록 한다.Hereinafter, a description will be given with reference to FIG.
상기 데이터필터(531)는 필터링된 복수의 블록단위의 데이터를 변환유닛(533)으로 전송할 수 있다.The data filter 531 may transmit the filtered data of a plurality of blocks to the
상기 데이터필터(531)는 복수의 블록단위의 명령데이터(B-CD)를 획득(S3110)할 수 있다. 필터링(S3120) 단계에서, 상기 데이터필터(531)는 상기 복수의 블록단위의 명령데이터(B-CD)를 필터링하여 복수의 블록단위의 필터링데이터(B-FD)를 생성할 수 있다. 상기 필터링데이터(B-FD)는 악성코드로 의심되는 복수의 블록단위의 데이터와 악성코드가 아닌 복수의 블록단위의 데이터를 포함할 수 있다. 상기 데이터필터(531)는 상기 분류된 복수의 블록단위의 필터링데이터(B-FD)를 변환유닛(533)으로 출력(S3130)할 수 있다.The data filter 531 may acquire command data (B-CD) in units of a plurality of blocks (S3110). In the filtering step S3120, the
상기 변환유닛(533)은 필터링된 복수의 블록단위의 데이터의 단위를 변환하여 악성코드탐지유닛(535)으로 전송할 수 있다.The
상기 변환유닛(533)은 상기 데이터필터(531)로부터 복수의 블록단위의 필터링데이터(B-FD)를 획득(S3140)할 수 있다. 상기 복수의 블록단위의 필터링데이터(B-FD)는 복수의 블록단위의 명령데이터(B-CD)가 필터링된 데이터일 수 있다. 데이터변환(S3150)단계에서, 상기 변환유닛(533)은 상기 복수의 블록단위의 필터링데이터(B-FD)를 파일단위의 필터링데이터(F-FD)로 변환할 수 있다. 상기 변환유닛(533)은 상기 파일단위의 필터링데이터(F-FD)를 악성코드탐지유닛(535)으로 출력(S3160)할 수 있다.The
상기 악성코드탐지유닛(535)은 필터링된 파일단위의 필터링데이터(F-FD)를 획득하여 악성코드탐지동작을 수행할 수 있다.The malicious
상기 악성코드탐지유닛(535)은 상기 변환유닛(533)으로부터 파일단위의 필터링데이터(F-FD)를 획득(S3170)할 수 있다. 상기 파일단위의 필터링데이터(F-FD)는 악성코드로 의심되는 파일단위의 데이터와 악성코드가 아닌 파일단위의 데이터를 포함할 수 있다. 악성코드탐지(S3180)단계에서, 상기 악성코드탐지유닛(535)은 파일단위의 필터링 데이터 내의 악성코드를 탐지할 수 있다. 상기 악성코드탐지단계에서 악성코드탐지유닛(535)은 전술한 악성코드패턴테이블(P.T)호출 단계, 악성코드패턴 비교 단계를 수행할 수 있다. The malicious
한편, 이상에서 복수의 블록단위의 명령데이터(B-CD)를 기준으로 데이터 전송을 설명하였으나, 전술한 예들은 복수의 블록단위의 읽기데이터(B-RD)에도 적용될 수 있다. 예를 들어, 전술한 예에서 상기 복수의 블록단위의 명령데이터(B-CD)는 복수의 블록단위의 읽기데이터(B-RD)로 치환될 수 있다.In the above description, the data transfer is described with reference to the command data (B-CD) in units of a plurality of blocks. However, the above examples can also be applied to the read data (B-RD) in units of blocks. For example, in the above example, the command data (B-CD) of the plurality of blocks can be replaced with read data (B-RD) of a plurality of blocks.
전술한 바와 같이, 데이터필터(531), 및 변환유닛(533) 순서로 데이터가 전달되는 악성코드검사동작은 제1 악성코드검사동작(S2010)으로 정의될 수 있다. 상기 제1 악성코드검사동작(S2010)은 파일단위의 악성코드검사동작일 수 있다.As described above, the malicious code checking operation in which data is transmitted in the order of the
이하에서는 악성코드처리단계에 대해서 구체적으로 설명하도록 한다.Hereinafter, the malicious code processing step will be described in detail.
악성코드처리단계에서, 이동식저장장치(500)는 탐지된 악성코드를 처리하는 처리동작을 수행할 수 있다.In the malicious code processing step, the
도 5 내지 7은 본 출원의 일 실시예에 따른 이동식저장장치의 처리동작을 나타내는 도면이다.5-7 illustrate processing operations of the mobile storage device according to one embodiment of the present application.
도 5는 본 출원의 일 실시예에 따른 쓰기데이터(B-WD)의 출력의 제어 및 차단 처리동작을 나타내는 도면이다.5 is a diagram showing an operation of controlling and cutting off the output of write data (B-WD) according to an embodiment of the present application.
도 6은 본 출원의 일 실시예예 따른 호스트디바이스와의 통신단절 처리동작을 나타내는 도면이다.6 is a diagram showing a communication disconnection processing operation with a host device according to an embodiment of the present application.
도 7은 본 출원의 일 실시예에 따른 경고파일생성 처리동작을 나타내는 도면이다.7 is a diagram showing an alert file generation processing operation according to an embodiment of the present application.
도 5 내지 도 7을 참조하면, 상기 처리동작은 i) 쓰기데이터(B-WD)의 출력의 제어, ii) 쓰기 데이터의 출력의 차단, iii) 호스트디바이스(300)와의 통신 단절, 및 iv) 경고파일생성을 포함할 수 있다. 상기 처리동작은 상기 콘트롤러(590)의 데이터의 전송에 의해 수행될 수 있다. 상기 소정의 데이터는 악성코드탐지신호, 차단데이터, 또는 경고데이터일 수 있다.5 to 7, the processing operations include: i) control of output of write data (B-WD), ii) block of output of write data, iii) communication disconnection with
도 5를 참조하면, 상기 콘트롤러(590)는 상기 버퍼(550)의 쓰기데이터(B-WD)의 출력을 제어할 수 있다. 상기 콘트롤러(590)는 상기 버퍼(550)로 악성코드탐지신호를 전송할 수 있다. 상기 콘트롤러(590)는 상기 버퍼(550)의 악성코드탐지신호의 획득 시점에 따라 상기 쓰기데이터(B-WD)의 출력을 제어할 수 있다.Referring to FIG. 5, the
도 5 (a)를 참조하면, 상기 버퍼(550)는 쓰기데이터(B-WD) 출력(S4110) 이후에 상기 쓰기데이터(B-WD)에 관련한 악성코드탐지신호를 획득(S4130)할 수 있다. 5A, the
상기 콘트롤러(590)는 악성코드탐지신호 획득 시점 이후에 상기 버퍼(550)로부터 출력되는 쓰기데이터(B-WD)를 제어(S4150)할 수 있다. 상기 콘트롤러(590)는 상기 버퍼(550)의 쓰기데이터(B-WD) 출력을 지수함수적으로 늦출 수 있다. 상기 콘트롤러(590)는 상기 버퍼(550)의 쓰기데이터(B-WD)의 출력을 중단시킬 수 있다. The
또는, 상기 콘트롤러(590)는 이미 출력된 쓰기데이터(B-WD)에 의해 수행된 연산을 수복할 수 잇다. 상기 콘트롤러(590)는 이미 출력된 쓰기데이터(B-WD)에 의해 연산이 수행된 메모리부(570)의 셀, 또는 블록의 주소를 역산할 수 있다. 상기 콘트롤러(590)는 상기 주소의 셀, 또는 상기 주소의 블록에 존재하는 데이터를 삭제하도록 버퍼(550) 혹은 메모리부(570)를 제어할 수 있다.Alternatively, the
도 5 (b)를 참조하면, 상기 버퍼(550)는 쓰기데이터(B-WD) 출력 이전에 상기 쓰기데이터(B-WD)에 관련한 악성코드탐지신호를 획득(S4310)할 수 있다.Referring to FIG. 5B, the
이 경우, 상기 콘트롤러(590)는 상기 쓰기데이터(B-WD)의 출력을 차단할 수 있다.In this case, the
상기와 같이 악성코드탐지시점별로 처리동작이 수행되는 경우, 불필요한 악성코드 처리동작이 수행되지 않아도 되는 효과를 가질 수 있다. 시점별로 처리동작이 수행되지 않는 경우, 쓰기데이터(B-WD)가 출력되지 않았음에도 불필요하게 쓰기데이터(B-WD)에 의한 연산이 수행되었는지 여부를 검사할 수 있다. 이와 달리, 상기 시점별로 처리동작이 수행되는 경우, 쓰기데이터(B-WD)가 출력되지 않았다면 쓰기데이터(B-WD)에 의한 연산의 수행 여부를 검사하지 않을 수 있다. 이에 따라, 시점별로 처리동작이 수행되는 경우 악성코드처리동작이 효율적으로 수행되는 효과가 있을 수 있다.When a processing operation is performed for each malicious code detection time point as described above, an unnecessary malicious code processing operation may not be performed. It is possible to check whether or not the operation by the write data (B-WD) has been performed unnecessarily even though the write data (B-WD) has not been output. Alternatively, when the processing operation is performed for each of the above-mentioned viewpoints, it is possible not to check whether or not the operation by the write data (B-WD) is performed unless the write data (B-WD) is output. Accordingly, when the processing operation is performed for each viewpoint, the malicious code processing operation may be efficiently performed.
도 6을 참조하면, 상기 콘트롤러(590)는 상기 호스트인터페이스(510)와 상기 호스트디바이스(300)의 통신을 차단할 수 있다. Referring to FIG. 6, the
상기 콘트롤러(590)는 상기 호스트인터페이스(510)로 차단데이터를 전송할 수 있다. 상기 콘트롤러(590)는 악성코드가 탐지(S4510)된 경우, 차단데이터를 생성(S4530)할 수 있다. 상기 차단데이터는 상기 호스트인터페이스(510)와 상기 호스트디바이스(300)의 통신을 차단할 수 있는 제어신호일 수 있다. 상기 차단데이터는 복수의 블록단위의 데이터일 수 있다. 상기 콘트롤러(590)는 상기 생성된 차단데이터를 호스트인터페이스(510)로 전달(S4550)할 수 잇다.The
상기 호스트인터페이스(510)는 상기 콘트롤러(590)로부터 차단데이터를 획득(S4570)할 수 있다. 이 경우, 상기 호스트인터페이스(510)는 호스트디바이스(300)와 통신을 차단(S4590)할 수 있다. 상기 차단은 소프트웨어적으로 상기 호스트디바이스(300)의 데이터의 전송을 차단하는 것일 수 있다. 상기 호스트인터페이스(510)는 상기 운영체제(330)로부터 전달되는 모든 데이터 전송을 차단할 수 있다.The
도 7을 참조하면, 상기 콘트롤러(590)는 호스트디바이스(300)의 사용자에게 악성코드에 대한 경고 알림을 줄 수 있다. 상기 콘트롤러(590)는 상기 호스트디바이스(300) 내에 경고파일이 생성되도록 할 수 있다. 상기 콘트롤러(590)는 경고데이터를 생성하여 상기 경고데이터가 상기 운영체제(330)로 전달될 수 있도록 할 수 있다.Referring to FIG. 7, the
상기 콘트롤러(590)는 악성코드가 탐지된 경우(S4710), 복수의 블록단위의 경고데이터를 생성(S4720)할 수 있다. 상기 경고데이터는 경고파일의 생성을 위한 데이터를 포함할 수 있다. 상기 경고데이터는 복수의 블록단위의 데이터일 수 있다. 상기 콘트롤러(590)는 상기 생성된 경고데이터를 호스트인터페이스(510)로 전송(S4730)할 수 있다.When the malicious code is detected (S4710), the controller (590) can generate alert data for a plurality of blocks (S4720). The warning data may include data for generating a warning file. The warning data may be data of a plurality of blocks. The
상기 호스트인터페이스(510)는 상기 콘트롤러(590)로부터 경고데이터를 획득(S4740)할 수 있다. 상기 호스트인터페이스(510)는 획득한 경고데이터를 호스트디바이스(300)의 운영체제(330)로 전달(S4750)할 수 있다.The
상기 운영체제(330)는 상기 호스트인터페이스(510)로부터 복수의 블록단위의 경고데이터를 획득(S4760)할 수 있다. 상기 운영체제(330)는 상기 획득한 복수의 블록단위의 경고데이터를 변환할 수 있다(S4770). 상기 계층변환(S4770)단계에서, 상기 운영체제(330)는 상기 경고데이터의 단위를 변환할 수 있으며, 상기 경고데이터에 포함된 연산이 수행될 수 있도록 상기 경고데이터를 논리적으로 분석할 수 있다. 상기 계층변환결과에 기초하여, 상기 운영체제(330)는 경고파일을 생성(S4770)할 수 있다. 상기 경고파일은 호스트디바이스(300)의 사용자에게 악성코드 경고 알림을 줄 수 있다.The
또는, 상기 콘트롤러(590)는 탐지된 악성코드의 이력을 생성할 수 있다. Alternatively, the
상기 콘트롤러(590)는 상기 악성코드패턴리스트에 이동식정장치에서 탐지된 악성코드를 기록할 수 있다. 상기 콘트롤러(590)는 상기 악성코드의 탐지 이력에 기초하여 상기 악성코드패턴리스트의 악성코드별로 우선순위를 달리 줄 수 있다.The
상기 콘트롤러(590)는 상기 탐지된 악성코드가 기록되는 악성코드이력을 생성할 수도 있다. 상기 악성코드이력에는 악성코드 별로 탐지된 탐지횟수가 기록될 수 있다.The
상기 우선순위, 및 상기 탐지횟수는 악성코드탐지에 이용될 수 있다. 상기 이동식저장장치(500)는 악성코드의 우선순위에 순서대로 악성코드탐지동작을 수행할 수 있다. 상기 이동식저장장치(500)는 악성코드의 탐지 이력에 기초하여 악성코드의 탐지횟수 순서대로 악성코드탐지동작을 수행할 수 있다. The priority, and the number of detections may be used for malicious code detection. The
<제2 실시예>≪
이하에서는 제1 실시예의 변형예인 제2 실시예에 대해서 설명하도록 한다. 이하의 설명에서 특별한 언급이 없다면 전술한 제1 실시예가 적용될 수 있다.Hereinafter, the second embodiment, which is a modification of the first embodiment, will be described. In the following description, unless otherwise stated, the first embodiment described above can be applied.
도 8은 본 출원의 일 실시예에 따른 호스트디바이스 및 이동식저장장치를 나타내는 도면이다.8 is a diagram illustrating a host device and a removable storage device according to one embodiment of the present application.
도 9는 본 출원의 일 실시예에 따른 제2 악성코드검사동작 시 데이터 전송을 나타내는 도면이다.9 is a diagram illustrating data transmission in a second malicious code checking operation according to an embodiment of the present application.
본 출원의 일 실시예에 따른 이동식저장장치(500)는 복수의 블록단위의 악성코드검사동작을 수행할 수 있다. 상기 복수의 블록단위의 악성코드검사동작은 제2 악성코드검사동작(S2030)으로 정의될 수 있다.The
도 8 및 도 9를 참조하면, 상기 악성코드탐지부(530)는 복수의 블록단위의 필터링데이터(B-FD)에 기초하여 악성코드검사동작을 수행할 수 있다.Referring to FIGS. 8 and 9, the malicious
상기 데이터필터(531)는 복수의 블록단위의 데이터를 획득(S3100)할 수 있다. 상기 복수의 블록단위의 데이터는 복수의 블록단위의 명령데이터(B-CD) 및 복수의 블록단위의 읽기데이터(B-RD)를 포함할 수 있다. 상기 데이터필터(531)는 상기 복수의 블록단위의 데이터를 필터링(S3300)할 수 있다. 상기 데이터필터(531)는 필터링된 복수의 블록단위의 필터링데이터(B-FD)를 악성코드탐지유닛(535)으로 출력(S3500)할 수 있다.The data filter 531 may acquire data of a plurality of blocks (S3100). The plurality of block unit data may include a plurality of block unit command data (B-CD) and a plurality of block unit read data (B-RD). The data filter 531 may filter the data of the plurality of blocks (S3300). The data filter 531 may output the filtered filtering data (B-FD) in units of blocks to the malicious code detection unit 535 (S3500).
상기 악성코드탐지유닛(535)은 상기 복수의 블록단위의 필터링데이터(B-FD)를 상기 데이터필터(531)로부터 획득(S3700)할 수 있다. 상기 악성코드탐지유닛(535)은 복수의 블록단위의 데이터에 기초하여 악성코드를 탐지(S3900)할 수 있다.The malicious
상기 악성코드탐지(S3900)단계에서, 상기 악성코드탐지유닛(535)은 상기 복수의 블록단위의 데이터에 기초하여 악성코드탐지 동작을 수행할 수 있다. 상기 악성코드탐지유닛(535)은 상기 복수의 블록단위의 데이터의 패턴을 분석할 수 있다. In the malicious code detection (S3900), the malicious
상기 악성코드탐지유닛(535)은 상기 복수의 블록단위의 데이터 중 일부인 특정데이터만의 패턴을 분석할 수 있다. 상기 특정데이터는 악성코드에 의해 주로 손상되는 데이터일 수 있다. 예를 들어, 상기 특정데이터는 파일의 헤더에 관련된 헤더데이터일 수 있다.The malicious
상기 특정데이터는 제1 특정데이터 및 제2 특정데이터를 포함할 수 있다.The specific data may include first specific data and second specific data.
상기 악성코드탐지유닛(535)은 악성코드별로 상기 특정데이터를 정의할 수 있다. 상기 악성코드탐지유닛(535)은 상기 제1 악성코드에 기초한 제1 특정데이터를 정의할 수 있고, 상기 제2 악성코드에 기초한 제2 특정데이터를 정의할 수 있다. The malicious
상기 악성코드탐지유닛(535)은 악성코드의 우선순위에 따라 특정데이터 별로 패턴탐지동작의 수행 순서를 설정할 수 있다. 상기 제1 악성코드가 제2 악성코드보다 우선순위가 높은 경우, 상기 악성코드탐지유닛(535)은 상기 제2 특정데이터보다 먼저 상기 제1 특정데이터의 패턴을 분석할 수 있다.The malicious
상기 제2 악성코드검사동작(S2030)에 의해, 악성코드탐지가 정밀해지는 효과를 가질 수 있다. 상기 블록단위가 아닌 파일단위의 악성코드검사동작이 수행되는 경우, 악성코드탐지부(530)내로 전송되는 블록단위의 데이터는 데이터필터(531), 변환유닛(533), 악성코드탐지유닛(535) 순서대로 전송되어야 한다. 이에 따라, 상기 블록단위의 데이터는 전송과정에서 누락될 수 있고, 누락된 데이터에 대해서는 악성코드탐지가 수행되지 않을 수 있다. 상기 블록단위의 악성코드검사동작이 수행되는 경우, 파일단위의 악성코드검사동작에 비하여 블록단위의 데이터의 전송경로가 짧아질 수 있다. 이에 따라, 상기 블록단위의 데이터의 누락이 줄어들어 악성코드탐지가 정밀해지는 효과를 가질 수 있다.The second malicious code checking operation (S2030) can have an effect that the malicious code detection is precise. When the malicious code checking operation is performed on a file unit basis but not on the block unit basis, the block unit data transmitted to the malicious
또는, 상기 제2 악성코드검사동작(S2030)에 의해, 신속한 악성코드탐지가 가능해지는 효과를 가질 수 있다. 블록단위의 악성코드검사동작이 수행되지 않는 경우, 악성코드탐지를 위하여 파일단위의 데이터에 포함된 모든 블록 데이터의 패턴을 분석해야 한다. 이에 반하여, 블록단위의 악성코드검사동작을 수행하는 경우, 상기 악성코드탐지는 복수의 블록단위의 데이터의 일부 데이터에 대해서만 악성코드검사동작이 가능해지므로 악성코드탐지가 신속해지는 효과를 가질 수 있다.Alternatively, the second malicious code checking operation (S2030) can have an effect of enabling rapid malicious code detection. If malicious code checking operation is not performed on a block basis, it is necessary to analyze patterns of all block data included in file unit data for malicious code detection. On the other hand, when the malicious code checking operation is performed on a block-by-block basis, the malicious code detecting operation can perform the malicious code checking operation only on a part of data of a plurality of block units of data, so that malicious code detection can be expedited.
한편, 전술한 제2 악성코드검사동작(S2030)은 제1 악성코드검사동작(S2010)과 조합되어 수행될 수도 있다.Meanwhile, the above-described second malicious code checking operation (S2030) may be performed in combination with the first malicious code checking operation (S2010).
<제3 실시예>≪ Third Embodiment >
이하에서는 제1 내지 제2 실시예의 변형예인 제3 실시예에 대해서 설명하도록 한다. 이하의 설명에서 특별한 언급이 없다면 전술한 제1 내지 제2 실시예가 적용될 수 있다.Hereinafter, a third embodiment, which is a modification of the first and second embodiments, will be described. In the following description, unless otherwise specified, the first to second embodiments described above can be applied.
도 10은 본 출원의 일 실시예에 따른 호스트디바이스 및 이동식저장장치를 나타내는 도면이다.10 is a diagram illustrating a host device and a removable storage device according to one embodiment of the present application.
도 11은 본 출원의 일 실시예에 따른 제3 악성코드검사동작 시 데이터 전송을 나타내는 도면이다.11 is a diagram illustrating data transmission in a third malicious code checking operation according to an embodiment of the present application.
본 출원의 일 실시예에 따른 이동식저장장치(500)는 소정의 데이터 필터링없이 악성코드검사동작을 수행할 수 있다. 이 경우, 상기 악성코드검사동작은 제3 악성코드검사동작(S2050)으로 정의될 수 있다.The
도 10 및 도 11을 참조하면, 상기 악성코드탐지부(530)는 필터링되지 않은 파일단위의 데이터(F-D)에 기초하여 악성코드검사동작을 수행할 수 있다.Referring to FIGS. 10 and 11, the malicious
상기 변환유닛(533)은 복수의 블록단위의 데이터를 획득(S5100)할 수 있다. 상기 복수의 블록단위의 데이터는 복수의 블록단위의 명령데이터(B-CD) 및 복수의 블록단위의 읽기데이터를 포함할 수 있다. 상기 변환유닛(533)은 상기 복수의 블록단위의 데이터를 변환(S5300)하여, 파일단위의 파일데이터를 생성할 수 있다. 상기 변환유닛(533)은 상기 파일단위의 파일데이터를 악성코드탐지유닛(535)으로 전달(S5500)할 수 있다.The
상기 악성코드탐지유닛(535)은 상기 파일단위의 파일데이터를 상기 데이터필터(531)로부터 획득(S5700)할 수 있다. 상기 악성코드탐지유닛(535)은 파일단위의 데이터(F-D)에 기초하여 악성코드를 탐지(S5900)할 수 있다. 상기 파일단위의 데이터(F-D)는 악성코드로 의심되는 데이터 및 악성코드가 아닌 데이터를 포함할 수 있다.The malicious
상기 제3 악성코드검사동작(S2050)에 의해, 신속한 악성코드탐지가 가능해지는 효과를 가질 수 있다. 소정의 필터링을 거쳐 악성코드검사동작이 수행되는 경우, 악성코드탐지는 필터링되어 출력된 데이터에 대해서만 악성코드검사동작이 수행될 수 있다. 이 경우, 상기 악성코드검사동작에는 오탐의 가능성이 존재할 수 있다. 상기 소정의 필터링을 거쳐 악성코드검사동작을 수행하는 경우, 모든 데이터에 대해서 악성코드검사동작이 수행될 수 있다. 상기 모든 데이터에 대해서 악성코드검사동작이 수행되기 때문에 악성코드의 오탐율이 줄어드는 효과를 가질 수 있다,The third malicious code checking operation (S2050) can have an effect of enabling rapid malicious code detection. When the malicious code checking operation is performed through predetermined filtering, the malicious code detecting operation can be performed only on the filtered and outputted data. In this case, there may be a possibility of false positives in the malicious code checking operation. When the malicious code checking operation is performed through the predetermined filtering, a malicious code checking operation can be performed on all the data. The malicious code checking operation is performed on all of the data, so that the malicious code can be reduced in false positives.
한편, 전술한 제3 악성코드검사동작(S2050)은 제1 내지 제2 악성코드검사동작(S2010, S2030)과 조합되어 수행될 수도 있다.Meanwhile, the above-described third malicious code checking operation (S2050) may be performed in combination with the first and second malicious code checking operations (S2010 and S2030).
<제4 실시예><Fourth Embodiment>
도 12는 본 출원의 일 실시예에 따른 이동식저장장치의 악성코드검사동작 선택 순서도이다.12 is a flow chart illustrating a malicious code checking operation selection procedure of the mobile storage device according to an embodiment of the present application.
도 12를 참조하면, 본 출원의 일 실시예에 따른 이동식저장장치(500)는 악성코드검사동작을 선택적으로 수행할 수 있다.Referring to FIG. 12, the
상기 이동식저장장치(500)는 악성코드탐지의 정밀도, 신속도 등에 기초하여 악성코드검사동작을 선택적으로 수행할 수 있다. 이하에서는 상기 이동식저장장치(500)가 탐지의 정밀도에 기초하여 악성코드검사동작을 선택하는 것에 대해서 설명하도록 한다.The
상기 이동식저장장치(500)는 악성코드 탐지 정밀도를 설정(S5100)할 수 있다. 상기 정밀도는 HIGH, MIDDLE, LOW를 포함할 수 있다.The
상기 이동식저장장치(500)는 상기 이동식저장장치(500)의 모드에 기초하여 상기 정밀도를 설정할 수 있다. 상기 이동식저장장치(500)가 액티브모드인 경우, 상기 이동식저장장치(500)는 악성코드탐지의 정밀도를 LOW로 설정할 수 있다. 상기 모드가 액티브모드이나 이동식저장장치(500) 내의 데이터 전송량이 임계값이하인 경우, 상기 이동식저장장치(500)는 악성코드탐지의 정밀도를 MIDDLE로 설정할 수 있다. 상기 모드가 아이들모드인 경우, 상기 이동식저장장치(500)는 악성코드탐지의 정밀도를 LOW로 설정할 수 있다.The
상기 악성코드탐지의 정밀도는 탐지메모리(537)에 저장되어 있을 수 있다.The accuracy of the malicious code detection may be stored in the
상기 이동식저장장치(500)는 설정된 악성코드탐지의 정밀도를 판단(S5300)할 수 있다. 상기 이동식저장장치(500)의 콘트롤러(590)는 탐지메모리(537)에 저장된 정밀도에 관련된 데이터를 획득할 수 있다. 상기 콘트롤러(590)는 상기 악성코드탐지부(530)에 블록단위의 데이터가 전송되기 이전에 상기 정밀도를 파악할 수 있다.The
상기 콘트롤러(590)는 상기 정밀도가 HIHG인 경우 제3 탐지를 수행할 수 있고, 상기 정밀도가 MIDDLE인 경우 제2 탐지를 수행할 수 있고, 상기 정밀도가 LOW인 경우 제1 탐지를 수행할 수 있다. The
이 경우 상기 제1 탐지는 제1 악성코드검사동작(S2010)일 수 있고, 제2 탐지는 제2 악성코드검사동작(S2030)일 수 있고, 이 경우 상기 제3 탐지는 제3 악성코드검사동작(S2050)일 수 있다.In this case, the first detection may be a first malicious code checking operation (S2010) and the second detection may be a second malicious code checking operation (S2030). In this case, the third detection may be a third malicious code checking operation (S2050).
다만, 이는 일 예에 불과할 뿐 정밀도 별로 선택되는 악성코드검사동작은 이에 국한되지 않는다.However, this is merely an example, and malicious code checking operations selected by precision are not limited thereto.
이에 따라, 악성코드탐지가 효율적으로 수행될 수 있다. 이동저장장치의 모드별로 악성코드검사동작이 선택되지 않는 경우, 상기 액티브모드에서도 정밀한 악성코드검사동작이 수행될 수 있다. 상기 액티브모드에서는 연산이 활발하게 수행되기 때문에, 악성코드탐지동작이 정밀하게 수행되는 경우 상기 연산이 제대로 수행되지 못하며, 동시에 악성코드탐지동작 또한 제대로 수행되지 못할 수 있다. 이에 반하여, 모드 별로 악성코드검사동작이 선택되는 경우 악성코드검사동작이 제대로 수행될 수 있는 환경이 갖추어질 수 있다. 상기 액티브 모드에서 간이한 악성코드검사 동작이 수행될 수 있기 때문에, 이동식저장장치(500)의 연산 및 악성코드탐지가 효율적으로 수행될 수 있다.Thus, malicious code detection can be efficiently performed. If the malicious code checking operation is not selected for each mode of the mobile storage device, the malicious code checking operation can be accurately performed even in the active mode. Since the operation is actively performed in the active mode, if the malicious code detection operation is performed accurately, the operation can not be performed properly, and malicious code detection operation may not be performed properly. On the other hand, if the malicious code checking operation is selected for each mode, an environment in which the malicious code checking operation can be properly performed can be provided. Since a simple malicious code checking operation can be performed in the active mode, the operation of the
상술한 본 발명에 따른 작성 방법 및 열람 방법에 있어서, 각 실시예를 구성하는 단계가 필수적인 것은 아니며, 따라서 각 실시예는 상술한 단계를 선택적으로 포함할 수 있다. 또 각 실시예를 구성하는 각 단계는 반드시 설명된 순서에 따라 수행되어야 하는 것은 아니며, 나중에 설명된 단계가 먼저 설명된 단계보다 먼저 수행될 수도 있다. 또한 각 단계는 동작하는 동안 어느 한 단계가 반복적으로 수행되는 것도 가능하다.In the creating method and browsing method according to the present invention described above, the steps constituting each embodiment are not essential, and therefore, each embodiment can selectively include the above-described steps. Moreover, each step constituting each embodiment is not necessarily performed according to the order described, and the step described later may be performed before the step described earlier. It is also possible that each step is repeatedly performed during operation.
상기에서는 본 발명에 따른 실시예를 기준으로 본 발명의 구성과 특징을 설명하였으나 본 발명은 이에 한정되지 않으며, 본 발명의 사상과 범위 내에서 다양하게 변경 또는 변형할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 명백한 것이며, 따라서 이와 같은 변경 또는 변형은 첨부된 특허청구범위에 속함을 밝혀둔다.While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be apparent to those skilled in the art that changes or modifications may fall within the scope of the appended claims.
1: 시스템
100: 서버
300: 호스트디바이스
310: 어플리케이션
330: 운영체제
500: 이동식저장장치
510: 호스트인터페이스
530: 악성코드탐지부
531: 데이터필터
533: 변환유닛
535: 악성코드탐지유닛
537: 탐지메모리
550: 버퍼
570: 메모리부
590: 콘트롤러1: System
100: Server
300: Host device
310: Application
330: Operating system
500: Removable Storage
510: Host interface
530: malicious code detection unit
531: Data filter
533: conversion unit
535: Malicious code detection unit
537: Detection memory
550: buffer
570:
590: Controller
Claims (15)
상기 호스트디바이스로부터 생성되는 블록단위의 명령데이터에 기초한 블록단위의 데이터를 획득하고, 상기 블록단위의 데이터를 필터링하여 악성코드로 추정되는 블록단위의 데이터를 포함하는 블록단위의 필터링데이터를 생성하는 데이터필터;
상기 블록단위의 필터링데이터를 파일단위의 필터링데이터로 변환하는 변환유닛;
악성코드패턴을 포함하는 악성코드패턴테이블이 저장되는 탐지메모리;
상기 파일단위의 필터링데이터와 상기 악성코드패턴테이블에 기초하여, 악성코드탐지를 위한 악성코드탐지동작을 수행하는 악성코드탐지유닛;
데이터의 쓰기 연산이 수행되는 메모리부;및
상기 데이터의 쓰기 연산이 수행되도록 쓰기데이터를 출력하는 버퍼;를 포함하며,
상기 악성코드탐지동작은
상기 악성코드패턴테이블을 호출하고, 상기 악성코드패턴테이블에 기초하여 상기 파일단위의 필터링데이터에 포함된 연산패턴이 악성코드패턴인지 여부를 체크함으로써 수행되고,
상기 악성코드탐지유닛은 상기 연산패턴이 상기 악성코드패턴인 경우, 탐지데이터를 생성하고,
상기 쓰기데이터는 상기 블록단위의 명령데이터 및 탐지데이터에 기초하여 생성되는
이동식저장장치.
A removable storage device operatively associated with a host device,
Data for generating block-based filtering data including block-based data estimated by a malicious code by filtering data of the block-by-block basis, based on command data of block units generated from the host device, filter;
A conversion unit for converting the filtering data of the block unit into filtering data of a file unit;
A detection memory for storing a malicious code pattern table including a malicious code pattern;
A malicious code detection unit for performing a malicious code detection operation for malicious code detection on the basis of the file-based filtering data and the malicious code pattern table;
A memory unit in which a write operation of data is performed;
And a buffer for outputting write data so that a write operation of the data is performed,
The malicious code detection operation
Calling the malicious code pattern table and checking whether the operation pattern included in the filtering data of the file unit is a malicious code pattern based on the malicious code pattern table,
The malicious code detection unit generates detection data when the operation pattern is the malicious code pattern,
The write data is generated based on the block data and the detection data
Removable storage.
상기 악성코드패턴테이블에 포함된 악성코드패턴에 우선순위가 설정되고,
상기 악성코드패턴테이블은 제1 우선순위를 갖는 제1 악성코드패턴 및 제2 우선순위를 갖는 제2 악성코드패턴을 포함하는 것을 특징으로 하는
이동식저장장치.
The method according to claim 1,
A priority is set to a malicious code pattern included in the malicious code pattern table,
Wherein the malicious code pattern table includes a first malicious code pattern having a first priority and a second malicious code pattern having a second priority,
Removable storage.
상기 악성코드패턴의 우선순위는 상기 악성코드패턴테이블의 업데이트 이력에 기초하여 설정되는 것을 특징으로 하는
이동식저장장치.
5. The method of claim 4,
And the priority of the malicious code pattern is set based on the update history of the malicious code pattern table
Removable storage.
상기 악성코드탐지유닛은
상기 연산패턴과 상기 제1 우선순위를 갖는 상기 제1 악성코드패턴의 비교가 상기 연산패턴과 상기 제2 우선순위를 갖는 상기 제2 악성코드패턴의 비교보다 먼저 수행되도록 하는 것을 특징으로 하는
이동식저장장치.
5. The method of claim 4,
The malicious code detection unit
The comparison of the operation pattern and the first malicious code pattern having the first priority is performed before the comparison of the operation pattern and the second malicious code pattern having the second priority.
Removable storage.
상기 악성코드탐지유닛은 상기 탐지데이터에 기초하여 악성코드처리 동작의 수행을 위한 결과데이터가 생성되도록 하는 것을 특징으로 하는
이동식저장장치.
The method according to claim 1,
And the malicious code detection unit causes the result data for performing the malicious code processing operation to be generated based on the detection data
Removable storage.
상기 결과데이터의 생성 시점 별로 상기 버퍼의 쓰기데이터의 출력이 제어되되,
상기 버퍼가 상기 쓰기데이터를 출력하는 중에 상기 결과데이터가 생성되는 경우, 상기 버퍼는 상기 쓰기데이터의 출력을 늦추고,
상기 버퍼가 상기 쓰기데이터를 출력하기 이전에 상기 결과데이터가 생성되는 경우, 상기 버퍼는 상기 쓰기데이터의 출력을 차단하는 것을 특징으로 하는
이동식저장장치.
8. The method of claim 7,
The output of the write data of the buffer is controlled according to the generation time of the result data,
When the result data is generated while the buffer is outputting the write data, the buffer delays the output of the write data,
Characterized in that when the result data is generated before the buffer outputs the write data, the buffer blocks the output of the write data
Removable storage.
상기 결과데이터의 생성에 기초하여 상기 이동식저장장치와 상기 호스트디바이스의 상기 연동이 단절되는 것을 특징으로 하는
이동식저장장치.
8. The method of claim 7,
And the interlocking of the removable storage device and the host device is disconnected based on the generation of the result data.
Removable storage.
상기 결과데이터의 생성에 기초하여, 상기 이동식저장장치는 상기 호스트디바이스에 상기 악성코드의 탐지를 알리기 위한 경고파일이 생성되도록 하는 것을 특징으로 하는
이동식저장장치.
8. The method of claim 7,
And the portable storage device causes the host device to generate a warning file for notifying the detection of the malicious code based on the generation of the result data
Removable storage.
상기 악성코드탐지유닛은 상기 블록단위의 필터링데이터에 기초하여 악성코드탐지동작을 수행하는 것을 특징으로 하는
이동식저장장치.
8. The method of claim 7,
And the malicious code detection unit performs a malicious code detection operation based on the filtering data in the block unit
Removable storage.
상기 변환유닛은 상기 블록단위의 데이터를 전송 받고, 상기 블록단위의 데이터를 상기 파일단위의 데이터로 변환하여 상기 악성코드탐지유닛으로 전달하고,
상기 악성코드탐지유닛은 상기 파일단위의 데이터에 기초하여 악성코드탐지동작을 수행하는 것을 특징으로 하는
이동식저장장치.
12. The method of claim 11,
Wherein the conversion unit receives the data of the block unit, converts the data of the block unit into data of the file unit, and transfers the data to the malicious code detection unit,
And the malicious code detection unit performs a malicious code detection operation based on the data of the file unit
Removable storage.
상기 이동식저장장치는 아이들(IDLE) 모드 및 액티브(ACTIVE) 모드를 포함하는 모드를 갖고,
상기 악성코드탐지동작의 정밀도를 설정하되, 상기 모드에 기초하여 제1 정밀도 및 제2 정밀도를 포함하는 정밀도를 설정하며,
상기 이동식저장장치가 상기 아이들(IDLE) 모드인 경우, 상기 제1 정밀도로 설정되고, 상기 이동식저장장치가 상기 액티브(ACTIVE) 모드인 경우, 상기 제2 정밀도로 설정되되,
상기 제1 정밀도는 상기 제2 정밀도보다 높은 것을 특징으로 하는
이동식저장장치.
12. The method of claim 11,
Wherein the removable storage device has a mode including an IDLE mode and an ACTIVE mode,
Setting an accuracy of the malicious code detection operation, setting a precision including the first precision and the second precision based on the mode,
Is set to the first precision when the removable storage device is in the idle mode and is set to the second precision when the removable storage device is in the active mode,
Wherein the first precision is higher than the second precision.
Removable storage.
상기 정밀도에 기초하여 상기 악성코드탐지유닛이 상기 악성코드탐지동작을 수행하는 것을 특징으로 하는
이동식저장장치.
14. The method of claim 13,
And the malicious code detection unit performs the malicious code detection operation based on the accuracy.
Removable storage.
상기 호스트디바이스로부터 생성되는 블록단위의 명령데이터에 기초한 블록단위의 데이터를 획득하는 단계;
상기 블록단위의 데이터를 필터링하여 악성코드로 추정되는 블록단위의 데이터를 포함하는 블록단위의 필터링데이터를 생성하는 단계;
상기 블록단위의 필터링데이터를 획득하고, 상기 블록단위의 필터링데이터를 변환하여 파일단위의 필터링데이터로 변환하는 단계;
상기 파일단위의 필터링데이터에 기초하여 악성코드탐지동작을 수행하는 단계;를 포함하고,
상기 악성코드탐지동작은
악성코드패턴테이블을 호출하고, 상기 악성코드패턴테이블에 기초하여 상기 파일단위의 필터링데이터에 포함된 연산패턴이 악성코드패턴인지 여부를 판별함으로써 수행되되, 상기 연산패턴이 상기 악성코드패턴인 경우, 탐지데이터를 생성하고,
상기 이동식저장장치는
데이터의 쓰기 연산이 수행되는 메모리부; 및
상기 데이터의 쓰기 연산이 수행되도록 쓰기데이터를 출력하는 버퍼;를 포함하고,
상기 쓰기데이터는 상기 블록단위의 명령데이터 및 탐지데이터에 기초하여 생성되는
악성코드탐지방법.
A malicious code detection method performed by a removable storage device interlocked with a host device,
Obtaining data on a block-by-block basis based on command data in units of blocks generated from the host device;
Filtering the data of each block unit to generate filtering data of block units including data of block units estimated as malicious code;
Acquiring the filtering data of the block unit, converting the filtering data of the block unit, and converting the filtered data into filtering data of a file unit;
And performing a malicious code detection operation based on the filtering data in the file unit,
The malicious code detection operation
Wherein the malicious code pattern table is called by calling the malicious code pattern table and determining whether the operation pattern included in the filtering data of the file unit is a malicious code pattern based on the malicious code pattern table, Generate detection data,
The removable storage device
A memory unit in which a write operation of data is performed; And
And a buffer for outputting write data such that a write operation of the data is performed,
The write data is generated based on the block data and the detection data
How to detect malware.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170058929A KR101889222B1 (en) | 2017-05-11 | 2017-05-11 | Portable storage device perfoming a malignant code detection and method for the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170058929A KR101889222B1 (en) | 2017-05-11 | 2017-05-11 | Portable storage device perfoming a malignant code detection and method for the same |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101889222B1 true KR101889222B1 (en) | 2018-08-24 |
Family
ID=63454183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170058929A KR101889222B1 (en) | 2017-05-11 | 2017-05-11 | Portable storage device perfoming a malignant code detection and method for the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101889222B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102016967B1 (en) * | 2018-09-28 | 2019-10-21 | 유은영 | Method of processing vulnerability/risk through data correlation/association analysis of system information for system and processing the vulnerability/risk of system and apparatus therefor |
EP3839668A1 (en) * | 2019-12-17 | 2021-06-23 | Siemens Aktiengesellschaft | Integrity monitoring system and method for operating an integrity monitoring system and an integrity monitoring unit |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150172305A1 (en) * | 2013-12-17 | 2015-06-18 | Verisign, Inc. | Systems and methods for incubating malware in a virtual organization |
-
2017
- 2017-05-11 KR KR1020170058929A patent/KR101889222B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150172305A1 (en) * | 2013-12-17 | 2015-06-18 | Verisign, Inc. | Systems and methods for incubating malware in a virtual organization |
Non-Patent Citations (1)
Title |
---|
이대로외 4인, ‘실행코드 블록 비교 기반의 변종 악성코드 검출’, 2012년도 한국컴퓨터종합학술대회 논문집 Vol. 39, No.1(C) pp. 301-303. 2012. |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102016967B1 (en) * | 2018-09-28 | 2019-10-21 | 유은영 | Method of processing vulnerability/risk through data correlation/association analysis of system information for system and processing the vulnerability/risk of system and apparatus therefor |
EP3839668A1 (en) * | 2019-12-17 | 2021-06-23 | Siemens Aktiengesellschaft | Integrity monitoring system and method for operating an integrity monitoring system and an integrity monitoring unit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180373722A1 (en) | System and method for data classification using machine learning during archiving | |
Min et al. | Amoeba: An autonomous backup and recovery SSD for ransomware attack defense | |
US20190102262A1 (en) | Automated continuous checkpointing | |
CN108733306B (en) | File merging method and device | |
CN104360914B (en) | Incremental snapshot method and apparatus | |
CN109496292B (en) | Disk management method, disk management device and electronic equipment | |
EP3336702B1 (en) | Metadata recovery method and device | |
KR101889222B1 (en) | Portable storage device perfoming a malignant code detection and method for the same | |
CN111382126B (en) | System and method for deleting file and preventing file recovery | |
US7680980B2 (en) | Image forming apparatus | |
KR101850650B1 (en) | Portable storage device perfoming a ransomeware detection and method for the same | |
JP2016076071A (en) | Log management apparatus, log management program, and log management method | |
EP3674876B1 (en) | System and method of deletion of files and counteracting their restoration | |
CN115470040A (en) | Method, device, equipment and medium for testing re-deleted fingerprint threshold based on snapshot | |
CN114155906A (en) | Data block repairing method, device, equipment and storage medium | |
US20110296119A1 (en) | Stored Data Reading Apparatus, Method and Computer Apparatus | |
CN113076122A (en) | Resource file management method, device, equipment and storage medium | |
JP2017045106A (en) | Information processing device and information processing program | |
KR20150087990A (en) | System and Method for Caching Disk Image File of Full-Cloned Virtual Machine | |
CN113127376A (en) | Control method, device and equipment of solid state drive | |
US11243844B2 (en) | Method for enhancing speed of incremental backup, bridge device, and storage system | |
CN111931177B (en) | Information processing method, apparatus, electronic device, and computer storage medium | |
US11755223B2 (en) | Systems for modular hybrid storage devices | |
KR102432530B1 (en) | System for reporting of digital evidence by sorting data collection from object disk | |
KR102442126B1 (en) | Disk management system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |