KR20180004462A - Ransomware prevention technique using key backup - Google Patents

Ransomware prevention technique using key backup Download PDF

Info

Publication number
KR20180004462A
KR20180004462A KR1020160084034A KR20160084034A KR20180004462A KR 20180004462 A KR20180004462 A KR 20180004462A KR 1020160084034 A KR1020160084034 A KR 1020160084034A KR 20160084034 A KR20160084034 A KR 20160084034A KR 20180004462 A KR20180004462 A KR 20180004462A
Authority
KR
South Korea
Prior art keywords
encryption key
encryption
key
generated
library
Prior art date
Application number
KR1020160084034A
Other languages
Korean (ko)
Other versions
KR101859823B1 (en
Inventor
임강빈
이경률
Original Assignee
순천향대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 순천향대학교 산학협력단 filed Critical 순천향대학교 산학협력단
Priority to KR1020160084034A priority Critical patent/KR101859823B1/en
Publication of KR20180004462A publication Critical patent/KR20180004462A/en
Application granted granted Critical
Publication of KR101859823B1 publication Critical patent/KR101859823B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data

Abstract

The present invention provides a device for preventing ransomware, which can provide a method for recovering an encrypted file through a key backup. According to an embodiment of the present invention, the method for preventing ransomware comprises the following steps of: detecting a program in which a code library is loaded or tracking a program when the code library is loaded; manipulating a control right of a function for backing up an encryption key generated in the code library; storing the encryption key in different manners based on whether the encryption key of the ransomware is generated; and recovering the encrypted program through the backup of the encryption key.

Description

키 백업을 사용한 랜섬웨어 방지 시스템 및 방법{RANSOMWARE PREVENTION TECHNIQUE USING KEY BACKUP}≪ Desc / Clms Page number 1 > RANSOMWARE PREVENTION TECHNIQUE USING KEY BACKUP [

아래의 설명은 랜섬웨어 방지 기술에 관한 것으로, 키 백업을 사용한 랜섬웨어 방지 방법 및 시스템에 관한 것이다.
The following description relates to an anti-rumware protection technique, and relates to a method and system for anti-rumware protection using key backup.

랜섬웨어는 악성코드(Malware)의 일종으로, 몸값(ransom)과 제품(ware)의 합성어로서, 사용자 단말에 침투하여 중요 파일에 대한 접근을 차단하고 금품을 요구하는 악성 프로그램이다. Ransomeware is a kind of malware, which is a compound word of ransom and product. It is a malicious program that penetrates user terminals and blocks access to important files and requests money.

도 1을 통하여 랜섬웨어의 개괄적인 동작을 설명하기로 한다. 랜섬웨어에 감염된 단말은 시스템에 대한 접근이 제한되며, 이를 해제하기 위해서는 공격자에게 대가(예를 들면, 금전, 금품, 비트코인 등)을 제공해야 한다. 랜섬웨어가 공격자의 주요 수익원이 되면서 유포 방식과 파일 형태도 다양해지고 있다. 이메일 첨부파일, 메신저 등을 통해 주로 유포되던 랜섬웨어는 앱(Application), 운영체제(OS), 웹 취약점, 토렌트, 웹 사이트와 연계된 광고 사이트 등의 다양한 방법으로 전파되고 있다. 또한, 유포 파일의 형태도, 주로 문서 파일(doc, pdf)로 위장하거나 화면보호기 파일(src)로 유포되던 것이 매크로와 자바 스크립트 활용까지 활용되어 첨부파일을 변종시키는 형태로도 발견되고 있다. The general operation of the Raman software will be described with reference to FIG. Terminals infected with Ransomware are restricted from accessing the system. In order to release the Ransomware, the attacker must provide a price (for example, money, money, bit coin, etc.). Ransomware has become a major source of revenue for attackers, and the distribution method and file format are also becoming diverse. Ransomware, which is mainly distributed through e-mail attachments and messengers, is spreading through various methods such as application, operating system (OS), web vulnerability, torrent, and advertisement site linked with website. In addition, the form of the distribution file is also found in the form of disguising as a document file (doc, pdf) or distributed as a screen saver file (src)

랜섬웨어의 프로세스는 크게 (a) 내지 (c)가 수행될 수 있다. 공격자(예를 들면, 해커)가 스팸 메일을 통하여 또는 서버를 해킹하여 서버에 악성 코드를 삽입함으로써 사용자 단말에 랜섬웨어가 자동으로 전파될 수 있다. 이때, 사용자들은 스팸 메일을 확인하거나, 해킹된 서버로부터 정보가 제공되는 웹 사이트를 방문하였을 경우, 사용자 단말의 파일 프로그램 등에 피해를 입게된다. 사용자는 암호화된 파일 프로그램을 복호화하기 위하여 복호화 키가 필요하데, 공격자는 사용자에게 복호화를 위한 금전을 요구하게 된다. 이에 따라 사용자는 공격자가 요구하는 금전을 지불할 경우, 공격자로부터 복호화 키를 수신할 수 있으며, 때에 따라 금전을 지불하여도 공격자가 복호화 키를 전달하지 않을 경우, 사용자는 복호화를 수행하지 못하고 피해를 입게 된다. The process of Ransomware can be largely performed (a) to (c). Ransomware can be automatically propagated to a user's terminal by an attacker (eg, a hacker) via spam or by hacking the server and injecting malicious code into the server. At this time, when the user checks the spam mail or visits the web site where the information is provided from the hacked server, the file program of the user terminal is damaged. The user needs a decryption key to decrypt the encrypted file program, and the attacker will ask the user for the decryption money. Accordingly, if the user pays the money required by the attacker, the user can receive the decryption key from the attacker, and if the attacker does not transmit the decryption key even if the user pays the money, the user can not perform the decryption, I will wear it.

랜섬웨어의 피해를 줄이기 위하여 복호화 키를 공유하는 방법이 존재한다. 공격자는 다수의 키를 관리하는데 어려움으로 인하여 각각의 복호화 키를 생성하지 않고, 보통 하나의 키로 암/복호화를 수행한다. 이러한 이유로 사용자(예를 들면, 피해자) 중 한 명이 정당하게 금전을 지불하여 복호화 키를 수신하면, 다른 피해자들과 수신한 복호화 키를 공유하여 지불하지 않은 피해자의 시스템 및 파일을 복구하는 것이 가능하다. 하지만 공격자가 복수의 그룹 키를 활용하여 배포할 경우에는 키를 공유하더라도 복구가 어려운 문제점이 존재한다.
There is a way to share the decryption key to reduce the damage of Ransomware. The attacker does not generate each decryption key because of difficulty in managing a large number of keys, and usually performs encryption / decryption with one key. For this reason, when one of the users (for example, the victim) pays a fee and receives the decryption key, it is possible to restore the system and file of the victim who did not pay by sharing the received decryption key with the other victims . However, when an attacker distributes a group key using a plurality of group keys, there is a problem that recovery is difficult even if the key is shared.

일 실시예에 따른 랜섬웨어 방지 장치는 키 백업을 통하여 암호화된 파일을 복구하는 방법을 제공할 수 있다.
The anti-virus protection device according to an embodiment can provide a method of recovering an encrypted file through key backup.

일 실시예에 따르면, 랜섬웨어를 방지하는 방법은, 암호 라이브러리가 로드된 프로그램을 탐지하거나 상기 암호 라이브러리가 로드될 때의 프로그램을 추적하는 단계; 상기 암호 라이브러리 내에 생성된 암호화 키를 백업하기 위한 함수의 제어권을 조작하는 단계; 상기 랜섬웨어의 상기 암호화 키의 생성 여부에 기초하여 상기 암호화 키를 각기 다른 방식으로 저장하는 단계; 및 상기 암호화 키의 백업을 통하여 암호화된 프로그램을 복구하는 단계를 포함할 수 있다. According to one embodiment, a method for preventing Ransomware includes the steps of: detecting a program in which a cryptographic library is loaded or a program when the cryptographic library is loaded; Manipulating control of a function for backing up an encryption key generated in the encryption library; Storing the encryption key in a different manner based on whether the encryption key of the random software is generated; And recovering the encrypted program through backup of the encryption key.

일측에 따르면, 상기 랜섬웨어를 방지하는 방법은, 상기 랜섬웨어가 파일을 암호화하기 위하여 암호화 기능을 실행함에 따라 암호 라이브러리를 로드하는 단계; 및 상기 랜섬웨어가 상기 암호 라이브러리 내에 상기 암호화를 위한 암호화 키를 생성하고, 반입 함수를 호출하는 단계를 더 포함할 수 있다.According to an aspect of the present invention, a method for preventing the Ransomware includes: loading a cryptographic library as the Ransomware executes an encryption function to encrypt a file; And the Ransomware generating an encryption key for encryption in the encryption library and calling an import function.

또 다른 일측에 따르면, 상기 암호 라이브러리 내에 생성된 암호화 키를 백업하기 위한 함수의 제어권을 조작하는 단계는, 상기 암호 라이브러리 내에 생성된 비밀키 및 공개키의 쌍을 생성하기 위한 함수를 후킹하여 백업하는 단계를 포함할 수 있다.According to another aspect of the present invention, the step of controlling the control of the function for backing up the encryption key generated in the encryption library includes a step of backing up by hooking a function for generating a pair of the secret key and the public key generated in the encryption library Step < / RTI >

또 다른 일측에 따르면, 상기 랜섬웨어의 상기 암호화 키의 생성 여부에 기초하여 상기 암호화 키를 각기 다른 방식으로 저장하는 단계는, 상기 랜섬웨어에서 상기 암호화 키를 생성함에 따라 상기 제어권이 조작된 코드가 수행되어 상기 암호화 키를 저장하고, 상기 랜섬웨어가 이미 암호화 키를 보유하고 있어 상기 암호화 키를 생성하지 않을 경우 반입하는 암호화 키를 저장하는 단계를 포함할 수 있다. According to another aspect of the present invention, the step of storing the encryption key in a different manner based on whether or not the encryption key of the Ransomware is generated includes the steps of: generating the encryption key in the Ransomware, Storing the encryption key, and storing the encryption key to be imported when the RANemware has already stored the encryption key and does not generate the encryption key.

또 다른 일측에 따르면, 상기 랜섬웨어의 상기 암호화 키의 생성 여부에 기초하여 상기 암호화 키를 각기 다른 방식으로 저장하는 단계는, 상기 암호화 키의 생성 여부와 관계없이 상기 암호화 키를 확보하지 못한 경우, 암호화 시점에서의 암호화 키를 확보하는 단계를 포함할 수 있다. According to another aspect of the present invention, the step of storing the encryption key in a different manner based on whether the encryption key is generated or not may include the steps of: when the encryption key is not acquired regardless of whether the encryption key is generated, And securing an encryption key at the encryption time.

또 다른 일측에 따르면, 상기 백업된 암호화 키는, 사용자 단말의 내부 또는 외부의 인증 서버(certificate server)로 전달되어 외부에 의하여 노출되지 않도록 사용자가 등록한 비밀번호 기반, 혹은 인증서 기반으로 안전하게 저장되고, 상기 암호화 키의 백업을 통하여 암호화된 프로그램을 복구하는 단계는, 수사 기관 또는 인증 기관과 협조하여 상기 백업된 암호화 키를 상기 기관의 키로 재암호화하고, 상기 사용자 단말이 랜섬웨어에 감염되어 파일이 암호화된 경우, 상기 수사 기관 또는 인증 기관으로부터 상기 암호화 키를 정상적으로 복호화함으로써 암호화된 파일을 복구하는 단계를 포함할 수 있다. According to another aspect of the present invention, the backed-up encryption key is safely stored on a password-based or certificate-based basis registered by a user so as to be transmitted to a certificate server inside or outside the user terminal and not exposed to the outside, The step of recovering the encrypted program through the backup of the encryption key includes re-encrypting the backed-up encryption key with the authority key in cooperation with the investigation agency or the certification authority, and when the user terminal is infected with the random- And recovering the encrypted file by normally decrypting the encryption key from the investigation agency or the certification authority.

일 실시예에 따르면, 랜섬웨어를 방지하는 장치에 있어서, 암호 라이브러리가 로드된 프로그램을 탐지하거나 상기 암호 라이브러리가 로드될 때의 프로그램을 추적하는 추적부; 상기 암호 라이브러리 내에 생성된 암호화 키를 백업하기 위한 함수의 제어권을 조작하는 조작부; 상기 랜섬웨어의 상기 암호화 키의 생성 여부에 기초하여 상기 암호화 키를 각기 다른 방식으로 저장하는 저장부; 및 상기 암호화 키의 백업을 통하여 암호화된 프로그램을 복구하는 복구부를 포함할 수 있다. According to one embodiment, there is provided an apparatus for preventing random software, comprising: a tracking unit for detecting a program loaded by the cryptographic library or tracking a program when the cryptographic library is loaded; An operation unit for operating control of a function for backing up the encryption key generated in the encryption library; A storage unit for storing the encryption keys in different manners based on whether or not the encryption key of the random software is generated; And a recovery unit for recovering the encrypted program through the backup of the encryption key.

일측에 따르면, 상기 랜섬웨어가 파일을 암호화하기 위하여 암호화 기능을 실행함에 따라 암호 라이브러리를 로드하고, 상기 암호 라이브러리 내에 상기 암호화를 위한 암호화 키를 생성하고, 반입 함수를 호출할 수 있다.According to one aspect of the present invention, the RANCOMM software loads an encryption library in order to encrypt a file, generates an encryption key for encryption in the encryption library, and calls an import function.

또 다른 일측에 따르면, 상기 조작부는, 상기 암호 라이브러리 내에 생성된 비밀키 및 공개키의 쌍을 생성하기 위한 함수를 후킹하여 백업할 수 있다. According to another aspect of the present invention, the manipulation unit can back up by hooking a function for generating a pair of a secret key and a public key generated in the encryption library.

또 다른 일측에 따르면, 상기 저장부는, 상기 랜섬웨어에서 상기 암호화 키를 생성함에 따라 상기 제어권이 조작된 코드가 수행되어 상기 암호화 키를 저장하고, 상기 랜섬웨어가 이미 암호화 키를 보유하고 있어 상기 암호화 키를 생성하지 않을 경우 반입하는 암호화 키를 저장할 수 있다. According to another aspect of the present invention, the storage unit stores the encryption key by executing a code in which the control right is operated by generating the encryption key in the RANCOMM software, and when the RANCOMME already has an encryption key, If the key is not generated, the encryption key to be imported can be stored.

또 다른 일측에 따르면, 상기 저장부는, 상기 암호화 키의 생성 여부와 관계없이 상기 암호화 키를 확보하지 못한 경우, 암호화 시점에서의 암호화 키를 확보할 수 있다.According to another aspect of the present invention, when the encryption key is not secured regardless of whether the encryption key is generated, the storage unit can secure the encryption key at the encryption time.

또 다른 일측에 따르면, 상기 백업된 암호화 키는, 사용자 단말의 내부 또는 외부의 인증 서버(certificate server)로 전달되어 외부에 의하여 노출되지 않도록 사용자가 등록한 비밀번호 기반, 혹은 인증서 기반으로 안전하게 저장되고, 상기 복구부는, 수사 기관 또는 인증 기관과 협조하여 상기 백업된 암호화 키를 상기 기관의 키로 재암호화하고, 상기 사용자 단말이 랜섬웨어에 감염되어 파일이 암호화된 경우, 상기 수사 기관 또는 인증 기관으로부터 상기 암호화 키를 정상적으로 복호화함으로써 암호화된 파일을 복구할 수 있다.
According to another aspect of the present invention, the backed-up encryption key is safely stored on a password-based or certificate-based basis registered by a user so as to be transmitted to a certificate server inside or outside the user terminal and not exposed to the outside, The recovery unit re-encrypts the backed-up encryption key with the authority key in cooperation with an investigation agency or a certification authority, and when the user terminal is infected with the Raman software and the file is encrypted, So that the encrypted file can be recovered.

일 실시예에 따른 랜섬웨어 방지 장치는 랜섬웨어에 의하여 암호화된 파일 및 시스템을 복구하기 위하여 암호화에 활용되는 암호화 키를 안전한 저장소에 백업함으로써 감염된 파일 및 시스템을 복구할 수 있다.
The Ransomware protection apparatus according to an exemplary embodiment of the present invention can restore an infected file and system by backing up an encryption key used for encryption in a secure storage to recover files and systems encrypted by Ransomware.

도 1은 랜섬웨어의 개괄적인 동작을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 랜섬웨어 방지 장치의 내부 구성을 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 랜섬웨어 방지 장치의 랜섬웨어 방지 방법을 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 암호 라이브러리를 활용하는 랜섬웨어의 구조를 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 키 보관을 활용한 랜섬웨어 방지 장치의 랜섬웨어 방지 동작을 설명하기 위한 도면이다.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram for explaining a general operation of a random software. FIG.
2 is a block diagram for explaining the internal configuration of the anti-spyware device according to an embodiment.
FIG. 3 is a flowchart illustrating a method of preventing an anti-rumware in the anti-rumware protection apparatus according to an embodiment.
FIG. 4 is a diagram for explaining a structure of a random software using an encryption library according to an embodiment.
5 is a view for explaining an anti-virus protection operation of the anti-spamware utilizing the key storage according to the embodiment.

이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

도 2는 일 실시예에 따른 랜섬웨어 방지 장치의 내부 구성을 설명하기 위한 블록도이고, 도 3은 일 실시예에 따른 랜섬웨어 방지 장치의 랜섬웨어 방지 방법을 설명하기 위한 흐름도이다.FIG. 2 is a block diagram for explaining an internal configuration of the RANCAMWARE prevention apparatus according to an embodiment, and FIG. 3 is a flowchart for explaining a RANMAMWARE prevention method of the RANCAMWARE prevention apparatus according to an embodiment.

랜섬웨어 방지 장치의 프로세서(200)는 추적부(210), 조작부(220), 저장부(230) 및 복구부(240)를 포함할 수 있다. 랜섬웨어 방지 장치의 프로세서(200) 및 프로세서(200)의 구성요소들은 도 3의 정보 제공 방법이 포함하는 단계들(310 내지 340)을 수행할 수 있다. The processor 200 of the anti-spyware device may include a tracking unit 210, an operation unit 220, a storage unit 230, and a recovery unit 240. The components of the processor 200 and the processor 200 of the anti-spyware device may perform the steps 310 to 340 included in the information providing method of Fig.

프로세서(200) 및 프로세서(200)의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서의 구성요소들은 랜섬웨어 방지 장치에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서(200)에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다.The components of processor 200 and processor 200 may be implemented to execute instructions in accordance with the code of the operating system and the code of at least one program that the memory contains. Here, the components of the processor may be representations of different functions performed by the processor 200 in accordance with control commands provided by the program code stored in the anti-tamper device.

단계(310)에서 추척부(210)는 암호 라이브러리가 로드된 프로그램을 탐지하거나 암호 라이브러리가 로드될 때의 프로그램을 추적할 수 있다. In step 310, the tracing unit 210 can detect the program in which the cryptographic library is loaded or track the program when the cryptographic library is loaded.

단계(320)에서 조작부(220)는 암호 라이브러리 내에 생성된 암호화 키를 백업하기 위한 함수의 제어권을 조작할 수 있다. 조작부(220)는 암호 라이브러리 내에 생성된 비밀키 및 공개키의 쌍을 생성하기 위한 함수를 후킹하여 백업할 수 있다. In step 320, the operation unit 220 can operate the control of the function for backing up the encryption key generated in the encryption library. The operation unit 220 can back up by hooking up a function for generating a pair of the secret key and the public key generated in the encryption library.

단계(330)에서 저장부(230)는 랜섬웨어의 암호화 키의 생성 여부에 기초하여 암호화 키를 각기 다른 방식으로 저장할 수 있다. 저장부(230)는 랜섬웨어에서 암호화 키를 생성함에 따라 제어권이 조작된 코드가 수행되어 암호화 키를 저장하고, 랜섬웨어가 이미 암호화 키를 보유하고 있어 암호화 키를 생성하지 않을 경우 반입하는 암호화 키를 저장할 수 있다. 저장부(230)는 암호화 키의 생성 여부와 관계없이 암호화 키를 확보하지 못한 경우, 암호화 시점에서의 암호화 키를 확보할 수 있다. In step 330, the storage unit 230 may store the encryption keys in different ways based on whether or not the encryption key of the Ransomware is generated. The storage unit 230 stores the encryption key when the control code is executed in accordance with the generation of the encryption key in the random software, and when the random key has already the encryption key and does not generate the encryption key, Can be stored. The storage unit 230 can secure the encryption key at the encryption time if the encryption key can not be secured regardless of whether the encryption key is generated or not.

단계(340)에서 복구부(240)는 암호화 키의 백업을 통하여 암호화된 프로그램을 복구할 수 있다. 이때, 백업된 암호화 키는 사용자 단말의 내부 또는 외부의 인증 서버(certificate server)로 전달되어 외부에 의하여 노출되지 않도록 사용자가 등록한 비밀번호 기반, 혹은 인증서 기반으로 안전하게 저장될 수 있다. 복구부(240)는 수사 기관 또는 인증 기관과 협조하여 백업된 암호화 키를 기관의 키로 재암호화하고, 사용자 단말이 랜섬웨어에 감염되어 파일이 암호화된 경우, 수사 기관 또는 인증 기관으로부터 암호화 키를 정상적으로 복호화함으로써 암호화된 파일을 복구할 수 있다. In operation 340, the recovery unit 240 may recover the encrypted program through the backup of the encryption key. At this time, the backed-up encryption key may be securely stored on a password-based or certificate-based basis registered by the user so as to be transmitted to an internal or external authentication server of the user terminal and not to be exposed by the outside. The recovery unit 240 re-encrypts the backed-up encryption key with the authority's key in cooperation with the investigation agency or the certification authority, and when the user terminal is infected with the Ransomware and the file is encrypted, The encrypted file can be recovered by decrypting.

도 4는 일 실시예에 따른 암호 라이브러리를 활용하는 랜섬웨어의 구조를 설명하기 위한 도면이다. FIG. 4 is a diagram for explaining a structure of a random software using an encryption library according to an embodiment.

아래의 설명에서는 랜섬웨어를 동작시키기 위한 몇 가지의 조건이 전제될 수 있다. 첫째, 랜섬웨어가 올바르게 침투하는 방법이 필요하다. 사용자는 사용자의 단말을 안전하게 보호하기 위하여 안티 바이러스 프로그램을 설치할 수 있다. 사용자 단말은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 사용자 단말의 예를 들면, 스마트폰(smart phone), 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털 방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등이 있다. 이에 따라 랜섬웨어는 안티 바이러스 프로그램에 의하여 탐지되지 않도록 알려진 제로-데이(Zero-day) 또는 알려지지 않은 취약점을 이용하여 사용자 단말에 침투해야 한다. In the following description, some conditions for operating Ransomware can be assumed. First, there needs to be a way to ensure that Ransomware penetrates correctly. The user can install an anti-virus program to safely protect the user's terminal. The user terminal may be a fixed terminal implemented as a computer device or a mobile terminal. Examples of the user terminal include a smart phone, a mobile phone, a navigation device, a computer, a notebook, a digital broadcast terminal, a PDA (Personal Digital Assistants), a PMP (Portable Multimedia Player), and a tablet PC. Accordingly, Ransomware must penetrate the user terminal using known zero-day or unknown vulnerabilities that are not detected by the anti-virus program.

둘째, 침투한 랜섬웨어가 암호화 같은 악의적인 기능을 수행하는 동안 안티 바이러스 프로그램에 의하여 탐지되지 않아야 한다. 침투된 이후 암호화를 수행하지 못할 경우, 금전을 요구할 수 없으므로 은폐적인 작업(예를 들면, 루트킷 기법)이 요구될 수 있다. Second, the infected Ransomware should not be detected by the anti-virus program while performing malicious functions such as encryption. If encryption can not be performed after being infiltrated, it may not require money and concealment tasks (eg rootkit techniques) may be required.

셋째, 암호 기능을 정상적으로 동작시키기 위하여 직접 제작하거나 사용자 단말에서 제공하는 라이브러리를 활용할 수 있다. 암호화 기능은 랜섬웨어의 핵심적인 부분 중 하나이므로 암호화 기능이 정상적으로 동작하지 않을 경우 또는 정상적으로 설계되지 않은 경우, 정상적으로 암호화가 이루어지지 않아 복구가 불가능하거나 키가 노출되는 문제점이 있다. 암호 기능을 제작하는 경우 사용자 단말마다 정상적으로 동작하지 않을 수 있기 때문에 암호화 라이브러리를 활용하여 안정성을 확보할 수 있다. Third, it is possible to use a library provided by the user terminal or directly to operate the encryption function normally. Since the encryption function is one of the core parts of the randomware, if the encryption function does not operate normally or if it is not normally designed, there is a problem that the encryption is not normally performed and the recovery is impossible or the key is exposed. In the case of creating an encryption function, it is not possible to operate normally for each user terminal. Therefore, stability can be ensured by utilizing an encryption library.

넷째, 암호화에 필요한 키는 감염된 사용자 단말의 수만큼 생성되어야 한다. 감염된 사용자 단말의 수만큼 암호화 키가 생성될 경우 공격자 역시 키를 관리하기 때문에 일괄적으로 키를 생성하여 안정성을 높일 수 있다. Fourth, the number of keys required for encryption must be generated by the number of infected user terminals. If an encryption key is generated for the number of infected user terminals, the attacker also manages the key, so that the key can be generated in a batch to improve the stability.

시스템에 침투한 랜섬웨어(410)는 파일을 암호화하기 위하여 암호 기능을 실행할 수 있다(441). 랜섬웨어(410)는 암호 기능을 실행하기 위하여 CNG 라이브러리(420)를 로드할 수 있으며, CNG 라이브러리(420)에서 암호화를 위한 암호화 키를 생성할 수 있다(442). 암호화 키가 정상적으로 생성될 경우, 파일을 복구하기 위하여 사용자가 금전을 지불하도록 하기 위하여 생성된 암호화 키를 공격자에게 제공할 수 있다. Ransomware 410 that has penetrated the system may execute a cryptographic function to encrypt the file (441). Rangumware 410 may load the CNG library 420 to perform the cryptographic function and may generate an encryption key for encryption in the CNG library 420 (442). If the encryption key is normally generated, the attacker can provide the generated encryption key to allow the user to pay the money to recover the file.

랜섬웨어는 암호화 키가 생성됨에 따라 파일 시스템(430)에 존재하는 파일, 예를 들면, JPG, DOC, PPT, XML, MP3 등의 파일을 대상으로 암호화를 수행할 수 있다(443). The randomware can perform encryption with respect to files existing in the file system 430, for example, files such as JPG, DOC, PPT, XML, and MP3 as the encryption key is generated (443).

이와 같은 구조를 지닌 랜섬웨어는 비밀키를 생성하기 위하여 CNG 라이브러리의 BCryptGenerateSymmetricKey 함수를 호출하며, 공개키 쌍을 생성하기 위하여 BCryptGenerateKeyPair 함수를 호출할 수 있다.Ransomware with this structure calls the BCryptGenerateSymmetricKey function of the CNG library to generate a secret key, and can call the BCryptGenerateKeyPair function to generate a public key pair.

랜섬웨어 제작자는 암호 기능의 경우에 직접 제작하는 것보다 사용자 단말에서 제공하는 암호 라이브러리를 활용하여 안정성을 높일 수 있다. 이에 따라 랜섬웨어 방지 장치는 암호 라이브리러를 활용하여 랜섬웨어 방지를 수행하는 방법을 제안할 수 있다. 예를 들면, 윈도우 시스템의 경우, 상용화된 암호 라이브러리를 제공할 수 있다. 암호 라이브러리의 예로서 CNG 라이브러리를 예를 들어 설명하기로 한다. 아래의 설명에서는 랜섬웨어 내부 혹은 외부의 서버로부터 CNG 라이브러리를 활용하여 암호화하는 코드를 다운로드한 후, 상기 코드에서 파일을 암호화하는 것으로 가정하기로 한다. The author of Ransomware can enhance the stability by using the cryptographic library provided by the user terminal rather than making it directly in the case of the cryptographic function. Accordingly, the anti-malware protection device can suggest a method of performing anti-malware protection using the password library. For example, in the case of a window system, a commercialized cryptographic library can be provided. As an example of the cryptographic library, a CNG library will be described as an example. In the following description, it is assumed that the CNG library is used to download the encryption code from the internal or external server of the Raman software, and then the file is encrypted in the above code.

CNG 라이브러리에서 암호화를 수행할 때 활용되는 함수는 키 생성 및 반입 함수로서, 예를 들면, 키 생성을 위한 BCryptGenerateSymmetricKey와 BCryptGenerateKeyPair 함수, 키 반입을 위한 BCryptImportKey와 BCryptImportKeyPair 함수가 사용될 수 있고, 암/복호화 연산을 수행하는 함수로서, 예를 들면, BCryptEncrypt와 BCryptDecrypt 함수가 사용될 수 있다. The functions used when performing the encryption in the CNG library are the key generation and import functions, for example, BCryptGenerateSymmetricKey and BCryptGenerateKeyPair functions for key generation, BCryptImportKey and BCryptImportKeyPair functions for key import, and arm / As a function to perform, for example, BCryptEncrypt and BCryptDecrypt functions can be used.

랜섬웨어가 CNG 라이브러리를 활용하여 파일을 암호화하기 때문에, 랜섬웨어 방지 장치는 암호화 키를 백업하기 위하여 키 생성 및 반입 함수의 제어권을 조작하고, 확보한 키를 저장공간 혹은 인증 서버로 전달하여 저장할 수 있다. 이때, 제어권을 조작하는 예로서, 이하, 후킹(Hooking)을 예를 들어 설명하기로 한다. Since Ransomware uses the CNG library to encrypt the file, the anti-virus protection device manipulates the control of the key generation and import function to back up the encryption key and transfers the acquired key to the storage space or authentication server for storage have. Here, as an example of manipulating the control right, hooking will be described as an example.

방지 프로그램은 CNG 라이브러리가 로드된 프로그램을 탐색하거나 또는 CNG 라이브러리가 로드될 때의 프로그램을 추적한 후, 비밀키를 백업하기 위하여 BCryptGenerateSymmetricKey 함수, 공개키 쌍을 백업하기 위하여 BCryptGenerateKeyPair 함수를 후킹할 수 있다. 이후, 랜섬웨어에서 암호화 키를 생성한다면, 방지 프로그램에 의하여 후킹된 코드가 수행됨으로써 암호화 키를 안전하게 저장할 수 있다. 이때, 방지 프로그램은 랜섬웨어가 내부에 이미 암호화 키를 가지고 있어 암호화 키를 생성하지 않을 경우, 반입하는 암호화 키를 보관할 수 있다. 암호화 키를 반입하기 위해서는 비밀키의 경우 BCryptImportKey 함수, 공개키의 경우 BCryptImportKeyPair 함수를 호출하므로 상기 함수를 후킹한 후, 반입되는 키를 안전하게 보관할 수 있다. 만약 상기 과정에서도 암호화 키를 확보하지 못한 경우, 암호화 시점에서의 암호화 키를 확보할 수 있다. 암호화를 위해서는 BCryptEncrypt 함수를 호출하므로 상기 함수를 후킹한 후, 암호화에 활용되는 암호화 키를 안전하게 보관할 수 있다. The prevention program can hook the BCryptGenerateKeyPair function to back up the public key pair to back up the secret key after searching the program when the CNG library is loaded or tracing the program when the CNG library is loaded. Thereafter, if the encryption key is generated in the randomware, the encrypted code can be safely stored by executing the hooked code by the prevention program. At this time, the prevention program can hold the encryption key to be imported when the randomware does not generate the encryption key because the encryption key is already stored therein. In order to import the encryption key, the BCryptImportKey function is called for the secret key, and the BCryptImportKeyPair function is called for the public key, so that the imported key can be safely stored after the function is hooked. If the encryption key is not secured in the above process, the encryption key at the encryption time can be secured. In order to encrypt, the BCryptEncrypt function is called. Therefore, after the function is hooked, the encryption key used for encryption can be safely stored.

도5를 참고하면, 키 보관을 활용한 랜섬웨어 방지 장치의 랜섬웨어 방지 동작을 설명하기 위한 도면이다. 랜섬웨어 방지 장치는 방지 프로그램에 의하여 동작될 수 있으며, 안티 바이러스 제품의 하나의 모듈이 될 수 있다. Referring to FIG. 5, a description will be given of an anti-virus protection operation of the anti-virus protection apparatus using the key storage. The anti-virus protection device can be operated by a protection program and can be a module of an anti-virus product.

시스템에 침투한 랜섬웨어(510)는 파일을 암호화하기 위하여 암호 기능을 실행할 수 있다(541). 방지 프로그램은 암호화 기능을 수행하는 프로그램이 정상 프로그램인지 랜섬웨어인지 검증하기 어렵기 때문에 암호 기능을 정상적으로 수행하도록 할 수 있다(544). Rangumware 510, which has penetrated the system, may execute a cryptographic function to encrypt the file (541). It is difficult to verify whether the program performing the encryption function is a normal program or a random program, so that the encryption function can be normally performed (544).

랜섬웨어(510)는 암호 기능을 실행하기 위하여 CNG 라이브러리(520)를 로드할 수 있으며, CNG 라이브러리(520)에서 암호화를 위한 암호화 키를 생성할 수 있다(552). 랜섬웨어에서 암호 기능이 실행됨에 따라 CNG 라이브러리(520) 내에 암호화 키 생성 및 반입 함수가 호출될 수 있다. CNG 라이브러리(520)는 생성된 암호화 키를 방지 프로그램으로 전달할 수 있다. Rangumware 510 may load the CNG library 520 to perform the cryptographic function and may generate an encryption key for encryption in the CNG library 520 (552). The encryption key generation and import function can be invoked in the CNG library 520 as the cryptographic function is executed in the randomware. The CNG library 520 can forward the generated encryption key to the prevention program.

랜섬웨어(510)는 암호화 키가 생성됨에 따라 파일 시스템(530)에 존재하는 파일, 예를 들면, JPG, DOC, PPT, XML, MP3 등의 파일을 대상으로 암호화를 수행할 수 있다(553). The RAN firmware 510 may encrypt the files existing in the file system 530, for example, JPG, DOC, PPT, XML, MP3, etc. as the encryption key is generated (step 553) .

방지 프로그램은 CNG 라이브러리(520)로부터 전달된 암호화 키를 안전하게 저장할 수 있다(555). 이때, 방지 프로그램은 암호화 키를 확보하지 못한 경우, 암호화 시점에서 암호화 키를 확보할 수 있다.Prevention program may securely store the encryption key delivered from the CNG library 520 (555). At this time, if the encryption program fails to secure the encryption key, the encryption program can secure the encryption key at the encryption time.

방지 프로그램에 저장되는 암호화 키는 사용자 단말의 내부 또는 외부의 인증 서버로 전달되어 안전하게 백업될 수 있다. 이때, 저장된 키는 외부에 의하여 쉽게 노출되지 않도록 예를 들면, 기 설정된 비밀번호, 인증서 기반으로 안전하게 저장할 수 있다. 추가적으로 안정성을 더욱 높이기 위하여 수사 기관 또는 인증 기관과 연동하여 암호화 키를 상기 기관의 키로 재암호화할 수도 있다(556). 사용자가 랜섬웨어에 감염되어 파일이 암호화된 경우, 수사 기관 또는 인증 기관에 의뢰하여 암호화 키를 복호화함으로써 암호화된 파일을 복구할 수 있게 된다. The encryption key stored in the prevention program can be transferred to the authentication server inside or outside the user terminal and securely backed up. At this time, the stored key can be securely stored, for example, based on a predetermined password and a certificate so as not to be easily exposed by the outside. In addition, in order to further increase the stability, the encryption key may be re-encrypted with the authority key in cooperation with the investigation agency or the certification authority (556). When the user is infected with the Ransomware and the file is encrypted, it is possible to recover the encrypted file by decrypting the encryption key by asking the investigation agency or the certification authority.

일 실시예에 따른 랜섬웨어 방지 장치는 랜섬웨어에 의해 암호화된 시스템 및 파일을 복구하기 위하여 암호화에 활용되는 암호화 키를 안전한 저장소에 백업함으로써 랜섬웨어에 감염된 파일 및 시스템을 복구하는 것이 가능하게 된다. The Ransomware protection apparatus according to an exemplary embodiment of the present invention can restore files and systems infected with the Ransomware by backing up encryption keys used for encryption in order to recover systems and files encrypted by Ransomware.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (12)

랜섬웨어를 방지하는 방법에 있어서,
암호 라이브러리가 로드된 프로그램을 탐지하거나 상기 암호 라이브러리가 로드될 때의 프로그램을 추적하는 단계;
상기 암호 라이브러리 내에 생성된 암호화 키를 백업하기 위한 함수의 제어권을 조작하는 단계;
상기 랜섬웨어의 상기 암호화 키의 생성 여부에 기초하여 상기 암호화 키를 각기 다른 방식으로 저장하는 단계; 및
상기 암호화 키의 백업을 통하여 암호화된 프로그램을 복구하는 단계
를 포함하는 랜섬웨어 방지 방법.
In a method for preventing random software,
Detecting a program in which the cryptographic library is loaded or a program when the cryptographic library is loaded;
Manipulating control of a function for backing up an encryption key generated in the encryption library;
Storing the encryption key in a different manner based on whether the encryption key of the random software is generated; And
Recovering the encrypted program through the backup of the encryption key
The method comprising the steps of:
제1항에 있어서,
상기 랜섬웨어가 파일을 암호화하기 위하여 암호화 기능을 실행함에 따라 암호 라이브러리를 로드하는 단계; 및
상기 랜섬웨어가 상기 암호 라이브러리 내에 상기 암호화를 위한 암호화 키를 생성하고, 반입 함수를 호출하는 단계
를 더 포함하는 랜섬웨어 방지 방법.
The method according to claim 1,
Loading the cryptographic library as the Raman software executes an encryption function to encrypt the file; And
Wherein the Ransomware generates an encryption key for encryption in the encryption library and calls an import function
Further comprising the steps of:
제1항에 있어서,
상기 암호 라이브러리 내에 생성된 암호화 키를 백업하기 위한 함수의 제어권을 조작하는 단계는,
상기 암호 라이브러리 내에 생성된 비밀키 및 공개키의 쌍을 생성하기 위한 함수를 후킹하여 백업하는 단계
를 포함하는 랜섬웨어 방지 방법.
The method according to claim 1,
Wherein manipulating the control of the function for backing up the encryption key generated in the encryption library comprises:
Backing up a function for generating a pair of a secret key and a public key generated in the encryption library
The method comprising the steps of:
제1항에 있어서,
상기 랜섬웨어의 상기 암호화 키의 생성 여부에 기초하여 상기 암호화 키를 각기 다른 방식으로 저장하는 단계는,
상기 랜섬웨어에서 상기 암호화 키를 생성함에 따라 상기 제어권이 조작된 코드가 수행되어 상기 암호화 키를 저장하고, 상기 랜섬웨어가 이미 암호화 키를 보유하고 있어 상기 암호화 키를 생성하지 않을 경우 반입하는 암호화 키를 저장하는 단계
를 포함하는 랜섬웨어 방지 방법.
The method according to claim 1,
Storing the encryption keys in different ways based on whether the encryption key of the random software is generated,
Wherein the encryption key is generated by the random software and the control code is executed to store the encryption key, and when the random key has already the encryption key and does not generate the encryption key, ≪ / RTI >
The method comprising the steps of:
제4항에 있어서,
상기 랜섬웨어의 상기 암호화 키의 생성 여부에 기초하여 상기 암호화 키를 각기 다른 방식으로 저장하는 단계는,
상기 암호화 키의 생성 여부와 관계없이 상기 암호화 키를 확보하지 못한 경우, 암호화 시점에서의 암호화 키를 확보하는 단계
를 포함하는 랜섬웨어 방지 방법.
5. The method of claim 4,
Storing the encryption keys in different ways based on whether the encryption key of the random software is generated,
If the encryption key is not secured regardless of whether the encryption key is generated or not, securing the encryption key at the encryption time
The method comprising the steps of:
제1항에 있어서,
상기 백업된 암호화 키는,
사용자 단말의 내부 또는 외부의 인증 서버(certificate server)로 전달되어 외부에 의하여 노출되지 않도록 사용자가 등록한 비밀번호 기반, 혹은 인증서 기반으로 안전하게 저장되고,
상기 암호화 키의 백업을 통하여 암호화된 프로그램을 복구하는 단계는,
수사 기관 또는 인증 기관과 협조하여 상기 백업된 암호화 키를 상기 기관의 키로 재암호화하고, 상기 사용자 단말이 랜섬웨어에 감염되어 파일이 암호화된 경우, 상기 수사 기관 또는 인증 기관으로부터 상기 암호화 키를 정상적으로 복호화함으로써 암호화된 파일을 복구하는 단계
를 포함하는 랜섬웨어 방지 방법.
The method according to claim 1,
Wherein the backed up encryption key comprises:
Based on a password registered by a user or a certificate based on a certificate stored in the user terminal so as not to be exposed to an external server,
Wherein the step of restoring the encrypted program through the backup of the encryption key comprises:
Re-encrypts the backed-up encryption key with the authority key in cooperation with an investigation agency or a certification authority, and when the user terminal is infected with the Ransomware and the file is encrypted, the encryption key is normally decrypted Thereby recovering the encrypted file
The method comprising the steps of:
랜섬웨어를 방지하는 장치에 있어서,
암호 라이브러리가 로드된 프로그램을 탐지하거나 상기 암호 라이브러리가 로드될 때의 프로그램을 추적하는 추적부;
상기 암호 라이브러리 내에 생성된 암호화 키를 백업하기 위한 함수의 제어권을 조작하는 조작부;
상기 랜섬웨어의 상기 암호화 키의 생성 여부에 기초하여 상기 암호화 키를 각기 다른 방식으로 저장하는 저장부; 및
상기 암호화 키의 백업을 통하여 암호화된 프로그램을 복구하는 복구부
를 포함하는 랜섬웨어 방지 장치.
An apparatus for preventing random software,
A tracking unit for detecting a program in which the cryptographic library is loaded or a program when the cryptographic library is loaded;
An operation unit for operating control of a function for backing up the encryption key generated in the encryption library;
A storage unit for storing the encryption keys in different manners based on whether or not the encryption key of the random software is generated; And
A recovery unit for recovering the encrypted program through the backup of the encryption key,
And an anti-virus protection device.
제7항에 있어서,
상기 랜섬웨어가 파일을 암호화하기 위하여 암호화 기능을 실행함에 따라 암호 라이브러리를 로드하고, 상기 암호 라이브러리 내에 상기 암호화를 위한 암호화 키를 생성하고, 반입 함수를 호출하는 것
을 더 포함하는 랜섬웨어 방지 장치.
8. The method of claim 7,
Loading the cryptographic library as the Raman software executes an encryption function to encrypt the file, generating an encryption key for encryption in the cryptographic library, and calling an import function
Further comprising:
제7항에 있어서,
상기 조작부는,
상기 암호 라이브러리 내에 생성된 비밀키 및 공개키의 쌍을 생성하기 위한 함수를 후킹하여 백업하는
것을 특징으로 하는 랜섬웨어 방지 장치.
8. The method of claim 7,
Wherein,
A function for generating a pair of a secret key and a public key generated in the encryption library is hooked up and backed up
Wherein the anti-tamper protection device comprises:
제7항에 있어서,
상기 저장부는,
상기 랜섬웨어에서 상기 암호화 키를 생성함에 따라 상기 제어권이 조작된 코드가 수행되어 상기 암호화 키를 저장하고, 상기 랜섬웨어가 이미 암호화 키를 보유하고 있어 상기 암호화 키를 생성하지 않을 경우 반입하는 암호화 키를 저장하는
것을 특징으로 하는 랜섬웨어 방지 장치.
8. The method of claim 7,
Wherein,
Wherein the encryption key is generated by the random software and the control code is executed to store the encryption key, and when the random key has already the encryption key and does not generate the encryption key, To store
Wherein the anti-tamper protection device comprises:
제10항에 있어서,
상기 저장부는,
상기 암호화 키의 생성 여부와 관계없이 상기 암호화 키를 확보하지 못한 경우, 암호화 시점에서의 암호화 키를 확보하는
것을 특징으로 하는 랜섬웨어 방지 장치.
11. The method of claim 10,
Wherein,
If the encryption key is not acquired regardless of whether the encryption key is generated or not, the encryption key at the encryption time is acquired
Wherein the anti-tamper protection device comprises:
제7항에 있어서,
상기 백업된 암호화 키는,
사용자 단말의 내부 또는 외부의 인증 서버로 전달되어 외부에 의하여 노출되지 않도록 사용자가 등록한 비밀번호 기반, 혹은 인증서 기반으로 안전하게 저장되고,
상기 복구부는,
수사 기관 또는 인증 기관과 협조하여 상기 백업된 암호화 키를 상기 기관의 키로 재암호화하고, 상기 사용자 단말이 랜섬웨어에 감염되어 파일이 암호화된 경우, 상기 수사 기관 또는 인증 기관으로부터 상기 암호화 키를 정상적으로 복호화함으로써 암호화된 파일을 복구하는
것을 특징으로 하는 랜섬웨어 방지 장치.
8. The method of claim 7,
Wherein the backed up encryption key comprises:
Based on a password registered by the user so as not to be exposed to an external authentication server transmitted to an authentication server inside or outside the user terminal,
The recovery unit,
Re-encrypts the backed-up encryption key with the authority key in cooperation with an investigation agency or a certification authority, and when the user terminal is infected with the Ransomware and the file is encrypted, the encryption key is normally decrypted To recover encrypted files
Wherein the anti-tamper protection device comprises:
KR1020160084034A 2016-07-04 2016-07-04 Ransomware prevention technique using key backup KR101859823B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160084034A KR101859823B1 (en) 2016-07-04 2016-07-04 Ransomware prevention technique using key backup

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160084034A KR101859823B1 (en) 2016-07-04 2016-07-04 Ransomware prevention technique using key backup

Publications (2)

Publication Number Publication Date
KR20180004462A true KR20180004462A (en) 2018-01-12
KR101859823B1 KR101859823B1 (en) 2018-06-28

Family

ID=61001086

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160084034A KR101859823B1 (en) 2016-07-04 2016-07-04 Ransomware prevention technique using key backup

Country Status (1)

Country Link
KR (1) KR101859823B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10447671B1 (en) * 2017-03-29 2019-10-15 Symantec Corporation Systems and methods for recovering encrypted information
US11227053B2 (en) 2019-12-10 2022-01-18 Micro Focus Llc Malware management using I/O correlation coefficients
KR20210107386A (en) * 2020-02-24 2021-09-01 삼성전자주식회사 Electronic apparatus and method for controlling thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4115759B2 (en) * 2002-07-01 2008-07-09 株式会社東芝 Method and program for using shared library in tamper resistant processor
KR20090084530A (en) * 2008-02-01 2009-08-05 주식회사 안철수연구소 Method and apparatus for detection and prevention malicious code using script languages for computer system
KR101623096B1 (en) * 2015-05-13 2016-05-23 주식회사 에스이웍스 Apparatus and method for managing apk file in a android platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4115759B2 (en) * 2002-07-01 2008-07-09 株式会社東芝 Method and program for using shared library in tamper resistant processor
KR20090084530A (en) * 2008-02-01 2009-08-05 주식회사 안철수연구소 Method and apparatus for detection and prevention malicious code using script languages for computer system
KR101623096B1 (en) * 2015-05-13 2016-05-23 주식회사 에스이웍스 Apparatus and method for managing apk file in a android platform

Also Published As

Publication number Publication date
KR101859823B1 (en) 2018-06-28

Similar Documents

Publication Publication Date Title
CN112074836B (en) Apparatus and method for protecting data through trusted execution environment
US9852289B1 (en) Systems and methods for protecting files from malicious encryption attempts
US9888032B2 (en) Method and system for mitigating the effects of ransomware
JP6352332B2 (en) System and method for restoring changed data
Altuwaijri et al. Android data storage security: A review
JP6789308B2 (en) Systems and methods for generating tripwire files
US7975308B1 (en) Method and apparatus to secure user confidential data from untrusted browser extensions
JP6335315B2 (en) System and method for scanning a packed program in response to detection of suspicious behavior
JP6196393B2 (en) System and method for optimizing scanning of pre-installed applications
US9338012B1 (en) Systems and methods for identifying code signing certificate misuse
CN109644196B (en) Message protection
US8181028B1 (en) Method for secure system shutdown
CN103827881A (en) Method and system for dynamic platform security in a device operating system
US10250588B1 (en) Systems and methods for determining reputations of digital certificate signers
Lee et al. Ransomware prevention technique using key backup
US20090282265A1 (en) Method and apparatus for preventing access to encrypted data in a node
US9529733B1 (en) Systems and methods for securely accessing encrypted data stores
Popoola et al. Ransomware: Current trend, challenges, and research directions
US10262131B2 (en) Systems and methods for obtaining information about security threats on endpoint devices
KR101859823B1 (en) Ransomware prevention technique using key backup
US10447671B1 (en) Systems and methods for recovering encrypted information
US11184169B1 (en) Systems and methods for crowd-storing encrypiion keys
US10169584B1 (en) Systems and methods for identifying non-malicious files on computing devices within organizations
US10192056B1 (en) Systems and methods for authenticating whole disk encryption systems
US11411968B1 (en) Systems and methods for protecting a cloud computing device from malware

Legal Events

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