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 PDF

Info

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
Application number
KR1020170058929A
Other languages
Korean (ko)
Inventor
박용수
Original Assignee
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Priority to KR1020170058929A priority Critical patent/KR101889222B1/en
Application granted granted Critical
Publication of KR101889222B1 publication Critical patent/KR101889222B1/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
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • G06F2212/2146Solid 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

The purpose of the present invention is to provide a portable storage device which is separated from a host device and has a malicious code detecting function in order to reduce a malicious code detection load of the host device. The present invention relates to a portable storage device detecting malicious codes and a method therefor. According to one embodiment of the present invention, the portable storage device, which is interlocked with a host device, comprises a detecting memory which stores a malicious code pattern table containing malicious code patterns and a malicious code detecting unit which detects malicious codes based on the malicious code pattern table. The malicious code detecting unit comprises a data filter which obtains data in block units based on command data in block units generated from the host device, and filters the data in block units to generate filtering data in block units containing data in block units which is estimated as malicious codes; a converting unit which converts the filtering data in block units into filtering data in file units; and a malicious code detecting unit which performs a malicious code detecting operation for detecting malicious codes. The malicious code detecting operation calls the malicious code pattern table, and based on the malicious code pattern table, determines whether an operation pattern contained in the filtering data in file units is a malicious code pattern or not.

Description

악성코드탐지를 수행하는 이동식저장장치 및 이를 위한 방법{PORTABLE STORAGE DEVICE PERFOMING A MALIGNANT CODE DETECTION AND METHOD FOR THE SAME}FIELD OF THE INVENTION [0001] The present invention relates to a portable storage device for performing malicious code detection,

본 출원은 악성코드탐지를 수행하는 이동식저장장치 및 이를 위한 방법 에 관한 것으로, 보다 상세하게는 이동식저장장치에 포함된 데이터의 단위를 변환하는 변환유닛과 악성코드탐지유닛의 동작에 기초하여 악성코드탐지를 수행하는 이동식저장장치 및 이를 위한 방법에 관한 것이다.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 실시예>&Lt; Embodiment 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 system 1 environment in accordance with one embodiment of the present application may include a server 100, a host device 300, and a removable storage device 500.

상기 서버(100)는 호스트디바이스(300)와 통신할 수 있다. 상기 서버(100)는 상기 호스트디바이스(300)와 데이터를 교환할 수 있다. 상기 서버(100)는 호스트디바이스(300)에 데이터를 전송하고, 상기 서버(100)는 호스트디바이스(300)로부터 데이터를 전송 받을 수 있다. The server 100 may communicate with the host device 300. The server 100 may exchange data with the host device 300. The server 100 may transmit data to the host device 300 and the server 100 may receive data from the host device 300.

상기 서버(100)는 소정의 데이터를 저장할 수 있다. 상기 데이터는 악성코드탐지에 관련된 데이터일 수 있다.The server 100 may store predetermined data. The data may be data related to malicious code detection.

즉, 서버(100)는 상기 호스트디바이스(300)로부터 악성코드탐지에 관련된 데이터를 요청하는 데이터를 전송 받을 수 있고, 서버(100)는 상기 요청하는 데이터에 대한 결과값으로서 악성코드탐지에 관련된 데이터를 상기 호스트디바이스(300)로 전송할 수 있다. That is, the server 100 may receive data requesting data related to malicious code detection from the host device 300, and the server 100 may receive data related to malicious code detection as a result value for the requested data To the host device (300).

상기 호스트디바이스(300)는 상기 이동식저장장치(500)를 통해 연산을 수행할 수 있다. The host device 300 may perform operations through the removable storage device 500.

상기 호스트디바이스(300)는 상기 이동식저장장치(500)로 소정의 데이터를 전송할 수 있다. 상기 호스트디바이스(300)는 상기 이동식저장장치(500)에서 연산이 수행되도록 소정의 데이터를 전송할 수 있다.The host device 300 may transmit predetermined data to the mobile storage device 500. The host device 300 may transmit predetermined data to perform operations in the portable storage device 500. [

상기 이동식저장장치(500)는 소정의 데이터를 저장할 수 있다. 상기 데이터는 상기 호스트디바이스(300)로부터 전송된 데이터일 수 있다.The portable storage device 500 may store predetermined data. The data may be data transmitted from the host device 300.

상기 이동식저장장치(500)는 소정의 연산을 수행할 수 있다. 상기 이동식저장장치(500)는 상기 호스트디바이스(300)로부터 전송되는 데이터에 기초하여 연산을 수행할 수 있다. 상기 이동식저장장치(500)는 이동식저장장치(500)의 모드(mode)별로 다른 연산을 수행할 수 있다. 상기 모드는 호스트디바이스(300)와 데이터 교환이 이루어지는 액티브 모드(Active mode)와 호스트디바이스(300)와 데이터 교환이 이루어지지 않는 아이들 모드(Idle mode)를 포함할 수 있다. 상기 이동식저장장치(500)는 액티브모드에서 쓰기, 읽기, 대체, 삭제 등의 모든 연산을 수행할 수 있다. 상기 이동식저장장치(500)는 아이들모드에서 읽기, 대체, 삭제만을 수행할 수 있다.The mobile storage device 500 may perform certain operations. The mobile storage device 500 may perform an operation based on data transmitted from the host device 300. The removable storage device 500 may perform different operations according to modes of the removable storage device 500. The mode may include an active mode in which data exchange with the host device 300 is performed and an idle mode in which data exchange with the host device 300 is not performed. The mobile storage device 500 may perform all operations such as writing, reading, substitution, deletion, etc. in the active mode. The removable storage device 500 may only perform reading, replacement, and deletion in the idle mode.

이하에서는 상기 호스트디바이스(300)와 이동식저장장치(500)에 대해서 구체적으로 설명하도록 한다.Hereinafter, the host device 300 and the portable storage device 500 will be described in detail.

도 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 host device 300 will be described.

상기 호스트디바이스(300)는 어플리케이션(310) 및 운영체제(330)를 포함할 수 있다. 그러나, 도 2에 도시된 호스트디바이스(300)의 구성요소보다 많은 구성요소를 갖는 호스트디바이스(300)가 구현될 수도 있다.The host device 300 may include an application 310 and an operating system 330. However, a host device 300 having more components than the components of the host device 300 shown in Fig. 2 may be implemented.

상기 어플리케이션(310)은 상기 호스트디바이스(300)에서 실행되는 소프트웨어일 수 있다. 상기 어플리케이션(310)은 상기 호스트디바이스(300)의 사용자에 의해 실행될 수 있다.The application 310 may be software executed in the host device 300. [ The application 310 may be executed by a user of the host device 300.

상기 어플리케이션(310)은 i) 사용자에 의해 직접 제작되는 사용자소프트웨어, 또는 ii) 별도로 제작된 응용소프트웨어일 수 있다. 상기 응용소프트웨어는 워드프로세서를 포함하는 오피스제품군, 웹브라우저, 미디어재생기를 포함하는 멀티미디어, 매틀랩(Matlab)을 포함하는 분석소프트웨어, 사무관리시스템(1)을 포함하는 협업소프트웨어, 고객관리용의 사무용소프트웨어, 또는 데이터베이스 중 적어도 하나일 수 있다.The application 310 may be i) user software produced directly by the user, or ii) separately created application software. The application software includes multimedia software including a suite of office products including a word processor, a web browser, a media player, analysis software including Matlab, collaboration software including an office management system 1, office software for customer management , Or a database.

상기 운영체제(330)는 상기 어플리케이션(310)을 제어할 수 있다. 상기 운영체제(330)는 어플리케이션(310)을 실행할 수 있다. 상기 운영체제(330)는 상기 호스트디바이스(300)의 사용자에 의해 상기 어플리케이션(310)이 실행되도록 할 수 있다.The operating system 330 may control the application 310. The operating system 330 may execute the application 310. The operating system 330 may cause the application 310 to be executed by a user of the host device 300.

상기 운영체제(330)는 상기 호스트디바이스(300)의 데이터를 제어할 수 있다. 상기 운영체제(330)는 데이터의 단위를 변경할 수 있다. 상기 운영체제(330)는 상기 호스트디바이스(300)로부터 출력되는 데이터의 단위를 변환할 수 있다.The operating system 330 may control the data of the host device 300. The operating system 330 may change units of data. The operating system 330 may convert a unit of data output from the host device 300.

이하에서는 이동식저장장치(500)의 구성요소에 대해서 설명하도록 한다.Hereinafter, the components of the portable storage device 500 will be described.

상기 이동식저장장치(500)는 호스트인터페이스(510), 악성코드탐지부(530), 버퍼(550), 메모리부(570), 및 콘트롤러(590)를 포함할 수 있다. 그러나, 도 2에 도시된 이동식저장장치(500)의 구성요소들이 필수적인 것은 아니고, 그보다 많은 구성요소를 갖거나, 그보다 적은 구성요소를 가지는 이동식저장장치(500)가 구현될 수도 있다.The portable storage device 500 may include a host interface 510, a malicious code detection unit 530, a buffer 550, a memory unit 570, and a controller 590. However, the components of the portable storage device 500 shown in FIG. 2 are not essential, and a removable storage device 500 having more or fewer components may be implemented.

상기 호스트인터페이스(510)는 상기 이동식저장장치(500)가 외부기기와 통신하도록 할 수 있다. 상기 호스트인터페이스(510)는 외부기기와 데이터를 교환할 수 있다. 상기 외부기기는 호스트디바이스(300)일 수 있다. The host interface 510 may allow the portable storage device 500 to communicate with an external device. The host interface 510 may exchange data with an external device. The external device may be the host device 300.

상기 호스트인터페이스(510)는 USB 포트, PS/2 포트, U.2, PCE-Express, SAS, ATA, SATA, 또는 M.2류 등을 포함하는 물리적인터페이스로 구현될 수 있다. 또는, 상기 호스트인터페이스(510)는 NVME, AHCI, 또는 UASP 등을 포함하는 소프트웨어로 구현될 수도 있다. 또는, 상기 호스트인터페이스(510)는 전술한 물리적인터페이스와 논리적인터페이스의 조합 형태로 구현될 수도 있다.The host interface 510 may be implemented as a physical interface including a USB port, a PS / 2 port, U.2, PCE-Express, SAS, ATA, SATA, Alternatively, the host interface 510 may be implemented by software including NVME, AHCI, or UASP. Alternatively, the host interface 510 may be implemented as a combination of the physical interface and the logical interface described above.

상기 악성코드탐지부(530)는 악성코드를 탐지할 수 있다. 상기 악성코드탐지부(530)는 이동식저장장치(500) 내의 악성코드를 탐지할 수 있다. 상기 악성코드탐지부(530)는 상기 이동식저장장치(500) 내로 전송되는 데이터에 포함된 악성코드를 탐지할 수 있다.The malicious code detection unit 530 can detect a malicious code. The malicious code detection unit 530 may detect malicious code in the portable storage device 500. [ The malicious code detection unit 530 may detect malicious code included in data transmitted to the mobile storage device 500.

상기 악성코드탐지부(530)가 이동식저장장치(500)에 구비됨에 따라, 운영체제(330)의 운영 부담이 경감되는 효과를 가질 수 있다. 상기 악성코드탐지부(530)가 이동식저장장치(500)에 구비되지 않는 경우, 상기 운영체제(330)는 이동식저장장치(500) 내의 악성코드의 탐지를 위한 악성코드탐지 어플리케이션을 구비하여야 한다. 상기 운영체제(330)는 상기 악성코드탐지 어플리케이션을 실행하여야 하기 때문에, 운영체제(330)는 어플리케이션 운영 부담을 갖게 된다. 이에 반하여, 악성코드탐지부(530)가 이동식저장장치(500)에 구비되는 경우, 상기 운영체제(330)는 별도의 악성코드탐지 어플리케이션(310)을 구비하지 않을 수 있다. 상기 운영체제(330)는 악성코드탐지 어플리케이션의 운영 부담을 경감할 수 있다. 이에 따라, 상기 악성코드탐지부(530)가 이동식저장장치(500)에 구비되는 경우, 구비되지 않는 경우에 비하여 운영체제(330)를 효율적으로 운용하는 효과를 가질 수 있다.Since the malicious code detection unit 530 is provided in the portable storage device 500, the operating burden of the operating system 330 can be alleviated. If the malicious code detection unit 530 is not provided in the portable storage device 500, the operating system 330 must include a malicious code detection application for detecting a malicious code in the portable storage device 500. Since the operating system 330 must execute the malicious code detection application, the operating system 330 has a burden of operating an application. On the other hand, when the malicious code detection unit 530 is provided in the mobile storage device 500, the operating system 330 may not include a separate malicious code detection application 310. The operating system 330 may reduce the operational burden of the malicious code detection application. Accordingly, when the malicious code detection unit 530 is provided in the mobile storage device 500, the malicious code detection unit 530 can have an effect of efficiently operating the operating system 330 as compared with the case where the malicious code detection unit 530 is not provided.

상기 악성코드탐지부(530)는 데이터필터(531), 변환유닛(533), 탐지메모리(537), 및 악성코드탐지유닛(535)을 포함할 수 있다. The malicious code detection unit 530 may include a data filter 531, a conversion unit 533, a detection memory 537, and a malicious code detection unit 535.

상기 데이터필터(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 data filter 531. The data filter 531 may classify the plurality of original data into a first data group and a second data group, and output only the first data group.

일 예로, 상기 데이터필터(531)은 블룸필터(Bloom filter)일 수 있다. 또한, 상기 데이터필터가 블룸필터인 경우, 악성코드거나 악성코드로 의심되는 데이터를 악성코드인 데이터로 분류할 수 있다. 다만, 상기 블룸필터는 상기 악성코드인 데이터를 악성코드가 아닌 데이터로 분류하지는 않는다. 따라서, 데이터필터가 블룸필터인 경우, 상기 데이터필터가 오동작하더라도 악성코드의 가능성이 있는 데이터가 악성코드가 아닌 데이터로 분류되지 않을 수 있다. 이에 따라, 악성코드탐지에 있어서 오탐의 확률은 낮아질 수 있다.For example, the data filter 531 may be a Bloom filter. In addition, when the data filter is a Bloom filter, data suspected to be malicious code or malicious code can be classified as malicious code data. However, the Bloom filter does not classify the malicious code data as non-malicious code data. Therefore, when the data filter is a Bloom filter, even if the data filter malfunctions, data that may be malicious code may not be classified as malicious code. Thus, the probability of false positives in malicious code detection can be lowered.

상기 데이터필터(531)를 악성코드탐지부(530)에 구현함으로써, 악성코드 탐지를 위한 악성코드탐지동작이 간이해지는 효과가 있을 수 있다. 상기 데이터필터(531)가 구비되지 않는 경우. 상기 악성코드탐지부(530)는 악성코드탐지부(530)로 전송되는 모든 데이터에 대하여 악성코드탐지동작을 수행해야 한다. 이에 반해, 상기 데이터필터(531)가 구비되는 경우, 상기 악성코드탐지부(530)는 필터링된 일부의 데이터에 대해서만 악성코드탐지를 수행할 수 있다. 이에 따라, 악성코드탐지 알고리즘이 간이해지는 효과가 있을 수 있다. 또한, 악성코드탐지를 위한 악성코드패턴테이블(P.T)의 사이즈가 작아질 수 있어, 악성코드탐지부(530)의 운용 부담이 감소되는 효과를 가질 수 있다.By implementing the data filter 531 in the malicious code detection unit 530, the malicious code detection operation for malicious code detection can be simplified. And the data filter 531 is not provided. The malicious code detection unit 530 must perform a malicious code detection operation on all data transmitted to the malicious code detection unit 530. [ On the other hand, when the data filter 531 is provided, the malicious code detection unit 530 can perform malicious code detection on only a part of the filtered data. Accordingly, the malicious code detection algorithm may be effective. In addition, the size of the malicious code pattern table P.T for malicious code detection can be reduced, and the operation burden of the malicious code detection unit 530 can be reduced.

한편, 상기 데이터필터(531)는 분류된 제1 데이터군과 제2 데이터군을 서로 다른 구성으로 출력될 수도 있다. 예를 들어, 상기 데이터필터(531)는 악성코드로 의심된 데이터군은 악성코드탐지부내의 구성으로 전달할 수 있고, 악성코드가 아닌 데이터군은 버퍼(550), 메모리부(570), 또는 콘트롤러(590)로 전송할 수 있다.Meanwhile, the data filter 531 may output the classified first data group and the second data group in different configurations. For example, the data filter 531 may transmit the data group suspected of being malicious code to the configuration of the malicious code detection unit, and the data group not the malicious code may be transmitted to the buffer 550, the memory unit 570, (590).

상기 변환유닛(533)은 데이터의 단위를 변환할 수 있다. 상기 변환유닛(533)은 상기 변환유닛(533)으로 전송되는 데이터의 단위를 변경할 수 있다. 상기 변환유닛(533)은 복수의 블록단위의 데이터를 파일단위의 데이터로 변환하거나, 또는 파일단위의 데이터를 복수의 블록단위의 데이터로 변환할 수 있다.The conversion unit 533 can convert the unit of data. The conversion unit 533 can change the unit of data transmitted to the conversion unit 533. [ The conversion unit 533 can convert data of a plurality of block units into data of file units or data of file units into data of a plurality of blocks.

상기 탐지메모리(537)는 악성코드탐지와 관련된 데이터를 저장할 수 있다. 상기 탐지메모리(537)에는 악성코드패턴테이블(P.T)이 저장될 수 있다. 상기 악성코드패턴테이블(P.T)은 악성코드 별 악성코드패턴을 포함할 수 있다. 상기 악성코드패턴리스트는 제1 악성코드에 관련된 제1 악성코드패턴, 및 제2 악성코드에 관련된 제2 악성코드패턴을 포함할 수 있다.The detection memory 537 may store data related to malicious code detection. The malicious code pattern table P T may be stored in the detection memory 537. The malicious code pattern table (P.T) may include a malicious code pattern for each malicious code. The malicious code pattern list may include a first malicious code pattern related to the first malicious code and a second malicious code pattern related to the second malicious code.

한편, 상기 악성코드패턴테이블(P.T)이 상기 탐지메모리(537)에 저장되는 것으로 설명하였으나, 상기 악성코드패턴테이블(P.T)은 악성코드탐지부(530)와 별도로 구비되는 소정의 메모리에 저장될 수 있다. 상기 소정의 메모리는 콘트롤러 메모리일 수 있다.Meanwhile, although the malicious code pattern table PT is stored in the detection memory 537, the malicious code pattern table PT may be stored in a predetermined memory separately from the malicious code detection unit 530 . The predetermined memory may be a controller memory.

상기 악성코드탐지유닛(535)은 상기 악성코드탐지유닛(535)으로 전송된 데이터에 기초하여 이동식저장장치(500) 내의 악성코드를 탐지할 수 있다.The malicious code detection unit 535 may detect malicious code in the portable storage device 500 based on the data transmitted to the malicious code detection unit 535. [

상기 버퍼(550)는 데이터를 일시 보관할 수 있다. 상기 버퍼(550)는 상기 버퍼(550)로 전송된 데이터를 일시적으로 보관할 수 있다. 상기 버퍼(550)는 보관된 데이터를 특정 시점에 출력할 수 있다. 상기 버퍼(550)는 메모리콘트롤러일 수 있다.The buffer 550 may temporarily store data. The buffer 550 may temporarily store data transmitted to the buffer 550. [ The buffer 550 can output the stored data at a specific point in time. The buffer 550 may be a memory controller.

상기 버퍼(550)는 메모리부(570)로 전송되는 데이터를 제어할 수 있다. 상기 버퍼(550)는 상기 버퍼(550)에 보관된 데이터 중의 특정 데이터만을 출력할 수 있다. 상기 특정데이터는 악성코드로 탐지되지 않은 데이터일 수 있다.The buffer 550 may control data transmitted to the memory unit 570. The buffer 550 may output only specific data among the data stored in the buffer 550. The specific data may be data that is not detected as a malicious code.

상기 메모리부(570)는 데이터의 연산이 수행되는 구성일 수 있다. 상기 메모리부(570)에서는 데이터의 쓰기, 읽기, 대체, 삭제 등이 수행될 수 있다.The memory unit 570 may be configured to perform data operation. In the memory unit 570, data can be written, read, replaced, deleted, and the like.

상기 메모리부(570)는 복수의 셀, 및 복수의 블록을 포함할 수 있다. 하나의 블록은 복수의 셀로 구성될 수 있다. The memory unit 570 may include a plurality of cells and a plurality of blocks. One block may be composed of a plurality of cells.

상기 셀 및 상기 블록 별로 데이터가 연산될 수 있다.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 controller 590 can control overall operation of the portable storage device 500. The controller 590 can control operations of the host interface 510, the configuration of the malicious code detection unit 530, the buffer 550, and the memory unit 570.

상기 콘트롤러(590)는 호스트인터페이스(510), 악성코드탐지부(530)의 각 구성, 버퍼(550), 및 메모리부(570) 간의 데이터 전송을 제어할 수 있다. 즉, 이하에서 A 구성이 B 구성으로 데이터를 전송한다고 하는 경우, 특별한 언급이 없다면 상기 데이터 전송은 상기 콘트롤러(590)의 제어에 의한 것일 수 있다.The controller 590 can control data transmission between the host interface 510 and each configuration of the malicious code detection unit 530, the buffer 550, and the memory unit 570. That is, in the following, when the A configuration transmits data in the B configuration, the data transmission may be controlled by the controller 590 unless otherwise specified.

상기 콘트롤러(590)는 하드웨어, 소프트웨어, 또는 이들의 조합에 따라 컴퓨터나 이와 유사한 장치로 구현될 수 있다. 하드웨어적으로 콘트롤러(590)는 전기적인 신호를 처리하여 제어 기능을 수행하는 전자 회로 형태로 제공될 수 있으며, 소프트웨어적으로는 하드웨어적인 콘트롤러(590)를 구동시키는 프로그램 형태로 제공될 수 있다. The controller 590 may be implemented as a computer or similar device in accordance with hardware, software, or a combination thereof. The controller 590 may be provided in the form of an electronic circuit that processes the electrical signal to perform a control function, and may be provided in the form of a program that drives the controller 590 as a software in terms of hardware.

한편, 상기 이동식저장장치(500)의 각 구성의 동작, 데이터전송이 이동식저장장치(500)내의 콘트롤러(590)에 의해 제어된다고 하였으나, 호스트디바이스(300)에 의해 제어될 수도 있다. 예를 들어, 상기 호스트디바이스(300)의 운영체제(330)는 명령블록데이터가 호스트인터페이스(510)를 거쳐 콘트롤러(590)로 전송될 수 있도록 할 수 있다.Although the operation and data transmission of each configuration of the mobile storage device 500 are controlled by the controller 590 in the mobile storage device 500, they may be controlled by the host device 300. For example, the operating system 330 of the host device 300 may enable command block data to be transmitted to the controller 590 via the host interface 510. [

이상에서는 호스트디바이스(300)와 이동식저장장치(500)의 구성과 각 구성의 기능에 대해서 설명하였다. 이하에서는 호스트디바이스(300)와 이동식저장장치(500)의 데이터 전송 관계에 대해서 설명한다.The configurations of the host device 300 and the portable storage device 500 and the functions of the respective components have been described above. Hereinafter, the data transfer relationship between the host device 300 and the mobile storage device 500 will be described.

상기 호스트디바이스(300)의 각 구성은 데이터를 전송할 수 있다.Each configuration of the host device 300 may transmit data.

상기 호스트디바이스(300)의 각 구성은 파일단위의 호스트데이터(F-D)를 교환할 수 있다. 상기 어플리케이션(310)은 상기 운영체제(330)로 파일단위의 호스트데이터(F-D)를 전송할 수 있다. 상기 운영체제(330)는 상기 어플리케이션(310)으로 파일단위의 호스트데이터(F-D)를 전송할 수 있다.Each configuration of the host device 300 can exchange host data F-D on a file basis. The application 310 may transmit host data (F-D) in units of files to the operating system 330. The operating system 330 may transmit host data (F-D) in units of files to the application 310. [

상기 운영체제(330)는 복수의 블록단위의 명령데이터(B-CD)를 출력할 수 있다. 상기 운영체제(330)는 상기 파일단위의 호스트데이터(F-D)를 복수의 블록단위의 명령데이터(B-CD)로 변환하여 출력할 수 있다. 상기 운영체제(330)는 상기 복수의 블록단위의 명령데이터(B-CD)에 의해 이동식저장장치(500)에서 연산이 수행되도록 할 수 있다. 즉, 상기 복수의 블록단위의 명령데이터(B-CD)는 연산패턴을 포함할 수 있다.The operating system 330 may output command data (B-CD) of a plurality of blocks. The operating system 330 may convert the host data F-D of the file unit into the command data B-CD of a plurality of blocks. The operating system 330 may cause the mobile storage device 500 to perform an operation on the plurality of blocks of command data (B-CD). That is, the command data (B-CD) in units of blocks may include a calculation pattern.

상기 호스트디바이스(300)와 상기 이동식저장장치(500)는 데이터를 교환할 수 있다. The host device 300 and the portable storage device 500 may exchange data.

상기 호스트디바이스(300)와 상기 이동식저장장치(500)가 데이터를 교환하는 것은 연동으로 정의될 수 있다.The exchange of data between the host device 300 and the portable storage device 500 may be defined as interworking.

상기 호스트디바이스(300)의 운영체제(330)와 상기 이동식저장장치(500)의 호스트인터페이스(510)는 통신할 수 있다. 상기 운영체제(330)는 상기 호스트인터페이스(510)로 복수의 블록단위의 명령데이터(B-CD)를 전송할 수 있다. 상기 호스트인터페이스(510)는 상기 운영체제(330)로 복수의 블록단위의 읽기데이터(B-RD)를 전송할 수 있다.The operating system 330 of the host device 300 and the host interface 510 of the portable storage device 500 may communicate with each other. The operating system 330 may transmit command data (B-CD) of a plurality of blocks to the host interface 510. The host interface 510 may transmit read data (B-RD) in units of blocks to the operating system 330.

상기 이동식저장장치(500)의 각 구성은 데이터를 교환할 수 있다.Each configuration of the portable storage device 500 may exchange data.

상기 호스트인터페이스(510)는 상기 명령데이터(B-CD)를 전송 받을 수 있다. 상기 호스트인터페이스(510)는 상기 명령데이터(B-CD)를 악성코드탐지부(530)의 데이터필터(531)로 전송할 수 있다. 또는, 상기 호스트인터페이스(510)는 상기 명령데이터(B-CD)를 버퍼(550)로 전송할 수 있다.The host interface 510 may receive the command data (B-CD). The host interface 510 may transmit the command data (B-CD) to the data filter 531 of the malicious code detection unit 530. Alternatively, the host interface 510 may transmit the command data (B-CD) to the buffer 550.

상기 버퍼(550)는 이동식저장장치(500)의 각 구성과 데이터를 교환할 수 있다. The buffer 550 may exchange data with each configuration of the portable storage device 500.

상기 버퍼(550)는 복수의 블록단위의 쓰기데이터(B-WD)를 메모리부(570)에 전달할 수 있다. 상기 쓰기데이터(B-WD)는 메모리부(570)에서 수행되는 연산을 위한 데이터로 정의될 수 있다. 상기 쓰기데이터(B-WD)는 셀과 블록에 할당된 주소와 관련된 데이터, 또는 연산을 위한 데이터를 포함할 수 있다.The buffer 550 may transmit write data (B-WD) in units of a plurality of blocks to the memory unit 570. The write data (B-WD) may be defined as data for an operation performed in the memory unit 570. The write data (B-WD) may include data related to an address assigned to a cell and a block, or data for an operation.

상기 버퍼(550)는 상기 메모리부(570)로부터 복수의 블록단위의 상태데이터(B-SD)를 전달받을 수 있다. 상기 상태데이터(B-SD)는 셀과 블록에 할당된 주소 및 연산과 관련된 연산패턴, 또는 연산될 정보와 관련된 내용패턴을 포함할 수 있다.The buffer 550 may receive a plurality of block-level status data (B-SD) from the memory unit 570. The status data (B-SD) may include an address assigned to the cell and the block, an operation pattern associated with the operation, or a content pattern related to the information to be computed.

상기 버퍼(550)는 상기 읽기데이터를 악성코드탐지부(530)의 데이터필터(531)로 전송할 수 있다.The buffer 550 may transmit the read data to the data filter 531 of the malicious code detection unit 530.

상기 버퍼(550)는 복수의 블록단위의 읽기데이터(B-SD)를 호스트인터페이스(510)로 전송할 수 있다. 상기 읽기데이터(B-RD)는 상태데이터 (B-SD) 중 특정한 데이터일 수 있다. 상기 읽기데이터(B-RD)는 상기 상태데이터(B-SD) 중 악성코드로 탐지되지 않은 데이터일 수 있다.The buffer 550 may transmit read data (B-SD) of a plurality of blocks to the host interface 510. The read data (B-RD) may be specific data of the status data (B-SD). The read data (B-RD) may be data not detected as a malicious code among the status data (B-SD).

상기 악성코드탐지부(530)의 각 구성은 데이터를 서로 교환할 수 있다. 상기 악성코드탐지부(530)의 각 구성은 데이터를 전송하고, 전송받을 수 있다.Each configuration of the malicious code detection unit 530 can exchange data with each other. Each configuration of the malicious code detection unit 530 can transmit and receive data.

상기 데이터필터(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 host interface 510. The data filter 531 may receive the read data (B-RD) from the buffer 550. However, the present invention is not limited thereto. The data filter 531 can receive command data (B-CD) or read data (B-RD) from the controller 590.

상기 데이터필터(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 conversion unit 533. [ The filtering data (B-FD) in units of blocks may be defined as a plurality of command data (B-CD) suspecting malicious codes.

상기 변환유닛(533)은 상기 악성코드탐지유닛(535)과 데이터를 교환할 수 있다.The conversion unit 533 may exchange data with the malicious code detection unit 535. [

상기 변환유닛(533)은 상기 악성코드탐지유닛(535)으로 파일단위의 필터링데이터(F-FD)를 전송할 수 있다. 상기 변환유닛(533)은 복수의 블록단위의 필터링데이터(B-FD)의 단위를 변환하여 파일단위의 필터링데이터(F-FD)를 악성코드탐지유닛(535)으로 전송할 수 있다.The conversion unit 533 can transmit filtering data (F-FD) in units of files to the malicious code detection unit 535. [ The conversion unit 533 can convert the units of the filtering data (B-FD) in units of a plurality of blocks and transmit the filtering data (F-FD) in units of files to the malicious code detection unit 535.

상기 변환유닛(533)은 상기 악성코드탐지유닛(535)으로부터 파일단위의 탐지데이터(F-DD)를 전송받을 수 있다. 상기 파일단위의 탐지데이터(F-DD)는 악성코드탐지유닛(535)의 악성코드탐지결과를 포함하는 데이터로 정의될 수 있다.The conversion unit 533 can receive the detection data (F-DD) on a file basis from the malicious code detection unit 535. [ The detection data (F-DD) of the file unit may be defined as data including the malicious code detection result of the malicious code detection unit 535. [

상기 변환유닛(533)은 복수의 블록단위의 탐지데이터(B-DD)를 상기 버퍼(550)로 전송할 수 있다. 상기 변환유닛(533)은 파일단위의 탐지데이터(F-DD)의 단위를 변환하여 복수의 블록단위의 탐지데이터(B-DD)를 버퍼(550)로 전송할 수 있다. 상기 복수의 블록단위의 탐지데이터(B-DD)는 파일단위의 탐지데이터(F-DD)에 포함된 악성코드탐지결과를 포함하는 데이터일 수 있다.The conversion unit 533 can transmit the detection data (B-DD) of a plurality of blocks to the buffer 550. The conversion unit 533 may convert the units of the detection data (F-DD) in units of files and transmit the detection data (B-DD) in units of blocks to the buffer 550. The detection data (B-DD) on a block-by-block basis may be data including a malicious code detection result included in the detection data (F-DD) on a file basis.

한편, 상기 복수의 블록단위의 탐지데이터(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 buffer 550 may define state data (B-SD) and write data (B-WD) based on the detection data (B-DD) of the plurality of blocks. The status data (B-SD) and the write data (B-WD) may be data whose suspected malicious code is removed based on the detection data (B-DD).

상기 악성코드탐지유닛(535)은 파일단위의 필터링데이터(F-FD)를 전송 받을 수 있다. 상기 악성코드탐지유닛(535)은 탐지메모리(537)로부터 악성코드패턴테이블(P.T)을 호출할 수 있다. 상기 악성코드탐지유닛(535)은 상기 파일단위의 필터링데이터(F-FD)와 악성코드패턴테이블(P.T)에 기초하여 악성코드탐지동작을 수행할 수 있다.The malicious code detection unit 535 can receive filtering data (F-FD) in units of files. The malicious code detection unit 535 may call the malicious code pattern table P.T from the detection memory 537. [ The malicious code detection unit 535 can perform a malicious code detection operation based on the filtering data (F-FD) of the file unit and the malicious code pattern table (P.T).

상기 콘트롤러(590)는 이동식저장장치(500)의 각 구성과 데이터를 교환할 수 있다.The controller 590 may exchange data with each configuration of the portable storage device 500.

상기 콘트롤러(590)는 이동식저장장치(500)의 각 구성을 제어하기 위한 데이터를 전송할 수 있다. 예를 들어, 상기 콘트롤러(590)는 상기 버퍼(550)의 데이터 출력 시점을 제어하기 위한 데이터를 상기 버퍼(550)로 전송할 수 있다.The controller 590 may transmit data for controlling each configuration of the mobile storage device 500. For example, the controller 590 may transmit data for controlling the data output time of the buffer 550 to the buffer 550.

상기 콘트롤러(590)는 이동식저장장치(500)의 각 구성으로부터 소정의 데이터를 전송 받을 수 있다. 예를 들어, 상기 악성코드탐지유닛(535)으로부터 복수의 블록단위의 탐지데이터(B-DD)를 전송 받을 수 있다.The controller 590 can receive predetermined data from each configuration of the mobile storage device 500. For example, detection data (B-DD) of a plurality of blocks can be received from the malicious code detection unit 535. [

또한, 상기 콘트롤러(590)는 상기 데이터필터(531)로 복수의 블록단위의 명령데이터(B-CD), 또는 복수의 블록단위의 읽기데이터(B-RD)를 전송할 수도 있다. Also, the controller 590 may transmit command data (B-CD) of a plurality of blocks or read data (B-RD) of a plurality of blocks to the data filter 531.

또한, 상기 콘트롤러(590)는 탐지메모리(537)에 저장된 악성코드패턴테이블(P.T)의 업데이트를 위해, 호스트인터페이스(510)를 통해 호스트디바이스(300)로 소정의 업데이트 데이터를 요청할 수 있고, 업데이트 데이터를 반환 받을 수 있다.The controller 590 may request predetermined update data to the host device 300 via the host interface 510 to update the malicious code pattern table PT stored in the detection memory 537, Data can be returned.

이상에서는 호스트디바이스(300)와 이동식저장장치(500)의 데이터 전송 관계에 대해서 설명하였다. 이하에서는 상기 이동식저장장치(500)의 악성코드검사동작에 대해서 설명한다.The data transfer relationship between the host device 300 and the mobile storage device 500 has been described above. Hereinafter, malicious code checking operations of the portable storage device 500 will be described.

도 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 portable storage device 500 may include malicious code pattern table calling (S1000), malicious code pattern comparison (S2000), malicious code detection (S3000) (S4000).

상기 악성코드패턴테이블호출 단계(S1000)에서 상기 악성코드탐지유닛(535)은 악성코드패턴테이블(P.T)을 호출할 수 있다. 상기 악성코드탐지유닛(535)은 탐지메모리(537)로 악성코드패턴테이블(P.T) 호출을 위한 요청데이터를 전송할 수 있다. 상기 악성코드탐지유닛(535)은 상기 요청데이터에 대한 결과값으로 상기 탐지메모리(537)로부터 악성코드패턴테이블(P.T)을 전송 받을 수 있다.In the malicious code pattern table calling step S1000, the malicious code detecting unit 535 may call the malicious code pattern table P.T. The malicious code detection unit 535 may transmit the request data for calling the malicious code pattern table P.T to the detection memory 537. [ The malicious code detection unit 535 can receive the malicious code pattern table P.T from the detection memory 537 as a result value for the request data.

상기 악성코드패턴비교 단계(S2000)에서 상기 악성코드탐지유닛(535)은 데이터의 패턴을 비교하는 패턴비교동작을 수행할 수 있다. 상기 악성코드탐지유닛(535)은 상기 패턴비교동작에 기초하여 악성코드탐지유닛(535)으로 전달된 데이터의 패턴을 분석할 수 있다. 상기 악성코드탐지유닛(535)은 상기 악성코드패턴테이블(P.T)에 포함된 악성코드패턴과 파일단위의 필터링데이터(F-FD)에 포함된 패턴을 비교할 수 있다. In the malicious code pattern comparison step S2000, the malicious code detection unit 535 may perform a pattern comparison operation for comparing patterns of data. The malicious code detection unit 535 can analyze the pattern of the data transmitted to the malicious code detection unit 535 based on the pattern comparison operation. The malicious code detection unit 535 can compare the malicious code pattern included in the malicious code pattern table P.T with the pattern included in the filtering data (F-FD) in file units.

상기 악성코드탐지유닛(535)은 상기 파일단위의 필터링데이터(F-FD)에 대한 패턴비교동작을 수행할 수 있다. 상기 악성코드탐지유닛(535)은 악성코드로 의심되는 파일단위의 데이터에 대해서만 패턴비교동작을 수행할 수 있다. 악성코드로 의심되는 데이터에 대해서만 악성코드탐지가 수행됨으로써 악성코드탐지가 신속하게 수행될 수 있다.The malicious code detection unit 535 may perform a pattern comparison operation on the filtering data (F-FD) of the file unit. The malicious code detection unit 535 can perform the pattern comparison operation only on the file unit data suspected of malicious code. Malicious code detection is performed only for data suspected to be malicious code, so malicious code detection can be performed quickly.

상기 악성코드탐지유닛(535)은 악성코드의 우선순위에 따라 패턴비교동작을 수행할 수 있다. 상기 우선순위는 악성코드의 위험도, 악성코드 탐지 이력, 악성코드 업데이트 일시 등에 따라 결정될 수 있다. 상기 악성코드탐지유닛(535)은 악성코드의 우선순위 순서대로, 상기 파일단위의 필터링데이터(F-FD)에 상기 악성코드의 패턴이 존재하는지 여부를 탐지할 수 있다.The malicious code detection unit 535 may perform a pattern comparison operation according to the priority of the malicious code. The priority may be determined according to the risk of the malicious code, the malicious code detection history, the malicious code update date and the like. The malicious code detection unit 535 can detect whether or not the pattern of the malicious code exists in the filtering data (F-FD) of the file unit in order of priority of the malicious code.

상기 악성코드탐지유닛(535)은 상기 패턴비교동작에 따른 분석결과를 생성할 수 있다. The malicious code detection unit 535 can generate an analysis result according to the pattern comparison operation.

상기 악성코드탐지 단계(S3000)에서 상기 이동식저장장치(500)는 악성코드를 탐지할 수 있다. In the malicious code detection step S3000, the portable storage device 500 may detect a malicious code.

상기 이동식저장장치(500)는 상기 분석결과에 기초하여 복수의 블록단위의 명령데이터(B-CD)의 악성코드 포함 여부를 탐지할 수 있다. The portable storage device 500 can detect whether or not the command data (B-CD) of a plurality of block units includes malicious code based on the analysis result.

상기 악성코드탐지유닛(535)은 분석결과로서 파일단위의 탐지데이터(F-DD)를 변환유닛(533)으로 전송할 수 있다. 상기 변환유닛(533)은 상기 파일단위의 탐지데이터(F-DD)를 블록단위의 탐지데이터(B-DD)로 변환할 수 있다. 상기 변환유닛(533)은 상기 복수의 블록단위의 탐지데이터(B-DD)를 콘트롤러(590) 또는 버퍼(550)로 전송할 수 있다. 상기 콘트롤러(590) 또는 상기 버퍼(550)는 상기 복수의 블록단위의 탐지데이터(B-DD)를 기초로 복수의 블록단위의 명령데이터(B-CD) 또는 복수의 블록단위의 상태데이터(B-SD) 내의 악성코드를 탐지할 수 있다. The malicious code detection unit 535 can transmit the detection data (F-DD) on a file basis to the conversion unit 533 as an analysis result. The conversion unit 533 can convert the detection data (F-DD) of the file unit into the detection data (B-DD) of the block unit. The conversion unit 533 may transmit the detection data (B-DD) of the plurality of blocks to the controller 590 or the buffer 550. [ The controller 590 or the buffer 550 reads out the command data B-CD of a plurality of blocks or the state data B of a plurality of blocks on the basis of the detection data B- -SD) to detect malicious code.

악성코드가 탐지되는 경우, 상기 콘트롤러(590)는 결과데이터를 생성할 수 있다. 상기 결과데이터는 악성코드탐지신호일 수 있다.If a malicious code is detected, the controller 590 may generate result data. The result data may be a malicious code detection signal.

상기 악성코드탐지 단계(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 controller 590 of the portable storage device 500 may transmit predetermined data to each configuration of the mobile storage device 500 so that the processing operation is performed.

상기 소정의 데이터 및 상기 소정의 데이터에 의한 이동식저장장치(500)의 처리동작은 구체적으로 후술하도록 한다.The processing operation of the portable storage device 500 by the predetermined data and the predetermined data will be described later in detail.

상기 악성코드검사동작의 수행을 위해서 소정의 데이터가 악성코드탐지부(530) 내에서 전송될 수 있다.Predetermined data may be transmitted in the malicious code detection unit 530 in order to perform the malicious code checking operation.

도 4를 참조하면, 상기 악성코드탐지동작을 위한 데이터는 데이터필터(531), 변환유닛(533), 악성코드탐지유닛(535) 순서로 전송될 수 있다.Referring to FIG. 4, the data for the malicious code detection operation may be transmitted in the order of a data filter 531, a conversion unit 533, and a malicious code detection unit 535.

이하에서는 도 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 conversion unit 533.

상기 데이터필터(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 data filter 531 may generate the filtering data (B-FD) of a plurality of blocks by filtering the command data (B-CD) of the plurality of blocks. The filtering data (B-FD) may include data of a plurality of blocks suspected of malicious code and data of a plurality of blocks instead of malicious codes. The data filter 531 may output the classified filtering data (B-FD) in units of blocks to the conversion unit 533 (S3130).

상기 변환유닛(533)은 필터링된 복수의 블록단위의 데이터의 단위를 변환하여 악성코드탐지유닛(535)으로 전송할 수 있다.The conversion unit 533 may convert a unit of data of a plurality of filtered blocks and transmit the converted unit of data to the malicious code detection unit 535.

상기 변환유닛(533)은 상기 데이터필터(531)로부터 복수의 블록단위의 필터링데이터(B-FD)를 획득(S3140)할 수 있다. 상기 복수의 블록단위의 필터링데이터(B-FD)는 복수의 블록단위의 명령데이터(B-CD)가 필터링된 데이터일 수 있다. 데이터변환(S3150)단계에서, 상기 변환유닛(533)은 상기 복수의 블록단위의 필터링데이터(B-FD)를 파일단위의 필터링데이터(F-FD)로 변환할 수 있다. 상기 변환유닛(533)은 상기 파일단위의 필터링데이터(F-FD)를 악성코드탐지유닛(535)으로 출력(S3160)할 수 있다.The conversion unit 533 may acquire filtering data (B-FD) in units of a plurality of blocks from the data filter 531 (S3140). The filtering data (B-FD) of the plurality of blocks may be data obtained by filtering command data (B-CD) of a plurality of blocks. In the data conversion step S3150, the conversion unit 533 may convert the filtering data (B-FD) of the plurality of block units into the filtering data (F-FD) of file units. The conversion unit 533 may output the filtering data (F-FD) of the file unit to the malicious code detection unit 535 (S3160).

상기 악성코드탐지유닛(535)은 필터링된 파일단위의 필터링데이터(F-FD)를 획득하여 악성코드탐지동작을 수행할 수 있다.The malicious code detection unit 535 may acquire filtered data (F-FD) of the filtered file unit to perform a malicious code detection operation.

상기 악성코드탐지유닛(535)은 상기 변환유닛(533)으로부터 파일단위의 필터링데이터(F-FD)를 획득(S3170)할 수 있다. 상기 파일단위의 필터링데이터(F-FD)는 악성코드로 의심되는 파일단위의 데이터와 악성코드가 아닌 파일단위의 데이터를 포함할 수 있다. 악성코드탐지(S3180)단계에서, 상기 악성코드탐지유닛(535)은 파일단위의 필터링 데이터 내의 악성코드를 탐지할 수 있다. 상기 악성코드탐지단계에서 악성코드탐지유닛(535)은 전술한 악성코드패턴테이블(P.T)호출 단계, 악성코드패턴 비교 단계를 수행할 수 있다. The malicious code detection unit 535 may obtain the filtering data F-FD in units of files from the conversion unit 533 (S3170). The filtering data (F-FD) of the file unit may include data of a unit of a file suspected of being a malicious code and data of a file unit instead of a malicious code. In the malicious code detection (S3180), the malicious code detection unit 535 can detect malicious code in the filtering data of the file unit. In the malicious code detection step, the malicious code detection unit 535 may perform the malicious code pattern table (P.T) calling step and the malicious code pattern comparing step.

한편, 이상에서 복수의 블록단위의 명령데이터(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 data filter 531 and the conversion unit 533 may be defined as a first malicious code checking operation (S2010). The first malicious code checking operation (S2010) may be a file malicious code checking operation.

이하에서는 악성코드처리단계에 대해서 구체적으로 설명하도록 한다.Hereinafter, the malicious code processing step will be described in detail.

악성코드처리단계에서, 이동식저장장치(500)는 탐지된 악성코드를 처리하는 처리동작을 수행할 수 있다.In the malicious code processing step, the portable storage device 500 can perform a processing operation for processing the detected malicious code.

도 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 host device 300, and iv) Warning file creation. The processing operation can be performed by transferring the data of the controller 590. [ The predetermined data may be a malicious code detection signal, blocking data, or warning data.

도 5를 참조하면, 상기 콘트롤러(590)는 상기 버퍼(550)의 쓰기데이터(B-WD)의 출력을 제어할 수 있다. 상기 콘트롤러(590)는 상기 버퍼(550)로 악성코드탐지신호를 전송할 수 있다. 상기 콘트롤러(590)는 상기 버퍼(550)의 악성코드탐지신호의 획득 시점에 따라 상기 쓰기데이터(B-WD)의 출력을 제어할 수 있다.Referring to FIG. 5, the controller 590 may control the output of write data (B-WD) of the buffer 550. The controller 590 may transmit a malicious code detection signal to the buffer 550. The controller 590 may control the output of the write data (B-WD) according to the time of acquisition of the malicious code detection signal of the buffer 550. [

도 5 (a)를 참조하면, 상기 버퍼(550)는 쓰기데이터(B-WD) 출력(S4110) 이후에 상기 쓰기데이터(B-WD)에 관련한 악성코드탐지신호를 획득(S4130)할 수 있다. 5A, the buffer 550 may acquire a malicious code detection signal related to the write data (B-WD) after the write data (B-WD) output (S4110) .

상기 콘트롤러(590)는 악성코드탐지신호 획득 시점 이후에 상기 버퍼(550)로부터 출력되는 쓰기데이터(B-WD)를 제어(S4150)할 수 있다. 상기 콘트롤러(590)는 상기 버퍼(550)의 쓰기데이터(B-WD) 출력을 지수함수적으로 늦출 수 있다. 상기 콘트롤러(590)는 상기 버퍼(550)의 쓰기데이터(B-WD)의 출력을 중단시킬 수 있다. The controller 590 may control the write data (B-WD) output from the buffer 550 after the malicious code detection signal acquisition time (S4150). The controller 590 may exponentially delay the write data (B-WD) output of the buffer 550. [ The controller 590 may stop the output of the write data (B-WD) of the buffer 550. [

또는, 상기 콘트롤러(590)는 이미 출력된 쓰기데이터(B-WD)에 의해 수행된 연산을 수복할 수 잇다. 상기 콘트롤러(590)는 이미 출력된 쓰기데이터(B-WD)에 의해 연산이 수행된 메모리부(570)의 셀, 또는 블록의 주소를 역산할 수 있다. 상기 콘트롤러(590)는 상기 주소의 셀, 또는 상기 주소의 블록에 존재하는 데이터를 삭제하도록 버퍼(550) 혹은 메모리부(570)를 제어할 수 있다.Alternatively, the controller 590 can repair the operation performed by the already-written write data (B-WD). The controller 590 may invert the address of the cell or block of the memory unit 570 that has been operated on by the already written write data (B-WD). The controller 590 may control the buffer 550 or the memory unit 570 to delete data existing in a cell of the address or a block of the address.

도 5 (b)를 참조하면, 상기 버퍼(550)는 쓰기데이터(B-WD) 출력 이전에 상기 쓰기데이터(B-WD)에 관련한 악성코드탐지신호를 획득(S4310)할 수 있다.Referring to FIG. 5B, the buffer 550 may acquire a malicious code detection signal related to the write data (B-WD) before the write data (B-WD) is output (S4310).

이 경우, 상기 콘트롤러(590)는 상기 쓰기데이터(B-WD)의 출력을 차단할 수 있다.In this case, the controller 590 may block the output of the write data (B-WD).

상기와 같이 악성코드탐지시점별로 처리동작이 수행되는 경우, 불필요한 악성코드 처리동작이 수행되지 않아도 되는 효과를 가질 수 있다. 시점별로 처리동작이 수행되지 않는 경우, 쓰기데이터(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 controller 590 may block communication between the host interface 510 and the host device 300.

상기 콘트롤러(590)는 상기 호스트인터페이스(510)로 차단데이터를 전송할 수 있다. 상기 콘트롤러(590)는 악성코드가 탐지(S4510)된 경우, 차단데이터를 생성(S4530)할 수 있다. 상기 차단데이터는 상기 호스트인터페이스(510)와 상기 호스트디바이스(300)의 통신을 차단할 수 있는 제어신호일 수 있다. 상기 차단데이터는 복수의 블록단위의 데이터일 수 있다. 상기 콘트롤러(590)는 상기 생성된 차단데이터를 호스트인터페이스(510)로 전달(S4550)할 수 잇다.The controller 590 may transmit the blocking data to the host interface 510. When the malicious code is detected (S4510), the controller (590) may generate the blocking data (S4530). The blocking data may be a control signal that can block communication between the host interface 510 and the host device 300. The blocking data may be data of a plurality of blocks. The controller 590 may transmit the generated blocking data to the host interface 510 (S4550).

상기 호스트인터페이스(510)는 상기 콘트롤러(590)로부터 차단데이터를 획득(S4570)할 수 있다. 이 경우, 상기 호스트인터페이스(510)는 호스트디바이스(300)와 통신을 차단(S4590)할 수 있다. 상기 차단은 소프트웨어적으로 상기 호스트디바이스(300)의 데이터의 전송을 차단하는 것일 수 있다. 상기 호스트인터페이스(510)는 상기 운영체제(330)로부터 전달되는 모든 데이터 전송을 차단할 수 있다.The host interface 510 may acquire the blocking data from the controller 590 (S4570). In this case, the host interface 510 may intercept communication with the host device 300 (S4590). The blocking may be to block transmission of data of the host device 300 in a software manner. The host interface 510 may block all data transmission from the operating system 330.

도 7을 참조하면, 상기 콘트롤러(590)는 호스트디바이스(300)의 사용자에게 악성코드에 대한 경고 알림을 줄 수 있다. 상기 콘트롤러(590)는 상기 호스트디바이스(300) 내에 경고파일이 생성되도록 할 수 있다. 상기 콘트롤러(590)는 경고데이터를 생성하여 상기 경고데이터가 상기 운영체제(330)로 전달될 수 있도록 할 수 있다.Referring to FIG. 7, the controller 590 may give a warning to the user of the host device 300 about a malicious code. The controller 590 may cause the host device 300 to generate a warning file. The controller 590 may generate alert data to allow the alert data to be delivered to the operating system 330.

상기 콘트롤러(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 controller 590 may transmit the generated alert data to the host interface 510 (S4730).

상기 호스트인터페이스(510)는 상기 콘트롤러(590)로부터 경고데이터를 획득(S4740)할 수 있다. 상기 호스트인터페이스(510)는 획득한 경고데이터를 호스트디바이스(300)의 운영체제(330)로 전달(S4750)할 수 있다.The host interface 510 may acquire warning data from the controller 590 (S4740). The host interface 510 may transmit the acquired warning data to the operating system 330 of the host device 300 (S4750).

상기 운영체제(330)는 상기 호스트인터페이스(510)로부터 복수의 블록단위의 경고데이터를 획득(S4760)할 수 있다. 상기 운영체제(330)는 상기 획득한 복수의 블록단위의 경고데이터를 변환할 수 있다(S4770). 상기 계층변환(S4770)단계에서, 상기 운영체제(330)는 상기 경고데이터의 단위를 변환할 수 있으며, 상기 경고데이터에 포함된 연산이 수행될 수 있도록 상기 경고데이터를 논리적으로 분석할 수 있다. 상기 계층변환결과에 기초하여, 상기 운영체제(330)는 경고파일을 생성(S4770)할 수 있다. 상기 경고파일은 호스트디바이스(300)의 사용자에게 악성코드 경고 알림을 줄 수 있다.The operating system 330 may acquire alert data for a plurality of blocks from the host interface 510 (S4760). The operating system 330 may convert the obtained alert data in units of blocks (S4770). In step S4770, the operating system 330 may convert the unit of the warning data, and logically analyze the warning data so that the operation included in the alert data may be performed. Based on the layer conversion result, the operating system 330 may generate a warning file (S4770). The warning file may give a malicious code warning notice to the user of the host device 300. [

또는, 상기 콘트롤러(590)는 탐지된 악성코드의 이력을 생성할 수 있다. Alternatively, the controller 590 may generate a history of the detected malicious code.

상기 콘트롤러(590)는 상기 악성코드패턴리스트에 이동식정장치에서 탐지된 악성코드를 기록할 수 있다. 상기 콘트롤러(590)는 상기 악성코드의 탐지 이력에 기초하여 상기 악성코드패턴리스트의 악성코드별로 우선순위를 달리 줄 수 있다.The controller 590 may record the malicious code detected in the mobile device in the malicious code pattern list. The controller 590 may assign different priority levels to malicious codes of the malicious code pattern list based on the detection history of the malicious codes.

상기 콘트롤러(590)는 상기 탐지된 악성코드가 기록되는 악성코드이력을 생성할 수도 있다. 상기 악성코드이력에는 악성코드 별로 탐지된 탐지횟수가 기록될 수 있다.The controller 590 may generate a malicious code history in which the detected malicious code is recorded. The detected number of detected malicious codes may be recorded in the history of the malicious code.

상기 우선순위, 및 상기 탐지횟수는 악성코드탐지에 이용될 수 있다. 상기 이동식저장장치(500)는 악성코드의 우선순위에 순서대로 악성코드탐지동작을 수행할 수 있다. 상기 이동식저장장치(500)는 악성코드의 탐지 이력에 기초하여 악성코드의 탐지횟수 순서대로 악성코드탐지동작을 수행할 수 있다. The priority, and the number of detections may be used for malicious code detection. The portable storage device 500 can perform a malicious code detection operation in order of priority of a malicious code. The portable storage device 500 can perform a malicious code detection operation in the order of detection frequency of malicious codes based on the detection history of malicious codes.

<제2 실시예>&Lt; Embodiment 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 mobile storage device 500 according to an embodiment of the present invention can perform a malicious code checking operation on a plurality of block units. The malicious code checking operation on the plurality of block units may be defined as a second malicious code checking operation (S2030).

도 8 및 도 9를 참조하면, 상기 악성코드탐지부(530)는 복수의 블록단위의 필터링데이터(B-FD)에 기초하여 악성코드검사동작을 수행할 수 있다.Referring to FIGS. 8 and 9, the malicious code detection unit 530 may perform a malicious code checking operation based on filtering data (B-FD) of a plurality of blocks.

상기 데이터필터(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 code detection unit 535 can acquire the filtering data (B-FD) of the plurality of blocks from the data filter 531 (S3700). The malicious code detection unit 535 can detect a malicious code based on data of a plurality of blocks (S3900).

상기 악성코드탐지(S3900)단계에서, 상기 악성코드탐지유닛(535)은 상기 복수의 블록단위의 데이터에 기초하여 악성코드탐지 동작을 수행할 수 있다. 상기 악성코드탐지유닛(535)은 상기 복수의 블록단위의 데이터의 패턴을 분석할 수 있다. In the malicious code detection (S3900), the malicious code detection unit 535 may perform a malicious code detection operation based on the data of the plurality of blocks. The malicious code detection unit 535 can analyze patterns of the data of the plurality of blocks.

상기 악성코드탐지유닛(535)은 상기 복수의 블록단위의 데이터 중 일부인 특정데이터만의 패턴을 분석할 수 있다. 상기 특정데이터는 악성코드에 의해 주로 손상되는 데이터일 수 있다. 예를 들어, 상기 특정데이터는 파일의 헤더에 관련된 헤더데이터일 수 있다.The malicious code detection unit 535 can analyze a pattern of only specific data that is a part of the data of the plurality of block units. The specific data may be data that is mainly damaged by a malicious code. For example, the specific data may be header data related to a header of a file.

상기 특정데이터는 제1 특정데이터 및 제2 특정데이터를 포함할 수 있다.The specific data may include first specific data and second specific data.

상기 악성코드탐지유닛(535)은 악성코드별로 상기 특정데이터를 정의할 수 있다. 상기 악성코드탐지유닛(535)은 상기 제1 악성코드에 기초한 제1 특정데이터를 정의할 수 있고, 상기 제2 악성코드에 기초한 제2 특정데이터를 정의할 수 있다. The malicious code detection unit 535 can define the specific data for each malicious code. The malicious code detection unit 535 can define the first specific data based on the first malicious code and define the second specific data based on the second malicious code.

상기 악성코드탐지유닛(535)은 악성코드의 우선순위에 따라 특정데이터 별로 패턴탐지동작의 수행 순서를 설정할 수 있다. 상기 제1 악성코드가 제2 악성코드보다 우선순위가 높은 경우, 상기 악성코드탐지유닛(535)은 상기 제2 특정데이터보다 먼저 상기 제1 특정데이터의 패턴을 분석할 수 있다.The malicious code detection unit 535 can set the execution order of the pattern detection operation for each specific data according to the priority of the malicious code. If the first malicious code has a higher priority than the second malicious code, the malicious code detection unit 535 can analyze the pattern of the first specific data before the second specific data.

상기 제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 code detecting unit 530 is transferred to the data filter 531, the converting unit 533, the malicious code detecting unit 535 ) Must be transmitted in order. Accordingly, the data in the block unit may be omitted in the transmission process, and malicious code detection may not be performed on the missing data. When the malicious code checking operation on the block basis is performed, the transmission path of the data on a block-by-block basis may be shorter than the file malicious code checking operation. Thus, the missing data of the block unit is reduced, and the malicious code detection can be precisely detected.

또는, 상기 제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 실시예>&Lt; 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 portable storage device 500 according to an embodiment of the present invention can perform a malicious code checking operation without filtering predetermined data. In this case, the malicious code checking operation may be defined as a third malicious code checking operation (S2050).

도 10 및 도 11을 참조하면, 상기 악성코드탐지부(530)는 필터링되지 않은 파일단위의 데이터(F-D)에 기초하여 악성코드검사동작을 수행할 수 있다.Referring to FIGS. 10 and 11, the malicious code detecting unit 530 may perform a malicious code checking operation based on unfiltered file unit data (F-D).

상기 변환유닛(533)은 복수의 블록단위의 데이터를 획득(S5100)할 수 있다. 상기 복수의 블록단위의 데이터는 복수의 블록단위의 명령데이터(B-CD) 및 복수의 블록단위의 읽기데이터를 포함할 수 있다. 상기 변환유닛(533)은 상기 복수의 블록단위의 데이터를 변환(S5300)하여, 파일단위의 파일데이터를 생성할 수 있다. 상기 변환유닛(533)은 상기 파일단위의 파일데이터를 악성코드탐지유닛(535)으로 전달(S5500)할 수 있다.The conversion unit 533 can acquire data of a plurality of blocks (S5100). 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. The conversion unit 533 converts the data of the plurality of blocks (S5300), and can generate file data in units of files. The conversion unit 533 may transmit the file data of the file unit to the malicious code detection unit 535 (S5500).

상기 악성코드탐지유닛(535)은 상기 파일단위의 파일데이터를 상기 데이터필터(531)로부터 획득(S5700)할 수 있다. 상기 악성코드탐지유닛(535)은 파일단위의 데이터(F-D)에 기초하여 악성코드를 탐지(S5900)할 수 있다. 상기 파일단위의 데이터(F-D)는 악성코드로 의심되는 데이터 및 악성코드가 아닌 데이터를 포함할 수 있다.The malicious code detection unit 535 may obtain the file data of the file unit from the data filter 531 (S5700). The malicious code detection unit 535 can detect malicious code (S5900) based on the file unit data F-D. The file-based data (F-D) may include data suspected of being malicious code and data other than malicious code.

상기 제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 portable storage device 500 according to an embodiment of the present application may selectively perform malicious code checking operations.

상기 이동식저장장치(500)는 악성코드탐지의 정밀도, 신속도 등에 기초하여 악성코드검사동작을 선택적으로 수행할 수 있다. 이하에서는 상기 이동식저장장치(500)가 탐지의 정밀도에 기초하여 악성코드검사동작을 선택하는 것에 대해서 설명하도록 한다.The mobile storage device 500 may selectively perform a malicious code checking operation based on the accuracy, speed, and the like of malicious code detection. Hereinafter, the portable storage device 500 selects the malicious code checking operation based on the detection accuracy.

상기 이동식저장장치(500)는 악성코드 탐지 정밀도를 설정(S5100)할 수 있다. 상기 정밀도는 HIGH, MIDDLE, LOW를 포함할 수 있다.The portable storage device 500 may set the malicious code detection precision (S5100). The precision may include HIGH, MIDDLE, LOW.

상기 이동식저장장치(500)는 상기 이동식저장장치(500)의 모드에 기초하여 상기 정밀도를 설정할 수 있다. 상기 이동식저장장치(500)가 액티브모드인 경우, 상기 이동식저장장치(500)는 악성코드탐지의 정밀도를 LOW로 설정할 수 있다. 상기 모드가 액티브모드이나 이동식저장장치(500) 내의 데이터 전송량이 임계값이하인 경우, 상기 이동식저장장치(500)는 악성코드탐지의 정밀도를 MIDDLE로 설정할 수 있다. 상기 모드가 아이들모드인 경우, 상기 이동식저장장치(500)는 악성코드탐지의 정밀도를 LOW로 설정할 수 있다.The removable storage device 500 may set the precision based on the mode of the removable storage device 500. If the removable storage device 500 is in the active mode, the removable storage device 500 may set the accuracy of malicious code detection to LOW. If the mode is active or the amount of data transfer within the mobile storage device 500 is below a threshold, the removable storage device 500 may set the precision of malware detection to MIDDLE. If the mode is the idle mode, the portable storage device 500 can set the accuracy of malicious code detection to LOW.

상기 악성코드탐지의 정밀도는 탐지메모리(537)에 저장되어 있을 수 있다.The accuracy of the malicious code detection may be stored in the detection memory 537.

상기 이동식저장장치(500)는 설정된 악성코드탐지의 정밀도를 판단(S5300)할 수 있다. 상기 이동식저장장치(500)의 콘트롤러(590)는 탐지메모리(537)에 저장된 정밀도에 관련된 데이터를 획득할 수 있다. 상기 콘트롤러(590)는 상기 악성코드탐지부(530)에 블록단위의 데이터가 전송되기 이전에 상기 정밀도를 파악할 수 있다.The mobile storage device 500 may determine the accuracy of the detected malicious code (S5300). The controller 590 of the removable storage device 500 may obtain data related to the precision stored in the detection memory 537. [ The controller 590 can grasp the accuracy before the data of the block unit is transmitted to the malicious code detection unit 530. [

상기 콘트롤러(590)는 상기 정밀도가 HIHG인 경우 제3 탐지를 수행할 수 있고, 상기 정밀도가 MIDDLE인 경우 제2 탐지를 수행할 수 있고, 상기 정밀도가 LOW인 경우 제1 탐지를 수행할 수 있다. The controller 590 can perform the third detection when the precision is HIHG, the second detection when the precision is MIDDLE, and the first detection when the precision is LOW .

이 경우 상기 제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 portable storage device 500 and malicious code detection can be efficiently performed.

상술한 본 발명에 따른 작성 방법 및 열람 방법에 있어서, 각 실시예를 구성하는 단계가 필수적인 것은 아니며, 따라서 각 실시예는 상술한 단계를 선택적으로 포함할 수 있다. 또 각 실시예를 구성하는 각 단계는 반드시 설명된 순서에 따라 수행되어야 하는 것은 아니며, 나중에 설명된 단계가 먼저 설명된 단계보다 먼저 수행될 수도 있다. 또한 각 단계는 동작하는 동안 어느 한 단계가 반복적으로 수행되는 것도 가능하다.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.
삭제delete 삭제delete 제1 항에 있어서,
상기 악성코드패턴테이블에 포함된 악성코드패턴에 우선순위가 설정되고,
상기 악성코드패턴테이블은 제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.
제4 항에 있어서,
상기 악성코드패턴의 우선순위는 상기 악성코드패턴테이블의 업데이트 이력에 기초하여 설정되는 것을 특징으로 하는
이동식저장장치.
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.
제4 항에 있어서,
상기 악성코드탐지유닛은
상기 연산패턴과 상기 제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.
제1 항에 있어서,
상기 악성코드탐지유닛은 상기 탐지데이터에 기초하여 악성코드처리 동작의 수행을 위한 결과데이터가 생성되도록 하는 것을 특징으로 하는
이동식저장장치.
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.
제7 항에 있어서,
상기 결과데이터의 생성 시점 별로 상기 버퍼의 쓰기데이터의 출력이 제어되되,
상기 버퍼가 상기 쓰기데이터를 출력하는 중에 상기 결과데이터가 생성되는 경우, 상기 버퍼는 상기 쓰기데이터의 출력을 늦추고,
상기 버퍼가 상기 쓰기데이터를 출력하기 이전에 상기 결과데이터가 생성되는 경우, 상기 버퍼는 상기 쓰기데이터의 출력을 차단하는 것을 특징으로 하는
이동식저장장치.
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.
제7 항에 있어서,
상기 결과데이터의 생성에 기초하여 상기 이동식저장장치와 상기 호스트디바이스의 상기 연동이 단절되는 것을 특징으로 하는
이동식저장장치.
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.
제7 항에 있어서,
상기 결과데이터의 생성에 기초하여, 상기 이동식저장장치는 상기 호스트디바이스에 상기 악성코드의 탐지를 알리기 위한 경고파일이 생성되도록 하는 것을 특징으로 하는
이동식저장장치.
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.
제7 항에 있어서,
상기 악성코드탐지유닛은 상기 블록단위의 필터링데이터에 기초하여 악성코드탐지동작을 수행하는 것을 특징으로 하는
이동식저장장치.
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.
제11 항에 있어서,
상기 변환유닛은 상기 블록단위의 데이터를 전송 받고, 상기 블록단위의 데이터를 상기 파일단위의 데이터로 변환하여 상기 악성코드탐지유닛으로 전달하고,
상기 악성코드탐지유닛은 상기 파일단위의 데이터에 기초하여 악성코드탐지동작을 수행하는 것을 특징으로 하는
이동식저장장치.
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.
제11 항에 있어서,
상기 이동식저장장치는 아이들(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.
제13 항에 있어서,
상기 정밀도에 기초하여 상기 악성코드탐지유닛이 상기 악성코드탐지동작을 수행하는 것을 특징으로 하는
이동식저장장치.
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.
KR1020170058929A 2017-05-11 2017-05-11 Portable storage device perfoming a malignant code detection and method for the same KR101889222B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
이대로외 4인, ‘실행코드 블록 비교 기반의 변종 악성코드 검출’, 2012년도 한국컴퓨터종합학술대회 논문집 Vol. 39, No.1(C) pp. 301-303. 2012.

Cited By (2)

* Cited by examiner, † Cited by third party
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