KR102153035B1 - Method and apparatus for detecting malicious mining - Google Patents

Method and apparatus for detecting malicious mining Download PDF

Info

Publication number
KR102153035B1
KR102153035B1 KR1020180056510A KR20180056510A KR102153035B1 KR 102153035 B1 KR102153035 B1 KR 102153035B1 KR 1020180056510 A KR1020180056510 A KR 1020180056510A KR 20180056510 A KR20180056510 A KR 20180056510A KR 102153035 B1 KR102153035 B1 KR 102153035B1
Authority
KR
South Korea
Prior art keywords
mining
cpu
api module
malicious
data
Prior art date
Application number
KR1020180056510A
Other languages
Korean (ko)
Other versions
KR20190131745A (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 KR1020180056510A priority Critical patent/KR102153035B1/en
Publication of KR20190131745A publication Critical patent/KR20190131745A/en
Application granted granted Critical
Publication of KR102153035B1 publication Critical patent/KR102153035B1/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/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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명에서 제공하는 악성 마이닝 동작 탐지 방법은, 채굴 풀 서버에 접속된 사용자 단말의 API 모듈에서 마이닝 데이터를 입력받아 실행되는 마이닝 프로그램 동작 과정을 모니터링 하는 제1 탐지 단계; 상기 제1 탐지 단계에서 상기 API 모듈에 입력된 마이닝 데이터 형식이 기 설정된 API 모듈의 마이닝 데이터 형식과 일치하는지 여부를 검사하는 제2 탐지 단계; 및 상기 제2 탐지 단계에서 API 모듈에 입력된 마이닝 데이터 형식이 상기 기 설정된 API 모듈의 마이닝 데이터 형식과 일치하면 사용자 단말 내에서 악성 마이닝 프로그램이 동작하는 것으로 판단하는 단계;를 포함하는 점에 그 특징이 있다.
본 발명에 의하면, 사용자의 단말에서 사용자의 동의 없이 백그라운드에서 마이닝을 수행하는 크립토재킹(Cryptojacking)을 탐지하여 악성 코드의 확산을 방지할 수 있는 효과가 있다.
The method for detecting malicious mining motions provided by the present invention includes: a first detection step of monitoring an operation process of a mining program executed by receiving mining data from an API module of a user terminal connected to a mining pool server; A second detection step of checking whether a mining data format input to the API module in the first detection step matches a mining data format of a preset API module; And determining that the malicious mining program is running in the user terminal if the mining data format input to the API module in the second detection step matches the mining data format of the preset API module. There is this.
According to the present invention, there is an effect of preventing the spread of malicious code by detecting cryptojacking that performs mining in the background without the user's consent in the user's terminal.

Description

악성 마이닝 동작 탐지 방법 및 그 시스템{METHOD AND APPARATUS FOR DETECTING MALICIOUS MINING}Malicious mining motion detection method and its system {METHOD AND APPARATUS FOR DETECTING MALICIOUS MINING}

본 발명은 악성 마이닝 동작 탐지 방법 및 그 시스템에 관한 것으로, 특히 사용자의 단말에서 사용자의 동의 없이 백그라운드에서 마이닝을 수행하는 크립토재킹(Cryptojacking)을 탐지하여 악성 코드의 확산을 방지할 수 있는 악성 마이닝 동작 탐지 방법 및 그 시스템에 관한 것이다.The present invention relates to a malicious mining operation detection method and system thereof, and in particular, a malicious mining operation capable of preventing the spread of malicious codes by detecting Cryptojacking that performs mining in the background without the user's consent at a user's terminal. It relates to a detection method and a system thereof.

최근에 디지털화폐 또는 가상화폐란 디지털적으로 구현한 화폐로서, 암호화 기술에 기반하고 있는 크립토커런시(cryptocurrency)는 이러한 디지털화폐의 일종으로서 근래에 널리 알려져 있다. 이러한 디지털화폐는 사용자가 소수라는 점과 국가에 의한 지원이 미비함에도 불구하고 다양한 거래상의 장점들 때문에 사용이 증대되고 있는 추세이다. Recently, digital currency or virtual currency is a digitally implemented currency, and cryptocurrency based on encryption technology is widely known in recent years as a kind of such digital currency. Despite the fact that there are a few users and insufficient support by the state, the use of such digital currency is increasing due to the advantages of various transactions.

이러한, 디지털화폐의 채굴은 암호 해독 알고리즘을 구동할 수 있는 컴퓨팅 장비를 가진 자라면 누구나 수행할 수 있지만, 암호 해독 과정이 쉽지 않기 때문에 비교적 고 사양의 컴퓨팅 장비가 필요하고, 사용자의 동의 없이 악성 채굴을 수행하는 악성 코드에 대한 대비가 어렵다.Such digital currency mining can be performed by anyone with computing equipment capable of running a cryptocurrency algorithm, but since the cryptocurrency process is not easy, relatively high-spec computing equipment is required, and malicious mining without user consent. It is difficult to prepare for malicious code that performs it.

일반적으로, 안티-바이러스 및 운영체제에서는 파일 또는 어플리케이션의 백신 프로그램들은 이미 알려진 악성 행위 어플리케이션의 악성 코드 시그니처들의 목록을 데이터 베이스화하여, 해당 데이터 베이스 내에 있는 악성 코드에 감염되었을 경우에만, 치료 및 대응이 가능하였다. 따라서, 이미 알려지지 않은 새로운 악성 코드 및 악성 어플리케이션을 탐지할 수 없어, 악성코드 조기 탐지가 어렵고, 악성 코드에 대한 대응이 어려웠다. In general, in anti-virus and operating systems, anti-virus programs of files or applications make a database of the list of malicious code signatures of known malicious behavior applications, and treatment and response are possible only when they are infected with malicious codes in the database. I did. Therefore, it is difficult to detect new malicious codes and malicious applications that are not already known, making it difficult to detect malicious codes early and to respond to malicious codes.

한국공개특허공보 10-2015-0116477Korean Patent Publication 10-2015-0116477

본 발명은 사용자의 단말에서 사용자의 동의 없이 백그라운드에서 마이닝을 수행하는 크립토재킹(Cryptojacking)을 탐지하여 악성 코드의 확산을 방지할 수 있는 악성 마이닝 동작 탐지 방법 및 그 시스템을 제공하고자 한다.An object of the present invention is to provide a method and a system for detecting a malicious mining operation capable of preventing the spread of malicious code by detecting Cryptojacking, which performs mining in the background without the user's consent in a user's terminal.

본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problem to be solved by the present invention is not limited to the problem(s) mentioned above, and another problem(s) not mentioned will be clearly understood by those skilled in the art from the following description.

상기 과제를 해결하기 위하여, 본 발명에서 제공하는 악성 마이닝 동작 탐지 방법은, 채굴 풀 서버에 접속된 사용자 단말의 API 모듈에서 마이닝 데이터를 입력받아 실행되는 마이닝 프로그램 동작 과정을 모니터링 하는 제1 탐지 단계; 상기 제1 탐지 단계에서 상기 API 모듈에 입력된 마이닝 데이터 형식이 기 설정된 API 모듈의 마이닝 데이터 형식과 일치하는지 여부를 검사하는 제2 탐지 단계;및 상기 제2 탐지 단계에서 API 모듈에 입력된 마이닝 데이터 형식이 상기 기 설정된 API 모듈의 마이닝 데이터 형식과 일치하면 사용자 단말 내에서 악성 마이닝 프로그램이 동작하는 것으로 판단하는 단계;를 포함하는 점에 그 특징이 있다.In order to solve the above problems, the method for detecting malicious mining motions provided by the present invention includes: a first detection step of monitoring an operation process of a mining program executed by receiving mining data from an API module of a user terminal connected to a mining pool server; A second detection step of checking whether a mining data format input to the API module in the first detection step matches a mining data format of a preset API module; And mining data input to the API module in the second detection step It is characterized in that it includes; determining that the malicious mining program is running in the user terminal if the format matches the mining data format of the preset API module.

바람직하게는, 상기 마이닝 프로그램의 동작 과정은,상기 채굴 풀 서버에 접속하여 API 모듈의 마이닝 데이터를 전송받는 단계;상기 전송받은 API 모듈의 마이닝 데이터를 가공하는 단계;상기 마이닝 프로그램에서 지정한 T헤드의 개수로 쓰레드를 생성하는 단계;상기 생성된 쓰레드에 상기 가공된 마이닝 데이터를 저장하는 단계; 및 상기 마이닝 데이터 저장 후, 해쉬 함수에 의하여 해쉬 값을 계산하는 단계를 포함하는 점에 그 특징이 있다.Preferably, the operation of the mining program comprises: accessing the mining pool server to receive mining data of an API module; processing mining data of the received API module; of the T head designated by the mining program Creating a number of threads; Storing the processed mining data in the generated threads; And calculating a hash value by a hash function after storing the mining data.

바람직하게는, 상기 API 모듈은 상기 각 단계에 사용되는 복수 개의 API를 포함하는 점에 그 특징이 있다.Preferably, the API module is characterized in that it includes a plurality of APIs used in each step.

바람직하게는, 상기 복수 개의 AIP에 사용되는 각 마이닝 데이터는 형식이 일정한 데이터인 점에 그 특징이 있다.Preferably, each mining data used in the plurality of AIPs is characterized in that the format is data.

바람직하게는, 상기 제1 탐지 단계에서,상기 사용자 단말의 CPU의 전체 사용률 및 CPU의 각 프로세서에 대한 점유 사용률을 분석하여 마이닝 동작을 탐지하는 점에 그 특징이 있다.Preferably, the first detection step is characterized in that the mining operation is detected by analyzing the overall usage rate of the CPU of the user terminal and the occupied usage rate of each processor of the CPU.

바람직하게는, 상기 CPU 전체 사용률이 급상승하고 하나의 프로세서에서 일정한 점유 사용률이 유지되면 악성 마이닝 동작이 수행되는 것으로 판단하는 점에 그 특징이 있다.Advantageously, it is characterized in that it is determined that a malicious mining operation is performed when the overall CPU utilization rate rapidly increases and a certain occupied utilization rate is maintained in one processor.

바람직하게는, 상기 하나의 프로세서에서 사용하는 점유 사용률이 1/(CPU의 전체 쓰레드 개수) * 100의 배수가 되면 악성 마이닝 동작이 수행되는 것으로 판단하는 점에 그 특징이 있다.Preferably, it is characterized in that it is determined that a malicious mining operation is performed when the occupied utilization rate used by one processor is a multiple of 1/(the total number of threads in the CPU) * 100.

또한, 상기 과제를 해결하기 위하여, 본 발명에서 제공하는 악성 마이닝 동작 탐지 시스템은, 채굴 풀 서버에 접속된 사용자 단말의 API 모듈에서 마이닝 데이터를 전송받아 마이닝 프로그램을 실행하는 CPU; 상기 CPU에서 실행하는 마이닝 프로그램의 동작을 모니터링 하는 모니터링부; 및 상기 API모듈에 전송된 마이닝 데이터 형식이 기 설정된 마이닝 데이터 형식과 일치하는지 여부를 검사하는 데이터 검사부;를 포함하는 점에 그 특징이 있다.In addition, in order to solve the above problems, the malicious mining operation detection system provided by the present invention includes: a CPU that receives mining data from an API module of a user terminal connected to a mining pool server and executes a mining program; A monitoring unit for monitoring an operation of a mining program executed by the CPU; And a data inspection unit that checks whether the mining data format transmitted to the API module matches a preset mining data format.

바람직하게는, 상기 모니터링부는 상기 CPU 에서 실행하는 마이닝 프로그램의 동작에서 상기 채굴 풀 서버에 접속하여 API 모듈의 마이닝 데이터를 전송받아 API 모듈의 마이닝 데이터를 가공하고, 상기 마이닝 프로그램에서 지정한 T헤드의 개수로 쓰레드를 생성한 후, 생성된 쓰레드에 상기 가공된 마이닝 데이터를 저장하고,해쉬 함수에 의하여 해쉬 값을 계산하는 과정을 탐지하는 점에 그 특징이 있다.Preferably, the monitoring unit connects to the mining pool server in the operation of the mining program executed by the CPU, receives the mining data of the API module, processes the mining data of the API module, and the number of T heads designated by the mining program It has a characteristic in that it detects the process of storing the processed mining data in the generated thread after creating a thread with and calculating a hash value by a hash function.

바람직하게는, 상기 모니터링부는 상기 사용자 단말의 CPU의 전체 사용률 및 CPU의 각 프로세서에 대한 점유 사용률을 분석하여 마이닝 동작을 탐지하는 점에 그 특징이 있다.Preferably, the monitoring unit is characterized in that it detects a mining operation by analyzing the total usage rate of the CPU of the user terminal and the occupied usage rate of each processor of the CPU.

바람직하게는, 상기 CPU 전체 사용률이 급상승하고 하나의 프로세서에서 일정한 점유 사용률이 유지되면 악성 마이닝 동작이 수행되는 것으로 판단하는 점에 그 특징이 있다.Advantageously, it is characterized in that it is determined that a malicious mining operation is performed when the overall CPU utilization rate rapidly increases and a certain occupied utilization rate is maintained in one processor.

바람직하게는, 상기 하나의 프로세서에서 사용하는 점유 사용률이 1/(CPU의 전체 쓰레드 개수) * 100의 배수가 되면 악성 마이닝 동작이 수행되는 것으로 판단하는 점에 그 특징이 있다.Preferably, it is characterized in that it is determined that a malicious mining operation is performed when the occupied utilization rate used by one processor is a multiple of 1/(the total number of threads in the CPU) * 100.

본 발명에 의하면, 사용자의 단말에서 사용자의 동의 없이 백그라운드에서 마이닝을 수행하는 크립토재킹(Cryptojacking)을 탐지하여 악성 코드의 확산을 방지할 수 있는 효과가 있다.According to the present invention, there is an effect of preventing the spread of malicious code by detecting cryptojacking that performs mining in the background without the user's consent in the user's terminal.

도 1은 본 발명의 디지털화폐의 마이닝 시스템의 전체적인 구성을 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 악성 마이닝 동작 탐지 시스템의 구성을 개략적으로 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 악성 마이닝 동작 탐지 방법에 대한 순서도이다.
도 4는 본 발명의 마이닝 프로그램의 동작 과정에 대한 순서도이다.
1 is a diagram schematically showing the overall configuration of a digital currency mining system of the present invention.
2 is a diagram schematically showing the configuration of a malicious mining motion detection system according to an embodiment of the present invention.
3 is a flowchart illustrating a method of detecting a malicious mining operation according to an embodiment of the present invention.
4 is a flowchart illustrating an operation process of the mining program of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.In the present invention, various modifications may be made and various embodiments may be provided, and specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to a specific embodiment, it is to be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention. In describing each drawing, similar reference numerals have been used for similar elements.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B may be used to describe various elements, but the elements should not be limited by the terms. These terms are used only for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element. The term and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are used only to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof does not preclude in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in this application. Does not.

이하, 본 발명에 따른 바람직한 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 디지털화폐의 마이닝 시스템의 전체적인 구성을 개략적으로 도시한 도면이고, 도 2는 본 발명의 일 실시 예에 따른 악성 마이닝 동작 탐지 시스템의 구성을 개략적으로 도시한 도면이다. 1 is a diagram schematically showing the overall configuration of a digital currency mining system according to the present invention, and FIG. 2 is a diagram schematically showing a configuration of a malicious mining operation detection system according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 디지털 화폐의 마이닝 시스템은, 채굴 풀 서버(100), 사용자 단말(200) 및 디지털 지갑(300)을 포함하여 구성될 수 있다. As shown in FIG. 1, a digital currency mining system may include a mining pool server 100, a user terminal 200, and a digital wallet 300.

상기 채굴 풀 서버(100)에 사용자 단말(200)이 통신망을 통해 접속하여 회원으로 가입하고 개인 디지털 지갑(미도시)을 생성할 수 있다. 그런 다음, 채굴 풀 서버(100)에서 제공하는 채굴 모듈을 다운로드 받아 설치하고 채굴 풀 서버(100)에서 제공하는 채굴 작업을 수행하여 그 결과를 채굴 풀 서버(100)로 전송할 수 있다. 채굴 풀 서버(100)는 채굴 작업을 작게 분할하여 회원들에게 분배하고, 회원들로부터 수신한 채굴 작업 결과를 취합하여 디지털 지갑(300)으로 새로운 디지털 화폐가 발급되도록 할 수 있다. 이후 채굴 풀 서버(100)는 회원들의 기여도에 따라 서버 디지털 지갑(300)으로부터 개인 디지털 지갑으로 디지털 화폐를 분배할 수 있다.The user terminal 200 may access the mining pool server 100 through a communication network to sign up as a member and create a personal digital wallet (not shown). Then, the mining module provided by the mining pool server 100 may be downloaded and installed, and the mining operation provided by the mining pool server 100 may be performed, and the result may be transmitted to the mining pool server 100. The mining pool server 100 may divide the mining operation into small portions and distribute it to members, and collect the mining operation results received from the members so that a new digital currency is issued to the digital wallet 300. Thereafter, the mining pool server 100 may distribute digital currency from the server digital wallet 300 to the personal digital wallet according to the contribution of the members.

이러한 디지털 화폐는 디지털 지갑(digital wallet(300)을 통해 관리되며, 일반적으로는 소프트웨어적으로 구현되어 컴퓨터의 저장 장치에 보관된다. 디지털 지갑(24)은 정해진 암호화 알고리즘에 따라 생성된 공개키(public key)로 구성된 주소로 구분되며, 이는 은행 이체 거래에 쓰이는 계좌 번호와 같이 디지털 화폐를 전송할 대상을 특정하는 데 사용된다. 즉, 디지털 화폐는 어떤 한 개인의 디지털 지갑으로부터 다른 한 개인의 디지털 지갑으로 이동할 수 있다. 이하에서 '디지털 화폐'는 암호화를 기반으로 하는 디지털 화폐를 의미한다.Such digital currency is managed through a digital wallet 300, and is generally implemented in software and stored in a storage device of a computer. The digital wallet 24 is a public key generated according to a predetermined encryption algorithm. key), which is used to specify the destination to which digital currency is to be transferred, such as an account number used in bank transfer transactions, ie, digital currency is from one person's digital wallet to another person's digital wallet. Hereinafter, “digital currency” means a digital currency based on encryption.

이와 같은, 디지털 화폐는 사용하는 암호화 알고리즘에 따라 비트코인, 라이트코인, 네임코인, 피어코인 등 다양한 종류가 존재하며, 특정 개인이나 회사가 발행하는 것이 아니라, 누구나 컴퓨터 장비를 활용해서 고도의 수학적 암호를 푸는 방식으로 획득할 수 있다는 공통점이 있다. 즉, 특정한 수학적인 암호화 알고리즘을 가진 디지털 화폐를 발급 등을 관리하는 특정 디지털 화폐 시스템은, 특정 개인이나 회사가 운영하는 시스템이 아니며, 해당 디지털 화폐를 소유하는 모든 개인들의 컴퓨터들이 통신망을 통해 연결되어 있는 P2P(peer-to-peer)방식의 네트워크이다. 다시 말해서, 디지털 화폐는 P2P 방식의 네트워크인 디지털 화폐 시스템을 통해 관리되며, 개인 컴퓨터상에서 수행되는 채굴모듈에 채굴 작업을 제공할 수 있다. 채굴 작업은, 디지털 화폐 시스템이 제시한 조건에 맞는 해시값(hash)을 생성하는 수학적 연산 작업이다. 채굴모듈이 채굴 작업을 수행하고, 그 결과 찾아낸 해시를 채굴 작업 결과로서 디지털 화폐 시스템으로 전송하면, 디지털 화폐 시스템은 새로운 디지털 화폐를 해당 채굴 작업을 수행한 채굴모듈과 연관되어 있는 디지털 지갑으로 발급할 수 있다.As such, there are various types of digital currency such as Bitcoin, Litecoin, Namecoin, and Peercoin depending on the encryption algorithm used.It is not issued by a specific individual or company, but anyone using computer equipment is a highly mathematical cryptocurrency. There is a common point that it can be obtained by solving. In other words, a specific digital currency system that manages the issuance of digital currency with a specific mathematical encryption algorithm is not a system operated by a specific individual or company, and the computers of all individuals who own the digital currency are connected through a communication network. It is a peer-to-peer (P2P) network. In other words, digital currency is managed through a digital currency system, which is a P2P network, and mining operations can be provided to mining modules performed on a personal computer. The mining operation is a mathematical operation that generates a hash value that meets the conditions suggested by the digital currency system. When the mining module performs the mining operation and transmits the hash found as a result of the mining operation to the digital currency system, the digital currency system issues a new digital currency to the digital wallet associated with the mining module that performed the mining operation. I can.

도 2에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 악성 마이닝 동작 탐지 시스템은, 사용자 단말(200)에 구성되는 것으로, API 모듈(210), CPU(220), 모니터링부(230), 데이터 검사부(240) 및 알림부(250)를 포함하여 구성된다. As shown in Figure 2, the malicious mining operation detection system according to an embodiment of the present invention, as configured in the user terminal 200, API module 210, CPU 220, monitoring unit 230, It is configured to include a data inspection unit 240 and a notification unit 250.

상기 API 모듈(210)은 상기 채굴 풀 서버(100)에 접속하여 마이닝을 위한 API 및 마이닝 데이터를 전송받게 된다. 여기서, 상기 API 모듈(210)은 마이닝 동작의 각 과정에 사용되는 복수 개의 API(Application Programming Interface)를 전송받게 되고, 상기 복수 개의 AIP에 사용되는 각 마이닝 데이터는 형식이 일정한 데이터가 전송된다.The API module 210 accesses the mining pool server 100 to receive an API for mining and mining data. Here, the API module 210 receives a plurality of application programming interfaces (APIs) used in each process of a mining operation, and data having a predetermined format is transmitted for each mining data used in the plurality of AIPs.

다시 말해, 상기 API 모듈(210)은 전송받은 복수 개의 API 목록 및 API 호출 순서를 패턴화하여 저장할 수 있다.In other words, the API module 210 may pattern and store a list of a plurality of received APIs and an order of API calls.

상기 CPU(220)는 상기 API 모듈(210)에서 전송받은 마이닝 데이터에 대해 마이닝 프로그램을 실행하게 된다. The CPU 220 executes a mining program on the mining data transmitted from the API module 210.

보다 구체적으로, 상기 CPU(220)은 마이닝 프로그램을 실행하여 마이닝 동작을 수행하게 되며, 이러한 마이닝 동작의 과정은 상기 채굴 풀 서버에 접속하여 API 모듈의 마이닝 데이터를 전송받아 API 모듈의 마이닝 데이터를 가공하고, 상기 마이닝 프로그램에서 지정한 T헤드의 개수로 쓰레드를 생성한 후, 생성된 쓰레드에 상기 가공된 마이닝 데이터를 저장하고, 해쉬 함수에 의하여 해쉬 값을 계산하는 과정을 진행하게 된다.More specifically, the CPU 220 executes a mining program to perform a mining operation, and the process of this mining operation accesses the mining pool server to receive mining data from the API module and processes the mining data of the API module. Then, after creating threads with the number of T heads designated by the mining program, the processed mining data is stored in the created threads, and a hash value is calculated by a hash function.

상기 모니터링부(230)는 상기 CPU(220)에서 실행하는 마이닝 프로그램의 마이닝 동작 과정의 각 과정을 모니터링 하게 된다.The monitoring unit 230 monitors each process of the mining operation process of the mining program executed by the CPU 220.

보다 구체적으로, 상기 모니터링부(230)는 상기 사용자 단말에서 CPU(220)의 전체 사용률 및 CPU(220)의 각 프로세서에 대한 점유 사용률을 분석하여 마이닝 동작을 탐지하게 된다. 상기 CPU(220)의 전체 사용률이 급상승하고 하나의 프로세서에서 일정한 점유 사용률이 유지되면 악성 마이닝 동작으로 판단할 수 있다. 예를 들어, 4개의 CPU를 구동하는 프로세서에서 각 사용률이 각각 50 % 로 급상승하여 유지되거나 하나의 프로세서에서 독점적으로 일정한 사용률이 유지될 경우이다. 다시 말해, 상기 CPU의 하나의 프로세서에서 사용하는 점유 사용률이 1/(CPU의 전체 쓰레드 개수) * 100의 배수가 되면 악성 마이닝 동작이 수행되는 것으로 판단하게 된다. 즉, 4개의 CPU를 구동하는 프로세서에서 4개 중 하나를 독점해서 사용한다면 사용률은 1/(4) * 100 = 25%의 사용률의 배수가 되는 50% 로 탐지되면 이를 마이닝 동작으로 판단할 수 있다.More specifically, the monitoring unit 230 detects a mining operation by analyzing the overall usage rate of the CPU 220 and the occupied usage rate of each processor of the CPU 220 in the user terminal. If the overall utilization rate of the CPU 220 rapidly increases and a certain occupied utilization rate is maintained in one processor, it may be determined as a malicious mining operation. For example, in a processor driving four CPUs, each usage rate rises to 50% each, or the usage rate is maintained exclusively in one processor. In other words, when the occupied utilization rate used by one processor of the CPU is a multiple of 1/(the total number of threads in the CPU) * 100, it is determined that a malicious mining operation is performed. That is, if a processor driving four CPUs uses one of the four exclusively, the utilization rate is 1/(4) * 100 = 50%, which is a multiple of the 25% utilization rate, can be determined as a mining operation. .

상기 데이터 검사부(240)는 상기 API 모듈(210)에 전송된 마이닝 데이터 형식이 기 설정된 마이닝 데이터 형식과 일치하는지 여부를 검사하게 된다.The data inspection unit 240 checks whether the mining data format transmitted to the API module 210 matches a preset mining data format.

보다 구체적으로, 상기 데이터 검사부(240)는 상기 CPU에서 마이닝 동작 과정을 수행할 경우, 각 과정에 사용되는 API에는 일정 형식의 데이터를 입력받아 수행하게 된다. 이때, 일정 형식을 갖는 마이닝 데이터에 대한 값을 저장하고, 마이닝 과정이 수행될 경우 각 과정에서의 마이닝 데이터를 확인하여 악성 마이닝 과정을 감지하게 된다. More specifically, when the CPU performs a mining operation process, the data inspection unit 240 receives and performs data in a predetermined format to an API used in each process. At this time, a value for mining data having a certain format is stored, and when a mining process is performed, the mining data in each process is checked to detect a malicious mining process.

상기 알림부(250)는 상기 데이터 검사부(240)에서 악성 마이닝 과정이 수행되는 것으로 감지되면 사용자 단말에 악성 마이닝 수행을 차단하도록 알림을 제공할 수 있다. When the data inspection unit 240 detects that the malicious mining process is being performed, the notification unit 250 may provide a notification to the user terminal to block the malicious mining operation.

또한, 도 3은 본 발명의 일 실시 예에 따른 악성 마이닝 동작 탐지 방법에 대한 순서도이고, 도 4는 본 발명의 마이닝 프로그램의 동작 과정에 대한 순서도이다. In addition, FIG. 3 is a flowchart illustrating a method of detecting a malicious mining operation according to an embodiment of the present invention, and FIG. 4 is a flowchart illustrating an operation process of a mining program according to the present invention.

도 3에 도시된 바와 같이, 본 발명에서 제공하는 악성 마이닝 동작 탐지 방법은, 채굴 풀 서버에 접속된 사용자 단말의 API 모듈에서 마이닝 데이터를 입력받아 실행되는 마이닝 프로그램 동작 과정을 모니터링 하는 제1 탐지 단계를 수행하게 된다(S310). 여기서, 상기 마이닝 프로그램 동작 과정에 대한 상세한 설명은 하기 도 4를 참조하여 설명하기로 한다.As shown in FIG. 3, the method for detecting malicious mining motions provided by the present invention includes a first detection step of monitoring an operation process of a mining program executed by receiving mining data from an API module of a user terminal connected to a mining pool server. Is performed (S310). Here, a detailed description of the operation process of the mining program will be described with reference to FIG. 4 below.

상기 API 모듈(210)은 마이닝 동작의 각 과정에 사용되는 복수 개의 API(Application Programming Interface)를 전송받게 되고, 상기 복수 개의 AIP에 사용되는 각 마이닝 데이터는 형식이 일정한 데이터가 전송된다. 여기서, 상기 API 모듈(210)은 전송받은 복수 개의 API 목록 및 API 호출 순서를 패턴화하여 저장할 수 있다.The API module 210 receives a plurality of application programming interfaces (APIs) used in each process of a mining operation, and data having a predetermined format is transmitted to each of the mining data used in the plurality of AIPs. Here, the API module 210 may pattern and store a list of a plurality of received APIs and an order of API calls.

또한, 상기 모니터링 단계에서 상기 사용자 단말의 CPU의 전체 사용률 및 CPU의 각 프로세서에 대한 점유 사용률을 분석하여 마이닝 동작을 탐지하게 된다. In addition, in the monitoring step, a mining operation is detected by analyzing the overall usage rate of the CPU of the user terminal and the occupied usage rate of each processor of the CPU.

보다 구체적으로, 상기 CPU 전체 사용률이 급상승하고 하나의 프로세서에서 일정한 점유 사용률이 유지되면 악성 마이닝 동작이 수행되는 것으로 판단하게 된다. 다시 말해, 예를 들어, 4개의 CPU를 구동하는 프로세서에서 각 사용률이 각각 50 % 로 급상승하여 유지되거나 하나의 프로세서에서 독점적으로 일정한 사용률이 유지될 경우이다. 다시 말해, 상기 CPU의 하나의 프로세서에서 사용하는 점유 사용률이 1/(CPU의 전체 쓰레드 개수) * 100의 배수가 되면 악성 마이닝 동작이 수행되는 것으로 판단하게 된다. 즉, 4개의 CPU를 구동하는 프로세서에서 4개 중 하나를 독점해서 사용한다면 사용률은 1/(4) * 100 = 25%의 사용률의 배수가 되는 50% 로 탐지되면 이를 마이닝 동작으로 판단할 수 있다.More specifically, it is determined that a malicious mining operation is performed when the overall CPU usage rate rapidly increases and a certain occupied usage rate is maintained in one processor. In other words, for example, in a processor driving four CPUs, each usage rate rises to 50% and is maintained, or a constant usage rate is maintained exclusively in one processor. In other words, when the occupied utilization rate used by one processor of the CPU is a multiple of 1/(the total number of threads in the CPU) * 100, it is determined that a malicious mining operation is performed. That is, if a processor driving four CPUs uses one of the four exclusively, the utilization rate is 1/(4) * 100 = 50%, which is a multiple of the 25% utilization rate, can be determined as a mining operation. .

그리고, 상기 제1 탐지 단계에서 상기 API 모듈에 입력된 마이닝 데이터 형식이 기 설정된 API 모듈의 마이닝 데이터 형식과 일치하는지 여부를 검사하는 제2 탐지 단계가 수행된다(S320). In the first detection step, a second detection step of checking whether a mining data format input to the API module matches a mining data format of a preset API module is performed (S320).

보다 구체적으로, 상기 API 모듈에서 API 목록에 대응하는 마이닝 데이터는 일정한 형식을 갖게 된다. 이때, 각 과정에 사용되는 API에 대응하는 각 형식 데이터를 전송받게 된다. 일 예로, 채굴 풀 서버에 접속하여 데이터를 전송받을 때는 {"id":null, "method": "mining.notify", "params":["...", "..."]}/n 의 데이터 형식으로 전송받게 된다. 그리고, 쓰레드를 생성할 때는 별도의 사용되는 데이터는 없으며 API 호출 패턴이 다음과 같이 EnterCriticalSection, GetCurrentThreadId ... LeaveCriticalSection 등으로 일정하게 적용된다. More specifically, the mining data corresponding to the API list in the API module has a certain format. At this time, each format data corresponding to the API used in each process is transmitted. For example, when connecting to a mining pool server and receiving data, {"id":null, "method": "mining.notify", "params":["...", "..."]}/ It is transmitted in n data format. And, when creating a thread, there is no data used separately, and the API call pattern is uniformly applied as EnterCriticalSection, GetCurrentThreadId ... LeaveCriticalSection, etc. as follows.

그리고, 상기 생성된 쓰레드에 상기 가공된 데이터를 설정할 때는 JSON-RPC 데이터 항목의 값이 적용되고, 해쉬를 계산할 때는 Integer 형식의 데이터가 적용된다And, when setting the processed data to the created thread, the value of the JSON-RPC data item is applied, and when calculating the hash, the data in the Integer format is applied.

이러한, 마이닝 동작 과정에서 사용되는 일정한 형식을 갖는 데이터가 입력되면 이를 기 저장된 데이터 형식과 비교하여 일치 여부를 검사하게 된다.When data having a certain format used in the mining operation process is input, it is compared with a previously stored data format to check whether it matches.

이어, 상기 제2 탐지 단계에서 API 모듈에 입력된 마이닝 데이터 형식이 상기 기 설정된 API 모듈의 마이닝 데이터 형식과 일치하는 여부를 판별하여(S330) 사용자 단말 내에서 악성 마이닝 프로그램이 동작하는 것으로 판단하게 된다(S340).Then, it is determined whether the mining data format input to the API module in the second detection step matches the mining data format of the preset API module (S330), and it is determined that a malicious mining program is running in the user terminal. (S340).

이어, 악성 마이닝 과정이 수행되는 것으로 감지되면 사용자 단말에 악성 마이닝 수행을 차단하도록 알림을 제공하는 단계가 수행된다(S350). Subsequently, when it is detected that the malicious mining process is being performed, a step of providing a notification to the user terminal to block the malicious mining operation is performed (S350).

한편, 도 4에 도시된 바와 같이, 상기 마이닝 프로그램의 동작 과정은, 상기 채굴 풀 서버에 접속하여 API 모듈의 마이닝 데이터를 전송받는 단계가 수행된다(S410). 여기서, 채굴 풀 서버에 접속하여 데이터를 전송받을 때 사용되는 API로 strcpy, wcscpy 및 _mbscpy 등을 포함할 수 있으며, 일 예로, {"id":null, "method": "mining.notify", "params":["...", "..."]}/n 의 일정한 데이터 형식을 전송받게 된다.Meanwhile, as shown in FIG. 4, in the operation of the mining program, a step of accessing the mining pool server and receiving mining data of an API module is performed (S410). Here, as APIs used when accessing the mining pool server to receive data, strcpy, wcscpy, and _mbscpy may be included. For example, {"id":null, "method": "mining.notify", " params":["...", "..."]}/n constant data format is transmitted.

이어서, 상기 전송받은 API 모듈의 마이닝 데이터를 가공하는 단계가 수행된다(S420). 상기 전송받은 데이터를 가공할 때 사용되는 API로 strtok, _strtok_l, wcstok, _wcstok_l, _mbstok 및 _mbstok_l 를 포함할 수 있다.Subsequently, a step of processing mining data of the received API module is performed (S420). An API used when processing the transmitted data may include strtok, _strtok_l, wcstok, _wcstok_l, _mbstok, and _mbstok_l.

그리고 상기 마이닝 프로그램에서 지정한 T헤드(Thead)의 개수로 쓰레드(thread)를 생성하는 단계가 수행된다(S430). 여기서, T헤드의 개수만큼 쓰레드를 생성할 때는 EnterCriticalSection, GetCurrentThreadId 및 LeaveCriticalSection 를 포함할 수 있다.In addition, the step of creating threads with the number of T heads designated by the mining program is performed (S430). Here, when creating as many threads as the number of T heads, EnterCriticalSection, GetCurrentThreadId, and LeaveCriticalSection may be included.

이어, 상기 생성된 쓰레드에 상기 가공된 마이닝 데이터를 저장하는 단계가 수행된다(S440). 여기서, 상기 생성된 쓰레드에 가공된 데이터를 저장할 때의 API는 strtol, strtoll, wcstol, _strtol_l 및 _wcstol_l 를 포함할 수 있다. Subsequently, the step of storing the processed mining data in the generated thread is performed (S440). Here, the API for storing processed data in the created thread may include strtol, strtoll, wcstol, _strtol_l, and _wcstol_l.

그 다음, 상기 마이닝 데이터 저장 후, 해쉬 함수에 의하여 해쉬 값을 계산하는 단계가 수행된다(S450). 여기서, 상기 해쉬 값을 계산하는 API로는 RtlHashUnicodeString가 사용될 수 있다.Then, after storing the mining data, a hash value is calculated by a hash function (S450). Here, RtlHashUnicodeString may be used as an API for calculating the hash value.

보다 구체적으로, 상기 해쉬 값의 계산은 일 예로, 일방향 함수(one-way function)에 해당하는 해시 함수를 이용하여 특정 조건을 만족하는 해시 값(hash value)를 찾을 때까지 반복하는 것일 수 있다. More specifically, the calculation of the hash value may be repeated until a hash value that satisfies a specific condition is found using, for example, a hash function corresponding to a one-way function.

이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been looked at around its preferred embodiments. Those of ordinary skill in the art to which the present invention pertains will be able to understand that the present invention may be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered from an illustrative point of view rather than a limiting point of view. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope equivalent thereto should be construed as being included in the present invention.

110 --- 채굴 풀 서버 200 --- 사용자 단말
210 --- API 모듈 220 --- CPU
230 --- 모니터링부 240 --- 데이터 검사부
250 --- 알림부 300 --- 디지털 지갑
110 --- Mining pool server 200 --- User terminal
210 --- API module 220 --- CPU
230 --- Monitoring unit 240 --- Data inspection unit
250 --- Notification unit 300 --- Digital wallet

Claims (12)

채굴 풀 서버에 접속된 사용자 단말의 API 모듈에서 마이닝데이터를 입력받아 실행되는 마이닝 프로그램 동작 과정을 모니터링 하는 제1 탐지 단계;
상기 제1 탐지 단계에서 상기 API 모듈에 입력된 마이닝데이터 형식이 기 설정된 API 모듈의 마이닝데이터 형식과 일치하는지 여부를 검사하는 제2 탐지 단계; 및
상기 제2 탐지 단계에서 API 모듈에 입력된 마이닝데이터 형식이 상기 기 설정된 API 모듈의 마이닝 데이터 형식과 일치하면 사용자 단말 내에서 악성 마이닝프로그램이 동작하는 것으로 판단하는 단계;를 포함하는 악성 마이닝 동작 탐지 방법.
A first detection step of monitoring an operation process of a mining program executed by receiving mining data from an API module of a user terminal connected to the mining pool server;
A second detection step of checking whether a mining data format input to the API module in the first detection step matches a mining data format of a preset API module; And
If the mining data format input to the API module in the second detection step matches the mining data format of the preset API module, determining that a malicious mining program is running in the user terminal; and a malicious mining operation detection method comprising: .
제1항에 있어서,
상기 마이닝 프로그램의 동작 과정은,
상기 채굴 풀 서버에 접속하여 API 모듈의 마이닝 데이터를 전송받는 단계;
상기 전송받은 API 모듈의 마이닝 데이터를 가공하는 단계;
상기 마이닝 프로그램에서 지정한 T헤드의 개수로 쓰레드를 생성하는 단계;
상기 생성된 쓰레드에 상기 가공된 마이닝 데이터를 저장하는 단계; 및
상기 마이닝 데이터 저장 후, 해쉬 함수에 의하여 해쉬 값을 계산하는 단계를 포함하는 악성 마이닝 동작 탐지 방법.
The method of claim 1,
The operation process of the mining program,
Accessing the mining pool server to receive mining data of an API module;
Processing mining data of the received API module;
Creating threads with the number of T heads designated by the mining program;
Storing the processed mining data in the created thread; And
And calculating a hash value by a hash function after storing the mining data.
제2항에 있어서,
상기 API 모듈은 상기 마이닝 프로그램의 동작 과정에 포함된 각 단계를 수행하는 복수 개의 API를 포함하는 것을 특징으로 하는 악성 마이닝 동작 탐지 방법.
The method of claim 2,
The API module includes a plurality of APIs for performing each step included in the operation process of the mining program.
제3항에 있어서,
상기 복수 개의 API에 사용되는 각 마이닝 데이터는 형식이 일정한 데이터인 것을 특징으로 하는 악성 마이닝 동작 탐지 방법.
The method of claim 3,
Each of the mining data used in the plurality of APIs is data having a predetermined format.
제1항에 있어서,
상기 제1 탐지 단계에서,
적어도 하나의 프로세서로 구성된 CPU에서 상기 CPU를 구성하는 전체 프로세서의 사용률 및 상기 CPU를 구성하는 일부 프로세서의 사용률을 분석하여 마이닝 동작을 탐지하는 것을 특징으로 하는 악성 마이닝 동작 탐지 방법.
The method of claim 1,
In the first detection step,
A method for detecting a malicious mining operation, comprising detecting a mining operation by analyzing a utilization rate of all processors constituting the CPU and a utilization rate of some processors constituting the CPU in a CPU composed of at least one processor.
제5항에 있어서,
상기 전체 프로세서의 사용률이 급상승하고 상기 일부 프로세서의 사용률이 유지되면 악성 마이닝 동작이 수행되는 것으로 판단하는 것을 특징으로 하는 악성 마이닝 동작 탐지 방법.
The method of claim 5,
And determining that a malicious mining operation is performed when the utilization rate of the entire processor increases rapidly and the utilization rate of some of the processors is maintained.
제5항에 있어서,
상기 적어도 하나의 프로세서에서 사용하는 CPU의 점유 사용률이 1/(CPU의 전체 쓰레드 개수) * 100의 배수가 되면 악성 마이닝 동작이 수행되는 것으로 판단하는 것을 특징으로 하는 악성 마이닝 동작 탐지 방법.
The method of claim 5,
When the occupied utilization rate of the CPU used by the at least one processor is a multiple of 1/(the total number of threads of the CPU) * 100, it is determined that a malicious mining operation is performed.
채굴 풀 서버에 접속된 사용자 단말의 API 모듈에서 마이닝 데이터를 전송받아마이닝 프로그램을 실행하는 CPU;
상기 CPU에서 실행하는 마이닝 프로그램의 동작을 모니터링 하는 모니터링부; 및
상기 API모듈에 전송된 마이닝데이터 형식이 기 설정된 마이닝 데이터 형식과 일치하는지 여부를 검사하는 데이터 검사부;를 포함하는 악성 마이닝 동작 탐지 시스템.
A CPU that receives mining data from an API module of a user terminal connected to the mining pool server and executes a mining program;
A monitoring unit for monitoring an operation of a mining program executed by the CPU; And
Malicious mining operation detection system comprising a; a data inspection unit for checking whether the mining data format transmitted to the API module matches a preset mining data format.
제8항에 있어서,
상기 모니터링부는,
상기 CPU 에서 실행하는 마이닝 프로그램의 동작에서 상기 채굴 풀 서버에 접속하여 API 모듈의 마이닝 데이터를 전송받아 API 모듈의 마이닝 데이터를 가공하고, 상기 마이닝 프로그램에서 지정한 T헤드의 개수로 쓰레드를 생성한 후, 생성된 쓰레드에 상기 가공된 마이닝 데이터를 저장하고, 해쉬 함수에 의하여 해쉬 값을 계산하는 과정을 탐지하는 것을 특징으로 하는 악성 마이닝 동작 탐지 시스템.
The method of claim 8,
The monitoring unit,
In the operation of the mining program executed by the CPU, after accessing the mining pool server, receiving the mining data of the API module, processing the mining data of the API module, and creating a thread with the number of T heads designated by the mining program, A malicious mining operation detection system, characterized in that for storing the processed mining data in a generated thread, and detecting a process of calculating a hash value by a hash function.
제8항에 있어서,
상기 모니터링부는,
적어도 하나의 프로세서로 구성된 CPU에서 상기 CPU를 구성하는 전체 프로세서의 사용률 및 상기 CPU를 구성하는 일부 프로세서의 사용률을 분석하여 마이닝 동작을 탐지하는 것을 특징으로 하는 악성 마이닝 동작 탐지 시스템.
The method of claim 8,
The monitoring unit,
A malicious mining operation detection system, characterized in that a CPU configured with at least one processor analyzes a utilization rate of all processors constituting the CPU and a utilization rate of some processors constituting the CPU to detect a mining operation.
제10항에 있어서,
상기 전체 프로세서의 사용률이 급상승하고 상기 일부 프로세서의 사용률이 유지되면 악성 마이닝 동작이 수행되는 것으로 판단하는 것을 특징으로 하는 악성 마이닝 동작 탐지 시스템.
The method of claim 10,
And determining that a malicious mining operation is performed when the utilization rate of the entire processor increases rapidly and the utilization rate of some of the processors is maintained.
제10항에 있어서,
상기 적어도 하나의 프로세서에서 사용하는 CPU의 점유 사용률이 1/(CPU의 전체 쓰레드 개수) * 100의 배수가 되면 악성 마이닝 동작이 수행되는 것으로 판단하는 것을 특징으로 하는 악성 마이닝 동작 탐지 시스템.
The method of claim 10,
When the occupied utilization rate of the CPU used by the at least one processor is a multiple of 1/(the total number of threads of the CPU) * 100, it is determined that a malicious mining operation is performed.
KR1020180056510A 2018-05-17 2018-05-17 Method and apparatus for detecting malicious mining KR102153035B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180056510A KR102153035B1 (en) 2018-05-17 2018-05-17 Method and apparatus for detecting malicious mining

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180056510A KR102153035B1 (en) 2018-05-17 2018-05-17 Method and apparatus for detecting malicious mining

Publications (2)

Publication Number Publication Date
KR20190131745A KR20190131745A (en) 2019-11-27
KR102153035B1 true KR102153035B1 (en) 2020-09-07

Family

ID=68729899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180056510A KR102153035B1 (en) 2018-05-17 2018-05-17 Method and apparatus for detecting malicious mining

Country Status (1)

Country Link
KR (1) KR102153035B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102501163B1 (en) * 2022-07-27 2023-02-20 (주) 아이테크 The transaction method of electric vehicle charge using virtual currency

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111585961B (en) * 2020-04-03 2021-08-20 北京大学 Webpage mining attack detection and protection method and device
KR102368160B1 (en) * 2020-08-12 2022-02-28 아주대학교산학협력단 Terminal for detecting cryptojacking and method for operating thereof
CN113177791A (en) * 2021-04-23 2021-07-27 杭州安恒信息技术股份有限公司 Malicious mining behavior identification method, device, equipment and storage medium
US20230412637A1 (en) * 2022-06-15 2023-12-21 International Business Machines Corporation Hardware detection and prevention of cryptojacking
CN117056927B (en) * 2023-10-10 2023-12-08 北京安天网络安全技术有限公司 Method, device, equipment and medium for determining malicious process based on instruction

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017187207A1 (en) 2016-04-29 2017-11-02 Privitar Limited Computer-implemented privacy engineering system and method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150116477A (en) 2014-04-07 2015-10-16 그린캣소프트(주) Method and System for Mining Digital Currency at PC-Bang
KR101723623B1 (en) * 2015-09-24 2017-04-06 아주대학교산학협력단 System and method for detecting malicious code
KR20180032119A (en) * 2016-09-21 2018-03-29 고춘일 Method and server for mining electronic money

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017187207A1 (en) 2016-04-29 2017-11-02 Privitar Limited Computer-implemented privacy engineering system and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이더리움, 제트캐쉬, 비트코인 골드체굴장 관리프로그램(S/W) + IOT(원격제어판매), https://blog.naver.com/datecsolution/221006634369

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102501163B1 (en) * 2022-07-27 2023-02-20 (주) 아이테크 The transaction method of electric vehicle charge using virtual currency

Also Published As

Publication number Publication date
KR20190131745A (en) 2019-11-27

Similar Documents

Publication Publication Date Title
KR102153035B1 (en) Method and apparatus for detecting malicious mining
US10599851B2 (en) Malicious code analysis method and system, data processing apparatus, and electronic apparatus
US11620384B2 (en) Independent malware detection architecture
US9866573B2 (en) Dynamic malicious application detection in storage systems
US9870471B2 (en) Computer-implemented method for distilling a malware program in a system
JP6726706B2 (en) System and method for detecting anomalous events based on the popularity of convolution
US9171155B2 (en) System and method for evaluating malware detection rules
EP3270317B1 (en) Dynamic security module server device and operating method thereof
US10558810B2 (en) Device monitoring policy
AU2015241299A1 (en) Systems and methods for detecting copied computer code using fingerprints
US10970200B2 (en) Test result triage for a failed code validation
WO2015109912A1 (en) Buffer overflow attack detection device and method and security protection system
US10540154B2 (en) Safe loading of dynamic user-defined code
US20160197943A1 (en) System and Method for Profiling System Attacker
CN113312620B (en) Program safety detection method and device, processor chip and server
Thummapudi et al. Detection of ransomware attacks using processor and disk usage data
US10423789B2 (en) Identification of suspicious system processes
US20210165907A1 (en) Systems and methods for intelligent and quick masking
EP2854065A1 (en) A system and method for evaluating malware detection rules
US10613901B1 (en) Context-aware resource allocation
US20210336973A1 (en) Method and system for detecting malicious or suspicious activity by baselining host behavior
KR102137109B1 (en) An apparatus for classify log massage to patterns
CN111625825A (en) Virus detection method, device, equipment and storage medium
CN112257106A (en) Data detection method and device
KR102670498B1 (en) Apparatus for blockchain based endpoint detection and response

Legal Events

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