KR102222804B1 - System and method for analyzing alamalicious code based on blockchain - Google Patents

System and method for analyzing alamalicious code based on blockchain Download PDF

Info

Publication number
KR102222804B1
KR102222804B1 KR1020200027020A KR20200027020A KR102222804B1 KR 102222804 B1 KR102222804 B1 KR 102222804B1 KR 1020200027020 A KR1020200027020 A KR 1020200027020A KR 20200027020 A KR20200027020 A KR 20200027020A KR 102222804 B1 KR102222804 B1 KR 102222804B1
Authority
KR
South Korea
Prior art keywords
analysis
node
malicious code
suspicious
report
Prior art date
Application number
KR1020200027020A
Other languages
Korean (ko)
Inventor
이두형
김진원
김도원
최지헌
정순호
Original Assignee
주식회사 와파스시스템즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 와파스시스템즈 filed Critical 주식회사 와파스시스템즈
Priority to KR1020200027020A priority Critical patent/KR102222804B1/en
Application granted granted Critical
Publication of KR102222804B1 publication Critical patent/KR102222804B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

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

Abstract

The present invention discloses a malicious code analyzing system. More specifically, the present invention relates to a blockchain-based malicious code analyzing system for performing malicious code analysis by distributing a plurality of collected malicious code suspicious files to a plurality of nodes participating in a blockchain network. According to an embodiment of the present invention, by providing a blockchain network comprising a collection node which collects suspicious files, a storage node which provides suspicious files and distributes an analysis-completed malicious code analysis report, and an analysis node which analyzes the provided suspicious files, it is possible to build a malware analysis ecosystem in which multiple analysts participate, and to a method thereof. Accordingly, the system can solve the central storage operation problem of the conventional threat intelligence system, and respond more quickly to threats to important information assets by sharing threat information. By being organically connected to each other on the P2P network, there is an effect that the level of the security field can be further improved through collaboration between each node.

Description

블록체인 기반 악성코드 분석 시스템 및 방법{SYSTEM AND METHOD FOR ANALYZING ALAMALICIOUS CODE BASED ON BLOCKCHAIN}Blockchain-based malware analysis system and method {SYSTEM AND METHOD FOR ANALYZING ALAMALICIOUS CODE BASED ON BLOCKCHAIN}

본 발명은 악성코드 분석 시스템에 관한 것으로, 특히 수집된 다수의 악성코드 의심파일을 블록체인 네트워크에 참여하는 다수의 노드에 분배하여 악성코드를 분석을 수행하는 블록체인 기반 악성코드 분석 시스템 및 방법에 관한 것이다.The present invention relates to a malicious code analysis system, and in particular, to a block chain-based malicious code analysis system and method for analyzing malicious code by distributing a plurality of collected malicious code suspicious files to a plurality of nodes participating in a blockchain network. About.

최근, 다양한 경로를 통해 랜섬웨어(Ransomeware)와 같은 악성코드가 무차별적으로 온라인 상에 유포됨에 따라 선의의 온라인 이용자들의 피해가 급증하고 있다. Recently, as malicious codes such as Ransomeware are indiscriminately distributed online through various channels, the damage of bona fide online users is increasing rapidly.

악성코드는 사용자가 알지 못하는 사이 컴퓨터 시스템에 침입, 설치되어 시스템에 피해를 주고, 불법적으로 정보를 취득하도록 설계된 소프트웨어를 의미한다. 이러한 악성코드의 위협에 대응하기 위해, 현재 다양한 악성코드 분석 및 탐지 연구가 활발하게 진행되고 있지만, 날이 갈수록 지능화되고 정교해지는 악성코드들에 대응하기에는 많은 한계가 따르는 것이 현실이다.Malware refers to software designed to infiltrate and install a computer system without the user's knowledge, causing damage to the system, and illegally acquiring information. In order to cope with the threat of such malicious code, various malicious code analysis and detection studies are currently being actively conducted, but it is a reality that there are many limitations in responding to malicious codes that become more intelligent and sophisticated as time goes by.

이에, 사전에 악성코드 감염을 방지하는 기술이 지속적으로 요구되고 있는 추세이며, 사이버 위협 인텔리전스(Cyber Threat Intelligence) 시스템의 필요성이 대두되고 있다.Accordingly, there is a trend that a technology for preventing malicious code infection in advance is continuously required, and the necessity of a cyber threat intelligence system is emerging.

종래, 사이버 위협 인텔리전스는 중앙에서 악성코드 샘플과 같은 위협 데이터를 관리하는 중앙 집중식 관리 방식을 채택함에 따라, 저장소를 운영함에 있어 막대한 비용이 투입되는 부담을 지니고 있다.Conventionally, as cyber threat intelligence adopts a centralized management method that manages threat data such as malicious code samples from a central location, huge costs are incurred in operating storage.

Threat Intelligence 시장 분석 자료에 의하면, 전 세계 사이버 위협 인텔리전스 시장의 규모는 2016년 약 32억 2천만 달러로 추정된다. 그러나, 다양한 방법과 막대한 투입비용으로 수집된 위협 데이터들은 고가에 거래되고 있어 자본력이 충분하지 않은 구매자에게는 진입 자체가 불가능한 시장이라 할 수 있다.According to Threat Intelligence market analysis data, the size of the global cyber threat intelligence market is estimated to be about $3.22 billion in 2016. However, the threat data collected through various methods and enormous input costs are being traded at high prices, so it is a market that cannot be entered by buyers with insufficient capital power.

등록특허공보 제10-1400680호(공고일자: 2014.05.29.)Registered Patent Publication No. 10-1400680 (announcement date: 2014.05.29.)

본 발명은 전술한 문제점을 해결하기 위해 안출된 것으로, 본 발명은 구매력 및 진입장벽의 문제를 해소함과 동시에 수집에서부터 분석을 거쳐 확정된 악성코드의 저장까지의 과정별 시스템 요소가 상호 유기적으로 연결되어 새로운 위협 정보를 찾아내고, 수집된 정보들을 블록체인을 통해 공유 및 보상을 제공함으로써, 악성코드 분석 분야에서의 새로운 생태계를 구현하는 것을 과제로 한다. The present invention was devised to solve the above-described problems, and the present invention solves the problems of purchasing power and entry barriers, and at the same time, system elements for each process from collection to storage of malicious codes determined through analysis are organically connected to each other. The task is to realize a new ecosystem in the field of malicious code analysis by discovering new threat information and sharing and rewarding the collected information through the blockchain.

전술한 과제를 해결하기 위해, 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템은, 탑재된 악성코드 검색 봇을 통해 감지된 하나 이상의 의심파일을 추출하고, 상기 의심파일을 연결된 블록체인 네트워크로 전송하는 복수의 수집 노드를 포함하는 제1 노드 클러스터, 상기 의심파일을 수신하여 분산 해싱 절차를 거쳐 자신 또는 동일 노드 클러스터에 속하는 노드에 전송하여 분산 저장하는 복수의 스토리지 노드를 포함하는 제2 노드 클러스터 및 상기 복수의 스토리지 노드 중, 어느 하나에 저장된 의심파일을 수신하여 악성코드를 분석하고, 분석결과에 대한 분석 리포트를 생성하여 상기 제2 노드 클러스터에 전송하는 복수의 분석 노드를 포함하는 제3 노드 클러스터를 포함하고, 상기 제2 노드 클러스터는, 전송된 분석 리포트를 블록체인 네트워크 상에 브로드캐스트하고, 분석 리포트에 대한 투표에 따른 합의에 의해 일정수준 이상의 신뢰도를 갖는 분석 리포트를 분산원장에 저장할 수 있다.In order to solve the above-described problem, the blockchain-based malware analysis system according to an embodiment of the present invention extracts one or more suspicious files detected through the mounted malicious code search bot, and connects the suspicious files to the blockchain network. A first node cluster including a plurality of collection nodes that are transmitted to and from a second node including a plurality of storage nodes that receive the suspicious file and transmit it to itself or a node belonging to the same node cluster through a distributed hashing procedure and store it distributedly. A third including a plurality of analysis nodes for receiving a suspicious file stored in any one of the cluster and the plurality of storage nodes, analyzing the malicious code, generating an analysis report for the analysis result, and transmitting the analysis report to the second node cluster. Including a node cluster, the second node cluster broadcasts the transmitted analysis report on the blockchain network, and stores the analysis report having a certain level of reliability or higher in the distributed ledger by consensus according to voting on the analysis report. I can.

상기 수집 노드는, 악성코드를 선별하는 복수의 시그니처 데이터가 저장된 시그니처 저장소, 프로세스에 포함된 복수의 명령어를 상기 시그니처 데이터와 대조하여 악성코드의 존재여부를 판단하는 백신부, 상기 백신부에 의해 악성코드의 존재여부가 검사된 연결된 파일 중, 정의된 딥 러닝 기반 학습모델을 이용하여 하나 이상의 의심파일을 추출하는 악성코드 검색 봇 및 추출된 의심파일을 블록체인 네트워크에 전송하는 의심파일 전송부를 포함할 수 있다.The collection node includes a signature storage storing a plurality of signature data for selecting malicious codes, a vaccine unit that compares a plurality of commands included in a process with the signature data to determine the presence of a malicious code, and a malicious code by the vaccine unit. It includes a malicious code search bot that extracts one or more suspicious files from among the linked files checked for the existence of the code, and a suspicious file transmission unit that transmits the extracted suspicious files to the blockchain network. I can.

상기 수집 노드는, 상기 분산원장에 기록된 하나 이상의 보고서에 정의된 악성코드가 일정 수준 이상의 평점을 받은 경우, 추출하여 시그니처 데이터로서 상기 시그니처 저장소에 저장하는 시그니처 갱신부를 더 포함할 수 있다.The collection node may further include a signature update unit that extracts and stores the malicious code defined in one or more reports recorded in the distributed ledger in the signature storage as signature data when a rating of a certain level or higher is received.

상기 스토리지 노드는, 상기 제1 노드 클러스터로부터 전송되는 의심파일을 수신하는 의심파일 접수부, 수신된 의심파일에 대하여 분산 해시 테이블을 참조하여 해싱을 통해 복수의 인덱스 데이터를 생성하는 분산 해싱부, 상기 인덱스 데이터에 매칭되는 의심파일 중, 일부를 저장하는 분산 데이터 저장소 및 상기 인덱스 데이터를 상기 제3 노드 클러스터에 제공하는 데이터 배포부를 포함할 수 있다.The storage node includes a suspicious file receiving unit receiving a suspicious file transmitted from the first node cluster, a distributed hashing unit generating a plurality of index data through hashing with reference to a distributed hash table for the received suspicious file, and the index It may include a distributed data storage for storing some of the suspicious files matched with data, and a data distribution unit for providing the index data to the third node cluster.

상기 스토리지 노드는, 상기 분석 노드로부터 리포트 검증을 위한 트랜잭션이 요청되면, 투표를 진행하고 위임 지분 증명 방식에 기반한 합의에 따라 분산원장에 기록하는 트랜잭션 처리부를 포함할 수 있다.The storage node may include a transaction processing unit that, when a transaction for verifying a report is requested from the analysis node, performs voting and records it in the distributed ledger according to a consensus based on a delegated stake verification method.

상기 트랜잭션 처리부는, 일정 수준 이상의 동의를 획득한 분석 리포트에 대하여, 해당 분석 노드에 보상에 상응하는 암호화폐를 지급할 수 있다.The transaction processing unit may pay a cryptocurrency corresponding to a reward to a corresponding analysis node for an analysis report that has obtained consent of a certain level or higher.

상기 분석 노드는, 상기 제2 노드 클러스터에 저장중인 복수의 인덱스 데이터를 검색하고, 선택된 인덱스 데이터를 통해 매칭되는 원 의심파일을 전송받는 데이터 검색부, 수신한 의심파일 내 악성코드 존재여부를 분석하는 분석툴을 제공하는 분석부, 상기 분석툴에 의한 분석결과를 저장하는 작업 저장소 및 상기 의심파일 내 존재하는 악성코드에 대한 분석 리포트를 생성하는 리포트 생성부를 포함할 수 있다.The analysis node searches for a plurality of index data stored in the second node cluster, a data search unit receiving a matching original suspicious file through the selected index data, and analyzing the presence of malicious code in the received suspicious file. It may include an analysis unit providing an analysis tool, a work storage storing an analysis result by the analysis tool, and a report generation unit generating an analysis report on the malicious code existing in the suspicious file.

상기 분석 노드는, 상기 리포트 생성부에 의해 생성된 분석 리포트에 대한 마이닝을 위한 리포트 트랜잭션을 상기 제2 노드 클러스터에 요청하는 트랜잭션 요청부를 더 포함할 수 있다.The analysis node may further include a transaction request unit for requesting a report transaction for mining the analysis report generated by the report generation unit from the second node cluster.

또한, 전술한 과제를 해결하기 위한 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 방법은, 제1 내지 제3 노드 클러스터에 의한 블록체인 기반 악성코드 분석 방법으로서, 제1 노드 클러스터가 수집 노드에 탑재된 악성코드 검색 봇을 구동하여 하나 이상의 의심파일을 추출하고, 의심파일을 연결된 블록체인 네트워크로 전송하는 단계, 제2 노드 클러스터가 상기 의심파일을 수신하고, 분산 해싱 절차를 거쳐 각 의심파일을 복수의 스토리지 노드에 분산 저장하는 단계 및 제3 노드 클러스터가 분석 노드에 의해 상기 복수의 스토리지 노드 중, 어느 하나에 저장된 의심파일을 수신하여 악성코드를 분석하고, 분석결과에 대한 분석 리포트를 생성하여 상기 제2 노드 클러스터에 전송하는 단계 및 상기 제2 노드 클러스터가 전송된 분석 리포트를 블록체인 네트워크 상에 브로드캐스트하고, 분석 리포트에 대한 투표결과에 따른 합의에 의해 일정수준 이상의 신뢰도를 갖는 분석 리포트를 분산원장에 저장하는 단계를 포함할 수 있다.In addition, a block chain-based malicious code analysis method according to an embodiment of the present invention for solving the above-described problem is a block chain-based malicious code analysis method using first to third node clusters, wherein the first node cluster is a collection node. Extracting one or more suspicious files by driving the malicious code search bot mounted on the device, transmitting the suspicious files to the connected blockchain network, the second node cluster receives the suspicious files, and each suspicious file through a distributed hashing procedure Distributed and stored in a plurality of storage nodes, and a third node cluster receives a suspicious file stored in any one of the plurality of storage nodes by an analysis node, analyzes the malicious code, and generates an analysis report for the analysis result. And transmitting the analysis report to the second node cluster and broadcasting the analysis report transmitted by the second node cluster on the blockchain network, and an analysis report having a certain level of reliability or higher by consensus according to the result of voting on the analysis report. It may include the step of storing in the distributed ledger.

상기 제1 노드 클러스터가 수집 노드에 탑재된 악성코드 검색 봇을 구동하여 하나 이상의 의심파일을 추출하고, 의심파일을 연결된 블록체인 네트워크로 전송하는 단계는, 프로세스에 포함된 복수의 명령어를, 악성코드를 선별하는 복수의 시그니처 데이터와 대조하여 악성코드의 존재여부를 판단하는 단계, 악성코드 검색 봇을 통해 악성코드가 존재하지 않는 프로세스와 연결된 파일 중, 정의된 딥 러닝 기반 학습모델을 이용하여 하나 이상의 의심파일을 추출하는 단계. 추출된 의심파일을 블록체인 네트워크에 전송하는 단계 및 상기 분산원장에 기록된 하나 이상의 보고서에 정의된 악성코드가 일정 수준 이상의 평점을 받은 경우, 추출하여 시그니처 데이터로서 저장하는 단계를 더 포함할 수 있다. The first node cluster extracts one or more suspicious files by driving a malicious code search bot mounted on the collection node, and transmits the suspicious files to a connected blockchain network, in which a plurality of commands included in the process are transmitted to the malicious code. The step of determining whether a malicious code exists by comparing it with a plurality of signature data that selects, using a defined deep learning-based learning model among files connected to a process in which malicious code does not exist through a malicious code search bot. Steps to extract suspicious files. Transmitting the extracted suspicious file to the blockchain network, and when the malicious code defined in one or more reports recorded in the distributed ledger has a rating of a certain level or higher, the step of extracting and storing it as signature data may be further included. .

상기 제2 노드 클러스터가 상기 의심파일을 수신하고, 분산 절차를 거쳐 각 의심파일을 복수의 스토리지 노드에 분산 저장하는 단계는, 상기 제1 노드 클러스터로부터 전송되는 의심파일을 수신하는 단계, 수신된 의심파일에 대하여 분산 해시 테이블을 참조하여 해싱을 통해 복수의 인덱스 데이터를 생성하는 단계, 상기 인덱스 데이터에 매칭되는 의심파일을 각 스토리지 노드에 저장하는 단계, 상기 인덱스 데이터를 상기 제3 노드 클러스터에 제공하는 단계, 상기 분석 노드로부터 리포트 검증을 위한 트랜잭션이 요청되면, 투표를 진행하고 위임 지분 증명 방식에 기반한 합의에 따라 분산원장에 기록하는 단계 및 일정 수준 이상의 동의를 획득한 분석 리포트에 대하여, 해당 분석 노드에 보상에 상응하는 암호화폐를 지급하는 단계를 포함할 수 있다.The step of receiving the suspicious file by the second node cluster and distributedly storing each suspicious file in a plurality of storage nodes through a distribution procedure includes: receiving a suspicious file transmitted from the first node cluster, the received suspicion Generating a plurality of index data through hashing with reference to a distributed hash table for a file, storing suspicious files matching the index data in each storage node, providing the index data to the third node cluster Step, when a transaction for report verification is requested from the analysis node, voting and recording in the distributed ledger according to the consensus based on the delegated proof-of-stake method, and for the analysis report that has obtained a certain level of consent, the corresponding analysis node It may include the step of paying a cryptocurrency corresponding to the reward.

상기 제2 노드 클러스터가 전송된 분석 리포트를 블록체인 네트워크 상에 브로드캐스트하고, 분석 리포트에 대한 투표결과에 따른 합의에 의해 일정수준 이상의 신뢰도를 갖는 분석 리포트를 분산원장에 저장하는 단계는, 상기 제2 노드 클러스터에서 공개중인 복수의 인덱스 데이터를 검색하고, 선택된 인덱스 데이터를 통해 매칭되는 원 의심파일을 전송받는 단계, 수신한 의심파일 내 악성코드 존재여부를 분석하는 분석툴을 제공하는 단계, 상기 분석툴에 의한 분석결과를 저장하는 단계, 상기 의심파일 내 존재하는 악성코드에 대한 분석 리포트를 생성하는 단계 및 생성된 분석 리포트에 대한 마이닝을 위한 리포트 트랜잭션을 상기 제2 노드 클러스터에 요청하는 단계를 더 포함할 수 있다.The step of broadcasting the analysis report transmitted by the second node cluster on the blockchain network, and storing the analysis report having a certain level of reliability or higher in a distributed ledger by consensus according to the result of voting on the analysis report, Searching for a plurality of index data being published in a two-node cluster, receiving the matching original suspicious file through the selected index data, providing an analysis tool that analyzes the presence of malicious code in the received suspicious file, and the analysis tool Storing the analysis result by the method, generating an analysis report for the malicious code existing in the suspicious file, and requesting a report transaction for mining the generated analysis report to the second node cluster. I can.

본 발명의 실시예에 따르면, 의심파일을 수집하는 수집 노드, 의심파일을 제공하고 분석 완료된 악성코드 리포트를 배포하는 스토리지 노드 및, 제공된 의심파일을 분석하는 분석 노드로 이루어지는 블록체인 네트워크를 제공함으로써, 다수의 분석가가 참여하는 악성코드 분석 생태계를 구축할 수 있다.According to an embodiment of the present invention, by providing a block chain network consisting of a collection node for collecting suspicious files, a storage node for providing the suspicious file and distributing the analyzed malicious code report, and an analysis node for analyzing the provided suspicious file, It is possible to build a malicious code analysis ecosystem in which a large number of analysts participate.

이에 따라, 종래의 위협 인텔리전스 시스템의 중앙 스토리지 운영 문제를 해결하고, 위협 정보를 공유하면서 중요한 정보자산에 대한 위협에 보다 빠르게 대처할 수 있으며, P2P 네트워크 상에서 상호 유기적으로 연결됨으로써 각 노드들 간의 협업을 통해 보안 분야의 수준을 더욱 향상시킬 수 있는 효과가 있다. Accordingly, it is possible to solve the central storage operation problem of the conventional threat intelligence system, share threat information and respond to threats to important information assets more quickly, and through cooperation between each node by being organically connected to each other on the P2P network. There is an effect that can further improve the level of the security field.

도 1은 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템의 전체 구조를 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템의 수집 노드의 구조를 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템의 스토리지 노드의 구조를 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템의 분석 노드의 구조를 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 방법을 나타낸 도면이다.
도 6은 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템의 분산원장의 구조를 예시한 도면이다.
1 is a diagram showing the overall structure of a block chain-based malicious code analysis system according to an embodiment of the present invention.
2 is a diagram showing the structure of a collection node of a block chain-based malicious code analysis system according to an embodiment of the present invention.
3 is a diagram showing the structure of a storage node of a block chain-based malicious code analysis system according to an embodiment of the present invention.
4 is a diagram showing the structure of an analysis node of a block chain-based malicious code analysis system according to an embodiment of the present invention.
5 is a diagram showing a method of analyzing a malicious code based on a block chain according to an embodiment of the present invention.
6 is a diagram illustrating the structure of a distributed ledger of a block chain-based malicious code analysis system according to an embodiment of the present invention.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "구비" 또는 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부(Unit)", "...노드(Node)" 및 "...시스템(System)" 등의 용어는 하나 또는 그 이상의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어, 소프트웨어 또는, 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.When a part of the specification says that a certain component is "equipped" or "included", it means that other components may be further included rather than excluding other components unless otherwise stated. In addition, terms such as "...unit", "...node" and "...system" described in the specification refer to units that process one or more functions or operations. It means, and this may be implemented in hardware, software, or a combination of hardware and software.

또한 본 명세서에서 "실시예"라는 용어는 예시, 사례 또는 도해의 역할을 하는 것을 의미하나, 발명의 대상은 그러한 예에 의해 제한되지 않는다. 또한 "포함하는", "구비하는", "갖는" 및 다른 유사한 용어가 사용되고 있으나, 청구범위에서 사용되는 경우 임의의 추가적인 또는 다른 구성요소를 배제하지 않는 개방적인 전환어(Transition word)로서 "포함하는(Comprising)"이라는 용어와 유사한 방식으로 포괄적으로 사용될 수 있다.In addition, in the present specification, the term "example" means serving as an illustration, example, or illustration, but the subject of the invention is not limited by such an example. In addition, "comprising", "having", "having" and other similar terms are used, but when used in the claims, "included" as an open transition word that does not exclude any additional or other elements. It may be used generically in a manner similar to the term "comprising".

본 명세서에 설명된 다양한 기법은 하드웨어 또는 소프트웨어와 함께 구현되거나, 적합한 경우에 이들 모두의 조합과 함께 구현될 수 있다. 본 명세서에 사용된 바와 같은 "...부(Unit)", "...노드(Node)" 및 "...시스템(System)" 등의 용어는 마찬가지로 컴퓨터 관련 엔티티(Entity), 즉 하드웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어 또는 실행 시의 소프트웨어와 등가로 취급할 수 있다. 또한, 본 발명의 프로그램에서 실행되는 각 기능은 모듈단위로 구성될 수 있고, 하나의 물리적 메모리에 기록되거나, 둘 이상의 메모리 및 기록매체 사이에 분산되어 기록될 수 있다.The various techniques described herein may be implemented with hardware or software, or, where appropriate, with a combination of both. As used herein, terms such as "...unit", "...node" and "...system" are likewise a computer-related entity, i.e., hardware , It can be treated as a combination of hardware and software, software or equivalent to software at the time of execution. In addition, each function executed in the program of the present invention may be configured in a module unit, and may be recorded in one physical memory, or distributed between two or more memories and a recording medium.

이하의 설명에서, "블록체인 기반 악성코드 분석 시스템"의 용어는 기재의 편의상 "악성코드 분석 시스템" 또는 "시스템"으로 약식 표기 될 수 있다.In the following description, the term “blockchain-based malicious code analysis system” may be abbreviated as “malware analysis system” or “system” for convenience of description.

이하, 도면을 참조하여 본 발명의 실시예에 따른 블록체인 기반 악성 코드 분석 시스템 및 방법을 설명한다.Hereinafter, a block chain-based malicious code analysis system and method according to an embodiment of the present invention will be described with reference to the drawings.

도 1은 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템의 전체 구조를 나타낸 도면이다.1 is a diagram showing the overall structure of a block chain-based malicious code analysis system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템은 탑재된 악성코드 검색 봇을 통해 감지된 하나 이상의 의심파일을 추출하고, 상기 의심파일을 연결된 블록체인 네트워크(1)로 전송하는 복수의 수집 노드(110)를 포함하는 제1 노드 클러스터(100), 의심파일을 수신하여 분산 해싱 절차를 거쳐 각 의심파일을 자신 또는 동일 노드 클러스터에 속하는 노드에 전송하여 분산 저장하는 복수의 스토리지 노드(210)를 포함하는 제2 노드 클러스터(200) 및 복수의 스토리지 노드(210) 중, 어느 하나에 저장된 의심파일을 수신하여 악성코드를 분석하고, 분석결과에 대한 분석 리포트를 생성하여 제2 노드 클러스터(200)에 전송하는 복수의 분석 노드(310)를 포함하는 제3 노드 클러스터(300)를 포함할 수 있고, 특히 제2 노드 클러스터(200)는 전송된 분석 리포트를 블록체인 네트워크(1) 상에 브로드캐스트하고, 분석 리포트에 대한 투표결과에 따른 합의에 의해 일정수준 이상의 신뢰도를 갖는 분석 리포트를 분산원장(230)에 저장할 수 있다.Referring to FIG. 1, a block chain-based malware analysis system according to an embodiment of the present invention extracts one or more suspicious files detected through a mounted malicious code search bot, and connects the suspicious files to the blockchain network (1). The first node cluster 100 including a plurality of collecting nodes 110 that transmits to, receives a suspicious file and transmits each suspicious file to itself or a node belonging to the same node cluster through a distributed hashing procedure, and stores them in a distributed manner. By receiving a suspicious file stored in any one of the second node cluster 200 and the plurality of storage nodes 210 including the storage node 210 of, the malicious code is analyzed, and an analysis report for the analysis result is generated. The second node cluster 200 may include a third node cluster 300 including a plurality of analysis nodes 310 that transmits to the second node cluster 200, and in particular, the second node cluster 200 transmits the transmitted analysis report to the blockchain network. (1) It is broadcasted on the top, and the analysis report having a certain level of reliability or higher may be stored in the distributed ledger 230 by consensus according to the result of voting for the analysis report.

제1 노드 클러스터(100)는 블록체인 네트워크(1)에 참여하는 복수의 수집 노드(110)로 구성될 수 있다. 수집 노드(110)는 P2P 기반으로 자신 또는 자신과 연결된 단말에서 실행되는 백신 프로그램으로부터 현재 실행중인 프로그램, 즉 프로세스의 분석결과를 모니터링하고, 인공지능 탐지를 통해 악성코드일 가능성이 있는 프로세스에 대한 파일을 수집하여 제2 노드 클러스터(200)에 전송할 수 있다.The first node cluster 100 may be composed of a plurality of collection nodes 110 participating in the blockchain network 1. The collection node 110 monitors the analysis result of the currently running program, that is, the process from the vaccine program running on itself or in a terminal connected to it on a P2P basis, and a file for a process that is likely to be a malicious code through artificial intelligence detection. May be collected and transmitted to the second node cluster 200.

전술한 의심파일 수집 기능을 구현하기 위해, 수집 노드(110)는 딥 러닝 기술에 기반한 악성코드 검색 봇을 탑재할 수 있고, 악성코드 검색 봇은 백신 프로그램을 실시간으로 검색하여 프로세스에 대한 검사결과에 따라 의심파일을 추출할 수 있다.In order to implement the above-described suspicious file collection function, the collection node 110 may be equipped with a malicious code search bot based on deep learning technology, and the malicious code search bot searches for a vaccine program in real time, and Suspicious files can be extracted accordingly.

이러한 수집 노드(110)는 블록체인 네트워크(1)에 참여하고 전술한 기능을 수행하기 위한 분산 어플리케이션이 설치 및 실행될 수 있고, 블록체인 네트워크(1)의 참여자로서 체인코드(120)를 소유할 수 있다.This collection node 110 participates in the blockchain network 1, and a distributed application for performing the above-described functions can be installed and executed, and as a participant of the blockchain network 1, the chain code 120 can be owned. have.

제2 노드 클러스터(200)는 블록체인 네트워크(1)에 참여하는 복수의 스토리지 노드(210)로 구성될 수 있다. 스토리지 노드(210)는 수집 노드(110)로부터 전송되는 의심파일을 수신 및 저장하고, 제3 노드 클러스터(300)에 제공함으로써 그에 속한 분석가들이 악성코드의 존재를 분석할 수 있도록 환경을 조성하는 역할을 한다. 아울러, 스토리지 노드(210)는 악성코드의 발견시 그 분석결과를 리포트 형태로 제공받아 블록체인 네트워크(1)에 브로드캐스트(broadcast)함으로써 각 노드들로부터 투표를 진행하여 신뢰성을 평가 받으며, 합의에 따라 분석 리포트를 분산원장(230)에 기록함으로써 악성코드에 대한 정보를 공개할 수 있다.The second node cluster 200 may be composed of a plurality of storage nodes 210 participating in the blockchain network 1. The storage node 210 receives and stores the suspicious file transmitted from the collection node 110 and provides it to the third node cluster 300 to create an environment so that analysts belonging to it can analyze the existence of malicious codes. Do it. In addition, when a malicious code is found, the storage node 210 receives the analysis result in the form of a report and broadcasts it to the blockchain network 1 to receive a vote from each node to evaluate the reliability, and Accordingly, information on the malicious code can be disclosed by recording the analysis report on the distributed ledger 230.

여기서, 분석가로는 악성코드 분석 전문 업체뿐만 아니라 개인도 포함될 수 있다.Here, as an analyst, not only a company specializing in malware analysis but also individuals may be included.

이러한 스토리지 노드(210)는 블록체인 네트워크(1)에 참여하고 전술한 기능을 수행하기 위한 분산 어플리케이션이 설치 및 실행될 수 있고, 블록체인 네트워크(1)의 참여자로서 체인코드(220) 및 분산원장(230)을 소유할 수 있다.This storage node 210 participates in the blockchain network 1 and a distributed application for performing the above-described functions can be installed and executed, and as a participant in the blockchain network 1, the chain code 220 and the distributed ledger ( 230).

제3 노드 클러스터(300)는 블록체인 네트워크(1)에 참여하는 복수의 분석 노드(310)로 구성될 수 있다. 분석 노드(310)는 분석가 단말에서 구동하며, 분석하고자 하는 스토리지 노드(210)에 저장된 의심파일을 검색하여 다운로드하고, 분석가는 분석툴을 통해 의심파일을 분석하여 악성코드 존재여부를 판단할 수 있다. 이때, 악성코드가 존재하는 것으로 판단된 경우, 분석 노드(310)는 그 악성코드에 대한 분석 리포트를 생성하고 제2 노드 클러스터(200)에 분산원장(230)으로의 등록을 위한 리포트 트랜잭션을 요청할 수 있다. 이에 제2 노드 클러스터(200)가 체인코드(220)를 실행하고 투표에 따른 검증을 통해 분산원장(230)에 기록함으로써 악성코드 정보가 공개되게 된다.The third node cluster 300 may be composed of a plurality of analysis nodes 310 participating in the blockchain network 1. The analysis node 310 is driven by the analyst terminal, searches for and downloads a suspicious file stored in the storage node 210 to be analyzed, and the analyst may analyze the suspicious file through an analysis tool to determine whether or not a malicious code exists. At this time, if it is determined that the malicious code exists, the analysis node 310 generates an analysis report for the malicious code and requests a report transaction for registration to the distributed ledger 230 from the second node cluster 200. I can. Accordingly, the second node cluster 200 executes the chain code 220 and records the malicious code information in the distributed ledger 230 through verification according to voting, so that the malicious code information is disclosed.

이러한 분석 노드(310)는 블록체인 네트워크(1)에 참여하고 전술한 기능을 수행하기 위한 분산 어플리케이션이 설치 및 실행될 수 있고, 블록체인 네트워크(1)의 참여자로서 체인코드(320)를 소유할 수 있다.This analysis node 310 can participate in the blockchain network 1 and install and execute a distributed application for performing the above-described functions, and can own the chain code 320 as a participant in the blockchain network 1. have.

전술한 구조에 따라, 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템은 크게 3 가지 종류의 블록체인 네트워크의 참여자로서, 수집 노드는 백신을 통해 악성 행위가 의심되는 파일을 탐지하여 스토리지 노드로 전송하고, 스토리지 노드에서는 수집 노드에서 전송받은 파일을 분산하여 저장하거나 분석 리포트를 공개하고 분석노드의 성과에 대한 암호화폐 보상을 수행하며, 분석 노드는 악성코드 분석가로 구성되어 스토리지 노드에 올라온 파일을 분석하여 블록체인 네트워크에 트랜잭션 업로드 하는 역할을 수행함으로써 악성코드 분석 생태계 플랫폼을 구축할 수 있다.According to the above-described structure, the blockchain-based malware analysis system according to the embodiment of the present invention is largely a participant of three types of blockchain networks, and the collection node detects files suspected of malicious behavior through vaccines, The storage node distributes and stores the file transmitted from the collection node, or publishes an analysis report and performs cryptocurrency compensation for the performance of the analysis node, and the analysis node consists of a malware analyst and the file uploaded to the storage node. By analyzing the data and uploading the transaction to the blockchain network, it is possible to build a malware analysis ecosystem platform.

이하, 도면을 참조하여 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템의 수집 노드를 상세히 설명한다.Hereinafter, a collection node of a block chain-based malicious code analysis system according to an embodiment of the present invention will be described in detail with reference to the drawings.

도 2는 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템의 수집 노드의 구조를 나타낸 도면이다. 이하의 설명에서, 수집 노드를 이루는 각 구성부는 블록체인 네트워크와 연동하고, 마이크로 프로세서에 의해 실행 가능한 분산 어플리케이션 프로그램으로 구현되며, 읽고 쓰기가 가능한 기록매체에 기록되어 수집 노드에 연결된 단말장치에 탑재될 수 있다. 또한, 후술하는 스토리지 노드 및 분산 노드의 구성부 또한 분산 어플리케이션 프로그램 형태로 구현되어 기록매체에 기록될 수 있다.2 is a diagram showing the structure of a collection node of a block chain-based malicious code analysis system according to an embodiment of the present invention. In the following description, each component constituting the collection node interlocks with the blockchain network, is implemented as a distributed application program executable by a microprocessor, and is recorded on a recording medium capable of reading and writing to be mounted on a terminal device connected to the collection node. I can. In addition, the storage node and the configuration unit of the distributed node to be described later may also be implemented in the form of a distributed application program and recorded in a recording medium.

도 2를 참조하면, 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템의 수집 노드(110)는, 악성코드를 선별하는 복수의 시그니처 데이터가 저장된 시그니처 저장소(111), 프로세스에 포함된 복수의 명령어를 시그니처 데이터와 대조하여 악성코드의 존재여부를 판단하는 백신부(112), 백신부(112)에 의해 악성코드가 존재하지 않는 프로세스와 연결된 파일 중, 정의된 딥 러닝 기반 학습모델을 이용하여 하나 이상의 의심파일을 추출하는 악성코드 검색 봇(113), 추출된 의심파일을 블록체인 네트워크에 전송하는 의심파일 전송부(114) 및 분산원장에 기록된 하나 이상의 보고서에 정의된 악성코드가 일정 수준 이상의 평점을 받은 경우, 추출하여 시그니처 데이터로서 시그니처 저장소(111)에 저장하는 시그니처 갱신부(115)를 포함할 수 있다.Referring to FIG. 2, the collection node 110 of the block chain-based malware analysis system according to an embodiment of the present invention includes a signature storage 111 in which a plurality of signature data for selecting a malicious code is stored, and a plurality of pieces included in the process. Using the deep learning-based learning model defined among the files connected to the process in which the malicious code does not exist by the vaccine unit 112 and the vaccine unit 112 to determine whether or not a malicious code exists by comparing the command of The malicious code search bot 113 that extracts one or more suspicious files by doing so, the suspicious file transmission unit 114 that transmits the extracted suspicious files to the blockchain network, and the malicious codes defined in one or more reports recorded in the distributed ledger are scheduled. When the rating is higher than or equal to the level, the signature update unit 115 may be extracted and stored as signature data in the signature storage 111.

상세하게는, 시그니처 저장소(111)는 수집 노드(110)에서 실행중인 프로세스를 감시하는 백신 프로그램이 악성코드 식별시 이용되는 시그니처 데이터를 저장할 수 있다. 이러한 시그니처 데이터는 최초 백신 프로그램 운영측에서 제공될 수 있고, 이후 백신 프로그램 운영측 또는 시그니처 갱신부(115)에 의해 업데이트 될 수 있다.In detail, the signature storage 111 may store signature data used when a vaccine program monitoring a process running in the collection node 110 identifies a malicious code. Such signature data may be provided by the initial vaccine program operating side, and then updated by the vaccine program operating side or the signature update unit 115.

백신부(112)는 실행중인 프로세스를 감지하여 그 코드 내에 알려진 악성코드가 존재하는 지 검사를 수행할 수 있다. 백신부(112)는 시그니처 저장소(111)를 참조하여 프로세스 코드와 시그니처 데이터를 대조하여 악성코드의 존재 여부를 판단할 수 있다. 또한, 백신부(112)는 프로세스 이외에도 수집 노드(110)에 저장된 실행전인 실행파일 등을 검사하여 악성코드가 포함되었는지 검사할 수 있다.The vaccine unit 112 may detect a running process and check whether a known malicious code exists in the code. The vaccine unit 112 may check the existence of the malicious code by comparing the process code and the signature data with reference to the signature storage 111. In addition, the vaccine unit 112 may check whether a malicious code is included by examining an executable file stored in the collection node 110 in addition to the process.

이러한 백신부(112)로는 공지의 상용화된 백신 프로그램(ex. V3, 네이버 백신 등)이 이용될 수 있으나, 이에 한정되는 것은 아니다.As the vaccine unit 112, a known commercially available vaccine program (ex. V3, Naver vaccine, etc.) may be used, but is not limited thereto.

악성코드 검색 봇(113)은 백신부(112)에 의해 파일을 실시간으로 검색하고, 기계 학습에 의해 도출된 학습 모델을 이용하여 악성코드로 의심되는 코드가 포함되어 있는지 여부를 확인하고, 그와 관련된 파일을 의심파일로서 추출할 수 있다.The malicious code search bot 113 searches for a file in real time by the anti-virus unit 112, uses a learning model derived by machine learning to check whether a code suspected of a malicious code is included, and Related files can be extracted as suspicious files.

이러한 악성코드 검색 봇(113)의 검색 범위는 수집 노드(110)와 직접 연결된 단말장치뿐만 아니라, 그 단말장치와 소정의 네트워크로 연결된 타 단말장치 또는 인터넷 웹 페이지로 확장될 수 있다.The search range of the malicious code search bot 113 may be extended to not only terminal devices directly connected to the collection node 110 but also other terminal devices or Internet web pages connected to the terminal device through a predetermined network.

의심파일 전송부(114)는 악성코드 검색 봇(113)에 의해 추출된 의심파일을 블록체인 네트워크의 제2 노드 클러스터에 속한 각 스토리지 노드에 전송할 수 있다. 이때, 전송을 위한 절차는 수집 노드(110)에 포함된 체인코드의 실행으로 수행될 수 있다. The suspicious file transmission unit 114 may transmit the suspicious file extracted by the malicious code search bot 113 to each storage node belonging to the second node cluster of the blockchain network. In this case, the procedure for transmission may be performed by executing the chaincode included in the collection node 110.

한편, 본 발명의 실시예에 따른 수집 노드(110)는 블록체인 네트워크(1)에 공개된 분석 리포트에 정의된 악성코드에 대하여, 시그니처 데이터로서 다운로드 함으로써 백신부(112)의 악성코드 판별의 정확도를 개선할 수 있다.On the other hand, the collection node 110 according to the embodiment of the present invention downloads the malicious code defined in the analysis report published on the blockchain network 1 as signature data, so that the accuracy of the malicious code identification of the vaccine unit 112 Can be improved.

이하, 도면을 참조하여 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템의 스토리지 노드를 상세히 설명한다.Hereinafter, a storage node of a block chain-based malicious code analysis system according to an embodiment of the present invention will be described in detail with reference to the drawings.

도 3은 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템의 스토리지 노드의 구조를 나타낸 도면이다.3 is a diagram showing the structure of a storage node of a block chain-based malicious code analysis system according to an embodiment of the present invention.

도 3을 참조하면, 실시예에 따른 블록체인 기반 악성코드 분석 시스템의 스토리지 노드(210)는, 제1 노드 클러스터로부터 전송되는 의심파일을 수신하는 의심파일 접수부(211), 수신된 의심파일에 대하여 분산 해시 테이블을 참조하여 해싱을 통해 복수의 인덱스 데이터를 생성하는 분산 해싱부(212), 인덱스 데이터에 매칭되는 의심파일을 저장하는 분산 데이터 저장소(213), 인덱스 데이터를 제3 노드 클러스터에 제공하는 데이터 배포부(214), 분석 노드로부터 리포트 검증을 위한 트랜잭션이 요청되면, 투표를 진행하고 위임 지분 증명 방식에 기반한 합의에 따라 분산원장에 기록하는 트랜잭션 처리부(216)를 포함할 수 있다.3, the storage node 210 of the block chain-based malicious code analysis system according to the embodiment, a suspicious file receiving unit 211 receiving a suspicious file transmitted from the first node cluster, with respect to the received suspicious file A distributed hashing unit 212 that generates a plurality of index data through hashing with reference to a distributed hash table, a distributed data storage 213 that stores suspicious files matching the index data, and provides index data to a third node cluster. The data distribution unit 214 may include a transaction processing unit 216 that, when a transaction for verifying a report is requested from the analysis node, proceeds to vote and records it in the distributed ledger according to an agreement based on a delegation proof-of-stake method.

의심파일 접수부(211)는 블록체인 네트워크(1)로부터 전송되는 수집된 의심파일을 수신하여 그 의심파일에 대한 분석의뢰를 접수할 수 있다. 제2 노드 클러스터의 스토리지 노드(210)는 다수의 수집 노드로부터 의심파일을 제공받아 분석을 위해 저장할 수 있다.The suspicious file receiving unit 211 may receive a collected suspicious file transmitted from the blockchain network 1 and receive an analysis request for the suspicious file. The storage node 210 of the second node cluster may receive suspicious files from a plurality of collection nodes and store them for analysis.

분산 해싱부(212)는 수신한 의심파일을 자신의 노드를 포함하여 제2 노드 클러스터 내 각 스토리지 노드에 분산시켜 저장하는 것으로, 분산 해시 테이블(DHT) 기술을 통해 해싱된 인덱스 데이터를 생성하여 이를 통해 각 스토리지 노드(210)에 저장된 의심파일을 검색할 수 있도록 한 후 분산 저장할 수 있다. 여기서, 인덱스 데이터에 의한 검색은 DHT와의 매칭을 통해 이루어지게 된다.The distributed hashing unit 212 distributes and stores the received suspicious file to each storage node in the second node cluster, including its own node, and generates and stores the hashed index data through a distributed hash table (DHT) technology. Through this, the suspicious file stored in each storage node 210 can be searched and then distributed and stored. Here, the search by index data is performed through matching with DHT.

분산 데이터 저장소(213)는 인덱스 데이터가 생성된 의심 파일을 저장할 수 있다. 해싱된 원 의심파일은 현재 노드 자신 또는 제2 노드 클러스터 내 하나 이상의 타 스토리지 노드에 저장될 수 있다.The distributed data storage 213 may store a suspicious file in which index data is generated. The hashed original suspicious file may be stored in the current node itself or in one or more other storage nodes in the second node cluster.

데이터 배포부(214)는 분산 해싱에 따라 생성된 인덱스 데이터를 제3 노드 클러스터에 배포함으로써, 분석자 측에서 원하는 의심파일을 검색하여 다운로드 할 수 있도록 한다. 또한, 인덱스 데이터에 의해 검색되는 원 의심파일의 매칭하기 위한 테이블인 DHT는 블록체인 네트워크(1)상에서 공유될 수 있다.The data distribution unit 214 distributes the index data generated by distributed hashing to the third node cluster so that the analyst can search for and download a desired suspicious file. In addition, DHT, a table for matching original suspicious files searched by index data, can be shared on the blockchain network (1).

한편, 본 발명의 실시예에 따른 스토리지 노드(210)는 전술한 의심파일의 저장 기능 이외에도, 악성코드 분석결과인 분석 리포트를 분산원장(230)에 기록하여 블록체인 네트워크 상에 공개하는 기능을 더 포함할 수 있고, 이를 위해 제3 노드 클러스터에서 요청된 리포트 트랜잭션에 대한 검증 절차를 수행하는 트랜잭션 처리부(216)를 더 포함할 수 있다.On the other hand, the storage node 210 according to the embodiment of the present invention further provides a function of recording an analysis report, which is a result of malicious code analysis, in the distributed ledger 230, and publishing it on the blockchain network, in addition to the storage function of the above-described suspicious file. To this end, a transaction processing unit 216 for performing a verification procedure for a report transaction requested by the third node cluster may be further included.

트랜잭션 처리부(216)는 분석 노드들에서 리포트 트랜잭션이 요청되면, 그 트랜잭션의 검증 절차로서, 블록체인 네트워크(1)에 브로드캐스트하여 이에 참여한 각 노드들에 의한 투표를 진행하고, 투표결과에 따라 일정비율 이상의 동의를 획득한 분석 리포트를 분산원장(230)에 기록할 수 있다. 여기서, 투표 절차는 피드(feed) 형태로 구현된 웹페이지를 통해 이루어질 수 있다.When a report transaction is requested from the analysis nodes, the transaction processing unit 216 broadcasts to the blockchain network 1 to vote by each participating node by broadcasting it to the blockchain network 1 as a verification procedure for the transaction, and schedules according to the voting result. An analysis report that has obtained consent greater than or equal to the ratio may be recorded in the distributed ledger 230. Here, the voting procedure may be performed through a web page implemented in the form of a feed.

또한, 분산원장(230)의 블록에는 합의된 분석 리포트와 그에 대한 댓글과, 투표(Voting)에 참여한 노드의 peer ID 및 public key가 저장될 수 있다. 평점이 높을수록 악성코드 분석 리포트의 신뢰도는 향상되게 된다. In addition, the block of the distributed ledger 230 may store an agreed analysis report, a comment on it, and a peer ID and a public key of a node participating in voting. The higher the rating, the better the reliability of the malware analysis report.

여기서 이용되는 합의 알고리즘으로는 위임 지분 증명 방식이 적용될 수 있고, 그 지분 내역은 시스템 운영측에 의해 결정되어 각 노드에 부여될 수 있다.As the consensus algorithm used here, a delegated stake-proof method may be applied, and the stake details may be determined by the system operator and assigned to each node.

특히, 트랜잭션 처리부(216)는 일정 수준 이상의 동의를 획득한 분석 리포트에 대하여, 해당 분석 노드에 보상에 상응하는 암호화폐를 지급할 수 있다. 이는 분석가의 성과에 대한 대가의 성격을 갖게 된다.In particular, the transaction processing unit 216 may pay a cryptocurrency corresponding to a reward to a corresponding analysis node for an analysis report that has obtained consent of a certain level or higher. This has the character of a price for the analyst's performance.

이하, 도면을 참조하여 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템의 분석 노드를 상세히 설명한다.Hereinafter, an analysis node of a block chain-based malicious code analysis system according to an embodiment of the present invention will be described in detail with reference to the drawings.

도 4는 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템의 분석 노드의 구조를 나타낸 도면이다.4 is a diagram showing the structure of an analysis node of a block chain-based malicious code analysis system according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템의 분석 노드(310)는, 제2 노드 클러스터에 저장중인 복수의 인덱스 데이터를 검색하고, 선택된 인덱스 데이터를 통해 매칭되는 원 의심파일을 전송받는 데이터 검색부(311), 수신한 의심파일 내 악성코드 존재여부를 분석하는 분석툴을 제공하는 분석부(312), 분석툴에 의한 분석결과를 저장하는 작업 저장소(313), 의심파일 내 존재하는 악성코드에 대한 분석 리포트를 생성하는 리포트 생성부(314) 및 리포트 생성부(314)에 의해 생성된 분석 리포트에 대한 마이닝을 위한 리포트 트랜잭션을 제2 노드 클러스터에 요청하는 트랜잭션 요청부(316)을 포함할 수 있다.4, the analysis node 310 of the block chain-based malware analysis system according to an embodiment of the present invention searches for a plurality of index data stored in the second node cluster, and is matched through the selected index data. The data search unit 311 receiving the original suspicious file, the analysis unit 312 providing an analysis tool that analyzes the presence of malicious code in the received suspicious file, the work storage 313 storing the analysis result by the analysis tool, suspicion A report generation unit 314 for generating an analysis report for malicious codes existing in the file and a transaction request unit for requesting a report transaction for mining the analysis report generated by the report generation unit 314 to the second node cluster (316) may be included.

데이터 검색부(311)는 분석자의 입력에 따라 배포된 인덱스 데이터를 이용하여 제2 노드 클러스터에 저장된 하나 이상의 의심파일을 검색할 수 있다. 의심파일은 복수의 스토리지 노드에 분산되어 저장될 수 있고, 데이터 검색부(311)는 DHT를 참조하여 인덱스 데이터에 연관된 원 의심파일을 매칭하여 다운로드 할 수 있다.The data search unit 311 may search for one or more suspicious files stored in the second node cluster by using the index data distributed according to the analyst's input. The suspicious file may be distributed and stored in a plurality of storage nodes, and the data search unit 311 may match and download the original suspicious file associated with the index data by referring to the DHT.

분석부(312)는 수신한 의심파일을 분석할 수 있다. 분석부(312)에 의한 분석절차는 분석가에 의해 수행될 수 있고, 분석부(312)은 의심파일에 포함되는 코드를 표시, 선택, 추출 및 대조 등의 작업을 수행할 수 있는 소정의 분석툴을 제공할 수 있다. 분석가는 분석툴을 통해 프로젝트를 생성하고, 의심파일을 로드(load)하여 분석을 수행할 수 있다.The analysis unit 312 may analyze the received suspicious file. The analysis procedure by the analysis unit 312 may be performed by an analyst, and the analysis unit 312 provides a predetermined analysis tool capable of displaying, selecting, extracting, and collating codes included in the suspicious file. Can provide. Analysts can perform analysis by creating a project through an analysis tool and loading a suspicious file.

작업 저장소(313)는 분석부(312)에 의해 수행되는 의심파일 분석 프로젝트에서 발생하는 결과물을 저장할 수 있다. 분석가는 작업 중인 분석 프로젝트의 결과물을 수시로 작업 저장소(313)에 저장 및 로드하여 지속적으로 작업을 수행할 수 있다.The work storage 313 may store a result generated in a suspicious file analysis project performed by the analysis unit 312. The analyst may store and load the results of the analysis project being worked on in the work storage 313 from time to time to continuously perform the work.

리포트 생성부(314)는 분석작업이 완료된 의심파일에 대한 분석 리포트를 생성할 수 있다. 분석 결과 해당 의심파일에서 악성코드로 추정되는 코드의 발견시, 작업자는 자신의 의견을 반영하여 분석 프로젝트를 완료하면, 리포트 생성부(314)는 전송 및 공유 가능한 형태의 분석 리포트를 생성할 수 있다. The report generation unit 314 may generate an analysis report on the suspicious file for which the analysis work has been completed. As a result of the analysis, when a code suspected of malicious code is found in the suspicious file, the operator reflects his or her opinion and completes the analysis project, and the report generator 314 may generate an analysis report in a form that can be transmitted and shared. .

트랜잭션 요청부(316)는 생성된 분석 리포트에 대한 투표를 진행하고 분산원장에 등록하기 위한 리포트 트랜잭션을 생성하여 블록체인 네트워크(1)에 전송할 수 있다. 분석 리포트가 분산원장에 등록되기 위해서는, 분석자의 분석 노드 자신을 제외한 블록체인 네트워크(1)에 참여하는 복수의 노드로부터 합의 알고리즘에 기반한 검증이 요구되며, 트랜잭션 요청부(316)는 이러한 블록체인 검증을 위한 리포트 트랜잭션을 생성하여 제2 노드 클러스터에 전송하게 된다.The transaction requesting unit 316 may vote on the generated analysis report, generate a report transaction for registration in the distributed ledger, and transmit it to the blockchain network 1. In order for the analysis report to be registered on the distributed ledger, verification based on the consensus algorithm is required from a plurality of nodes participating in the blockchain network (1) excluding the analysis node itself of the analyst, and the transaction request unit 316 verifies such a blockchain. A report transaction is generated for and transmitted to the second node cluster.

이하, 도면을 참조하여 본 발명의 시스템에 의한 블록체인 기반 악성코드 분석 방법을 상세히 설명한다.Hereinafter, a method of analyzing a malicious code based on a block chain by the system of the present invention will be described in detail with reference to the drawings.

도 5는 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 방법을 나타낸 도면이다. 이하의 설명에서 각 단계 및 절차별 실행 주체는, 별도의 기재가 없더라도 본 발명의 수집 노드, 스토리지 노드 및 분석 노드와, 그의 각 구성부가 된다.5 is a diagram showing a method of analyzing a malicious code based on a block chain according to an embodiment of the present invention. In the following description, the execution subject for each step and procedure is a collection node, a storage node, and an analysis node of the present invention, and each component thereof, even if there is no separate description.

본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 방법은, 크게 제1 노드 클러스터가 수집 노드에 탑재된 악성코드 검색 봇을 구동하여 하나 이상의 의심파일을 추출하고, 의심파일을 연결된 블록체인 네트워크로 전송하는 단계, 제2 노드 클러스터가 상기 의심파일을 수신하고, 분산 해싱 절차를 거쳐 인덱스 데이터를 생성하고, 의심파일을 복수의 스토리지 노드에 분산 저장하는 단계, 제3 노드 클러스터가 분석 노드에 의해 상기 복수의 스토리지 노드 중, 어느 하나에 저장된 의심파일을 수신하여 악성코드를 분석하고, 분석결과에 대한 리포트를 생성하여 상기 제2 노드 클러스터에 전송하는 단계 및, 상기 제2 노드 클러스터가 전송된 분석 리포트를 블록체인 네트워크 상에 브로드캐스트하고, 분석 리포트에 대한 투표결과에 따른 합의에 의해 일정수준 이상의 신뢰도를 갖는 분석 리포트를 분산원장에 저장하는 단계로 이루어지며, 이하 도면을 참조하여 각 단계별 수행절차를 상세히 설명한다.In the block chain-based malicious code analysis method according to an embodiment of the present invention, a first node cluster extracts one or more suspicious files by driving a malicious code search bot mounted on a collection node, and transfers the suspicious files to a connected blockchain network. Transmitting, the second node cluster receiving the suspicious file, generating index data through a distributed hashing procedure, and distributedly storing the suspicious file in a plurality of storage nodes, and the third node cluster is performed by the analysis node. Analyzing a malicious code by receiving a suspicious file stored in any one of a plurality of storage nodes, generating a report on the analysis result, and transmitting it to the second node cluster, and an analysis report transmitted by the second node cluster Is broadcast on the blockchain network, and the analysis report with a certain level of reliability is stored in the distributed ledger by consensus according to the result of voting on the analysis report. It will be described in detail.

도 5를 참조하면, 제1 노드 클러스터(100)가 수집 노드에 탑재된 악성코드 검색 봇을 구동하여 하나 이상의 의심파일을 추출하고, 의심파일을 연결된 블록체인 네트워크로 전송하는 단계에서는, 먼저 제1 노드 클러스터(100)가 악성코드 검색 봇을 구동하여 백신 프로그램의 검사결과를 감지하고(S100), 이에 따른 의심파일을 추출하여 제2 노드 클러스터(200)에 전송하게 된다.5, in the step of extracting one or more suspicious files by driving the malicious code search bot mounted on the collection node by the first node cluster 100 and transmitting the suspicious files to the connected blockchain network, first, first The node cluster 100 detects the scan result of the vaccine program by driving the malicious code search bot (S100), extracts a suspicious file accordingly, and transmits it to the second node cluster 200.

다음으로, 제2 노드 클러스터(200)가 상기 의심파일을 수신하고, 분산 해싱 절차를 거쳐 인덱스 데이터를 생성하고, 각 의심파일을 복수의 스토리지 노드에 분산 저장하는 단계에서는, 제2 노드 클러스터(200)가 수신한 의심파일을 분산 해시 테이블(DHT)을 이용하여 분산 해싱을 수행하여 인덱스 데이터를 도출하고 원 의심파일을 각 스토리지 노드에 분산 저장하고(S120), 해싱에 따른 인덱스 데이터를 제3 노드 클러스터(300)에 공개한다(S130).Next, in the step of receiving the suspicious file from the second node cluster 200, generating index data through a distributed hashing procedure, and storing each suspicious file in a plurality of storage nodes, the second node cluster 200 ) Derives the index data by performing distributed hashing of the suspicious file received by the distributed hash table (DHT), and stores the original suspicious file in each storage node (S120), and stores the index data according to the hashing to the third node. It is disclosed to the cluster 300 (S130).

다음으로, 제3 노드 클러스터가 분석 노드에 의해 상기 복수의 스토리지 노드 중, 어느 하나에 저장된 의심파일을 수신하여 악성코드를 분석하고, 분석결과에 대한 분석 리포트를 생성하여 상기 제2 노드 클러스터에 전송하는 단계에서는, 제3 노드 클러스터(300)가 인덱스 데이터를 검색하여(S140), 이와 연계된 하나 이상의 원 의심파일을 추출 및 수신한다(S150).Next, the third node cluster receives the suspicious file stored in any one of the plurality of storage nodes by the analysis node, analyzes the malicious code, generates an analysis report for the analysis result, and transmits it to the second node cluster. In the step of, the third node cluster 300 searches for index data (S140), and extracts and receives one or more original suspicious files associated therewith (S150).

그리고, 제3 노드 클러스터(300)는 수신한 의심파일에 대한 분석을 수행하여 악성코드의 존재여부를 판별하고, 악성코드를 찾아낸 경우 이에 대한 분석 리포트를 생성한다(S170). 또한, 제3 노드 클러스터(300)는 분석 리포트의 분산원장 등록을 위한 리포트 트랜잭션을 제2 노드 클러스터(200)에 요청한다(S180).In addition, the third node cluster 300 performs an analysis on the received suspicious file to determine whether there is a malicious code, and when it finds the malicious code, generates an analysis report thereon (S170). In addition, the third node cluster 300 requests a report transaction for registering the distributed ledger of the analysis report from the second node cluster 200 (S180).

다음으로, 제2 노드 클러스터가 전송된 분석 리포트를 블록체인 네트워크 상에 브로드캐스트하고, 분석 리포트에 대한 투표결과에 따른 합의에 의해 일정수준 이상의 신뢰도를 갖는 분석 리포트를 분산원장에 저장하는 단계에서는, 제2 노드 클러스터가 체인코드를 실행하여 블록체인 네트워크의 참여자들에게 리포트 트랜잭션에 대한 검증을 요청하여 투표를 진행하고(S190), 지분 증명 방식에 기반한 합의에 따른 투표 결과, 기준 이상의 동의를 받은 경우 그 악성코드는 일정 수준 이상의 신뢰도를 갖는 것으로 판단됨에 따라, 제2 노드 클러스터는 그 분석 리포트를 분산원장에 기록하게 된다(S200).Next, in the step of broadcasting the analysis report transmitted by the second node cluster on the blockchain network, and storing the analysis report with a certain level of reliability or higher in the distributed ledger by consensus according to the voting result for the analysis report, When the second node cluster executes the chaincode to request verification of the report transaction from the participants of the blockchain network and proceeds to vote (S190), and the result of voting according to the consensus based on the proof-of-stake method, and consent above the standard is received. As it is determined that the malicious code has a certain level of reliability or higher, the second node cluster records the analysis report in the distributed ledger (S200).

이후, 제2 노드 클러스터(200)는 해당 리포트를 제공한 분석 노드 즉, 분석자에게 성과로서 암호화폐를 지급한다(S210). Thereafter, the second node cluster 200 pays a cryptocurrency as an outcome to the analysis node that provided the report, that is, the analyst (S210).

또한, 분석 리포트의 분산 원장 등록 이후, 제1 노드 클러스터의 수집 노드는 악성코드의 탐지를 위한 시그니처 데이터로서 분석 리포트에 정의된 악성코드 정보를 전송받아 시그니처 저장소를 갱신할 수 있다.In addition, after registering the distributed ledger of the analysis report, the collection node of the first node cluster may update the signature repository by receiving malicious code information defined in the analysis report as signature data for detecting malicious code.

이하, 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템에서 운영하는 분산원장 구조에 대한 일 예를 통해 본 발명의 기술적 사상을 상세히 설명한다.Hereinafter, the technical idea of the present invention will be described in detail through an example of a structure of a distributed ledger operated by a block chain-based malicious code analysis system according to an embodiment of the present invention.

도 6은 본 발명의 실시예에 따른 블록체인 기반 악성코드 분석 시스템의 분산원장의 구조를 예시한 도면이다.6 is a diagram illustrating the structure of a distributed ledger of a block chain-based malicious code analysis system according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 실시예에 따른 악성코드 분석 시스템의 분산원장의 구조, 즉 블록 구조를 나타낸 것으로, 블록체인에서 생성된 첫 번째 블록의 구조를 예시하고 있다.Referring to FIG. 6, the structure of the distributed ledger of the malicious code analysis system according to an embodiment of the present invention, that is, the block structure is shown, and the structure of the first block generated in the block chain is illustrated.

본 발명에서는 주로 자본력이 부족한 악성코드 분석가가 악성코드 샘플을 구하기 위해 참여하며, 분석 완료된 파일은 저장된 스토리지 노드의 peer ID 값과 함께 파일의 메타데이터를 포함한 분석가의 리포트 형태로 블록체인 네트워크의 트랜잭션으로 업로드 될 수 있다.In the present invention, malware analysts who lack capital power mainly participate to obtain malware samples, and the analyzed file is a transaction of the blockchain network in the form of an analyst's report including metadata of the file along with the peer ID value of the stored storage node. Can be uploaded.

블록 안에는 악성코드 분석가의 의견이 담긴 분석 리포트와 그에 대한 댓글이 저장될 수 있다. 또한, 분석 리포트에 대해 투표(Voting)한 노드의 peer ID, public key가 저장된다. 스토리지 노드는 피드형태로 구현된 웹 페이지와 연결되어 분석 리포트를 공개함으로써 투표를 진행할 수 있고, 평점이 높을수록 악성코드 분석 리포트의 신뢰도는 향상되게 된다.In the block, an analysis report containing the opinion of a malicious code analyst and comments on it can be stored. In addition, the peer ID and public key of the node voting for the analysis report are stored. The storage node is connected to a web page implemented in the form of a feed and can conduct voting by publishing an analysis report, and the higher the rating, the higher the reliability of the malicious code analysis report.

상기한 설명에 많은 사항이 구체적으로 기재되어 있으나 이것은 발명의 범위를 한정하는 것이라기보다 바람직한 실시예의 예시로서 해석되어야 한다. 따라서 발명은 설명된 실시예에 의하여 정할 것이 아니고 특허청구범위와 특허청구범위에 균등한 것에 의하여 정하여져야 한다.Although many items are specifically described in the above description, this should be construed as an example of a preferred embodiment rather than limiting the scope of the invention. Therefore, the invention should not be determined by the described embodiments, but should be determined by the claims and equivalents to the claims.

1 : 블록체인 네트워크 100 : 제1 노드 클러스터
110 : 수집 노드 111 : 시그니처 저장소
112 : 백신부 113 : 악성코드 검색 봇
114 : 의심파일 전송부 115 : 시그니처 갱신부
120 : (제1) 체인코드 200 : 제2 노드 클러스터
210 : 스토리지 노드 211: 의심파일 접수부
212 : 분산 해싱부 213 : 분산 데이터 저장소
214 : 데이터 배포부 216 : 트랜잭션 처리부
220 : (제2) 체인코드 230 : 분산원장
300 : 제3 노드 클러스터 310 : 분석 노드
311 : 데이터 검색부 312 : 분석부
313 : 작업 저장소 314 : 리포트 생성부
316 : 트랜잭션 요청부 320 : (제3) 체인코드
1: Blockchain network 100: 1st node cluster
110: collection node 111: signature storage
112: vaccine unit 113: malicious code search bot
114: suspicious file transmission unit 115: signature update unit
120: (1st) chain code 200: second node cluster
210: storage node 211: suspicious file reception unit
212: distributed hashing unit 213: distributed data storage
214: data distribution unit 216: transaction processing unit
220: (2) chain code 230: distributed ledger
300: third node cluster 310: analysis node
311: data search unit 312: analysis unit
313: job storage 314: report generation unit
316: transaction request unit 320: (third) chain code

Claims (12)

탑재된 악성코드 검색 봇을 통해 감지된 하나 이상의 의심파일을 추출하고, 상기 의심파일을 연결된 블록체인 네트워크로 전송하는 복수의 수집 노드를 포함하는 제1 노드 클러스터;
상기 의심파일을 수신하여 분산 해싱 절차를 거쳐 자신 또는 동일 노드 클러스터에 속하는 노드에 전송하여 분산 저장하는 복수의 스토리지 노드를 포함하는 제2 노드 클러스터; 및
상기 복수의 스토리지 노드 중, 어느 하나에 저장된 의심파일을 수신하여 악성코드를 분석하고, 분석결과에 대한 분석 리포트를 생성하여 상기 제2 노드 클러스터에 전송하는 복수의 분석 노드를 포함하는 제3 노드 클러스터를 포함하고,
상기 제2 노드 클러스터는,
전송된 분석 리포트를 블록체인 네트워크 상에 브로드캐스트하고, 분석 리포트에 대한 투표에 따른 합의에 의해 일정수준 이상의 신뢰도를 갖는 분석 리포트를 분산원장에 저장하고,
상기 수집 노드는,
악성코드를 선별하는 복수의 시그니처 데이터가 저장된 시그니처 저장소;
프로세스에 포함된 복수의 명령어를 상기 시그니처 데이터와 대조하여 악성코드의 존재여부를 판단하는 백신부;
상기 백신부에 의해 악성코드의 존재여부가 검사된 파일 중, 정의된 딥 러닝 기반 학습모델을 이용하여 하나 이상의 의심파일을 추출하는 악성코드 검색 봇; 및
추출된 의심파일을 블록체인 네트워크에 전송하는 의심파일 전송부를 포함하고,
상기 스토리지 노드는,
상기 제1 노드 클러스터로부터 전송되는 의심파일을 수신하는 의심파일 접수부;
수신된 의심파일에 대하여 분산 해시 테이블을 참조하여 해싱을 통해 복수의 인덱스 데이터를 생성하는 분산 해싱부;
상기 인덱스 데이터에 매칭되는 의심파일 중, 일부를 저장하는 분산 데이터 저장소; 및
상기 인덱스 데이터를 상기 제3 노드 클러스터에 제공하는 데이터 배포부를 포함하고,
상기 분석 노드는,
상기 제2 노드 클러스터에 저장중인 복수의 인덱스 데이터를 검색하고, 선택된 인덱스 데이터를 통해 매칭되는 원 의심파일을 전송받는 데이터 검색부;
수신한 의심파일 내 악성코드 존재여부를 분석하는 분석툴을 제공하는 분석부;
상기 분석툴에 의한 분석결과를 저장하는 작업 저장소; 및
상기 의심파일 내 존재하는 악성코드에 대한 분석 리포트를 생성하는 리포트 생성부를 포함하는 블록체인 기반 악성코드 분석 시스템.
A first node cluster including a plurality of collection nodes for extracting one or more suspicious files detected through the mounted malicious code search bot and transmitting the suspicious files to a connected blockchain network;
A second node cluster including a plurality of storage nodes for receiving the suspicious file and transmitting it to a node belonging to the same node cluster through a distributed hashing procedure and storing it in a distributed manner; And
A third node cluster including a plurality of analysis nodes for receiving a suspicious file stored in any one of the plurality of storage nodes, analyzing a malicious code, generating an analysis report for the analysis result, and transmitting it to the second node cluster Including,
The second node cluster,
The transmitted analysis report is broadcast on the blockchain network, and the analysis report with a certain level of reliability or higher is stored in the distributed ledger by consensus by voting on the analysis report,
The collection node,
A signature storage storing a plurality of signature data for selecting malicious codes;
A vaccine unit that checks a plurality of commands included in a process with the signature data to determine whether or not a malicious code exists;
A malicious code search bot that extracts one or more suspicious files using a defined deep learning-based learning model from among files checked for the presence of malicious codes by the anti-virus unit; And
Including a suspicious file transmission unit that transmits the extracted suspicious files to the blockchain network,
The storage node,
A suspicious file receiving unit for receiving a suspicious file transmitted from the first node cluster;
A distributed hashing unit for generating a plurality of index data through hashing with reference to a distributed hash table for the received suspicious file;
A distributed data storage for storing some of the suspicious files matching the index data; And
A data distribution unit for providing the index data to the third node cluster,
The analysis node,
A data search unit that searches a plurality of index data stored in the second node cluster and receives a matching original suspicious file through the selected index data;
An analysis unit that provides an analysis tool for analyzing the presence of malicious code in the received suspicious file;
A work storage for storing the analysis result by the analysis tool; And
Blockchain-based malicious code analysis system comprising a report generation unit that generates an analysis report for the malicious code existing in the suspicious file.
삭제delete 제 1 항에 있어서,
상기 수집 노드는,
상기 분산원장에 기록된 하나 이상의 보고서에 정의된 악성코드가 일정 수준 이상의 평점을 받은 경우, 추출하여 시그니처 데이터로서 상기 시그니처 저장소에 저장하는 시그니처 갱신부
를 더 포함하는 블록체인 기반 악성코드 분석 시스템.
The method of claim 1,
The collection node,
A signature update unit that extracts and stores the malicious code defined in one or more reports recorded in the distributed ledger in the signature storage as signature data when it has received a rating of a certain level or higher
Blockchain-based malicious code analysis system further comprising a.
삭제delete 제 1 항에 있어서,
상기 스토리지 노드는,
상기 분석 노드로부터 리포트 검증을 위한 트랜잭션이 요청되면, 투표를 진행하고 위임 지분 증명 방식에 기반한 합의에 따라 분산원장에 기록하는 트랜잭션 처리부
를 포함하는 블록체인 기반 악성코드 분석 시스템.
The method of claim 1,
The storage node,
When a transaction for report verification is requested from the analysis node, a transaction processing unit that proceeds with voting and records it in the distributed ledger according to the consensus based on the delegated proof-of-stake method.
Blockchain-based malware analysis system including a.
제 5 항에 있어서,
상기 트랜잭션 처리부는,
일정 수준 이상의 동의를 획득한 분석 리포트에 대하여, 해당 분석 노드에 보상에 상응하는 암호화폐를 지급하는 블록체인 기반 악성코드 분석 시스템.
The method of claim 5,
The transaction processing unit,
Blockchain-based malware analysis system that pays a cryptocurrency corresponding to a reward to the analysis node for analysis reports that have obtained a certain level of consent.
삭제delete 제 1 항에 있어서,
상기 분석 노드는,
상기 리포트 생성부에 의해 생성된 분석 리포트에 대한 마이닝을 위한 리포트 트랜잭션을 상기 제2 노드 클러스터에 요청하는 트랜잭션 요청부
를 더 포함하는 블록체인 기반 악성코드 분석 시스템.
The method of claim 1,
The analysis node,
A transaction request unit for requesting a report transaction for mining the analysis report generated by the report generation unit to the second node cluster
Blockchain-based malicious code analysis system further comprising a.
청구항 1에 기재된 제1 내지 제3 노드 클러스터에 의한 블록체인 기반 악성코드 분석 방법으로서,
제1 노드 클러스터가 수집 노드에 탑재된 악성코드 검색 봇을 구동하여 하나 이상의 의심파일을 추출하고, 의심파일을 연결된 블록체인 네트워크로 전송하는 단계;
제2 노드 클러스터가 상기 의심파일을 수신하고, 분산 해싱 절차를 거쳐 각 의심파일을 복수의 스토리지 노드에 분산 저장하는 단계;
제3 노드 클러스터가 분석 노드에 의해 상기 복수의 스토리지 노드 중, 어느 하나에 저장된 의심파일을 수신하여 악성코드를 분석하고, 분석결과에 대한 분석 리포트를 생성하여 상기 제2 노드 클러스터에 전송하는 단계; 및
상기 제2 노드 클러스터가 전송된 분석 리포트를 블록체인 네트워크 상에 브로드캐스트하고, 분석 리포트에 대한 투표결과에 따른 합의에 의해 일정수준 이상의 신뢰도를 갖는 분석 리포트를 분산원장에 저장하는 단계를 포함하고,
상기 제1 노드 클러스터가 수집 노드에 탑재된 악성코드 검색 봇을 구동하여 하나 이상의 의심파일을 추출하고, 의심파일을 연결된 블록체인 네트워크로 전송하는 단계는,
프로세스에 포함된 복수의 명령어를, 악성코드를 선별하는 복수의 시그니처 데이터와 대조하여 악성코드의 존재여부를 판단하는 단계;
악성코드 검색 봇을 통해 악성코드가 존재하지 않는 프로세스와 연결된 파일 중, 정의된 딥 러닝 기반 학습모델을 이용하여 하나 이상의 의심파일을 추출하는 단계;
추출된 의심파일을 블록체인 네트워크에 전송하는 단계; 및
상기 분산원장에 기록된 하나 이상의 보고서에 정의된 악성코드가 일정 수준 이상의 평점을 받은 경우, 추출하여 시그니처 데이터로서 저장하는 단계를 포함하고,
상기 제2 노드 클러스터가 상기 의심파일을 수신하고, 분산 절차를 거쳐 각 의심파일을 복수의 스토리지 노드에 분산 저장하는 단계는,
상기 제1 노드 클러스터로부터 전송되는 의심파일을 수신하는 단계;
수신된 의심파일에 대하여 분산 해시 테이블을 참조하여 해싱을 통해 복수의 인덱스 데이터를 생성하는 단계;
상기 인덱스 데이터에 매칭되는 의심파일을 각 스토리지 노드에 저장하는 단계;
상기 인덱스 데이터를 상기 제3 노드 클러스터에 제공하는 단계;
상기 분석 노드로부터 리포트 검증을 위한 트랜잭션이 요청되면, 투표를 진행하고 위임 지분 증명 방식에 기반한 합의에 따라 분산원장에 기록하는 단계; 및
일정 수준 이상의 동의를 획득한 분석 리포트에 대하여, 해당 분석 노드에 보상에 상응하는 암호화폐를 지급하는 단계를 포함하고,
상기 제2 노드 클러스터가 전송된 분석 리포트를 블록체인 네트워크 상에 브로드캐스트하고, 분석 리포트에 대한 투표결과에 따른 합의에 의해 일정수준 이상의 신뢰도를 갖는 분석 리포트를 분산원장에 저장하는 단계는,
상기 제2 노드 클러스터에서 공개중인 복수의 인덱스 데이터를 검색하고, 선택된 인덱스 데이터를 통해 매칭되는 원 의심파일을 전송받는 단계;
수신한 의심파일 내 악성코드 존재여부를 분석하는 분석툴을 제공하는 단계;
상기 분석툴에 의한 분석결과를 저장하는 단계;
상기 의심파일 내 존재하는 악성코드에 대한 분석 리포트를 생성하는 단계; 및
생성된 분석 리포트에 대한 마이닝을 위한 리포트 트랜잭션을 상기 제2 노드 클러스터에 요청하는 단계를 포함하는 블록체인 기반 악성코드 분석 방법.
As a method for analyzing a block chain-based malicious code using the first to third node clusters according to claim 1,
Extracting one or more suspicious files by driving a malicious code search bot mounted on the collection node by the first node cluster, and transmitting the suspicious files to a connected blockchain network;
Receiving, by a second node cluster, the suspicious file, and storing each suspicious file in a plurality of storage nodes through a distributed hashing procedure;
Receiving, by the analysis node, a suspicious file stored in any one of the plurality of storage nodes, analyzing the malicious code, generating an analysis report on the analysis result, and transmitting it to the second node cluster; And
Broadcasting the analysis report transmitted by the second node cluster on the blockchain network, and storing the analysis report having a certain level of reliability or higher in a distributed ledger by consensus according to a voting result for the analysis report,
The step of extracting one or more suspicious files by the first node cluster driving a malicious code search bot mounted on the collection node, and transmitting the suspicious files to a connected blockchain network,
Determining whether a malicious code exists by comparing a plurality of instructions included in the process with a plurality of signature data for selecting malicious codes;
Extracting one or more suspicious files using a defined deep learning-based learning model from among files connected to a process in which the malicious code does not exist through a malicious code search bot;
Transmitting the extracted suspicious file to a blockchain network; And
If the malicious code defined in one or more reports recorded in the distributed ledger receives a rating of a certain level or higher, extracting and storing it as signature data,
The step of receiving, by the second node cluster, the suspicious file, and distributedly storing each suspicious file in a plurality of storage nodes through a distribution procedure,
Receiving a suspicious file transmitted from the first node cluster;
Generating a plurality of index data through hashing with reference to the distributed hash table for the received suspicious file;
Storing a suspicious file matching the index data in each storage node;
Providing the index data to the third node cluster;
When a transaction for report verification is requested from the analysis node, voting is performed and recording in a distributed ledger according to a consensus based on a delegated stake verification method; And
For an analysis report that has obtained consent of a certain level or higher, providing a cryptocurrency corresponding to a reward to the corresponding analysis node,
The step of broadcasting the analysis report transmitted by the second node cluster on the blockchain network, and storing the analysis report having a certain level of reliability or higher in the distributed ledger by consensus according to the result of voting on the analysis report,
Searching for a plurality of index data being published in the second node cluster, and receiving a matching original suspicious file through the selected index data;
Providing an analysis tool for analyzing the presence of malicious code in the received suspicious file;
Storing the analysis result by the analysis tool;
Generating an analysis report for the malicious code existing in the suspicious file; And
Blockchain-based malware analysis method comprising the step of requesting a report transaction for mining the generated analysis report to the second node cluster.
삭제delete 삭제delete 삭제delete
KR1020200027020A 2020-03-04 2020-03-04 System and method for analyzing alamalicious code based on blockchain KR102222804B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200027020A KR102222804B1 (en) 2020-03-04 2020-03-04 System and method for analyzing alamalicious code based on blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200027020A KR102222804B1 (en) 2020-03-04 2020-03-04 System and method for analyzing alamalicious code based on blockchain

Publications (1)

Publication Number Publication Date
KR102222804B1 true KR102222804B1 (en) 2021-03-04

Family

ID=75174800

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200027020A KR102222804B1 (en) 2020-03-04 2020-03-04 System and method for analyzing alamalicious code based on blockchain

Country Status (1)

Country Link
KR (1) KR102222804B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022215862A1 (en) * 2021-04-05 2022-10-13 주식회사 헤세그 Method for determining on-chain governance of blockchain system
KR102503987B1 (en) * 2022-01-25 2023-02-27 차라투 주식회사 System providing data analysis services based on block chain and method of operation of system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120078017A (en) * 2010-12-31 2012-07-10 주식회사 안랩 Cloud computing-based system for supporting analysis of malicious code and analyst terminal using the same
KR101400680B1 (en) 2013-03-12 2014-05-29 주식회사 윈스 System of automatically collecting malignant code
KR101880686B1 (en) * 2018-02-28 2018-07-20 에스지에이솔루션즈 주식회사 A malware code detecting system based on AI(Artificial Intelligence) deep learning
KR20190070681A (en) * 2017-12-13 2019-06-21 건국대학교 산학협력단 A method and apparatus for preventing ransomware using blockchain
KR102060428B1 (en) * 2019-02-21 2019-12-30 주식회사 모파스 Internet Content Control System Using Block Chain

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120078017A (en) * 2010-12-31 2012-07-10 주식회사 안랩 Cloud computing-based system for supporting analysis of malicious code and analyst terminal using the same
KR101400680B1 (en) 2013-03-12 2014-05-29 주식회사 윈스 System of automatically collecting malignant code
KR20190070681A (en) * 2017-12-13 2019-06-21 건국대학교 산학협력단 A method and apparatus for preventing ransomware using blockchain
KR101880686B1 (en) * 2018-02-28 2018-07-20 에스지에이솔루션즈 주식회사 A malware code detecting system based on AI(Artificial Intelligence) deep learning
KR102060428B1 (en) * 2019-02-21 2019-12-30 주식회사 모파스 Internet Content Control System Using Block Chain

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022215862A1 (en) * 2021-04-05 2022-10-13 주식회사 헤세그 Method for determining on-chain governance of blockchain system
KR102503987B1 (en) * 2022-01-25 2023-02-27 차라투 주식회사 System providing data analysis services based on block chain and method of operation of system
WO2023145984A1 (en) * 2022-01-25 2023-08-03 차라투 주식회사 System for providing data analysis services on basis of blockchain, and system operation method

Similar Documents

Publication Publication Date Title
Aliero et al. An algorithm for detecting SQL injection vulnerability using black-box testing
Taylor et al. A systematic literature review of blockchain cyber security
CN105868635B (en) Method and apparatus for coping with Malware
CN103023983B (en) For the system of the process of distributed computer safe task
WO2021076457A1 (en) Continuous vulnerability management system for blockchain smart contract based digital asset using sandbox and artificial intelligence
Lindorfer et al. AndRadar: fast discovery of android applications in alternative markets
KR101584123B1 (en) System and method of search validation
CN110674140B (en) Block chain-based content processing method, device, equipment and storage medium
CN109684836A (en) Use the system and method for housebroken machine learning model detection malicious file
KR102222804B1 (en) System and method for analyzing alamalicious code based on blockchain
Wagner et al. Problem characterization and abstraction for visual analytics in behavior-based malware pattern analysis
CN111415163A (en) Service processing and verifying method, system and verifying node based on block chain
CN108154048B (en) Asset information processing method and device
CN112307374A (en) Jumping method, device and equipment based on backlog and storage medium
JP2019505865A (en) Method for detecting web tracking service
Alghazwi et al. Blockchain for genomics: a systematic literature review
US20100262837A1 (en) Systems And Methods For Personal Digital Data Ownership And Vaulting
Bibiano et al. Look ahead! revealing complete composite refactorings and their smelliness effects
Karkallis et al. Detecting video-game injectors exchanged in game cheating communities
Song et al. Why blockchain needs graph: A survey on studies, scenarios, and solutions
O’Kane Detecting patterns in the Ethereum transactional data using unsupervised learning
Kaksonen et al. 100 popular open-source infosec tools
Squire Forge++: The changing landscape of FLOSS development
Al‐Masri et al. WSB: a broker‐centric framework for quality‐driven web service discovery
Balan et al. Ekila: synthetic media provenance and attribution for generative art

Legal Events

Date Code Title Description
GRNT Written decision to grant