KR101850650B1 - Portable storage device perfoming a ransomeware detection and method for the same - Google Patents

Portable storage device perfoming a ransomeware detection and method for the same Download PDF

Info

Publication number
KR101850650B1
KR101850650B1 KR1020170058930A KR20170058930A KR101850650B1 KR 101850650 B1 KR101850650 B1 KR 101850650B1 KR 1020170058930 A KR1020170058930 A KR 1020170058930A KR 20170058930 A KR20170058930 A KR 20170058930A KR 101850650 B1 KR101850650 B1 KR 101850650B1
Authority
KR
South Korea
Prior art keywords
data
file
detection
unit
ransomware
Prior art date
Application number
KR1020170058930A
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 KR1020170058930A priority Critical patent/KR101850650B1/en
Application granted granted Critical
Publication of KR101850650B1 publication Critical patent/KR101850650B1/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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to a mobile storage device detecting ransomware and a method therefor. An aspect of the present invention provides a mobile storage device interlinking with a host device. The mobile storage device comprises: a memory storing an original file; a conversion unit obtaining block unit data based on block unit command data generated by the host device and converting the block unit data into file unit data; and a ransomware detection unit performing a ransomware detection operation detecting ransomware based on the file unit data, wherein the ransomware detection operation includes a substitution operation check which is performed by the ransomware detection unit to check whether an operation for substituting the original file is performed by the command data based on the file unit data. The present invention can alleviate a ransomware detection load of the host device.

Description

랜섬웨어탐지를 수행하는 이동식저장장치 및 이를 위한 방법{PORTABLE STORAGE DEVICE PERFOMING A RANSOMEWARE DETECTION AND METHOD FOR THE SAME}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a removable storage device for performing a random-

본 출원은 랜섬웨어탐지를 수행하는 이동식저장장치 및 이를 위한 방법 에 관한 것으로, 보다 상세하게는 이동식저장장치에 포함된 데이터의 단위를 변환하는 변환유닛과 랜섬웨어탐지유닛의 동작에 기초하여 랜섬웨어탐지를 수행하는 이동식저장장치 및 이를 위한 방법에 관한 것이다.The present invention relates to a portable storage device for performing Ransomware detection and a method for the same, and more particularly to a Ransomware detection unit and a conversion unit for converting the unit of data contained in the removable storage device, To a removable storage device for performing detection and a method for the same.

랜섬웨어는 저장된 파일을 암호화한 이후, 상기 암호화된 파일의 해독을 위하여 비트코인 등의 결제를 요구하는 프로그램이다. Ransomware is a program that encrypts a stored file, and then requests payment of a bit coin or the like to decrypt the encrypted file.

상기 랜섬웨어는 PC/모바일 등의 전자기기로 전파되어 상기 전자기기내에서 악의적 연산을 수행함으로써, 상기 전자기기의 사용자에게 막대한 피해를 주고 있다. 따라서, 상기 랜섬웨어를 탐지하고, 탐지된 랜섬웨어를 처리하기 위한 랜섬웨어탐지알고리즘이 전자기기의 운영체제 상에 설치되어 왔다.The Raman software is propagated 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 Rangumware detection algorithm for detecting the Rangemeware and processing the detected Rangemeware has been installed on the operating system of the electronic device.

그러나, 상기 랜섬웨어탐지알고리즘이 전자기기의 운영체제 상에 설치되는 경우, 상기 알고리즘의 실행에 따른 전자기기의 운용부담이 증가하게 된다. 상기 운용부담이 증가된 전자기기의 성능은 확연히 떨어지게 된다. 따라서, 최근 상기 전자기기의 운용부담을 경감시키기 위하여 전자기기와 별도로 구비되며, 랜섬웨어탐지 기능이 탑재되는 매체에 대한 수요가 증대하고 있다.However, when the above-described Ramsomeware 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. Accordingly, 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 function of detecting the RAN cellware separately from the electronic device.

본 출원의 일 과제는, 호스트디바이스의 랜섬웨어탐지부담이 경감되도록, 호스트디바이스와 별도로 구비되며, 랜섬웨어탐지 기능이 탑재되는 이동식저장장치를 제공하는 것에 있다.One aspect of the present invention is to provide a portable storage device provided separately from a host device so as to reduce the burden of detection of the RANSIWARE of the host device and equipped with the RANAMWARE detection function.

본 출원이 해결하고자 하는 과제가 상술한 과제로 제한되는 것은 아니며, 언급되지 아니한 과제들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.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 .

본 출원의 일 양상에 따르면 호스트디바이스에 연동되는 이동식저장장치로서, 원본파일이 저장되는 메모리; 상기 호스트디바이스에서 생성되는 블록단위의 명령(COMMAND)데이터에 기초한 블록단위의 데이터를 획득하고, 상기 블록단위의 데이터를 파일단위의 파일데이터로 변환하는 변환유닛; 및 상기 파일데이터에 기초하여 랜섬웨어를 탐지하는 랜섬웨어탐지동작을 수행하는 랜섬웨어탐지유닛;을 포함하고, 상기 랜섬웨어탐지동작은 대체연산체크를 포함하고, 상기 대체연산체크는 상기 랜섬웨어탐지유닛이 상기 파일데이터에 기초하여 상기 명령데이터에 의해 상기 원본파일을 대체하는 연산이 수행되는지 여부를 체크함으로써 수행되는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.According to an aspect of the present application, there is provided a removable storage device interlocked with a host device, comprising: a memory in which an original file is stored; A conversion unit for acquiring block-based data based on block-based command data generated by the host device and converting the block-by-block data into file data on a file basis; And a Ransomware detection unit that performs a Ransomware detection operation to detect Ransomware based on the file data, wherein the Ransomware detection operation includes an alternate operation check, Unit is performed by checking whether or not an operation of replacing the original file with the command data is performed based on the file data.

본 출원의 다른 양상에 따르면 호스트디바이스에 연동되는 이동식저장장치내에서 수행되는 랜섬웨어탐지방법으로서, 상기 호스트디바이스로부터 생성되는 블록단위의 명령데이터에 기초한 블록단위의 데이터를 획득하는 단계; 상기 블록단위의 데이터의 단위를 변환하여 파일단위의 파일데이터를 생성하는 단계; 및 상기 파일단위의 파일데이터를 획득하여 랜섬웨어탐지 동작을 수행하는 단계;를 포함하고, 상기 랜섬웨어탐지 동작을 수행하는 단계는 상기 이동식저장장치내에 저장된 원본파일이 상기 블록단위의 명령데이터에 의해 유사파일로 대체되는지 여부를 탐지하는 것으로 특징으로 하는 랜섬웨어탐지방법이 제공될 수 있다.According to another aspect of the present application, there is provided a method of detecting a random access in a portable storage device interlocked with a host device, the method comprising: acquiring block-based data based on command data in units of blocks generated from the host device; Converting the unit of data of the block unit to generate file data of a file unit; And a step of acquiring file data of the file unit and performing a random access detection operation, wherein the step of performing the random access detection operation comprises the steps of: And detecting whether the file is replaced with a similar file.

본 출원의 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.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 invention, a removable storage device provided separately from the host device and equipped with a function of detecting a random access may be provided so as to reduce the burden of detecting the random access 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는 본 출원의 일 실시예에 따른 경고파일생성 처리동작을 나타내는 도면이다.
도 10은 본 출원의 일 실시예에 따른 호스트디바이스 및 이동식저장장치를 나타내는 도면이다.
도 11은 본 출원의 일 실시예에 따른 제2 랜섬웨어검사동작 시 데이터 전송을 나타내는 도면이다.
도 12는 본 출원의 일 실시예에 따른 호스트디바이스 및 이동식저장장치를 나타내는 도면이다.
도 13은 본 출원의 일 실시예에 따른 제3 랜섬웨어검사동작 시 데이터 전송을 나타내는 도면이다.
도 14는 본 출원의 일 실시예에 따른 이동식저장장치의 랜섬웨어검사동작 선택 순서도이다.
도 15는 본 출원의 일 실시예에 따른 이동식저장장치의 가중치 설정 순서도이다.
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.
FIG. 3 is a flowchart showing an Ransomware inspection operation according to an embodiment of the present application.
FIG. 4 is a diagram illustrating data transfer for a first Ramsome inspection operation according to an embodiment of the present invention.
5 is a diagram illustrating a step of detecting a Ramsomeware according to an embodiment of the present application.
6 is a diagram illustrating an Ramsomeware-based operation based on a weight according to an embodiment of the present application.
FIG. 7 is a diagram showing an operation of controlling and cutting off output of operation data according to an embodiment of the present application. FIG.
8 is a diagram showing a communication disconnection processing operation with a host device according to an embodiment of the present application.
9 is a diagram showing an alert file generation processing 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 second Ramsome inspection operation according to an embodiment of the present application.
12 is a diagram illustrating a host device and a removable storage device according to one embodiment of the present application.
13 is a diagram illustrating data transmission during a third Ramsome inspection operation according to an embodiment of the present application.
FIG. 14 is a flow chart illustrating a selection procedure of the Ransomware inspection operation of the mobile storage device according to an embodiment of the present application.
15 is a weight setting flowchart of a 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.

본 출원의 일 양상에 따르면 호스트디바이스에 연동되는 이동식저장장치로서, 원본파일이 저장되는 메모리; 상기 호스트디바이스에서 생성되는 블록단위의 명령(COMMAND)데이터에 기초한 블록단위의 데이터를 획득하고, 상기 블록단위의 데이터를 파일단위의 파일데이터로 변환하는 변환유닛; 및 상기 파일데이터에 기초하여 랜섬웨어를 탐지하는 랜섬웨어탐지동작을 수행하는 랜섬웨어탐지유닛;을 포함하고, 상기 랜섬웨어탐지동작은 대체연산체크를 포함하고, 상기 대체연산체크는 상기 랜섬웨어탐지유닛이 상기 파일데이터에 기초하여 상기 명령데이터에 의해 상기 원본파일을 대체하는 연산이 수행되는지 여부를 체크함으로써 수행되는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.According to an aspect of the present application, there is provided a removable storage device interlocked with a host device, comprising: a memory in which an original file is stored; A conversion unit for acquiring block-based data based on block-based command data generated by the host device and converting the block-by-block data into file data on a file basis; And a Ransomware detection unit that performs a Ransomware detection operation to detect Ransomware based on the file data, wherein the Ransomware detection operation includes an alternate operation check, Unit is performed by checking whether or not an operation of replacing the original file with the command data is performed based on the file data.

또, 상기 랜섬웨어탐지동작은 유사도체크를 포함하고, 상기 유사도체크는 상기 랜섬웨어탐지유닛이 상기 파일데이터에 포함된 파일이름과 상기 원본파일의 파일이름을 비교하고, 상기 파일데이터에 포함된 파일이름과 상기 원본파일의 파일이름의 유사도를 체크함으로써 수행되는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.In addition, the Ramsome detection operation includes a similarity check. The Ramsome detection unit compares the file name included in the file data with the file name of the original file, and the file included in the file data And checking the similarity between the name and the file name of the original file.

또, 상기 랜섬웨어탐지동작은 암호화체크를 포함하고, 상기 암호화체크는 상기 유사도가 있는 경우, 상기 랜섬웨어유닛이 상기 파일데이터의 크기와 상기 원본파일의 크기를 비교하고, 상기 파일데이터의 크기가 상기 원본파일의 크기 이상인 경우, 상기 파일데이터가 암호화된 것으로 판단됨으로써 수행되는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.The Raman-ware detection operation may include an encryption check. If there is the similarity, the Raman-ware unit compares the size of the file data with the size of the original file, And the file data is judged to be encrypted when the size of the original file is equal to or larger than the size of the original file.

또, 상기 암호화체크는 상기 랜섬웨어유닛이 상기 파일데이터에 포함된 패턴의 규칙을 체크하여, 상기 패턴의 규칙이 무질서한 경우, 상기 파일데이터가 암호화된 것으로 판단됨으로써 수행되는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.The encryption check is performed by checking the rule of the pattern included in the file data by the random access unit and judging that the file data is encrypted when the rule of the pattern is disordered. May be provided.

또, 상기 파일데이터가 암호화된 것으로 판단되는 경우, 상기 랜섬웨어유닛이 상기 대체연산체크를 수행하는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.In addition, when the file data is judged to be encrypted, the portable storage unit may perform the replacement operation check.

또, 상기 랜섬웨어탐지유닛은 상기 유사도가 없는 경우, 상기 랜섬웨어탐지동작을 중단하는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.In addition, if the similarity is not present, the Ramsomeware detection unit may stop the Ramsome detection operation.

또, 상기 원본파일의 가중치가 기록되는 파일리스트를 포함하는 컨트롤러메모리;를 더 포함하고, 상기 가중치는 랜섬웨어탐지동작에 기초하여 설정되는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.The portable storage device may further include a controller memory including a file list in which the weight of the original file is recorded, wherein the weight is set based on a random access detection operation.

또, 상기 유사도만이 확인되는 경우, 상기 가중치는 제1 가중치에 기초하여 설정되고 상기 유사도와 상기 암호화만이 확인되는 경우, 상기 가중치는 제2 가중치에 기초하여 설정되고, 상기 유사도, 상기 암호화, 및 상기 대체연산이 확인되는 경우, 상기 가중치는 제3 가중치에 기초하여 설정되는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.When the similarity is confirmed, the weight is set based on the first weight, and when only the similarity and the encryption are confirmed, the weight is set based on the second weight, and the similarity, And when the substitute operation is confirmed, the weight is set based on a third weight.

또, 상기 랜섬웨어탐지유닛은 상기 가중치에 기초하여 랜섬웨어간주동작을 수행하되, 상기 랜섬웨어간주동작은 상기 가중치가 임계가중치 이상이 되는 경우, 상기 원본파일이 랜섬웨어에 의한 파일인 것으로 간주됨으로써 수행되는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.In addition, the Ramsomeware detection unit performs an Ransomware operation based on the weight value, and when the weight value is equal to or greater than the threshold weight value, the Ransomware operation is regarded as a file based on Ransomware Is performed on the basis of the result of the comparison.

또, 상기 원본파일이 상기 랜섬웨어에 의한 파일로 간주되는 경우, 상기 블록단위의 명령데이터에 의한 연산이 차단되도록 하되, 상기 랜섬웨어에 의한 파일로 간주되는 시점 별로 상기 연산의 차단이 달라지는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.In addition, when the original file is regarded as a file by the RAN firmware, the operation by the command data in the unit of block is blocked, but the blocking of the operation is different for each time point considered as a file by the RAN firmware Lt; / RTI > may be provided.

또, 상기 원본파일이 상기 랜섬웨어에 의한 파일인 경우, 상기 호스트디바이스에 경고파일이 생성되도록 하는 이동식저장장치가 제공될 수 있다.In addition, if the original file is a file based on the random software, a portable storage device may be provided for causing the host device to generate a warning file.

또, 상기 랜섬웨어탐지유닛은 상기 블록단위의 데이터에 기초하여 상기 랜섬웨어탐지동작을 수행하는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.The portable storage device may further include a portable storage device that performs the random access detection based on the block-by-block data.

또, 상기 블록단위의 명령데이터를 필터링하여 랜섬웨어로 의심되는 블록단위의 명령데이터인 블록단위의 필터링데이터를 출력하는 데이터필터;를 더 포함하고, 상기 랜섬웨어탐지유닛은 상기 블록단위의 필티렁데이터에 기초하여 상기랜섬웨어탐지동작을 수행하는 것을 특징으로 하는 이동식저장장치가 제공될 수 있다.And a data filter for filtering the command data in units of blocks and outputting filtering data in units of blocks which are command data in units of blocks suspected to be Ramsumware, And the portable storage device performs the random access detection based on the data.

또, 상기 랜섬웨어탐지유닛은 상기 이동식저장장치의 모드에 따라 랜섬웨어탐지동작을 변경하되, 상기 모드는 제1 모드 및 제2 모드를 포함하고, 상기 이동식저장장치의 모드가 제1 모드인 경우, 상기 랜섬웨어탐지유닛은 파일단위의 파일데이터에 기초하여 상기 랜섬웨어탐지동작을 수행하고, 상기 이동식저장장치의 모드가 제2 모드인 경우, 상기 랜섬웨어탐지유닛은 블록단위의 데이터에 기초하여 상기 랜섬웨어탐지동작을 수행하는 것을 특징으로 하는, 이동식저장장치가 제공될 수 있다.In addition, the Ramsome detection unit may change the Ramsome detection operation according to the mode of the portable storage device, wherein the mode includes a first mode and a second mode, and when the mode of the removable storage device is the first mode , The Ransomware detection unit performs the Ransomware detection operation based on the file data of the file unit, and when the mode of the removable storage device is the second mode, the Ransomware detection unit And the portable storage device performs the random access detection operation.

본 출원의 다른 양상에 따르면 호스트디바이스에 연동되는 이동식저장장치내에서 수행되는 랜섬웨어탐지방법으로서, 상기 호스트디바이스로부터 생성되는 블록단위의 명령데이터에 기초한 블록단위의 데이터를 획득하는 단계; 상기 블록단위의 데이터의 단위를 변환하여 파일단위의 파일데이터를 생성하는 단계; 및 상기 파일단위의 파일데이터를 획득하여 랜섬웨어탐지 동작을 수행하는 단계;를 포함하고, 상기 랜섬웨어탐지 동작을 수행하는 단계는 상기 이동식저장장치내에 저장된 원본파일이 상기 블록단위의 명령데이터에 의해 유사파일로 대체되는지 여부를 탐지하는 것으로 특징으로 하는 랜섬웨어탐지방법이 제공될 수 있다.According to another aspect of the present application, there is provided a method of detecting a random access in a portable storage device interlocked with a host device, the method comprising: acquiring block-based data based on command data in units of blocks generated from the host device; Converting the unit of data of the block unit to generate file data of a file unit; And a step of acquiring file data of the file unit and performing a random access detection operation, wherein the step of performing the random access detection operation comprises the steps of: And detecting whether the file is replaced with a similar file.

본 명세서에서 랜섬웨어는 소정의 데이터일 수 있다.In the present specification, the Raman software can be predetermined 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 basic 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. That is, the present invention is not limited to the following description, and the block units described in the following description may be understood on a page basis.

본 명세서에서 패턴은 상기 데이터를 구성하는 데이터의 최소 개념으로 정의될 수 있다. 상기 패턴은 연산과 관련된 연산패턴, 정보와 관련된 내용패턴으로 분류될 수 있다. 즉, 데이터는 연산패턴과 내용패턴을 포함할 수 있다.In this specification, a 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. That is, the data may include an operation pattern and a content pattern.

본 명세서에서 연산은 쓰기, 읽기, 덮어쓰기, 삭제 등을 포함할 수 있다. 상기 쓰기는 상기 이동식저장장치에 소정의 데이터를 저장하는 것으로 정의될 수 있다. 상기 읽기는 상기 이동식저장장치에 저장된 데이터를 획득하는 것으로 정의될 수 있다. 상기 덮어쓰기는 상기 이동식저장장치에 기저장된 데이터를 소정의 데이터로 대체하는 것으로 정의될 수 있다. 상기 삭제는 상기 이동식저장장치에 저장된 데이터를 삭제하는 것으로 정의될 수 있다.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 random software 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 detection of the Ramsomew.

즉, 서버(100)는 상기 호스트디바이스(300)로부터 랜섬웨어탐지에 관련된 데이터를 요청하는 데이터를 전송 받을 수 있고, 서버(100)는 상기 요청하는 데이터에 대한 결과값으로서 랜섬웨어탐지에 관련된 데이터를 상기 호스트디바이스(300)로 전송할 수 있다. That is, the server 100 can receive data requesting the data related to the detection of the RANomeware from the host device 300, and the server 100 can receive the data related to the detection of the RANomeware 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 mobile storage device 500 can only perform reading, substitution, 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 random access memory 530, a buffer 550, a memory 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 RAN searchware unit 530 may detect the RAN cellware. The RAN cellware detection unit 530 may detect the RAN cellware in the mobile storage device 500. The RAN cellware detection unit 530 may detect the RAN cellware included in the data transmitted to the mobile storage device 500.

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

상기 랜섬웨어탐지부(530)는 변환유닛(531), 및 랜섬웨어탐지유닛(533)을 포함할 수 있다. The Ramsomeware detection unit 530 may include a conversion unit 531, and a Ransomware detection unit 533. [

상기 변환유닛(531)은 데이터의 단위를 변환할 수 있다. 상기 변환유닛(531)은 상기 변환유닛(531)으로 전달되는 데이터의 단위를 변경할 수 있다. 상기 변환유닛(531)은 복수의 블록단위의 데이터를 파일단위의 데이터로 변환하거나, 또는 파일단위의 데이터를 복수의 블록단위의 데이터로 변환할 수 있다.The conversion unit 531 can convert the unit of data. The conversion unit 531 may change the unit of data transferred to the conversion unit 531. [ The conversion unit 531 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.

상기 랜섬웨어탐지유닛(533)은 상기 랜섬웨어탐지유닛(533)으로 전달된 데이터에 기초하여 이동식저장장치(500) 내의 랜섬웨어를 탐지할 수 있다. 랜섬웨어탐지유닛(533)은 상기 메모리부(570)에 저장된 파일의 데이터에 기초하여 랜섬웨어를 탐지할 수 있다.The Ransomware detection unit 533 may detect Ransomware in the removable storage device 500 based on the data delivered to the Ransomware detection unit 533. The random access detection unit 533 may detect the random access based on the data of the file stored in the memory unit 570.

상기 버퍼(550)는 데이터를 일시 보관할 수 있다. 상기 버퍼(550)는 상기 버퍼(550)로 전송된 데이터를 일시적으로 보관할 수 있다. 상기 버퍼(550)는 보관된 데이터를 특정 시점에 출력할 수 있다. 일 예로, 상기 버퍼(550)는 메모리콘트롤러(590)일 수 있다.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. For example, the buffer 550 may be a memory controller 590.

상기 버퍼(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 not detected as randomware.

상기 메모리부(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 may control the operation of the host interface 510, the configuration of the random access detector 530, the buffer 550, and the memory unit 570.

상기 콘트롤러(590)는 호스트인터페이스(510), 랜섬웨어탐지부(530)의 각 구성, 버퍼(550), 및 메모리부(570) 간의 데이터 전송을 제어할 수 있다. 즉, 이하에서 A 구성이 B 구성으로 데이터를 전송하는 경우, 특별한 언급이 없다면 상기 데이터 전송은 상기 콘트롤러(590)의 제어에 의한 것일 수 있다.The controller 590 may control data transmission between the host interface 510, each configuration of the random access 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 stated.

상기 콘트롤러(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.

상기 콘트롤러(590)는 랜섬웨어탐지와 관련된 데이터를 저장할 수 있다. 상기 랜섬웨어탐지와 관련된 데이터는 파일리스트, 및 랜섬웨어리스트를 포함할 수 있다. 상기 파일리스트는 상기 메모리부(570)에 저장된 파일에 관련된 리스트일 수 있다. 상기 파일리스트는 상기 파일별로 설정되는 가중치 기록을 포함할 수 있다. 상기 랜섬웨어리스트는 적어도 하나 이상의 랜섬웨어에 대한 정보와 랜섬웨어 별로 설정되는 우선순위를 포함할 수 있다.The controller 590 may store data related to the detection of the Ramsome. The data associated with the detection of the risk may include a file list, and a randomware list. The file list may be a list related to files stored in the memory unit 570. The file list may include a weight record set for each file. The RAN firmware list may include information about at least one RAN firmware and a priority set for each RAN firmware.

한편, 상기 랜섬웨어탐지와 관련되 데이터가 콘트롤러(590)에 저장되는 것으로 설명하였으나, 상기 랜섬웨어탐지와 관련된 데이터는 랜섬웨어탐지부(530)와 별도로 구비되는 소정의 메모리에 저장될 수 있다. 상기 소정의 메모리는 콘트롤러(590) 메모리일 수 있다.Meanwhile, the data related to the detection of the Ramsome software is stored in the controller 590, but the data related to the detection of the Ramsome software may be stored in a predetermined memory separately from the Ramsome detection unit 530. The predetermined memory may be a controller 590 memory.

한편, 상기 이동식저장장치(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)(B-CD)를 출력할 수 있다. 상기 운영체제(330)는 상기 파일단위의 호스트데이터(F-D)를 복수의 블록단위의 명령데이터(B-CD)로 변환하여 출력할 수 있다. 상기 운영체제(330)는 상기 복수의 블록단위의 명령데이터(B-CD)에 의해 이동식저장장치(500)에서 연산이 수행되도록 할 수 있다. 즉, 상기 복수의 블록단위의 명령데이터(B-CD)는 소정의 연산패턴을 포함할 수 있다.The operating system 330 can output command data (B-CD) (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 predetermined operation 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)를 전송할 수 있다. 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.

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

상기 호스트인터페이스(510)는 상기 블록단위의 명령데이터(B-CD)를 전송 받을 수 있다.The host interface 510 may receive the command data (B-CD) of the block unit.

상기 호스트인터페이스(510)는 상기 블록단위의 명령데이터(B-CD)를 랜섬웨어탐지부(530)의 변환유닛(531)으로 전송할 수 있다. 또는, 상기 호스트인터페이스(510)는 상기 명령데이터(B-CD)를 버퍼(550)로 전송할 수 있다.The host interface 510 may transmit the command data (B-CD) of the block unit to the conversion unit 531 of the random access 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-OPD)를 메모리부(570)에 전달할 수 있다. 상기 연산데이터(B-OPD)는 메모리부(570)에서 수행되는 연산을 위한 데이터로 정의될 수 있다. 상기 연산데이터(B-OPD)는 셀과 블록에 할당된 주소 및 연산과 관련된 연산패턴, 또는 연산될 정보와 관련된 내용패턴을 포함할 수 있다.The buffer 550 may transmit the operation data (B-OPD) in units of blocks to the memory unit 570. The calculation data (B-OPD) may be defined as data for an operation performed in the memory unit 570. The calculation data (B-OPD) 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.

상기 랜섬웨어탐지부(530)의 각 구성은 데이터를 서로 교환할 수 있다. 상기 랜섬웨어탐지부(530)의 각 구성은 데이터를 전송하고, 전송 받을 수 있다.The respective components of the random access detection unit 530 may exchange data. Each configuration of the random access detection unit 530 can transmit and receive data.

상기 변환유닛(531)은 호스트인터페이스(510)로부터 상기 블록단위의 명령데이터(B-CD)를 전송 받을 수 있다. 그러나, 이에 국한되지 않을 수 있다. 상기 변환유닛(531)은 상기 콘트롤러(590)로부터 명령데이터(B-CD)를 전송 받을 수 있다. The conversion unit 531 can receive the command data (B-CD) of the block unit from the host interface 510. [ However, the present invention is not limited thereto. The conversion unit 531 can receive the command data (B-CD) from the controller 590.

상기 변환유닛(531)은 상기 랜섬웨어탐지유닛(533)과 데이터를 교환할 수 있다. 상기 변환유닛(531)은 상기 랜섬웨어탐지유닛(533)으로 파일단위의 명령데이터(F-CD)를 전송할 수 있다. 상기 변환유닛(531)은 복수의 블록단위의 명령데이터(B-CD)의 단위를 변환하여 파일단위의 명령데이터(F-CD)를 랜섬웨어탐지유닛(533)으로 전송할 수 있다.The conversion unit 531 may exchange data with the Ramsome detection unit 533. The conversion unit 531 may transmit the command data (F-CD) in units of files to the RAN cellware detection unit 533. [ The conversion unit 531 may convert the units of the command data (B-CD) in units of a plurality of blocks and transmit the command data (F-CD) in units of files to the random access detection unit 533.

상기 변환유닛(531)은 상기 랜섬웨어탐지유닛(533)으로부터 파일단위의 탐지데이터(F-FD)를 전송받을 수 있다. 상기 파일단위의 탐지데이터(F-FD)는 랜섬웨어탐지유닛(533)의 랜섬웨어탐지결과를 포함하는 데이터로 정의될 수 있다.The conversion unit 531 can receive the detection data (F-FD) in units of files from the RAN cellware detection unit 533. [ The detection data (F-FD) of the file unit may be defined as data including the result of detection of the randomisation of the random access detection unit 533.

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

한편, 상기 복수의 블록단위의 탐지데이터(B-FD)는 전술한 연산데이터(B-OPD)를 정의할 수 있다. 상기 버퍼(550)는 상기 복수의 블록단위의 탐지데이터(B-FD)에 기초하여 연산데이터(B-OPD)를 정의할 수 있다. 연산데이터(B-OPD)는 상기 탐지데이터(B-FD)에 기초하여 랜섬웨어로 의심되는 데이터가 제거된 데이터일 수 있다. On the other hand, the detection data (B-FD) of the plurality of blocks can define the above-described calculation data (B-OPD). The buffer 550 can define the calculation data (B-OPD) based on the detection data (B-FD) of the plurality of blocks. The calculation data (B-OPD) may be data in which the suspect data as Ransomware is removed based on the detection data (B-FD).

상기 랜섬웨어탐지유닛(533)은 파일단위의 명령데이터(F-CD)를 전송받을 수 있다. 상기 랜섬웨어탐지유닛(533)은 탐지메모리로부터 파일리스트를 호출할 수 있다. 상기 랜섬웨어탐지유닛(533)은 상기 파일단위의 명령데이터(F-CD)와 파일리스트에 기초하여 랜섬웨어탐지동작을 수행할 수 있다.The RAN cellware detection unit 533 can receive the command data (F-CD) in units of files. The RAN cellware detection unit 533 may call the file list from the detection memory. The RAN cellware detection unit 533 may perform the RAN cellware detection operation based on the file data of the file unit (F-CD) and the file list.

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

상기 콘트롤러(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)의 각 구성으로부터 소정의 데이터를 전송 받을 수 있다. 예를 들어, 상기 랜섬웨어탐지유닛(533)으로부터 복수의 블록단위의 탐지데이터(B-FD)를 전송 받을 수 있다.The controller 590 can receive predetermined data from each configuration of the mobile storage device 500. For example, a plurality of block-based detection data (B-FD) can be received from the RAN cellware detection unit 533. [

또한 상기 콘트롤러(590)는 상기 메모리부(570)에 저장된 파일의 데이터를 획득하여, 상기 랜섬웨어탐지유닛(533)으로 전송할 수 있다. Also, the controller 590 may acquire data of a file stored in the memory unit 570 and transmit the acquired data to the random access detection unit 533.

또한, 상기 콘트롤러(590)는 상기 변환유닛(531)으로 복수의 블록단위의 명령데이터(B-CD)를 전송할 수도 있다. Further, the controller 590 may transmit the command data (B-CD) in units of blocks to the conversion unit 531. [

또한, 상기 콘트롤러(590)는 탐지메모리에 저장된 랜섬웨어리스트의 업데이트를 위해, 호스트인터페이스(510)를 통해 호스트디바이스(300)로 소정의 업데이트 데이터를 요청할 수 있고, 업데이트 데이터를 반환 받을 수 있다.In addition, the controller 590 may request predetermined update data to the host device 300 through the host interface 510 for update of the random access list stored in the detection memory, and may receive the update data.

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

도 3은 본 출원의 일 실시예에 따른 랜섬웨어검사동작을 나타내는 순서도이다.FIG. 3 is a flowchart showing an Ransomware inspection operation according to an embodiment of the present application.

도 4는 본 출원의 일 실시예에 따른 제1 랜섬웨어검사동작을 위한 데이터의 전달을 나타내는 도면이다.FIG. 4 is a diagram illustrating data transfer for a first Ramsome inspection operation according to an embodiment of the present invention.

도 5는 본 출원의 일 실시예에 따른 랜섬웨어탐지단계를 나타내는 도면이다.5 is a diagram illustrating a step of detecting a Ramsomeware according to an embodiment of the present application.

도 6은 본 출원의 일 실시예에 따른 가중치에 기초한 랜섬웨어간주동작을 나타내는 도면이다.6 is a diagram illustrating an Ramsomeware-based operation based on a weight according to an embodiment of the present application.

도 3을 참조하면, 상기 이동식저장장치(500)의 랜섬웨어검사동작은 파일데이터 획득 단계(S1000), 랜섬웨어 탐지 단계(S2000), 및 랜섬웨어 처리 단계(S3000)를 포함할 수 있다.Referring to FIG. 3, the Ramsome inspection operation of the portable storage device 500 may include a file data acquisition step S1000, a Ramsome detection step S2000, and a Ransomware processing step S3000.

상기 파일데이터 획득(S1000) 단계에서, 상기 랜섬웨어탐지유닛(533)은 파일단위의 명령데이터(F-CD)를 획득할 수 있다. 상기 파일단위의 명령데이터(F-CD)는 상기 명령데이터에 포함된 연산패턴 및 내용패턴에 기초하여 메모리부(570)에서 소정의 연산이 수행되도록 할 수 있다.In the file data acquisition (S1000) step, the Ramsome detection unit 533 may obtain command data (F-CD) on a file basis. The command data (F-CD) of the file unit may be subjected to a predetermined operation in the memory unit 570 based on the operation pattern and the content pattern included in the command data.

상기 랜섬웨어 탐지(S2000) 단계에서, 상기 랜섬웨어탐지유닛(533)은 소정의 랜섬웨어탐지 알고리즘에 기초하여 이동식저장장치(500)내의 랜섬웨어를 탐지할 수 있다. 상기 랜섬웨어탐지알고리즘은 구체적으로 후술하도록 한다.In the Ransomware detection (S2000), the Ransomware detection unit 533 may detect Ransomware in the removable storage device 500 based on a predetermined Ransomware detection algorithm. The RAN searchware algorithm will be described later in detail.

상기 랜섬웨어탐지유닛(533)은 상기 랜섬웨어탐지알고리즘의 결과물로서 파일단위의 탐지데이터(F-FD)를 생성할 수 있다.The Ransomware detection unit 533 may generate file-based detection data (F-FD) as a result of the Ransomware detection algorithm.

상기 파일단위의 탐지데이터(F-FD)에 기초하여 이동식저장장치(500)는 장치 내의 랜섬웨어를 탐지할 수 있다. 상기 이동식저장장치(500)는 복수의 블록단위의 명령데이터(B-CD)가 랜섬웨어에 의한 데이터인지 여부를 탐지할 수 있다. 상기 이동식저장장치(500)는 상기 파일단위의 탐지데이터(F-FD)를 변환유닛(531)으로 전달할 수 있다. 상기 변환유닛(531)은 상기 복수의 블록단위의 탐지데이터(B-FD)를 콘트롤러(590) 또는 버퍼(550)로 전달할 수 있다. 상기 콘트롤러(590) 또는 상기 버퍼(550)는 상기 복수의 블록단위의 탐지데이터(B-FD)를 기초로 복수의 블록단위의 명령데이터(B-CD)가 랜섬웨어에 의한 데이터인지 여부를 탐지할 수 있다.Based on the file-based detection data (F-FD), the removable storage device 500 can detect the Ransomware in the device. The portable storage device 500 can detect whether or not the command data (B-CD) of a plurality of block units is data based on Ransomware. The portable storage device 500 may transmit the detection data (F-FD) of the file unit to the conversion unit 531. [ The conversion unit 531 may transmit the detection data (B-FD) of the plurality of blocks to the controller 590 or the buffer 550. The controller 590 or the buffer 550 detects whether or not the command data B-CD of a plurality of block units on the basis of the detected data (B-FD) can do.

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

상기 랜섬웨어 처리(S3000) 단계에서, 상기 이동식저장장치(500)는 상기 랜섬웨어가 처리될 수 있도록 처리동작을 수행할 수 있다. 상기 이동식저장장치(500)의 콘트롤러(590)는 상기 처리동작이 수행되도록 소정의 데이터를 이동식저장장치(500)의 각 구성으로 전달할 수 있다. In step S3000, the portable storage device 500 may perform a process operation so that the random software can be processed. The controller 590 of the portable storage device 500 may transfer predetermined data to each configuration of the portable 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.

상기 랜섬웨어검사동작의 수행을 위해서 소정의 데이터가 이동식저장장치(500) 내에서 전송될 수 있다.Predetermined data may be transmitted in the mobile storage device 500 for performing the RAN search.

도 4를 참조하면, 상기 랜섬웨어탐지동작을 위한 데이터는 호스트인터페이스(510), 변환유닛(531), 랜섬웨어탐지유닛(533) 순서로 전송될 수 있다.Referring to FIG. 4, the data for the Ramsome detection operation may be transmitted in the order of the host interface 510, the conversion unit 531, and the Ramsome detection unit 533.

이하에서는 도 4를 참조하여 설명하도록 한다.Hereinafter, a description will be given with reference to FIG.

상기 호스트인터페이스(510)는 상기 호스트디바이스(300)로부터 랜섬웨어탐지부(530)로 소정의 데이터를 전달할 수 있다.The host interface 510 may transmit predetermined data from the host device 300 to the random access detection unit 530.

상기 호스트인터페이스(510)는 복수의 블록단위의 명령데이터(B-CD)를 호스트디바이스(300)로부터 획득(S2011)할 수 있다. 상기 호스트인터페이스(510)는 상기 획득한 복수의 블록단위의 명령데이터(B-CD)를 변환유닛(531)으로 출력(S2012)할 수 있다.The host interface 510 can acquire a plurality of command data (B-CD) in units of blocks from the host device 300 (S2011). The host interface 510 may output the acquired command data (B-CD) of a plurality of blocks to the conversion unit 531 (S2012).

상기 변환유닛(531)은 필터링된 복수의 블록단위의 데이터의 단위를 변환하여 랜섬웨어탐지유닛(533)으로 전달할 수 있다.The conversion unit 531 may convert the units of the filtered data of a plurality of blocks and transmit the converted units of data to the random access detection unit 533.

상기 변환유닛(531)은 상기 호스트인터페이스(510)로부터 복수의 블록단위의 명령데이터(B-CD)를 획득(S2013)할 수 있다. 데이터변환(S2014)단계에서, 상기 변환유닛(531)은 상기 복수의 블록단위의 명령데이터(B-CD)를 변환할 수 있다. 상기 변환유닛(531)은 상기 파일단위의 호스트데이터(F-D)를 랜섬웨어탐지유닛(533)으로 출력(S2015)할 수 있다.The conversion unit 531 may acquire a plurality of block-based command data (B-CD) from the host interface 510 (S2013). In the data conversion (S2014), the conversion unit 531 can convert the command data (B-CD) of the plurality of blocks. The conversion unit 531 may output the host data F-D of the file unit to the random-access detection unit 533 (S2015).

상기 랜섬웨어탐지유닛(533)은 파일단위의 파일 데이터를 획득하여 랜섬웨어 탐지를 위한 랜섬웨어 탐지동작을 수행할 수 있다.The RAN cellware detection unit 533 may acquire file data of a file unit and perform a RAN cellware detection operation for detecting the RAN cellware.

상기 랜섬웨어탐지유닛(533)은 상기 변환유닛(531)으로부터 파일단위의 명령데이터(F-CD)를 획득(S2016)할 수 있다. 랜섬웨어탐지(S2017)단계에서, 상기 랜섬웨어탐지유닛(533)은 파일단위의 명령데이터(F-CD)에 기초하여 랜섬웨어를 탐지할 수 있다. 상기 랜섬웨어탐지단계에서 랜섬웨어탐지유닛(533)은 전술한 소정의 랜섬웨어알고리즘에 기초하여 랜섬웨어 탐지동작을 수행할 수 있다.The RAN searchware unit 533 may acquire command data (F-CD) in units of files from the conversion unit 531 (S2016). In the Ransomware detection (S2017), the Ransomware detection unit 533 can detect the Ransomware based on the command data (F-CD) on a file basis. In the detection of the RamsomeWare, the Ransomware detection unit 533 may perform the Ransomware detection operation based on the predetermined Ransomware algorithm described above.

전술한 바와 같이, 변환유닛(531) 및 랜섬웨어탐지유닛(533) 순서로 데이터가 전달되는 랜섬웨어검사동작은 제1 랜섬웨어검사동작으로 정의될 수 있다. 상기 제1 랜섬웨어검사동작은 파일단위의 랜섬웨어검사동작일 수 있다.As described above, the Ransomware inspection operation in which data is transferred in the order of the conversion unit 531 and the Ransomware detection unit 533 can be defined as the first Ransomware inspection operation. The first Ramsome inspection operation may be a Ramsome inspection operation on a file basis.

이하에서는 랜섬웨어탐지 알고리즘에 대해서 구체적으로 설명하도록 한다.Hereinafter, a description will be given in detail of a detection algorithm of the RANomeware.

도 5를 참조하면, 본 출원의 일 실시에에 따른 랜섬웨어탐지 알고리즘은 파일이름유사도체크(S2100), 암호화체크(S2300), 삭제/덮어쓰기연산체크(S2500), 및 가중치설정(S2310, S2530, S2550)을 포함할 수 있다.Referring to FIG. 5, the Ramsome detection algorithm according to one embodiment of the present application includes a file name similarity check step S2100, an encryption check step S2300, a delete / overwrite operation check step S2500, and weight setting steps S2310 and S2530 , S2550).

상기 랜섬웨어탐지유닛(533)은 파일 이름의 유사도를 체크할 수 있다(S2100). The RAN searchware unit 533 may check the similarity of the file names (S2100).

상기 랜섬웨어탐지유닛(533)은 획득한 파일단위의 명령데이터(F-CD)에 포함된 파일의 이름을 추출할 수 있다. 상기 랜섬웨어탐지유닛(533)은 상기 파일단위의 파일의 이름을 포함하는 내용 패턴을 분석할 수 있다. The RAN cellware detection unit 533 can extract the name of the file included in the acquired command data (F-CD) of the file unit. The RAN searchware unit 533 may analyze a content pattern including a file name of the file unit.

상기 랜섬웨어탐지유닛(533)은 상기 파일단위의 명령데이터(F-CD)에 포함된 파일 이름과 이동식저장장치(500) 내에 저장된 파일이름을 비교하여 유사도를 체크할 수 있다. The RAN cellware detection unit 533 may check the similarity by comparing the file name included in the command data (F-CD) of the file unit with the file name stored in the mobile storage device 500.

이 경우, 상기 랜섬웨어탐지유닛(533)은 파일리스트를 호출할 수 있다. 상기 랜섬웨어탐지유닛(533)은 상기 파일리스트에 기록된 파일이름과 상기 파일단위의 명령데이터(F-CD)로부터 추출된 파일이름을 비교할 수 있다.In this case, the RAN searchware unit 533 may call the file list. The RAN searchware unit 533 may compare the file name recorded in the file list with the file name extracted from the command data (F-CD) of the file unit.

또는, 상기 랜섬웨어탐지유닛(533)은 메모리부(570)에 저장된 파일(이하, 메모리파일)의 파일 이름을 획득 할 수 있다. 상기 메모리파일의 파일이름은 콘트롤러(590)로부터 추출될 수 있고, 상기 콘트롤러(590)는 상기 파일이름을 상기 랜섬웨어탐지유닛(533)으로 전달할 수 있다.Alternatively, the random access detection unit 533 may obtain a file name of a file (hereinafter referred to as a memory file) stored in the memory unit 570. The file name of the memory file may be extracted from the controller 590 and the controller 590 may transmit the file name to the RANCOME detection unit 533. [

상기 파일 이름의 유사도 체크는 소정의 알고리즘을 기초로 수행될 수 있다. 상기 소정의 알고리즘은 Levesnshtein distance, Edit distnacem Jaro-Winelr dsitnace일 수 있다.The similarity check of the file name may be performed based on a predetermined algorithm. The predetermined algorithm may be Levesnshtein distance, Edit distnacem Jaro-Winelr dsitnace.

상기 랜섬웨어탐지유닛(533)은 상기 유사도 여부를 확인할 수 있다(S2110). 상기 랜섬웨어탐지유닛(533)은 상기 파일이름의 유사도가 없는 경우(N), 상기 랜섬웨어탐지알고리즘의 수행을 중지할 수 있다. 파일 이름 간 유사도가 존재하는 경우(Y), 상기 랜섬웨어 탐지유닛은 암호화 여부를 체크(S2300)할 수 있다. The Ramsomeware detection unit 533 can check whether the similarity degree is similar (S2110). If the similarity of the file name is not present (N), the RAN searchware unit 533 may stop performing the RAN search detection algorithm. If there is a similarity between file names (Y), the RAN searchware unit may check whether the file is encrypted (S2300).

상기 파일이름이 유사한 이동식저장장치(500)내에 저장된 파일은 유사파일로 정의될 수 있다.A file stored in the portable storage device 500 having a similar file name may be defined as a similar file.

상기 랜섬웨어탐지유닛(533)은 상기 데이터의 암호화 여부를 체크할 수 있다(S2300). The RAN searchware unit 533 may check whether the data is encrypted (S2300).

상기 랜섬웨어탐지유닛(533)은 암호문의 통상적인 성질에 기초하여 암호화를 체크할 수 있다. The Ransomware detection unit 533 may check the encryption based on the normal nature of the cipher text.

상기 랜섬웨어탐지유닛(533)은 파일크기를 비교하여 암호화를 체크할 수 있다.The RAN searchware unit 533 may check the encryption by comparing the file sizes.

상기 암호화 체크는 파일크기 비교동작, 랜덤스트링 탐지동작, 및 파일데이터 압축동작을 포함할 수 있다.The encryption check may include a file size comparison operation, a random string detection operation, and a file data compression operation.

상기 랜섬웨어탐지유닛(533)은 상기 파일데이터의 파일 크기를 추출할 수 있다. 상기 랜섬웨어탐지유닛(533)은 상기 파일 크기와 유사파일의 파일 크기를 비교할 수 있다. 상기 파일데이터의 파일 크기가 상기 파일 크기보다 큰 경우, 상기 파일데이터는 암호화를 수행하는 것으로 판단될 수 있다.The RAN cellware detection unit 533 may extract the file size of the file data. The RAN searchware unit 533 may compare the file size and the file size of the similar file. If the file size of the file data is larger than the file size, the file data may be determined to perform encryption.

상기 랜섬웨어탐지유닛(533)은 랜덤스트링을 탐지하여 암호화를 체크할 수 있다.The RAN cellware detection unit 533 may detect the random string and check the encryption.

상기 랜섬웨어탐지유닛(533)은 상기 파일데이터 내의 패턴의 규칙을 체크하여 파일데이터의 암호화 수행 여부를 확인할 수 있다. 상기 랜섬웨어탐지유닛(533)은 상기 패턴의 규칙이 무질서한 경우, 상기 파일데이터이 암호화 연산을 수행하는 것으로 간주할 수 있다.The RAN cellware detection unit 533 can check whether the file data is encrypted by checking the rule of the pattern in the file data. If the rule of the pattern is disordered, the RAN cellware detection unit 533 can regard the file data as performing an encryption operation.

상기 랜섬웨어탐지유닛(533)은 상기 파일데이터를 압축할 수 있다. 상기 파일데이터가 압축되지 않는 경우, 상기 랜섬웨어탐지유닛(533)은 상기 파일데이터이 암호화 연산을 수행하는 것으로 간주할 수 있다.The RAN cellware detection unit 533 may compress the file data. If the file data is not compressed, the RAN searchware unit 533 can regard the file data as performing an encryption operation.

상기 랜섬웨어탐지유닛(533)은 상기 암호화 여부(S2310)에 따라 랜섬웨어탐지알고리즘의 수행을 진행할 수 있다. 상기 암호화 연산이 파일데이터에 포함되지 않는 경우(N), 상기 랜섬웨어탐지유닛(533)은 제1 가중치가 상기 유사파일에 설정되도록(S2330)할 수 있다. The RAN searchware unit 533 can perform the RAN search detection algorithm according to the encryption (S2310). If the encryption operation is not included in the file data (N), the random access detection unit 533 may set the first weight to the similar file (S2330).

상기 암호화 연산을 상기 파일데이터가 포함하는 경우(Y), 상기 랜섬웨어탐지유닛(533)은 삭제/덮어쓰기 연산의 수행여부를 체크(S2510)할 수 있다.If the file data includes the encryption operation (Y), the RAN searchware unit 533 may check whether the delete / overwrite operation is performed (S2510).

상기 랜섬웨어탐지 유닛은 파일데이터에 의해 상기 원본파일의 삭제/덮어쓰기의 연산이 수행되는지 여부를 체크할 수 있다(S2510).The RAN searchware unit may check whether deletion / overwriting of the original file is performed according to the file data (S2510).

상기 랜섬웨어탐지 유닛은 상기 파일데이터에 의해 상기 유사파일을 삭제/덮어쓰기 연산이 수행되는지 여부를 체크할 수 있다. 상기 랜섬웨어탐지유닛(533)은 상기 파일데이터에 유사파일의 삭제/덮어쓰기를 위한 연산패턴이 포함되는지 여부를 확인할 수 있다.The RAN searchware unit may check whether the similar file is deleted / overwritten by the file data. The RAN searchware unit 533 can check whether the operation pattern for deleting / overwriting a similar file is included in the file data.

상기 랜섬웨어탐지 유닛은 상기 삭제/대체연산이 체크되지 않는 경우(N) 제2 가중치를 설정(S2530)할 수 있고, 삭제/대체연산이 체크되는 경우(Y) 제3 가중치를 설정(2550)할 수 있다.The Ransomware detection unit may set the second weight (S2530) if the delete / replace operation is not checked (N), set the third weight (Y) when the delete / replace operation is checked (Y) can do.

상기와 같이, 단계별로 랜섬웨어의탐지 동작이 수행됨에 따라 랜섬웨어탐지동작이 간이해지는 효과를 가질 수 있다. 상기 유사도가 없는 경우, 그 이후의 랜섬웨어탐지동작은 수행되지 않아도 되기 때문에 이동식저장장치(500)의 랜섬웨어탐지 부담이 경감될 수 있다.As described above, the detection of the Ramsomeware can be performed by performing the detection of the Ramsomeware in stages. If there is no such similarity, the subsequent detection of the Ramsomware may not be performed, so that the Ramsomware detection burden of the portable storage device 500 may be reduced.

이상에서는 랜섬웨어탐지알고리즘에 대해서 설명하였다.The detection algorithm of Ransomware has been described above.

이하에서는 이동식저장장치(500)의 가중치 설정 동작 및 랜섬웨어간주 동작에 대해서 설명하도록 한다. 상기 가중치 설정 동작은 전술한 알고리즘을 기초로 상기 유사파일별로 가중치를 설정하는 동작으로 정의될 수 있다. 상기 랜섬웨어 간주동작은 이동식저장장치(500)내의 랜섬웨어의 존재를 간주하는 동작으로 정의될 수 있다.Hereinafter, the operation of setting the weight of the portable storage device 500 and the operation of considering the Raman software will be described. The weight setting operation may be defined as setting an weight for each similar file based on the above-described algorithm. The Ransomware operation may be defined as an operation that considers the presence of Ransomware in the mobile storage device 500.

도 6을 참조하면, 상기 이동식저장장치(500)는 유사파일별로 가중치를 설정할 수 있다.Referring to FIG. 6, the portable storage device 500 may set a weight for each similar file.

상기 파일리스트에는 파일별로 가중치가 기록되어있을 수 있다. 상기 파일별 가중치는 상기 파일에 대한 가중치를 설정함으로써 변경될 수 있다.In the file list, weights may be recorded for each file. The weight for each file may be changed by setting a weight for the file.

상기 랜섬웨어탐지유닛(533)은 유사파일 별로 가중치가 설정되도록 할 수 있다. 상기 랜섬웨어탐지유닛(533)은 랜섬웨어탐지알고리즘의 결과로서 파일단위의 탐지데이터(F-FD)를 출력할 수 있다. 상기 파일단위의 탐지데이터(F-FD)는 변환유닛(531)에 의해 변환되어 블록단위의 탐지데이터(B-FD)로 변환될 수 있다. 상기 콘트롤러(590)는 상기 블록단위의 탐지데이터(B-FD)를 획득하여, 가중치를 설정할 수 있다. 상기 콘트롤러(590)는 상기 파일리스트에 포함된 유사파일에 가중치를 설정할 수 있다. The random access detection unit 533 may set a weight for each similar file. The Ransomware detection unit 533 may output file-based detection data (F-FD) as a result of the Ransomware detection algorithm. The detection data (F-FD) on a file basis can be converted by the conversion unit 531 and converted into detection data (B-FD) on a block basis. The controller 590 can acquire the detection data (B-FD) of the block unit and set a weight value. The controller 590 may set weights on similar files included in the file list.

도 6을 참조하여, 유사파일이 파일 A인 경우, 파일 A는 상기 제1 탐지데이터에 의해 본래 가중치에서 제1 가중치만이 더해진 가중치를 가질 수 있다. 또는, 유사파일이 파일 D인 경우, 상기 파일 D는 상기 제2 탐지데이터에 의해 본래 가중치에서 제1 가중치와 제2 가중치가 더해진 가중치를 가질 수 있다.Referring to FIG. 6, when the similar file is file A, the file A may have a weight added by the first detection data so that only the first weight is added at the original weight. Alternatively, when the similar file is file D, the file D may have a weight added by the first weight and the second weight at the original weight by the second detection data.

한편, 전술한 제1 가중치, 제2 가중치, 제3 가중치는 서로 다른 값을 수 있다. 상기 가중치의 크기는 제3 가중치, 제2 가중치, 제1 가중치 순서로 클 수 있다.Meanwhile, the first weight, the second weight, and the third weight may have different values. The size of the weight may be larger in order of the third weight, the second weight, and the first weight.

본 출원의 일 실시예에 따른 이동식저장장치(500)는 설정된 가중치에 기초하여 랜섬웨어를 간주할 수 있다.The portable storage device 500 according to an embodiment of the present application may consider Ransomware based on the set weights.

도 6을 다시 참조하면, 상기 이동식저장장치(500)는 임계가중치(K)를 기준으로 랜섬웨어를 간주할 수 있다. 상기 콘트롤러(590)는 임계가중치(K)이상의 가중치를 가지는 유사파일을 랜섬웨어에 의한 파일로 간주할 수 있다.Referring again to FIG. 6, the removable storage device 500 may consider Ransomware based on the threshold weight K. FIG. The controller 590 may regard a similar file having a weight value equal to or greater than the critical weight K as a file based on Ransomware.

상기 임계가중치(K)는 이동식저장장치(500)에 의해 설정될 수 있다. 상기 임계가중치(K)는 상기 이동식저장장치(500)의 모드에 기초하여 설정될 수 있다. 상기 아이들모드에서의 임계가중치(K)는 액티브모드에서의 임계가중치(K)보다 작을 수 있다.The threshold weight K may be set by the mobile storage device 500. The threshold weight K may be set based on the mode of the portable storage device 500. [ The critical weight K in the idle mode may be smaller than the critical weight K in the active mode.

상기 임계가중치(K)는 사용자에 의해 직접 설정될 수도 있다.The threshold weight K may be set directly by the user.

상기 콘트롤러(590)는 상기 랜섬웨어파일이 간주되는 경우, 소정의 결과데이터를 출력할 수 있다. 상기 소정의 결과데이터는 랜섬웨어탐지신호, 차단데이터, 경고데이터일 수 있다.The controller 590 may output predetermined result data when the Raman software file is considered. The predetermined result data may be a random access detection signal, blocking data, and warning data.

이하에서는 랜섬웨어처리단계에 대해서 구체적으로 설명하도록 한다.Hereinafter, the process of processing the random firmware will be described in detail.

랜섬웨어처리단계에서, 이동식저장장치(500)는 탐지된 랜섬웨어를 처리하는 처리동작을 수행할 수 있다.In the randomware processing step, the removable storage device 500 may perform processing operations to process the detected randomware.

도 7 내지 9는 본 출원의 일 실시예에 따른 이동식저장장치의 처리동작을 나타내는 도면이다.7 to 9 are views showing a processing operation of the mobile storage device according to an embodiment of the present application.

도 7은 본 출원의 일 실시예에 따른 연산데이터(B-OPD)의 출력의 제어 및 차단 처리동작을 나타내는 도면이다.7 is a diagram showing an operation of controlling and cutting off the output of the calculation data (B-OPD) according to the embodiment of the present application.

도 8은 본 출원의 일 실시예예 따른 호스트디바이스와의 통신단절 처리동작을 나타내는 도면이다.8 is a diagram showing a communication disconnection processing operation with a host device according to an embodiment of the present application.

도 9는 본 출원의 일 실시예에 따른 경고파일생성 처리동작을 나타내는 도면이다.9 is a diagram showing an alert file generation processing operation according to an embodiment of the present application.

도 7 내지 도 9를 참조하면, 상기 처리동작은 i) 연산데이터(B-OPD)의 출력의 제어, ii) 연산데이터(B-OPD)의 출력의 차단, iii) 호스트디바이스(300)와의 통신 단절, 및 iv) 경고파일생성을 포함할 수 있다. 상기 처리동작은 상기 콘트롤러(590)의 데이터의 전송에 의해 수행될 수 있다. 상기 소정의 데이터는 랜섬웨어탐지신호, 차단데이터, 또는 경고데이터일 수 있다.7 to 9, the processing operation is performed by i) controlling the output of the operational data B-OPD, ii) blocking the output of the operational data B-OPD, iii) communicating with the host device 300 Disconnection, and iv) generation of a warning file. The processing operation can be performed by transferring the data of the controller 590. [ The predetermined data may be a Ramsome detection signal, blocking data, or warning data.

도 7을 참조하면, 상기 콘트롤러(590)는 상기 버퍼(550)의 연산데이터(B-OPD)의 출력을 제어할 수 있다. 상기 콘트롤러(590)는 상기 버퍼(550)로 랜섬웨어탐지신호를 전송할 수 있다. 상기 콘트롤러(590)는 상기 버퍼(550)의 랜섬웨어탐지신호의 획득 시점에 따라 상기 연산데이터(B-OPD)의 출력을 제어할 수 있다.Referring to FIG. 7, the controller 590 may control the output of the operational data (B-OPD) of the buffer 550. The controller 590 may transmit a random access detection signal to the buffer 550. The controller 590 may control the output of the calculation data (B-OPD) according to the time of acquisition of the Ramsome detection signal of the buffer 550.

도 7 (a)를 참조하면, 상기 버퍼(550)는 연산데이터(B-OPD) 출력(S3110) 이후에 상기 연산데이터(B-OPD)에 관련한 랜섬웨어탐지신호를 획득(S3130)할 수 있다. Referring to FIG. 7A, the buffer 550 may acquire a Ramsome detection signal related to the calculation data (B-OPD) (S3130) after the calculation data (B-OPD) .

상기 콘트롤러(590)는 랜섬웨어탐지신호 획득 시점 이후에 상기 버퍼(550)로부터 출력되는 연산데이터(B-OPD)를 제어(S3150)할 수 있다. 상기 콘트롤러(590)는 상기 버퍼(550)의 연산데이터(B-OPD) 출력을 지수함수적으로 늦출 수 있다. 상기 콘트롤러(590)는 상기 버퍼(550)의 연산데이터(B-OPD)의 출력을 중단시킬 수 있다. The controller 590 may control the operation data (B-OPD) output from the buffer 550 (S3150) after the time of acquiring the Ramsome detection signal. The controller 590 may exponentially delay the output of the operational data (B-OPD) of the buffer 550. The controller 590 may stop the output of the calculation data (B-OPD) of the buffer 550.

또는, 상기 콘트롤러(590)는 이미 출력된 연산데이터(B-OPD)에 의해 수행된 연산을 수복할 수 잇다. 상기 콘트롤러(590)는 이미 출력된 연산데이터(B-OPD)에 의해 연산이 수행된 메모리부(570)의 셀, 또는 블록의 주소를 역산할 수 있다. 상기 콘트롤러(590)는 상기 주소의 셀, 또는 상기 주소의 블록에 존재하는 데이터를 삭제하도록 버퍼(550) 혹은 메모리부(570)를 제어할 수 있다.Alternatively, the controller 590 can repair the operation performed by the already-outputted operation data (B-OPD). The controller 590 may invert the address of the cell or block of the memory unit 570 which has been operated on by the already outputted operation data (B-OPD). 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.

도 7 (b)를 참조하면, 상기 버퍼(550)는 연산데이터(B-OPD) 출력 이전에 상기 연산데이터(B-OPD)에 관련한 랜섬웨어탐지신호를 획득(S3310)할 수 있다.Referring to FIG. 7B, the buffer 550 may acquire a Ramsome detection signal related to the calculation data (B-OPD) (S3310) before the output of the calculation data (B-OPD).

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

상기와 같이 랜섬웨어탐지시점별로 처리동작이 수행되는 경우, 불필요한 랜섬웨어 처리동작이 수행되지 않아도 되는 효과를 가질 수 있다. 시점별로 처리동작이 수행되지 않는 경우, 연산데이터(B-OPD)가 출력되지 않았음에도 불필요하게 연산데이터(B-OPD)에 의한 연산이 수행되었는지 여부를 검사할 수 있다. 이와 달리, 상기 시점별로 처리동작이 수행되는 경우, 연산데이터(B-OPD)가 출력되지 않았다면 연산데이터(B-OPD)에 의한 연산의 수행 여부를 검사하지 않을 수 있다. 이에 따라, 시점별로 처리동작이 수행되는 경우 랜섬웨어처리동작이 효율적으로 수행되는 효과가 있을 수 있다.As described above, when the processing operation is performed according to the detection timing of the RAN search, unnecessary RAN search processing is not performed. It is possible to check whether or not the arithmetic operation by the arithmetic operation data (B-OPD) is performed unnecessarily even though the arithmetic operation data (B-OPD) is not outputted. Alternatively, when the processing operation is performed for each of the viewpoints, it may not be checked whether the operation by the operation data (B-OPD) is performed unless the operation data (B-OPD) is outputted. Accordingly, when the processing operation is performed for each viewpoint, there may be an effect that the Raman software processing operation is efficiently performed.

도 8을 참조하면, 상기 콘트롤러(590)는 상기 호스트인터페이스(510)와 상기 호스트디바이스(300)의 통신을 차단할 수 있다. Referring to FIG. 8, the controller 590 may block communication between the host interface 510 and the host device 300.

상기 콘트롤러(590)는 상기 호스트인터페이스(510)로 차단데이터를 전송할 수 있다. 상기 콘트롤러(590)는 랜섬웨어가 탐지(S3510)된 경우, 차단데이터를 생성(S3530)할 수 있다. 상기 차단데이터는 상기 호스트인터페이스(510)와 상기 호스트디바이스(300)의 통신을 차단할 수 있는 제어신호일 수 있다. 상기 차단데이터는 복수의 블록단위의 데이터일 수 있다. 상기 콘트롤러(590)는 상기 생성된 차단데이터를 호스트인터페이스(510)로 전달(S3550)할 수 잇다.The controller 590 may transmit the blocking data to the host interface 510. The controller 590 may generate the blocking data (S3530) when the Raman software is detected (S3510). 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 transmits the generated blocking data to the host interface 510 (S3550).

상기 호스트인터페이스(510)는 상기 콘트롤러(590)로부터 차단데이터를 획득(S3570)할 수 있다. 이 경우, 상기 호스트인터페이스(510)는 호스트디바이스(300)와 통신을 차단(S3590)할 수 있다. 상기 차단은 소프트웨어적으로 상기 호스트디바이스(300)의 데이터의 전송을 차단하는 것일 수 있다. 상기 호스트인터페이스(510)는 상기 운영체제(330)로부터 전달되는 모든 데이터 전송을 차단할 수 있다.The host interface 510 may obtain the blocking data from the controller 590 (S3570). In this case, the host interface 510 may intercept communication with the host device 300 (S3590). 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.

도 9를 참조하면, 상기 콘트롤러(590)는 호스트디바이스(300)의 사용자에게 랜섬웨어에 대한 경고 알림을 줄 수 있다. 상기 콘트롤러(590)는 상기 호스트디바이스(300) 내에 경고파일이 생성되도록 할 수 있다. 상기 콘트롤러(590)는 경고데이터를 생성하여 상기 경고데이터가 상기 운영체제(330)로 전달될 수 있도록 할 수 있다.Referring to FIG. 9, the controller 590 may give a warning to the user of the host device 300 about the alarm. 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)는 랜섬웨어가 탐지된 경우(S3710), 복수의 블록단위의 경고데이터를 생성(S3720)할 수 있다. 상기 경고데이터는 경고파일의 생성을 위한 데이터를 포함할 수 있다. 상기 경고데이터는 복수의 블록단위의 데이터일 수 있다. 상기 콘트롤러(590)는 상기 생성된 경고데이터를 호스트인터페이스(510)로 전송(S3730)할 수 있다.The controller 590 may generate alert data in a plurality of block units (S3720) when the random software is detected (S3710). 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 (S3730).

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

상기 운영체제(330)는 상기 호스트인터페이스(510)로부터 복수의 블록단위의 경고데이터를 획득(S3760)할 수 있다. 상기 운영체제(330)는 상기 획득한 복수의 블록단위의 경고데이터를 변환할 수 있다(S3770). 상기 계층변환(S3770)단계에서, 상기 운영체제(330)는 상기 경고데이터의 단위를 변환할 수 있으며, 상기 경고데이터에 포함된 연산이 수행될 수 있도록 상기 경고데이터를 논리적으로 분석할 수 있다. 상기 계층변환결과에 기초하여, 상기 운영체제(330)는 경고파일을 생성(S3770)할 수 있다. 상기 경고파일은 호스트디바이스(300)의 사용자에게 랜섬웨어 경고 알림을 줄 수 있다.The operating system 330 may acquire a plurality of alert data in units of blocks from the host interface 510 (S3760). The operating system 330 may convert the obtained warning data in units of blocks (S3770). In step S 3770, 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 (S3770). The warning file may give a user of the host device 300 a RAN firmware warning notice.

또는, 상기 콘트롤러(590)는 탐지된 랜섬웨어의 탐지 이력을 생성할 수 있다. Alternatively, the controller 590 may generate a detection history of the detected Ransomware.

상기 콘트롤러(590)는 상기 랜섬웨어리스트에 이동식정장치에서 탐지된 랜섬웨어를 기록할 수 있다. 상기 콘트롤러(590)는 상기 탐지 이력이 존재하는 랜섬웨어에 기초하여 상기 유사파일에 랜섬웨어별로 가중치를 달리 줄 수 있다.The controller 590 may record the detected Ransomware in the portable device in the Ransomware list. The controller 590 may assign different weights to the similar files on the basis of the Raman software in which the detection history exists.

상기 콘트롤러(590)는 상기 탐지된 랜섬웨어가 기록되는 랜섬웨어이력을 생성할 수도 있다. 상기 랜섬웨어이력에는 랜섬웨어 별로 탐지된 탐지횟수가 기록될 수 있다.The controller 590 may generate the RAN firmware history in which the detected RAN firmware is recorded. The number of detections detected for each RAN firmware can be recorded in the RAN firmware history.

상기 가중치, 및 상기 탐지횟수는 랜섬웨어탐지에 이용될 수 있다. 상기 이동식저장장치(500)는 랜섬웨어의 우선순위에 순서대로 랜섬웨어탐지동작을 수행할 수 있다. 상기 이동식저장장치(500)는 랜섬웨어의 탐지 이력에 기초하여 랜섬웨어의 탐지횟수 순서대로 랜섬웨어탐지동작을 수행할 수 있다. The weight, and the number of detections, may be used to detect Ransomware. The portable storage device 500 may perform a random access detection in order of the priority of the random software. The mobile storage device 500 can perform the Ransomware detection operation in the order of the number of detection of the Ransomware based on the detection history of the Ransomware.

<제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.

도 10은 본 출원의 일 실시예에 따른 호스트디바이스 및 이동식저장장치를 나타내는 도면이다.10 is a diagram illustrating a host device and a removable storage device according to one embodiment of the present application.

도 11은 본 출원의 일 실시예에 따른 제2 랜섬웨어검사동작 시 데이터 전송을 나타내는 도면이다.11 is a diagram illustrating data transmission in a second Ramsome inspection operation according to an embodiment of the present application.

본 출원의 일 실시예에 따른 이동식저장장치(500)는 복수의 블록단위의 랜섬웨어검사동작을 수행할 수 있다. 상기 복수의 블록단위의 랜섬웨어검사동작은 제2 랜섬웨어검사동작으로 정의될 수 있다.The mobile storage device 500 according to an embodiment of the present application can perform a plurality of block-by-block Ramsomware inspection operations. The Raman-software testing operation on the plurality of block units may be defined as a second Raman-ware testing operation.

도 10 및 도 11을 참조하면, 상기 랜섬웨어탐지부(530)는 복수의 블록단위의 명령데이터(B-CD)에 기초하여 랜섬웨어검사동작을 수행할 수 있다.Referring to FIGS. 10 and 11, the Ramsome detecting unit 530 may perform a Ramsome inspection operation on the basis of a plurality of blocks of command data (B-CD).

상기 호스트인터페이스(510)는 호스트디바이스(300)로부터 복수의 블록단위의 명령데이터(B-CD)를 획득(S2031)하고, 상기 블록단위의 명령데이터(B-CD)를 상기 랜섬웨어탐지유닛(533)으로 바로 전달(2033)할 수 있다.The host interface 510 obtains command data B-CD of a plurality of blocks from the host device 300 (S2031), and supplies the command data (B-CD) of the block unit to the random- 533 (2033).

상기 랜섬웨어탐지유닛(533)은 상기 복수의 블록단위의 명령데이터(B-CD)를 상기 호스트인터페이스(510)로부터 획득(S2035)할 수 있다. 상기 랜섬웨어탐지유닛(533)은 복수의 블록단위의 데이터에 기초하여 랜섬웨어를 탐지(S2037)할 수 있다.The RAN cellware detection unit 533 may acquire the command data (B-CD) in units of blocks from the host interface 510 (S2035). The RAN cellware detection unit 533 can detect the RAN cellware based on the data of a plurality of blocks (S2037).

상기 랜섬웨어탐지(S2037)단계에서, 상기 랜섬웨어탐지유닛(533)은 상기 복수의 블록단위의 데이터에 기초하여 랜섬웨어탐지알고리즘을 수행할 수 있다. 상기 랜섬웨어탐지알고리즘의 수행결과에 기초하여 랜섬웨어가 간주될 수 있다. In the Ramsomeware detection (S2037), the Ramsome detection unit 533 may perform a Ramsome detection algorithm based on the data of the plurality of blocks. Rangumware may be considered based on the execution result of the Rangumware detection algorithm.

상기 랜섬웨어탐지유닛(533)은 상기 복수의 블록단위의 데이터 중 일부인 특정데이터만을 랜섬웨어탐지알고리즘에 따라 분석할 수 있다. 상기 특정데이터는 랜섬웨어에 의해 주로 손상되는 데이터일 수 있다. 예를 들어, 상기 특정데이터는 파일의 헤더에 관련된 헤더데이터일 수 있다.The RAN cellware detection unit 533 can analyze only specific data that is a part of the data of the plurality of blocks in accordance with the RANMO detection detection algorithm. The specific data may be data that is mainly damaged by the random software. 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.

상기 랜섬웨어탐지유닛(533)은 랜섬웨어별로 상기 특정데이터를 정의할 수 있다. 상기 랜섬웨어탐지유닛(533)은 상기 제1 랜섬웨어에 기초한 제1 특정데이터를 정의할 수 있고, 상기 제2 랜섬웨어에 기초한 제2 특정데이터를 정의할 수 있다.The RAN cellware detection unit 533 may define the specific data for each RAN cellware. The RAN cellware detection unit 533 may define first specific data based on the first Ransomware and second specific data based on the second Ransomware.

상기 랜섬웨어탐지유닛(533)은 랜섬웨어의 우선순위에 따라 특정데이터 별로 랜섬웨어탐지동작의 수행 순서를 설정할 수 있다. 상기 제1 랜섬웨어가 제2 랜섬웨어보다 우선순위가 높은 경우, 상기 랜섬웨어탐지유닛(533)은 상기 제2 특정데이터보다 먼저 상기 제1 특정데이터를 분석할 수 있다.The RAN cellware detection unit 533 can set the order of performing the RAN cellware detection according to the priority of the RAN cellware. If the first random software has a higher priority than the second random software, the random software detection unit 533 may analyze the first specific data before the second specific data.

상기 제2 랜섬웨어검사동작에 의해, 랜섬웨어탐지가 정밀해지는 효과를 가질 수 있다. 상기 블록단위가 아닌 파일단위의 랜섬웨어검사동작이 수행되는 경우, 랜섬웨어탐지부(530)내로 전송되는 블록단위의 데이터는 데이터필터(535), 변환유닛(531), 랜섬웨어탐지유닛(533) 순서대로 전송되어야 한다. 이에 따라, 상기 블록단위의 데이터는 전송과정에서 누락될 수 있고, 누락된 데이터에 대해서는 랜섬웨어탐지가 수행되지 않을 수 있다. 상기 블록단위의 랜섬웨어검사동작이 수행되는 경우, 파일단위의 랜섬웨어검사동작에 비하여 블록단위의 데이터의 전송경로가 짧아질 수 있다. 이에 따라, 상기 블록단위의 데이터의 누락이 줄어들어 랜섬웨어탐지가 정밀해지는 효과를 가질 수 있다.By the second Ramsome inspection operation, it is possible to have an effect that the detection of the Ramsome can be precise. In the case where the Ramsome inspection operation is performed on a file unit basis but not on the block basis, the block-level data transmitted to the Ramsome detection unit 530 includes a data filter 535, a conversion unit 531, a Ramsome detection unit 533 ). Accordingly, the block-by-block data may be omitted in the transmission process, and the missing data may not be detected. When the RamsomeWare inspection operation is performed on the block-by-block basis, the transmission path of the block-by-block data may be shorter than the Ramsomewire inspection operation on a file basis. Accordingly, the missing data of the block unit can be reduced, and the detection of the Raman-software can be precisely performed.

또는, 상기 제2 랜섬웨어검사동작에 의해, 신속한 랜섬웨어탐지가 가능해지는 효과를 가질 수 있다. 블록단위의 랜섬웨어검사동작이 수행되지 않는 경우, 랜섬웨어탐지를 위하여 파일단위의 데이터에 포함된 모든 블록 데이터의 패턴을 분석해야 한다. 이에 반하여, 블록단위의 랜섬웨어검사동작을 수행하는 경우, 상기 랜섬웨어탐지는 복수의 블록단위의 데이터의 일부 데이터에 대해서만 랜섬웨어검사동작이 가능해지므로 랜섬웨어탐지가 신속해지는 효과를 가질 수 있다.Alternatively, by the second Ramsome inspection operation, rapid Ransomware detection can be effected. If the block-by-block Ransomware check operation is not performed, the pattern of all the block data included in the file unit data must be analyzed in order to detect the Ransomware. On the other hand, when performing the Ramsomware inspection operation on a block basis, the Ramsumware detection can perform the Ramsomware inspection only on a part of data of a plurality of block units of data, so that the detection of Ramsumware can be speeded up.

한편, 전술한 제2 랜섬웨어검사동작은 제1 랜섬웨어검사동작과 조합되어 수행될 수도 있다.Meanwhile, the second Ramsome inspection operation may be performed in combination with the first Ramsome inspection operation.

<제3 실시예>&Lt; Third Embodiment >

이하에서는 제1 실시예 또는 제2 실시예의 변형예인 제3 실시예에 대해서 설명하도록 한다. 이하의 설명에서 특별한 언급이 없다면 전술한 제1 실시예 또는 제2 실시예가 적용될 수 있다.Hereinafter, a third embodiment, which is a modification of the first embodiment or the second embodiment, will be described. In the following description, unless otherwise specified, the first or second embodiment described above can be applied.

도 12는 본 출원의 일 실시예에 따른 호스트디바이스 및 이동식저장장치를 나타내는 도면이다.12 is a diagram illustrating a host device and a removable storage device according to one embodiment of the present application.

도 13은 본 출원의 일 실시예에 따른 제3 랜섬웨어검사동작 시 데이터 전송을 나타내는 도면이다.13 is a diagram illustrating data transmission during a third Ramsome inspection operation according to an embodiment of the present application.

본 출원의 일 실시예에 따른 이동식저장장치(500)는 소정의 데이터 필터링이 수행되는 랜섬웨어검사동작을 수행할 수 있다. 이 경우, 상기 랜섬웨어검사동작은 제3 랜섬웨어검사동작으로 정의될 수 있다.The portable storage device 500 according to an exemplary embodiment of the present invention may perform a random access testing operation in which predetermined data filtering is performed. In this case, the Rangemouse inspection operation may be defined as a third Raman software inspection operation.

도 12를 참조하면, 상기 랜섬웨어탐지부(530)는 데이터필터를 더 포함할 수 있다.Referring to FIG. 12, the Ramsome detection unit 530 may further include a data filter.

상기 데이터필터는 데이터를 필터링할 수 있다. 상기 데이터필터는 데이터필터로 전송된 복수의 원본데이터를 분류하여 출력할 수 있다. 상기 데이터필터는 상기 복수의 원본데이터를 제1 데이터군과 제2 데이터군으로 분류하여, 제1 데이터군만을 출력할 수 있다. 상기 데이터필터는 상기 제1 데이터인 필터링데이터를 생성할 수 있다.The data filter may filter the data. The data filter can classify and output a plurality of original data transmitted to the data filter. The data filter may classify the plurality of original data into a first data group and a second data group, and output only the first data group. The data filter may generate filtering data that is the first data.

예를 들어, 상기 데이터필터가 블룸필터(Bloom filter)인 경우, 상기 데이터필터는 복수의 원본데이터를 랜섬웨어로 의심되는 데이터군과 랜섬웨어가 아닌 데이터군으로 분류할 수 있다. 상기 데이터필터는 랜섬웨어로 의심되는 데이터군만을 출력할 수 있다. For example, when the data filter is a Bloom filter, the data filter may classify a plurality of original data into a data group suspected to be Ransomware and a data group not Ransomware. The data filter can output only data groups suspect to be Ransomware.

또한, 상기 데이터필터가 블룸필터인 경우, 랜섬웨어거나 랜섬웨어로 의심되는 데이터를 랜섬웨어인 데이터로 분류할 수 있다. 다만, 상기 블룸필터는 상기 랜섬웨어인 데이터를 랜섬웨어가 아닌 데이터로 분류하지는 않는다. 따라서, 데이터필터가 블룸필터인 경우, 상기 데이터필터가 오동작하더라도 랜섬웨어의 가능성이 있는 데이터가 랜섬웨어가 아닌 데이터로 분류되지 않을 수 있다. 이에 따라, 랜섬웨어탐지에 있어서 오탐의 확률은 낮아질 수 있다.In addition, when the data filter is a Bloom filter, the data suspected to be Ransomware or Ransomware can be classified as Ransomware data. However, the Bloom filter does not classify the data as the Raman software as non-Raman software. Therefore, in the case where the data filter is a Bloom filter, even if the data filter malfunctions, it is possible that the data having the possibility of Ransomware is not classified as non-Ransomware data. Thus, the probability of false positives in detection of Ransomware can be lowered.

한편, 상기 데이터필터(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 suspected data group of the Ransomware to the configuration within the Ransomware detection unit, and the data group that is not the Ransomware may include the buffer 550, the memory unit 570, (590).

도 13을 참조하면, 상기 랜섬웨어탐지부(530)는 필터링된 파일단위의 데이터에 기초하여 랜섬웨어검사동작을 수행할 수 있다.Referring to FIG. 13, the Ramsome detection unit 530 may perform Ransomware inspection based on the filtered data of the file unit.

상기 데이터필터는 복수의 블록단위의 명령데이터(B-CD)를 획득(S2051)할 수 있다. 상기 데이터필터는 상기 볼수의 블록단위의 명령데이터(B-CD)를 필터링하여 블록단위의 필터링데이터(S2052)를 생성할 수 있다. 상기 블록단위의 필터링데이터는 랜섬웨어로 의심되는 블록단위의 명령데이터(B-CD)로 정의될 수 있다. 상기 데이터필터는 상기 블록단위의 필터링 데이터를 변환유닛(531)으로 전달할 수 있다(S2053).The data filter can acquire command data (B-CD) in units of a plurality of blocks (S2051). The data filter may generate the filtering data (S2052) on a block-by-block basis by filtering the command data (B-CD) in the unit of the number of blocks. The filtering data of the block unit may be defined as command data (B-CD) of block unit suspected to be a random software. The data filter may transmit the filtering data of the block unit to the conversion unit 531 (S2053).

변환유닛(531)은 복수의 블록단위의 필터링데이터를 획득(S2054)할 수 있다. 상기 변환유닛(531)은 상기 복수의 블록단위의 필터링데이터를 변환(S2055)하여 파일단위의 필터링데이터를 생성할 수 있다. 상기 변환유닛(531)은 생성된 파일단위의 필터링데이터를 랜섬웨어탐지유닛(533)으로 전달(S2056)할 수 있다.The conversion unit 531 can acquire filtering data of a plurality of blocks (S2054). The conversion unit 531 may convert the filtering data of the plurality of blocks (S2055) to generate filtering data in units of files. The conversion unit 531 may transmit the generated filtering data in units of files to the random access detection unit 533 (S2056).

상기 랜섬웨어탐지유닛(533)은 상기 파일단위의 필터링데이터를 상기 변환유닛(531)으로부터 획득(S2057)할 수 있다. 상기 랜섬웨어탐지유닛(533)은 파일단위의 필터링데이터에 기초하여 랜섬웨어를 탐지(S2058)할 수 있다. The RAN cellware detection unit 533 may acquire the filtering data of the file unit from the conversion unit 531 (S2057). The RAN cellware detection unit 533 may detect the RAN cellware based on the filtering data in units of files (S2058).

상기 제3 랜섬웨어검사동작에 의해, 랜섬웨어탐지동작이 간이해지는 효과를 가질 수 있다. 상기 데이터필터가 구비되지 않는 경우. 상기 랜섬웨어탐지부(530)는 랜섬웨어탐지부(530)로 전송되는 모든 데이터에 대하여 랜섬웨어 탐지를 수행해야할 수 있다. 이에 반해, 상기 데이터필터가 구비되는 경우, 상기 랜섬웨어탐지부(530)는 일부의 데이터에 대해서만 랜섬웨어 탐지를 수행할 수 있다. 이에 따라, 랜섬웨어탐지 알고리즘이 간이해지는 효과가 있을 수 있다. 또는, 랜섬웨어 탐지를 위한 랜섬웨어패턴테이블의 사이즈가 작아져 랜섬웨어탐지부(530)의 운용 부담이 감소되는 효과를 가질 수 있다.By the third Ramsome inspection operation, the Ramsome detection operation can be simplified. And the data filter is not provided. The RAN searchware unit 530 may perform RAN search detection on all data transmitted to the RAN scan detection unit 530. On the other hand, when the data filter is provided, the Ramsome detection unit 530 can detect the Ramsumware only for a part of the data. Therefore, the Ransomware detection algorithm may be simplified. Alternatively, the size of the random firmware pattern table for detecting the random firmware may be reduced and the operation load of the random firmware detection unit 530 may be reduced.

한편, 전술한 제3 랜섬웨어검사동작은 제1 내지 제2 랜섬웨어검사동작과 조합되어 수행될 수도 있다.Meanwhile, the third Ramsome inspection operation may be performed in combination with the first and second Ramsome inspection operations.

<제4 실시예><Fourth Embodiment>

도 14는 본 출원의 일 실시예에 따른 이동식저장장치의 랜섬웨어검사동작 선택 순서도이다.FIG. 14 is a flow chart illustrating a selection procedure of the Ransomware inspection operation of the mobile storage device according to an embodiment of the present application.

도 15는 본 출원의 일 실시예에 따른 이동식저장장치의 가중치 설정 순서도이다.15 is a weight setting flowchart of a mobile storage device according to an embodiment of the present application.

도 14를 참조하면, 본 출원의 일 실시예에 따른 이동식저장장치(500)는 랜섬웨어검사동작을 선택적으로 수행할 수 있다.Referring to FIG. 14, the portable storage device 500 according to an embodiment of the present application can selectively perform the RAN search.

상기 이동식저장장치(500)는 랜섬웨어탐지의 정밀도, 신속도 등에 기초하여 랜섬웨어검사동작을 선택적으로 수행할 수 있다. 이하에서는 상기 이동식저장장치(500)가 탐지의 정밀도에 기초하여 랜섬웨어검사동작을 선택하는 것에 대해서 설명하도록 한다.The removable storage device 500 may selectively perform a random access check operation based on the accuracy, speed, and the like of the random access detection. Hereinafter, the portable storage device 500 selects the Ramsome inspection operation based on the accuracy of the detection.

상기 이동식저장장치(500)는 랜섬웨어 탐지 정밀도를 설정(S3100)할 수 있다. 상기 정밀도는 HIGH, MIDDLE, LOW를 포함할 수 있다.The mobile storage device 500 may set the detection accuracy of the RAN cellware (S3100). 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 the detection of the risk to LOW. If the mode is active or the amount of data in the removable storage device 500 is below a threshold, the removable storage device 500 may set the accuracy of the detection of the randomisation to MIDDLE. When the mode is the idle mode, the portable storage device 500 may set the accuracy of the detection of the RAN cellware to LOW.

상기 랜섬웨어탐지의 정밀도는 콘트롤러(590)메모리에 저장되어 있을 수 있다.The accuracy of the detection of the risk may be stored in the controller 590 memory.

상기 이동식저장장치(500)는 설정된 랜섬웨어탐지의 정밀도를 판단(S3300)할 수 있다. 상기 이동식저장장치(500)의 콘트롤러(590)는 콘트롤러(590)메모리에 저장된 정밀도에 관련된 데이터를 획득할 수 있다. 상기 콘트롤러(590)는 상기 랜섬웨어탐지부(530)에 블록단위의 데이터가 전송되기 이전에 상기 정밀도를 파악할 수 있다.The mobile storage device 500 may determine the accuracy of the detected Ramsomeware (S3300). The controller 590 of the mobile storage device 500 may obtain data related to the accuracy stored in the controller 590 memory. The controller 590 can obtain the accuracy of the block-level data before the data is transmitted to the random-number detecting 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 Ramsome inspection operation (S2010) and the second detection may be a second Ramsome inspection operation (S2030), wherein the third detection is a third Ramsome inspection operation (S2050).

다만, 이는 일 예에 불과할 뿐 정밀도 별로 선택되는 랜섬웨어검사동작은 이에 국한되지 않는다.However, this is merely an example, and the Raman-software inspection operation selected by precision is not limited to this.

이에 따라, 랜섬웨어탐지가 효율적으로 수행될 수 있다. 이동저장장치의 모드별로 랜섬웨어검사동작이 선택되지 않는 경우, 상기 액티브모드에서도 정밀한 랜섬웨어검사동작이 수행될 수 있다. 상기 액티브모드에서는 연산이 활발하게 수행되기 때문에, 랜섬웨어탐지동작이 정밀하게 수행되는 경우 상기 연산이 제대로 수행되지 못하며, 동시에 랜섬웨어탐지동작 또한 제대로 수행되지 못할 수 있다. 이에 반하여, 모드 별로 랜섬웨어검사동작이 선택되는 경우 랜섬웨어검사동작이 제대로 수행될 수 있는 환경이 갖추어질 수 있다. 상기 액티브 모드에서 간이한 랜섬웨어검사 동작이 수행될 수 있기 때문에, 이동식저장장치(500)의 연산 및 랜섬웨어탐지가 효율적으로 수행될 수 있다.Thus, the detection of the Raman-software can be efficiently performed. If the RAN scan check operation is not selected for each mode of the mobile storage device, the RAN scan check operation can be performed even in the active mode. Since the operation is actively performed in the active mode, when the Raman -Software detection operation is performed precisely, the operation can not be performed properly, and the Raman -Software detection operation may not be performed at the same time. On the other hand, when the Raman-software inspection operation is selected for each mode, an environment in which the Raman-software inspection operation can be performed properly can be provided. Since a simple Ransomware scan operation can be performed in the active mode, the operation of the mobile storage device 500 and the Ransomware detection can be efficiently performed.

한편, 상기 제1 내지 제3 랜섬웨어검사동작은 랜섬웨어탐지알고리즘의 단계별로 수행될 수 있다. 예를 들어, 상기 파일이름유사도체크는 제1 랜섬웨어검사동작에 의해 수행될 수 있고, 랜덤스트링체크와 삭제/대체연산수행여부체크는 제2 내지 제3 랜섬웨어검사동작에 의해 수행될 수도 있다.Meanwhile, the first through third Ramsome inspection operations may be performed in stages of the Ramsome detection algorithm. For example, the file name similarity check may be performed by a first random access check operation, and a random string check and a delete / replace operation check may be performed by second to third random access check operations .

도 15를 참조하면, 본 출원의 일 실시예에 따른 이동식저장장치(500)는 선택된 랜섬웨어검사동작에 따라 가중치를 달리 줄 수 있다.Referring to FIG. 15, the portable storage device 500 according to an embodiment of the present application may vary the weight according to the selected RamanSweeper checking operation.

상기 랜섬웨어타지결과획득 단계(S4310)에서, 상기 콘트롤러(590)는 블록단위의 탐지데이터(B-FD)를 획득할 수 있다. 상기 콘트롤러(590)는 상기 블록단위의 탐지데이터(B-FD)에 기초하여 수행된 랜섬웨어검사동작의 종류를 판단할 수 있다.In step S4310, the controller 590 may acquire detection data (B-FD) on a block-by-block basis. The controller 590 can determine the kind of the Rangemore inspection operation performed based on the block-based detection data (B-FD).

상기 콘트롤러(590)는 상기 랜섬웨어검사동작이 제1 탐지인지 여부(S4320)를 확인하여, 제1 탐지인 경우(Y) 가중치 X(S4330)를 기준으로 유사파일에 가중치를 부여할 수 있다.The controller 590 may determine whether the Ramsome inspection operation is the first detection (S4320), and may assign a weight to the similar file based on the weight X (S4330) in the case of the first detection (Y).

제1 탐지가 아닌 경우(N), 제2 탐지인지 여부(S4340)를 확인하여 제2 탐지인 경우(Y) 가중치 Y(S4350)를 기준으로 유사파일에 가중치를 부여할 수 있다.It is possible to check whether the second detection is not the first detection (S4340), and to assign a weight to the similar file based on the weight Y (S) when the second detection is Y (S4350).

제2 탐지가 아닌 경우(N), 제3 탐지인지 여부(S4360)를 확인하여 제2 탐지인 경우(Y) 가중치 Z(S4370)를 기준으로 유사파일에 가중치를 부여할 수 있다.(N) and whether or not the detection is the second detection (S4360). If it is the second detection (Y), the similarity file can be weighted based on the weight Z (S4370).

즉, 제1 랜섬웨어검사동작에서 부여되는 제1 내지 제3 가중치, 제2 랜섬웨어검사동작에서 부여되는 제1 내지 제3 가중치, 및 제3 랜섬웨어검사동작에서 부여되는 제1 내지 제3 가중치는 서로 다를 수 있다.That is, the first through third weights given in the first Ramsome inspection operation, the first through third weights given in the second Ramsome inspection operation, and the first through third weights May be different.

한편, 상기 랜섬웨어탐지알고리즘의 단계별로 가중치의 기준이 다를 수 있다. 상기 랜섬웨어탐지알고리즘의 단계별로 수행되는 랜섬웨어검사동작의 종류에 기초하여 가중치가 설정될 수 있다. 예를 들어, 상기 제1 가중치는 상기 가중치 X에 기초할 수 있고, 상기 제2 가중치는 가중치 Y에 기초할 수 있다.On the other hand, the criteria of the weights may be different according to the step of the Ramsome detection algorithm. A weight can be set based on the type of the Rangemouse inspection operation performed in each step of the Ramsomeware detection algorithm. For example, the first weight may be based on the weight X, and the second weight may be based on a weight Y. [

또는, 전술한 가중치 X, 가중치 Y, 및 가중치Z는 임계가중치(K)를 설정 기준이 될 수도 있다. 예를 들어, 상기 가중치 설정이 X, Y에 기초하여 수행되었다면, 상기 임계가중치(K)는 X, Y에 기초하여 설정될 수 있다.Alternatively, the above-mentioned weight X, weight Y, and weight Z may be used as a criterion for setting the threshold weight K. For example, if the weight setting is performed based on X, Y, the threshold weight K may be set based on X, Y.

상술한 본 발명에 따른 작성 방법 및 열람 방법에 있어서, 각 실시예를 구성하는 단계가 필수적인 것은 아니며, 따라서 각 실시예는 상술한 단계를 선택적으로 포함할 수 있다. 또 각 실시예를 구성하는 각 단계는 반드시 설명된 순서에 따라 수행되어야 하는 것은 아니며, 나중에 설명된 단계가 먼저 설명된 단계보다 먼저 수행될 수도 있다. 또한 각 단계는 동작하는 동안 어느 한 단계가 반복적으로 수행되는 것도 가능하다.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: 데이터필터
550: 버퍼
570: 메모리부
590: 콘트롤러
1: System
100: Server
300: Host device
310: Application
330: Operating system
500: Removable Storage
510: Host interface
530:
531: conversion unit
533: Ransomware detection unit
535: Data filter
550: buffer
570:
590: Controller

Claims (15)

호스트디바이스에 연동되는 이동식저장장치로서,
원본파일이 저장되는 메모리;
상기 호스트디바이스에서 생성되는 블록단위의 명령(COMMAND)데이터에 기초한 블록단위의 데이터를 획득하고, 상기 블록단위의 데이터를 파일단위의 파일데이터로 변환하는 변환유닛; 및
상기 파일데이터에 기초하여 랜섬웨어를 탐지하는 랜섬웨어탐지동작을 수행하는 랜섬웨어탐지유닛;을 포함하고,
상기 랜섬웨어탐지동작은 대체연산체크를 포함하고,
상기 대체연산체크는
상기 랜섬웨어탐지유닛이 상기 파일데이터에 기초하여 상기 명령데이터에 의해 상기 원본파일을 대체하는 연산이 수행되는지 여부를 체크함으로써 수행되는 것을 특징으로 하는,
이동식저장장치.
A removable storage device operatively associated with a host device,
A memory in which the original file is stored;
A conversion unit for acquiring block-based data based on block-based command data generated by the host device and converting the block-by-block data into file data on a file basis; And
And a Ransomware detection unit for performing a Ransomware detection operation for detecting Ransomware based on the file data,
Wherein the Ramsomware detection operation includes an alternate operation check,
The alternate operation check
And checking whether the operation of replacing the original file with the command data is performed based on the file data.
Removable storage.
제1 항에 있어서,
상기 랜섬웨어탐지동작은 유사도체크를 포함하고,
상기 유사도체크는
상기 랜섬웨어탐지유닛이 상기 파일데이터에 포함된 파일이름과 상기 원본파일의 파일이름을 비교하고, 상기 파일데이터에 포함된 파일이름과 상기 원본파일의 파일이름의 유사도를 체크함으로써 수행되는 것을 특징으로 하는,
이동식저장장치.
The method according to claim 1,
Wherein the Ransomware detection operation includes a similarity check,
The similarity check
The random number detection unit compares the file name included in the file data with the file name of the original file and checking the similarity between the file name included in the file data and the file name of the original file. doing,
Removable storage.
제2 항에 있어서,
상기 랜섬웨어탐지동작은 암호화체크를 포함하고,
상기 암호화체크는
상기 유사도가 있는 경우, 상기 랜섬웨어탐지유닛이 상기 파일데이터의 크기와 상기 원본파일의 크기를 비교하고, 상기 파일데이터의 크기가 상기 원본파일의 크기 이상인 경우, 상기 파일데이터가 암호화된 것으로 판단됨으로써 수행되는 것을 특징으로 하는
이동식저장장치.
3. The method of claim 2,
Wherein the Ransomware detection operation includes an encryption check,
The encryption check
If the degree of similarity exists, the RAN searchware unit compares the size of the file data with the size of the original file. If the size of the file data is greater than or equal to the size of the original file, it is determined that the file data is encrypted Characterized in that
Removable storage.
제3 항에 있어서,
상기 암호화체크는
상기 랜섬웨어탐지유닛이 상기 파일데이터에 포함된 패턴의 규칙을 체크하여, 상기 패턴의 규칙이 무질서한 경우, 상기 파일데이터가 암호화된 것으로 판단됨으로써 수행되는 것을 특징으로 하는
이동식저장장치.
The method of claim 3,
The encryption check
The random number detection unit checks the rules of the patterns included in the file data and if the rules of the pattern are disordered, the file data is determined to be encrypted
Removable storage.
제3 항에 있어서,
상기 파일데이터가 암호화된 것으로 판단되는 경우,
상기 랜섬웨어탐지유닛이 상기 대체연산체크를 수행하는 것을 특징으로 하는
이동식저장장치.
The method of claim 3,
If it is determined that the file data is encrypted,
Characterized in that the Ransomware detection unit performs the replacement operation check
Removable storage.
제5 항에 있어서,
상기 랜섬웨어탐지유닛은 상기 유사도가 없는 경우, 상기 랜섬웨어탐지동작을 중단하는 것을 특징으로 하는
이동식저장장치.
6. The method of claim 5,
And the Ramsomeware detection unit stops the Ramsomew detection operation when there is no similarity.
Removable storage.
제6 항에 있어서,
상기 원본파일의 가중치가 기록되는 파일리스트를 포함하는 컨트롤러메모리;를 더 포함하고,
상기 가중치는 랜섬웨어탐지동작에 기초하여 설정되는 것을 특징으로 하는
이동식저장장치.
The method according to claim 6,
And a controller memory including a file list in which the weight of the original file is recorded,
Characterized in that the weight is set based on a random-access detection operation
Removable storage.
제7 항에 있어서,
상기 유사도만이 확인되는 경우, 상기 가중치는 제1 가중치에 기초하여 설정되고
상기 유사도와 상기 암호화만이 확인되는 경우, 상기 가중치는 제2 가중치에 기초하여 설정되고,
상기 유사도, 상기 암호화, 및 상기 대체연산이 확인되는 경우, 상기 가중치는 제3 가중치에 기초하여 설정되는 것을 특징으로 하는
이동식저장장치.
8. The method of claim 7,
When only the similarity is confirmed, the weight is set based on the first weight
When only the degree of similarity and the encryption are confirmed, the weight is set based on a second weight,
Wherein if the similarity, the encryption, and the alternative operation are confirmed, the weight is set based on a third weight
Removable storage.
제7 항에 있어서,
상기 랜섬웨어탐지유닛은 상기 가중치에 기초하여 랜섬웨어간주동작을 수행하되,
상기 랜섬웨어간주동작은
상기 가중치가 임계가중치 이상이 되는 경우, 상기 원본파일이 랜섬웨어에 의한 파일인 것으로 간주됨으로써 수행되는 것을 특징으로 하는
이동식저장장치.
8. The method of claim 7,
Wherein the Ransomware detection unit performs an Ransomware-based operation based on the weight,
The RANemware operation
And when the weight value is equal to or greater than the threshold weight value, the original file is regarded as a file based on the random software.
Removable storage.
제9 항에 있어서,
상기 원본파일이 상기 랜섬웨어에 의한 파일로 간주되는 경우, 상기 블록단위의 명령데이터에 의한 연산이 차단되도록 하되,
상기 랜섬웨어에 의한 파일로 간주되는 시점 별로 상기 연산의 차단이 달라지는 것을 특징으로 하는
이동식저장장치.
10. The method of claim 9,
When the original file is regarded as a file based on the random software, an operation based on the block data is blocked,
And the blocking of the computation is changed according to the time point at which the file is regarded as the file by the Raman software.
Removable storage.
제9 항에 있어서,
상기 원본파일이 상기 랜섬웨어에 의한 파일인 경우,
상기 호스트디바이스에 경고파일이 생성되도록 하는
이동식저장장치.
10. The method of claim 9,
If the original file is a file based on the Raman software,
To cause the host device to generate an alert file
Removable storage.
제8 항에 있어서,
상기 랜섬웨어탐지유닛은 상기 블록단위의 데이터에 기초하여 상기 랜섬웨어탐지동작을 수행하는 것을 특징으로 하는,
이동식저장장치.
9. The method of claim 8,
Wherein the random access detection unit performs the random access detection based on the block-by-block data.
Removable storage.
제12 항에 있어서,
상기 블록단위의 명령데이터를 필터링하여 랜섬웨어로 의심되는 블록단위의 명령데이터인 블록단위의 필터링데이터를 출력하는 데이터필터;를 더 포함하고,
상기 랜섬웨어탐지유닛은 상기 블록단위의 필티렁데이터에 기초하여 상기랜섬웨어탐지동작을 수행하는 것을 특징으로 하는,
이동식저장장치.
13. The method of claim 12,
Further comprising: a data filter for filtering the command data in units of blocks and outputting filtering data for each block, which is instruction data in units of blocks suspected to be Ramsumware,
Wherein the Ramsomeware detection unit performs the Ramsome detection operation on the basis of the block pipeline data.
Removable storage.
제12 항에 있어서,
상기 랜섬웨어탐지유닛은 상기 이동식저장장치의 모드에 따라 랜섬웨어탐지동작을 변경하되,
상기 모드는 제1 모드 및 제2 모드를 포함하고,
상기 이동식저장장치의 모드가 상기 제1 모드인 경우, 상기 랜섬웨어탐지유닛은 상기 파일단위의 파일데이터에 기초하여 상기 랜섬웨어탐지동작을 수행하고,
상기 이동식저장장치의 모드가 상기 제2 모드인 경우, 상기 랜섬웨어탐지유닛은 상기 블록단위의 데이터에 기초하여 상기 랜섬웨어탐지동작을 수행하는 것을 특징으로 하는,
이동식저장장치.
13. The method of claim 12,
Wherein the Ransomware detection unit changes the Ransomware detection operation according to the mode of the portable storage device,
Wherein the mode includes a first mode and a second mode,
When the mode of the portable storage device is the first mode, the Ramsome detection unit performs the Ramsome detection operation based on the file data of the file unit,
Wherein when the mode of the portable storage device is the second mode, the Ramsome detection unit performs the Ramsome detection operation based on the data of the block unit.
Removable storage.
호스트디바이스에 연동되는 이동식저장장치내에서 수행되는 랜섬웨어탐지방법으로서,
상기 호스트디바이스로부터 생성되는 블록단위의 명령데이터에 기초한 블록단위의 데이터를 획득하는 단계;
상기 블록단위의 데이터의 단위를 변환하여 파일단위의 파일데이터를 생성하는 단계; 및
상기 파일단위의 파일데이터를 획득하여 랜섬웨어탐지 동작을 수행하는 단계;를 포함하고,
상기 랜섬웨어탐지 동작을 수행하는 단계는
상기 이동식저장장치내에 저장된 원본파일이 상기 블록단위의 명령데이터에 의해 유사파일로 대체되는지 여부를 탐지하는 것으로 특징으로 하는
랜섬웨어탐지방법.
A method for detecting a random access in a removable storage device associated 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;
Converting the unit of data of the block unit to generate file data of a file unit; And
And acquiring file data of the file unit and performing a random access detection operation,
The step of performing the random access detection operation
And detects whether or not an original file stored in the removable storage device is replaced with a similar file by the command data of the block unit
Ransomware detection method.
KR1020170058930A 2017-05-11 2017-05-11 Portable storage device perfoming a ransomeware detection and method for the same KR101850650B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170058930A KR101850650B1 (en) 2017-05-11 2017-05-11 Portable storage device perfoming a ransomeware detection and method for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170058930A KR101850650B1 (en) 2017-05-11 2017-05-11 Portable storage device perfoming a ransomeware detection and method for the same

Publications (1)

Publication Number Publication Date
KR101850650B1 true KR101850650B1 (en) 2018-05-30

Family

ID=62300370

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170058930A KR101850650B1 (en) 2017-05-11 2017-05-11 Portable storage device perfoming a ransomeware detection and method for the same

Country Status (1)

Country Link
KR (1) KR101850650B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021066257A1 (en) * 2019-10-01 2021-04-08 인하대학교 산학협력단 Efficient ransomware detection method and system using bloom-filter
KR20210086501A (en) * 2019-12-31 2021-07-08 충남대학교산학협력단 Buffer management system and method for identifying ransomware attacks

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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021066257A1 (en) * 2019-10-01 2021-04-08 인하대학교 산학협력단 Efficient ransomware detection method and system using bloom-filter
KR20210039212A (en) * 2019-10-01 2021-04-09 인하대학교 산학협력단 Efficient ransomware detection method and system using bloom-filter
KR102259158B1 (en) * 2019-10-01 2021-06-02 인하대학교 산학협력단 Efficient ransomware detection method and system using bloom-filter
KR20210086501A (en) * 2019-12-31 2021-07-08 충남대학교산학협력단 Buffer management system and method for identifying ransomware attacks
KR102474874B1 (en) * 2019-12-31 2022-12-06 충남대학교 산학협력단 Buffer management system and method for identifying ransomware attacks

Similar Documents

Publication Publication Date Title
US20200356901A1 (en) Target variable distribution-based acceptance of machine learning test data sets
CN104751055B (en) A kind of distributed malicious code detecting method, apparatus and system based on texture
US20220019678A1 (en) Method, apparatus, and computer-readable medium for automated construction of data masks
CN110795257A (en) Method, device and equipment for processing multi-cluster operation records and storage medium
CN110647497A (en) HDFS-based high-performance file storage and management system
KR101850650B1 (en) Portable storage device perfoming a ransomeware detection and method for the same
CN105912946A (en) Document detection method and device
CN115859231A (en) Data leakage tracing method and related equipment
CN112286457B (en) Object deduplication method and device, electronic equipment and machine-readable storage medium
US11526506B2 (en) Related file analysis
Jones et al. A method and implementation for the empirical study of deleted file persistence in digital devices and media
KR101889222B1 (en) Portable storage device perfoming a malignant code detection and method for the same
US20230315846A1 (en) System and method for detecting leaked documents on a computer network
CN110598467A (en) Memory data block integrity checking method
CN111368128A (en) Target picture identification method and device and computer readable storage medium
JP4807289B2 (en) Information processing apparatus, file processing method, and program
US9442975B2 (en) Systems and methods for processing data stored in data storage devices
JP2017045106A (en) Information processing device and information processing program
KR20210024748A (en) Malware documents detection device and method using generative adversarial networks
JP7229443B2 (en) LOG GENERATION DEVICE, LOG GENERATION METHOD, AND LOG GENERATION PROGRAM
KR101836597B1 (en) Module for managing cache using high speed memory and method for the same
EP3402117B1 (en) Method, apparatus, and computer-readable medium for automated construction of data masks
Kondam Comparing SSD forensics with HDD forensics
Srinivasan et al. FROST: Anti-Forensics Digital-Dead-DROp Information Hiding RobuST to Detection & Data Loss with Fault tolerance
KR20210104525A (en) System for reporting of digital evidence by sorting data collection from object disk

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant