KR20190006429A - Ransomware dectection appartus and operating method thereof - Google Patents
Ransomware dectection appartus and operating method thereof Download PDFInfo
- Publication number
- KR20190006429A KR20190006429A KR1020180047591A KR20180047591A KR20190006429A KR 20190006429 A KR20190006429 A KR 20190006429A KR 1020180047591 A KR1020180047591 A KR 1020180047591A KR 20180047591 A KR20180047591 A KR 20180047591A KR 20190006429 A KR20190006429 A KR 20190006429A
- Authority
- KR
- South Korea
- Prior art keywords
- code
- frequency
- operating
- cpu
- value
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
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)
- Debugging And Monitoring (AREA)
Abstract
Description
본 발명은 랜섬웨어 감지 장치 및 그 동작 방법에 관한 것이다. The present invention relates to a portable software detection apparatus and an operation method thereof.
랜섬웨어는 컴퓨터 시스템내의 사용자의 데이터를 암호화 한 후 금품을 요구하는 악성 프로그램으로서, 랜섬웨어가 최근에 기승을 부리고 있다. 랜섬웨어는 이메일을 통해서뿐만 아니라 다양한 경로로 사용자 컴퓨터에 침투하고 있으므로, 그 심각성이 증가하고 있다. Ransomware is a malicious program that encrypts user's data in a computer system and requires money. Ransomware is penetrating the user's computer in various ways as well as through e-mail, and its seriousness is increasing.
그러나 컴퓨터 시스템에 랜섬웨어가 감염되었는지를 사전에 탐지하거나 랜섬웨어가 데이터를 암호화하는 지를 실시간을 인지하여 차단하는 방법이 없는 실정이다. 랜섬웨어에 의해 데이터가 한번 암호화된 후에는 데이터를 복구할 수 없기 때문에 다른 악성코드의 피해보다 훨씬 큰 피해를 입히고 있다. However, there is no way to detect whether Ransomware has been infected by a computer system in advance or to prevent Ransomware from encrypting data in real time. After the data has been encrypted by Ransomware once, it can not recover the data, and it causes much more damage than other malicious codes.
본 발명이 해결하고자 하는 과제는 실시간 또는 암호화 초기에 랜섬웨어를 감지하는 장치 및 방법을 제공하는 것이다. An object of the present invention is to provide an apparatus and method for detecting a randomware in real time or at the beginning of encryption.
본 발명의 실시예에 따르면, 랜섬웨어 감지 장치가 제공된다. 상기 랜섬웨어 감지 장치는, CPU에서 현재 실행 중인 OP 코드(Operation Code)를 입력 받으며, 상기 OP 코드의 값을 주파수 도메인으로 변환하여 제1 OP 코드 주파수 파형을 생성하는 주파수 변환부, 랜섬웨어 암호화 알고리즘에 대응하는 OP 코드를 주파수 도메인으로 변환한 값인 제2 OP 코드 주파수 파형을 저장하고 있는 메모리, 그리고 상기 제1 OP 코드 주파수 파형과 상기 제2 OP 코드 주파수 파형을 비교하여, 랜섬웨어가 동작하고 있는지 여부를 판단하는 랜섬웨어 판단부를 포함할 수 있다. According to an embodiment of the present invention, a Ransomware sensing apparatus is provided. The Ramsomware sensing apparatus includes a frequency converter for receiving an OP code currently being executed by the CPU and generating a first OP code frequency waveform by converting the value of the OP code into a frequency domain, A second OP code frequency waveform, which is a value obtained by converting the OP code corresponding to the first OP code frequency to a frequency domain, and a memory for comparing the first OP code frequency waveform and the second OP code frequency waveform, And a random-camera determination unit for determining whether or not the
상기 랜섬웨어 감지 장치는, 상기 CPU로부터 상기 연산 부호에 대응하는 프로세서 트레이서 패킷를 수신하며, 상기 프로세서 트레이서 패킷을 상기 연산 부호로 디코딩한 후 상기 주파수 변환부로 출력하는 OP 코드 디코딩부를 더 포함할 수 있다. The RAN cellware detecting apparatus may further include an OP code decoding unit that receives the processor tracer packet corresponding to the operation code from the CPU, decodes the processor trace packet into the operation code, and outputs the decoded processor trace packet to the frequency conversion unit.
상기 랜섬웨어 판단부는 상기 제1 OP 코드 주파수 파형과 상기 제2 OP 코드 주파수 파형간에 유사도를 계산하고 상기 유사도가 소정의 기준치를 초과하는 경우 랜섬웨어가 동작하고 있는 것으로 판단할 수 있다. The randomizer determination unit may calculate a degree of similarity between the first OP code frequency waveform and the second OP code frequency waveform, and may determine that the Raman software is operating when the degree of similarity exceeds a predetermined reference value.
상기 랜섬웨어 판단부는 상기 제1 OP 코드 주파수 파형과 상기 제2 OP 코드 주파수 파형간에, 메인 주파수를 서로 비교하고 상관 계수를 계산하여, 상기 유사도를 계산할 수 있다. The randomizer determination unit may calculate the similarity by comparing the main frequency between the first OP code frequency waveform and the second OP code frequency waveform and calculating a correlation coefficient.
상기 랜섬웨어 판단부는 랜섬웨어가 동작하고 있는 것으로 판단한 경우, 상기 CPU에서 실행중인 코드를 복구용 저장장치에 저장할 수 있다. If the random software determination unit determines that the random software is operating, it can store the code executing in the CPU in the recovery storage device.
상기 랜섬웨어 판단부는 랜섬웨어가 동작하고 있는 것으로 판단하는 경우, 상기 CPU로 해당 프로세스를 중단할 것을 요청할 수 있다. If the random software determination unit determines that the random software is operating, the random software determination unit may request the CPU to stop the process.
상기 주파수 변환부는 상기 OP 코드 값을 FFT(Fast Fourier Transform)하여 상기 제1 OP 코드 주파수 파형을 생성할 수 있다. The frequency converting unit may FFT (Fast Fourier Transform) the OP code value to generate the first OP code frequency waveform.
상기 OP 코드의 값은 십진수일 수 있다. The value of the OP code may be a decimal number.
본 발명의 다른 실시예에 따르면, CPU를 포함하는 컴퓨터 시스템에서 랜섬웨어가 동작하는지 여부를 감지하는 랜섬웨어 감지 장치가 동작하는 방법이 제공된다. 상기 방법은, 상기 CPU로부터 현재 실행 중인 PT(Processor Tracer) 패킷을 수신하는 단계, 상기 PT 패킷을 OP 코드(Operation Code)로 디코딩하는 단계, 상기 OP 코드의 값을 주파수 도메인으로 변환하여 제1 OP 코드 주파수 파형을 생성하는 단계, 랜섬웨어 암호화 알고리즘에 대응하는 OP 코드를 주파수 도메인으로 변환한 값인 제2 OP 코드 주파수 파형을 저장하는 단계, 그리고 상기 제1 OP 코드 주파수 파형과 상기 제2 OP 코드 주파수 파형을 비교하여, 랜섬웨어가 동작하고 있는지 여부를 판단하는 단계를 포함할 수 있다. According to another embodiment of the present invention, there is provided a method of operating a Ramsomew detection device for detecting whether Ransomware is operating in a computer system including a CPU. The method comprises the steps of receiving a currently executed PT (Processor Tracer) packet from the CPU, decoding the PT packet into an OP Code, converting the value of the OP code into a frequency domain, Generating a code frequency waveform, storing a second OP code frequency waveform that is a value obtained by converting an OP code corresponding to a Ransomware encryption algorithm into a frequency domain, and storing the first OP code frequency waveform and the second OP code frequency And comparing the waveforms to determine whether the random software is operating.
상기 판단하는 단계는, 상기 제1 OP 코드 주파수 파형과 상기 제2 OP 코드 주파수 파형 간에 유사도를 계산하는 단계, 그리고 상기 유사도를 통해, 랜섬웨어가 동작하고 있는지 여부를 판단하는 단계를 포함할 수 있다. The determining step may include calculating a degree of similarity between the first OP code frequency waveform and the second OP code frequency waveform and determining whether the Raman software is operating through the degree of similarity .
상기 방법은, 상기 판단하는 단계에서 랜섬웨어가 동작하고 있는 것으로 판단된 경우, 상기 CPU에서 실행 중인 코드를 저장하는 단계를 더 포함할 수 있다. The method may further include a step of storing a code being executed by the CPU when it is determined that the random software is operating in the determining step.
상기 방법은, 상기 판단하는 단계에서 랜섬웨어가 동작하고 있는 것으로 판단된 경우, 상기 CPU로 해당 프로세스를 중단할 것을 요청하는 단계를 더 포함할 수 있다. The method may further include, when it is determined in the determining step that the random software is operating, requesting the CPU to stop the process.
상기 제1 OP 코드 주파수 파형을 생성하는 단계는, 상기 OP 코드 값을 신호로서 간주하여 주파수 도메인으로 변환하는 단계를 포함할 수 있다. The step of generating the first OP code frequency waveform may include converting the OP code value into a frequency domain by considering the OP code value as a signal.
본 발명의 또 다른 실시예에 따르면, CPU에서 랜섬웨어가 동작되는지 여부를 감지하는 장치가 동작하는 방법이 제공된다. 상기 방법은, CPU에서 현재 동작 중인 OP 코드(Operation Code)를 입력 받는 단계, 상기 OP 코드의 값을 주파수 도메인으로 변환하는 단계, 그리고 상기 주파수 도메인에 대응되는 제1 값을 분석하여, 랜섬웨어가 동작하고 있는지 여부를 판단하는 단계를 포함할 수 있다. According to another embodiment of the present invention, there is provided a method of operating a device for detecting whether or not a Raman software is operated in a CPU. The method includes the steps of receiving an OP code currently being operated on a CPU, converting the value of the OP code to a frequency domain, analyzing a first value corresponding to the frequency domain, And judging whether or not it is operating.
상기 판단하는 단계는, 랜섬웨어 암호화 알고리즘에 대응하는 OP 코드를 주파수 도메인으로 변환한 값인 제2 값과 상기 제1 값을 비교하여, 렌섬웨어가 동작하고 있는지 여부를 판단하는 단계를 포함할 수 있다. The determining may include comparing the first value with a second value obtained by converting the OP code corresponding to the RANCOMM software into the frequency domain and determining whether the RAN firmware is operating .
본 발명의 실시예에 따르면, CPU 연산 과정에서 발생하는 OP 코드를 주파수 분석하여 랜섬웨어 동작 여부를 판단함으로써, 실시간으로 또는 암호화 초기 단계에서 랜섬웨어를 판단할 수 있다. According to the embodiment of the present invention, the Raman software can be determined in real time or at the initial stage of encryption by determining whether the Raman software is operated by performing frequency analysis on the OP code generated in the CPU calculation process.
도 1은 본 발명의 실시예에 따른 랜섬웨어 감지 장치와 주변 장치간의 관계를 나타내는 도면이다.
도 2는 암호화 알고리즘에 대한 반복문(round iteration) 코드의 일예를 나타내는 도면이다.
도 3은 OP 코드 값의 시그널을 나타내는 도면이다.
도 4는 도 3의 신호 파형을 주파수 도메인으로 변환한 파형을 나타낸다.
도 5는 본 발명의 실시예에 따른 랜섬웨어 감지 장치를 구체적으로 나타내는 블록도이다.
도 6은 본 발명의 실시예에 따른 랜섬웨어 감지 방법을 나타내는 플로우차트이다. 1 is a diagram illustrating a relationship between a Ransomeware sensing device and a peripheral device according to an embodiment of the present invention.
2 is a diagram showing an example of a round iteration code for an encryption algorithm.
3 is a diagram showing a signal of an OP code value.
Fig. 4 shows waveforms obtained by converting the signal waveforms of Fig. 3 into the frequency domain.
FIG. 5 is a block diagram specifically illustrating a random software detection apparatus according to an embodiment of the present invention.
6 is a flowchart illustrating a method of detecting Ransomware according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.
본 발명의 실시예에 따른 랜섬웨어 감지 장치는 소프트웨어의 데이터 암호화 과정에서 발생하는 CPU 연산 특성을 분석하고, 실시간 또는 암호화 초기 단계에서 암호화를 인지하여 랜섬웨어를 감지한다. 랜섬웨어가 컴퓨터 시스템에서 동작 할 시에 가장 큰 특징은 암호화 과정을 반복적으로 수행한다는 점이다. 본 발명의 실시예에 따른 랜섬웨어 감지 장치 및 방법은 이러한 랜섬웨어의 암호화 특징(즉, 암호화 과정 반복)을 이용하는 바 이에 대해서 상세히 설명한다. The Ransomware detection apparatus according to an embodiment of the present invention analyzes the CPU operation characteristics generated in the data encryption process of the software and detects the Ransomware in real time or at the initial stage of encryption by recognizing the encryption. The most important feature when Ransomware operates in a computer system is that it performs the encryption process repeatedly. The Ransomware detection apparatus and method according to the embodiment of the present invention uses the encryption feature of the Ransomware (that is, the encryption process repetition), which will be described in detail.
도 1은 본 발명의 실시예에 따른 랜섬웨어 감지 장치와 주변 장치간의 관계를 나타내는 도면이다. 1 is a diagram illustrating a relationship between a Ransomeware sensing device and a peripheral device according to an embodiment of the present invention.
CPU(200)는 컴퓨터 시스템 내에 있는 중앙처리장치이다. CPU(200)는 메모리(도시하지 않음)에 저장되어 있는 각종 명령어를 실행한다. 일반적으로 CPU(200)는 프로세서 트레이서(Processor Tracer, PT) 패킷을 제공한다. PT 패킷은 연산 부호(Operation Code, 이하 'OP 코드'라 함)를 디코딩할 수 있는 정보를 제공한다. The
랜섬웨어 감지 장치(100)는 CPU(200)로부터 제공되는 PT 패킷을 이용하여 랜섬웨어가 동작하는지 여부를 판단한다. 랜섬웨어 감지 장치(100)는 PT 패킷을 OP 코드로 디코딩 한 후 OP 코드를 이용하여 랜섬웨어를 감지한다. 좀 더 상세히 설명하면, 랜섬웨어 감지 장치(100)는 랜섬웨어에서 사용하는 암호화 알고리즘에 대한 OP 코드 상의 주파수 특성을 이용하여 암호화가 수행되고 있는지를 판별하고 이를 기반으로 랜섬웨어를 감지한다. The portable
도 2는 암호화 알고리즘에 대한 반복문(round iteration) 코드의 일예를 나타내는 도면이다. 설명의 편의상 도2의 암호화 알고리즘은 랜섬웨어에서 빈번히 사용되는 AES(Advance Encryption Standard)128 알고리즘을 나타내었으나, 랜섬웨어에서 사용되는 다른 암호화 알고리즘(TEA, RC4 등)도 본 발명에 적용될 수 있음은 당연하다. 2 is a diagram showing an example of a round iteration code for an encryption algorithm. For the sake of convenience of explanation, the encryption algorithm of FIG. 2 shows the AES (Advance Encryption Standard) 128 algorithm used frequently in the RANemware, but it is obvious that other encryption algorithms (TEA, RC4, etc.) Do.
AES128 알고리즘은 도 2에 나타낸 코드를 10회 반복하고(즉, 10회의 라운드 반복문 사용됨) 128비트 블록에 대한 암호화를 수행한다. 그리고, AES192는 12회의 라운드 반복문(round iteration)이 사용되고 AES256은 14회의 라운드 반복문이 사용된다. 본 발명의 실시예에 따른 랜섬웨어 감지 장치(100)는 암호화 알고리즘이 반복하여 절차가 수행되는 동안에 발생하는 OP 코드 값을 시그널로 간주한다. The AES 128 algorithm repeats the code shown in FIG. 10 ten times (i.e., uses ten rounds of looping) and performs encryption on a 128-bit block. AES192 uses 12 round iterations and AES256 uses 14 round iterations. The
도 3은 OP 코드 값의 시그널을 나타내는 도면이다. 즉, 도 3은 도 2의 암호화 알고리즘이 10번 반복하여 수행될 시에 발생하는 OP 코드 값을 시그널로 간주하여 나타낸 것이다. 3 is a diagram showing a signal of an OP code value. That is, FIG. 3 shows an OP code value generated when the encryption algorithm of FIG. 2 is repeated 10 times, as a signal.
아래 표 1은 OP 코드를 나타내는 도면이다. Table 1 below shows the OP code.
표 1에 나타낸 바와 같이, OP 코드는 10진수로 표시할 수 있으며, 이러한 OP 코드를 하나의 시그널(신호)로 간주할 수 있다. OP 코드의 값인 10진수를 신호 값으로 간주하면, 도 2의 암호화 알고리즘에 대한 OP 코드 값은 도 3과 같은 신호 파형으로 변환될 수 있다. 랜섬웨어는 암호화 알고리즘을 반복하여 수행하므로, 도 3에 나타낸 바와 같이 OP 코드 값의 신호 파형은 주기성을 가진다. As shown in Table 1, the OP code can be represented by a decimal number, and this OP code can be regarded as one signal (signal). If the decimal value, which is the value of the OP code, is regarded as a signal value, the OP code value for the encryption algorithm of Fig. 2 can be converted into the signal waveform as shown in Fig. Since the random software performs the encryption algorithm repeatedly, the signal waveform of the OP code value has periodicity as shown in FIG.
도 4는 도 3의 신호 파형을 주파수 도메인으로 변환한 파형을 나타낸다. 즉, 도 4는 도 3의 신호 파형을 FFT(Fast Fourier Transform)한 것을 나타낸다. 한편, 도 4에서 FFT 샘플링 사이즈는 512포이트이다. Fig. 4 shows waveforms obtained by converting the signal waveforms of Fig. 3 into the frequency domain. That is, FIG. 4 shows that the signal waveform of FIG. 3 is FFT (Fast Fourier Transform). On the other hand, in FIG. 4, the FFT sampling size is 512 points.
도 4에 나타낸 바와 같이, 주파수 변환한 파형은 기본 주파수(암호화 알고리즘의 반복 회수 10, 10Hz)의 배수에서 높은 크기(amplitude)를 가지는 주기 함수 주파 주파수 특성을 가진다. As shown in FIG. 4, the frequency-converted waveform has a periodic frequency frequency characteristic with a high amplitude at a multiple of the fundamental frequency (the number of iterations of the encryption algorithm is 10, 10 Hz).
본 발명의 실시예에 따른 랜섬웨어 감지 장치(100)는 도 2 내지 도 4에서 설명한 암호화 알고리즘에 OP 코드의 특성(즉, OP 코드의 주파수 특성)을 이용하여 랜섬웨어 여부를 감지한다. The
도 5는 본 발명의 실시예에 따른 랜섬웨어 감지 장치(100)를 구체적으로 나타내는 블록도이다. 5 is a block diagram specifically illustrating a
도 5에 나타낸 바와 같이, 본 발명의 실시예에 따른 랜섬웨어 감지 장치(100)는 OP 코드 디코딩부(110), 주파수 변환부(120), 랜섬웨어 판단부(130), 메모리(140), 그리고 복구용 저장 장치(150)를 포함한다. 5, the Raman-
OP 코드 디코딩부(110)는 CPU(200)로부터 현재 실행 중인 PT 패킷을 수신하고, 수신한 PT 패킷을 OP 코드로 디코딩(decoding)을 수행한다. PT 패킷을 OP 코드로 디코딩하는 방법은 본 발명이 속하는 기술 분야에 통상의 지식을 가진 자라면 알 수 있는 바 구체적인 설명은 생략한다. The OP
주파수 변환부(120)는 OP 코드 디코딩부(110)로부터 OP 코드를 입력 받으며, OP 코드의 값을 하나의 시그널(신호)로 간주하여 주파수 도메인으로 변환을 수행한다. 랜섬웨어는 암호화 알고리즘을 반복적으로 수행하므로 암호화 알고리즘에 대응하는 OP 코드 값도 주기적인 특성을 가진다. 예를 들면, AES128 알고리즘에 대한 OP 코드 값은 도 3과 같은 신호 파형을 가지며, 주파수 변환부(120)는 도 4와 같이 주파수 도메인으로 변환한 파형을 획득할 수 있다. 한편, 주파수 변환부(120)는 FFT를 사용하여 주파수 변환을 수행할 수 있다. 이하에서, 주파수 변환부(120)에 의해 주파수 도메인으로 변환된 값을 'OP 코드 주파수 파형'이라 한다. The
메모리(140)는 랜섬웨어 동작에 사용되는 암호화 알고리즘(예를 들면, AES128 알고리즘)에 대응하는 OP 코드 주파수 파형을 미리 저장하고 있다. 즉, 메모리(140)은 도 4와 같은 주파수 파형을 저장하고 있다. The
랜섬웨어 판단부(130)는 주파수 변환부(120)로부터 OP 코드 주파수 파형을 입력 받는다. 랜섬웨어 판단부(130)는 주파수 변환부(120)로부터 입력 받은 OP 코드 주파수 파형을 메모리(140)에 미리 저장되어 있는 OP 코드 주파수 파형과 비교하여 랜섬웨어가 동작하고 있는지 여부를 판단한다. 여기서, 랜섬웨어 판단부(130)는 두 OP 코드 주파수 파형(주파수 변환부(120)로부터 입력 받은 OP 코드 주파수 파형과 메모리(140)에 미리 저장되어 있는 OP 코드 주파수 파형)간에 메인 주파수를 서로 비교하고, 두 OP 코드 주파수 파형간에 상관(correlation) 계수(Coefficient)를 계산할 수 있다. 랜섬웨어 판단부(130)는 비교한 메인 주파수와 계산한 상관 계수를 통해 유사도를 계산하고, 유사도가 소정의 기준치를 초과하는 경우 랜섬웨어가 현재 동작하고 있는 것으로 판단할 수 있다. 그리고 랜섬웨어 판단부(130)은 계산한 유사도가 소정의 기준치 이하인 경우 랜섬웨어가 현재 동작하고 있지 않은 것으로 판단할 수 있다. The random
한편, 랜섬웨어 판단부(130)는 랜섬웨어가 동작하고 있는 것으로 판단한 경우, CPU(200)와 연결된 메모리(도시 하지 않음)에서 현재 실행중인 코드를 복사하고, 복사한 코드를 복구용 저장 장치(150)에 저장한다. 즉, 복구용 저장 장치(150)는 현재 진행 중인 랜섬웨어와 관련된 코드를 저장하고 있다. 사용자는 복구용 저장 장치(150)에 저장되어 있는 코드를 분석하여 암호화 키를 추출할 수 있고 추출한 암호화 키를 이용하여 랜섬웨어 감염된 파일들을 복구할 수 있다. 복구용 저장 장치(150)는 비휘발성 메모리로 구현될 수 있다. 그리고, 랜섬웨어 판단부(130)는 랜섬웨어가 동작하고 있는 것으로 판단한 경우, CPU(200)로 해당 프로세스(process)를 중단할 것을 요청할 수 있다. On the other hand, if the random
이와 같이 본 발명의 실시예에 따른 랜섬웨어 감지 장치(100)는 CPU 연산 과정에서 발생하는 OP 코드를 주파수 분석하여 랜섬웨어 동작 여부를 판단함으로써, 실시간으로 또는 암호화 초기 단계에서 랜섬웨어를 판단할 수 있다. As described above, the
도 6은 본 발명의 실시예에 따른 랜섬웨어 감지 방법을 나타내는 플로우차트이다. 6 is a flowchart illustrating a method of detecting Ransomware according to an embodiment of the present invention.
랜섬웨어 감지 장치(100)는 CPU(200)로부터 현재 실행 중인 PT 패킷을 수신하고, 수신한 PT 패킷을 OP 코드로 디코딩을 수행한다(S610). 즉, OP 코드 디코딩부(110)는 CPU(200)로부터 수신한 PT 패킷을 OP코드로 디코딩한다. The portable
랜섬웨어 감지 장치(100)는 OP 코드를 신호(시그널)로 간주하고 OP 코드 값을 주파수 도메인으로 변환한다(S620). OP 코드는 시간상 순차적으로 입력되고 값을 가지고 있으므로, OP 코드는 신호로 간주할 수 있다. 주파수 변환부(120)는 신호로 간주한 OP 코드 값을 주파수 파형(OP 코드 주파수 파형)으로 변환한다. 예를 들어, AES128 알고리즘의 경우, 주파수 변환부(120)는 도 3과 같은 시간 도메인의 신호를 도 4와 같은 주파수 도메인의 신호로 변환한다. The portable
랜섬웨어 감지 장치(100)는 S620 단계에서 생성된 OP 코드 주파수 파형과 미리 저장되어 있는 OP 코드 주파수 파형을 비교한다(S630). 메모리(140)에 미리 저장되어 있는 OP 코드 주파수 파형은 랜섬웨어 동작에 사용되는 암호화 알고리즘에 대응하는 OP 코드 주파수 파형이다. 즉, 랜섬웨어 판단부(130)는 두 OP 코드 주파수 파형간에 메인 주파수를 서로 비교하고, 두 OP 코드 주파수 파형간에 상관(correlation) 계수(Coefficient)를 계산하여, 두 OP 코드 주파수 파형의 유사도를 계산할 수 있다. 랜섬웨어 판단부(130)는 계산한 유사도가 소정의 기준치를 초과하는 경우 현재 랜섬웨어가 동작하고 있는 것으로 판단한다. The portable
랜섬웨어 감지 장치(100)는 S630 단계에서 비교한 결과가 랜섬웨어인 것으로 판단된 경우, CPU(200)에서 현재 실행중인 코드를 복사하여 저장한다(S640, S650). 즉, 랜섬웨어 판단부(130)는 랜섬웨어가 동작하고 있는 것으로 판단한 경우 CPU(200)와 연결된 메모리(도시 하지 않음)에서 현재 실행중인 코드를 불러와 복사하고, 복사한 코드를 복구용 저장 장치(150)에 저장한다. 그리고, 랜섬웨어 감지 장치(100)는 랜섬웨어가 동작하는 것으로 판단한 경우 CPU(200)로 해당 프로세스를 중단할 것을 요청한다. If it is determined that the comparison result in step S630 is Ransomware, the portable
그리고 랜섬웨어 감지 장치(100)는 S630 단계에서 비교한 결과가 랜섬웨어가 아닌 것으로 판단된 경우, 상기 S610 단계로 다시 돌아간다(S640, S610). If it is determined in step S630 that the comparison result is not Ransomware, the process returns to step S610 (steps S640 and S610).
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다. 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, It belongs to the scope of right.
Claims (15)
랜섬웨어 암호화 알고리즘에 대응하는 OP 코드를 주파수 도메인으로 변환한 값인 제2 OP 코드 주파수 파형을 저장하고 있는 메모리, 그리고
상기 제1 OP 코드 주파수 파형과 상기 제2 OP 코드 주파수 파형을 비교하여, 랜섬웨어가 동작하고 있는지 여부를 판단하는 랜섬웨어 판단부를 포함하는 랜섬웨어 감지 장치. A frequency converter for receiving an OP code currently being executed by the CPU and generating a first OP code frequency waveform by converting the value of the OP code into a frequency domain,
A memory storing a second OP code frequency waveform, which is a value obtained by converting an OP code corresponding to a randomware encryption algorithm into a frequency domain, and
And an Raman-ware detecting unit for comparing the first OP-code frequency waveform and the second OP-code frequency waveform to determine whether the RAN cellware is operating.
상기 CPU로부터 상기 연산 부호에 대응하는 프로세서 트레이서 패킷를 수신하며, 상기 프로세서 트레이서 패킷을 상기 연산 부호로 디코딩한 후 상기 주파수 변환부로 출력하는 OP 코드 디코딩부를 더 포함하는 랜섬웨어 감지 장치. The method according to claim 1,
And an OP code decoding unit for receiving a processor tracer packet corresponding to the operation code from the CPU, decoding the processor trace packet with the operation code, and outputting the decoded result to the frequency conversion unit.
상기 랜섬웨어 판단부는 상기 제1 OP 코드 주파수 파형과 상기 제2 OP 코드 주파수 파형간에 유사도를 계산하고 상기 유사도가 소정의 기준치를 초과하는 경우 랜섬웨어가 동작하고 있는 것으로 판단하는 랜섬웨어 감지 장치. The method according to claim 1,
Wherein the Raman software determining unit calculates a degree of similarity between the first OP code frequency waveform and the second OP code frequency waveform and determines that the Raman software is operating when the degree of similarity exceeds a predetermined reference value.
상기 랜섬웨어 판단부는 상기 제1 OP 코드 주파수 파형과 상기 제2 OP 코드 주파수 파형간에, 메인 주파수를 서로 비교하고 상관 계수를 계산하여, 상기 유사도를 계산하는 랜섬웨어 감지 장치. The method of claim 3,
Wherein the random software determination unit compares the main frequency with the first OP code frequency waveform and the second OP code frequency waveform to calculate a correlation coefficient and calculates the similarity.
상기 랜섬웨어 판단부는 랜섬웨어가 동작하고 있는 것으로 판단한 경우, 상기 CPU에서 실행중인 코드를 복구용 저장장치에 저장하는 랜섬웨어 감지 장치. The method according to claim 1,
Wherein the random software determination unit stores code that is being executed by the CPU in a recovery storage device when it is determined that the random software is operating.
상기 랜섬웨어 판단부는 랜섬웨어가 동작하고 있는 것으로 판단하는 경우, 상기 CPU로 해당 프로세스를 중단할 것을 요청하는 랜섬웨어 감지 장치. The method according to claim 1,
Wherein the random software determination unit requests the CPU to interrupt the process when determining that the random software is operating.
상기 주파수 변환부는 상기 OP 코드 값을 FFT(Fast Fourier Transform)하여 상기 제1 OP 코드 주파수 파형을 생성하는 랜섬웨어 감지 장치. The method according to claim 1,
Wherein the frequency converting unit performs an FFT (Fast Fourier Transform) of the OP code value to generate the first OP code frequency waveform.
상기 OP 코드의 값은 십진수인 랜섬웨어 감지 장치. The method according to claim 1,
Wherein the value of the OP code is a decimal number.
상기 CPU로부터 현재 실행 중인 PT(Processor Tracer) 패킷을 수신하는 단계,
상기 PT 패킷을 OP 코드(Operation Code)로 디코딩하는 단계,
상기 OP 코드의 값을 주파수 도메인으로 변환하여 제1 OP 코드 주파수 파형을 생성하는 단계,
랜섬웨어 암호화 알고리즘에 대응하는 OP 코드를 주파수 도메인으로 변환한 값인 제2 OP 코드 주파수 파형을 저장하는 단계, 그리고
상기 제1 OP 코드 주파수 파형과 상기 제2 OP 코드 주파수 파형을 비교하여, 랜섬웨어가 동작하고 있는지 여부를 판단하는 단계를 포함하는 방법. CLAIMS What is claimed is: 1. A method for operating a randomware detection device for detecting whether a random software is operating in a computer system comprising a CPU,
Receiving a currently executed Processor Tracer (PT) packet from the CPU,
Decoding the PT packet into an OP code,
Converting a value of the OP code into a frequency domain to generate a first OP code frequency waveform,
Storing a second OP code frequency waveform, which is a value obtained by converting an OP code corresponding to a random software encryption algorithm into a frequency domain, and
Comparing the first OP code frequency waveform with the second OP code frequency waveform to determine whether the Raman software is operating.
상기 판단하는 단계는,
상기 제1 OP 코드 주파수 파형과 상기 제2 OP 코드 주파수 파형 간에 유사도를 계산하는 단계, 그리고
상기 유사도를 통해, 랜섬웨어가 동작하고 있는지 여부를 판단하는 단계를 포함하는 방법. 10. The method of claim 9,
Wherein the determining step comprises:
Calculating a degree of similarity between the first OP code frequency waveform and the second OP code frequency waveform, and
Through the similarity degree, judging whether or not the random software is operating.
상기 판단하는 단계에서 랜섬웨어가 동작하고 있는 것으로 판단된 경우, 상기 CPU에서 실행 중인 코드를 저장하는 단계를 더 포함하는 방법. 10. The method of claim 9,
Further comprising the step of storing the code being executed by the CPU when it is determined that the random software is operating in the determining step.
상기 판단하는 단계에서 랜섬웨어가 동작하고 있는 것으로 판단된 경우, 상기 CPU로 해당 프로세스를 중단할 것을 요청하는 단계를 더 포함하는 방법. 10. The method of claim 9,
Further comprising the step of requesting the CPU to interrupt the process if it is determined that the RANemware is operating in the determining step.
상기 제1 OP 코드 주파수 파형을 생성하는 단계는, 상기 OP 코드 값을 신호로서 간주하여 주파수 도메인으로 변환하는 단계를 포함하는 방법. 10. The method of claim 9,
Wherein the step of generating the first OP code frequency waveform comprises converting the OP code value into a frequency domain by considering it as a signal.
CPU에서 현재 동작 중인 OP 코드(Operation Code)를 입력 받는 단계,
상기 OP 코드의 값을 주파수 도메인으로 변환하는 단계, 그리고
상기 주파수 도메인에 대응되는 제1 값을 분석하여, 랜섬웨어가 동작하고 있는지 여부를 판단하는 단계를 포함하는 방법.CLAIMS What is claimed is: 1. A method of operating a device for detecting whether a firmware is running on a CPU,
Receiving an OP code currently being operated by the CPU,
Converting the value of the OP code into a frequency domain, and
And analyzing a first value corresponding to the frequency domain to determine whether the random software is operating.
상기 판단하는 단계는, 랜섬웨어 암호화 알고리즘에 대응하는 OP 코드를 주파수 도메인으로 변환한 값인 제2 값과 상기 제1 값을 비교하여, 렌섬웨어가 동작하고 있는지 여부를 판단하는 단계를 포함하는 방법. 15. The method of claim 14,
Wherein the determining includes comparing the first value with a second value obtained by converting an OP code corresponding to the Ransomware encryption algorithm into a frequency domain and determining whether the Ransomware is operating.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/963,906 US20190012459A1 (en) | 2017-07-10 | 2018-04-26 | Ransomware detection apparatus and operating method thereof |
EP18169793.9A EP3428826B1 (en) | 2017-07-10 | 2018-04-27 | Ransomware detection apparatus and operating method thereof |
CN201810397736.5A CN109241732B (en) | 2017-07-10 | 2018-04-28 | Lasso software detection device and operation method thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20170087327 | 2017-07-10 | ||
KR1020170087327 | 2017-07-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190006429A true KR20190006429A (en) | 2019-01-18 |
KR102145289B1 KR102145289B1 (en) | 2020-08-28 |
Family
ID=65323619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180047591A KR102145289B1 (en) | 2017-07-10 | 2018-04-24 | Ransomware dectection appartus and operating method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102145289B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11838414B2 (en) | 2020-08-20 | 2023-12-05 | Electronics And Telecommunications Research Institute | Apparatus and method for recovering encryption key based on memory analysis |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120079596A1 (en) * | 2010-08-26 | 2012-03-29 | Verisign, Inc. | Method and system for automatic detection and analysis of malware |
WO2016115280A1 (en) * | 2015-01-14 | 2016-07-21 | Virta Laboratories, Inc. | Anomaly and malware detection using side channel analysis |
JP5996145B1 (en) * | 2016-07-14 | 2016-09-21 | 三井物産セキュアディレクション株式会社 | Program, information processing apparatus, and information processing method |
US20170147815A1 (en) * | 2015-11-25 | 2017-05-25 | Lockheed Martin Corporation | Method for detecting a threat and threat detecting apparatus |
-
2018
- 2018-04-24 KR KR1020180047591A patent/KR102145289B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120079596A1 (en) * | 2010-08-26 | 2012-03-29 | Verisign, Inc. | Method and system for automatic detection and analysis of malware |
WO2016115280A1 (en) * | 2015-01-14 | 2016-07-21 | Virta Laboratories, Inc. | Anomaly and malware detection using side channel analysis |
US20170147815A1 (en) * | 2015-11-25 | 2017-05-25 | Lockheed Martin Corporation | Method for detecting a threat and threat detecting apparatus |
JP5996145B1 (en) * | 2016-07-14 | 2016-09-21 | 三井物産セキュアディレクション株式会社 | Program, information processing apparatus, and information processing method |
Non-Patent Citations (1)
Title |
---|
Markus Metzger, "Intel Processor Trace - What it is and how to decode it"(2015.03.)* * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11838414B2 (en) | 2020-08-20 | 2023-12-05 | Electronics And Telecommunications Research Institute | Apparatus and method for recovering encryption key based on memory analysis |
Also Published As
Publication number | Publication date |
---|---|
KR102145289B1 (en) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109241732B (en) | Lasso software detection device and operation method thereof | |
WO2017190620A1 (en) | Virus detection method, terminal and server | |
US10127309B2 (en) | Audio information retrieval method and device | |
US20180013779A1 (en) | Methods and apparatuses for integrity validation of remote devices using side-channel information in a power signature analysis | |
US9501653B2 (en) | Method and apparatus of verifying usability of biological characteristic image | |
JP2017076839A (en) | Encryption processing method, encryption processing apparatus, and encryption processing program | |
WO2014089744A1 (en) | Method and apparatus for detecting malicious code | |
US10733594B1 (en) | Data security measures for mobile devices | |
US20140150101A1 (en) | Method for recognizing malicious file | |
CN109117622B (en) | Identity authentication method based on audio fingerprints | |
WO2020233047A1 (en) | Page test method and apparatus | |
WO2018060461A1 (en) | Detecting malicious scripts | |
CN108898014B (en) | Virus checking and killing method, server and electronic equipment | |
CN109818906B (en) | Equipment fingerprint information processing method and device and server | |
CN112883206A (en) | Long-sequence biological Hash ciphertext voice retrieval method based on feature fusion | |
KR20190006429A (en) | Ransomware dectection appartus and operating method thereof | |
WO2018121464A1 (en) | Method and device for detecting virus, and storage medium | |
Zhang et al. | An encrypted speech authentication and tampering recovery method based on perceptual hashing | |
KR20160114252A (en) | Method for processing side channel analysis | |
Gu et al. | A new static detection method of malicious document based on wavelet package analysis | |
US11308208B2 (en) | Classifying ransom notes in received files for ransomware process detection and prevention | |
Bridges et al. | Towards malware detection via CPU power consumption: Data collection design and analytics (extended version) | |
WO2018142620A1 (en) | Packet format deduction device and packet format deduction program | |
JP2019032688A (en) | Source code analysis device, source code analysis method, and source code analysis program | |
US9336072B2 (en) | Event group extensions, systems, and methods |
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 |