KR20220053402A - 블록체인 네트워크의 공격 패킷 탐지 방법 - Google Patents

블록체인 네트워크의 공격 패킷 탐지 방법 Download PDF

Info

Publication number
KR20220053402A
KR20220053402A KR1020200137843A KR20200137843A KR20220053402A KR 20220053402 A KR20220053402 A KR 20220053402A KR 1020200137843 A KR1020200137843 A KR 1020200137843A KR 20200137843 A KR20200137843 A KR 20200137843A KR 20220053402 A KR20220053402 A KR 20220053402A
Authority
KR
South Korea
Prior art keywords
block
attack packet
information
transaction sequence
hash value
Prior art date
Application number
KR1020200137843A
Other languages
English (en)
Other versions
KR102400362B1 (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 KR1020200137843A priority Critical patent/KR102400362B1/ko
Publication of KR20220053402A publication Critical patent/KR20220053402A/ko
Application granted granted Critical
Publication of KR102400362B1 publication Critical patent/KR102400362B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 일 실시예에 따른 채굴 노드 및 검증 노드가 포함된 블록체인 네트워크의 공격 패킷 탐지 방법에 있어서, 상기 채굴 노드가 제1 블록을 생성하는 단계로서, 상기 제1 블록을 생성하는 단계는: 제1 트랜잭션 시퀀스를 수신하는 단계; Byte-SPRT(Sequential Probability Ratio Test) 기법을 기반으로 상기 제1 트랜잭션 시퀀스 내의 공격 패킷을 탐지하는 단계; 상기 공격 패킷이 탐지된 경우, 상기 제1 트랜잭션 시퀀스를 이용하여 상기 제1 블록을 생성하는 단계; 상기 제1 블록에 대한 제1 블록 해시(hash) 값을 계산 및 저장하는 단계; 및 상기 제1 블록 및 상기 제1 트랜잭션 시퀀스의 식별 정보가 포함된 제1 정보를 브로드캐스트하는 단계; 를 포함함, 상기 검증 노드가 상기 제1 정보를 수신하는 단계로서, 상기 제1 정보를 수신하는 단계는: 상기 제1 정보를 수신하는 단계; 상기 제1 정보를 기반으로 상기 제1 블록에 포함된 상기 제1 트랜잭션 시퀀스를 검색하는 단계; 검색된 제1 트랜잭션 시퀀스에 대하여 상기 Byte-SPRT 기법을 기반으로 상기 공격 패킷을 탐지하는 단계; 상기 공격 패킷이 탐지된 경우, 상기 제1 블록의 상기 제1 블록 해시 값을 계산 및 저장하는 단계; 및 상기 제1 블록에 대한 블록 검증 작업을 수행하지 않고, 상기 제1 블록을 블록체인에 추가하지 않는 단계; 를 포함할 수 있다.

Description

블록체인 네트워크의 공격 패킷 탐지 방법{A blockchain network attack packet detection method}
본 명세서는 블록체인 네트워크의 공격 패킷 탐지 방법 및 이를 위한 장치를 제안한다.
공격자가 대상 시스템의 정상적인 코드(예를 들어, library, instruction gadget)들을 재사용하여 코드 재사용 공격 패킷을 생성하고, 대상 시스템의 취약점을 이용하여 코드 재사용 공격 패킷을 대상 시스템에 주입하고 대상 시스템 내에서 악성 행위를 수행하게 만드는 것이 코드 재사용 공격이다. 공격자는 대상 시스템의 libc 코드 또는 instruction gadget 코드들의 주소들을 연결해서 코드 재사용 공격 패킷을 생성한다. 여기서 instruction gadget은 명령어들의 시퀀스에 해당한다.
코드 재사용 공격 패킷이 대상 시스템의 메모리에 주입되면, 코드 재사용 공격 패킷은 대상 시스템의 취약점에 의해 대상 시스템에 저장된 libc 코드 또는 instruction gadget 코드들의 주소들로 인식되어 대상 시스템 내에서 실행되며, 그 결과 악성 행위가 수행된다.
따라서, 공격자는 악성 코드를 별도로 제작하여 대상 시스템에 삽입하는 방식으로 악성 행위를 수행하지 않고, 코드 재사용 공격을 통해 대상 시스템에 이미 내장된 정상적인 명령어들을 재사용하여 대상 시스템 안에서 악성 행위를 수행하게 된다. 이러한 특징 때문에, 코드 재사용 공격은 기존의 코드 삽입 공격보다 더 효과적이며 위협적인 공격으로 인식되어 최근에 다양한 탐지 기법이 연구자들에 의해 제안되었다.
연구자들에 의해 제안된 대부분의 탐지 기법은 시스템 기반의 탐지 기법이며, 그 중 산업용 IoT(Internet of Things) 기기에서 확률적 네트워크 패킷 검사를 통한 코드 재사용 공격 탐지 기법에 관한 "Efficient and Robust Detection of Code-Reuse Attacks Through Probabilitic Packet Inspection in Industrial IoT Devices"라는 논문이 2018년도 IEEE Access 저널에 게재된 바 있다.
본 논문에 제안된 탐지 기법은, 확률적 네트워크 패킷 검사를 통하여 코드 재사용 공격을 탐지하는 기법인데, 기존의 시스템 기반 탐지 기법보다 먼저 코드 재사용 공격을 탐지할 수 있다는 장점이 있다. 즉, 상기 논문에 제안된 기법에 따를 때, 코드 재사용 패킷이 시스템에 피해를 주기 전 선제적으로 네트워크 레벨에서 코드 재사용 공격을 탐지할 수 있다는 장점이 있다. 또한, 확률적 방식과 SPRT(Sequential Probability Ratio Test)를 사용하여 산업용 IoT 기기의 자원을 비교적 적게 소비하면서 효율적으로 코드 재사용 공격을 탐지할 수 있다는 장점이 있다.
본 명세서는 상기 논문에 게재된 확률적 네트워크 패킷 검사 기법을 블록체인 기반의 IoT에 응용하여, 블록체인 네트워크에서의 코드 재사용 공격을 효율적으로 탐지하고자 함이 목적이다.
본 발명의 일 실시예에 따른 채굴 노드 및 검증 노드가 포함된 블록체인 네트워크의 공격 패킷 탐지 방법에 있어서, 상기 채굴 노드가 제1 블록을 생성하는 단계로서, 상기 제1 블록을 생성하는 단계는: 제1 트랜잭션 시퀀스를 수신하는 단계; Byte-SPRT(Sequential Probability Ratio Test) 기법을 기반으로 상기 제1 트랜잭션 시퀀스 내의 공격 패킷을 탐지하는 단계; 상기 공격 패킷이 탐지된 경우, 상기 제1 트랜잭션 시퀀스를 이용하여 상기 제1 블록을 생성하는 단계; 상기 제1 블록에 대한 제1 블록 해시(hash) 값을 계산 및 저장하는 단계; 및 상기 제1 블록 및 상기 제1 트랜잭션 시퀀스의 식별 정보가 포함된 제1 정보를 브로드캐스트하는 단계; 를 포함함, 상기 검증 노드가 상기 제1 정보를 수신하는 단계로서, 상기 제1 정보를 수신하는 단계는: 상기 제1 정보를 수신하는 단계; 상기 제1 정보를 기반으로 상기 제1 블록에 포함된 상기 제1 트랜잭션 시퀀스를 검색하는 단계; 검색된 제1 트랜잭션 시퀀스에 대하여 상기 Byte-SPRT 기법을 기반으로 상기 공격 패킷을 탐지하는 단계; 상기 공격 패킷이 탐지된 경우, 상기 제1 블록의 상기 제1 블록 해시 값을 계산 및 저장하는 단계; 및 상기 제1 블록에 대한 블록 검증 작업을 수행하지 않고, 상기 제1 블록을 블록체인에 추가하지 않는 단계; 를 포함할 수 있다.
본 발명의 일 실시예에 따를 때, 코드 재사용 패킷이 시스템에 피해를 주기 전에 선제적으로 네트워크 레벨에서 코드 재사용 공격의 탐지가 가능하므로, 블록체인 네트워크의 자원을 최소한으로 소비하면서 효율적으로 코드 재사용 공격 패킷을 탐지할 수 있다는 효과가 있다.
또한, 본 발명의 일 실시예에 따를 때, 블록체인 기반 네트워크에 특화된 효율적인 코드 재사용 공격 탐지 기법이 제안된다는 효과가 있다. 나아가, 본 발명의 일 실시예예 따를 때, 코드 재사용 공격 탐지 기법의 기술 영역이 확장된다는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 블록체인 네트워크를 예시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 공격 패킷 탐지 방법을 예시한 순서도이다.
도 3은 본 발명의 일 실시예에 따라 제1 블록 해시 값 및 Byte-SPRT 기법을 이용하여 공격 패킷을 탐지하는 실시예에 관한 순서도이다.
도 4는 본 발명의 일 실시예에 따라 공격 패킷이 탐지되지 않은 경우에 있어서 블록체인 네트워크 시스템의 동작에 관한 순서도이다.
도 5는 본 발명의 일 실시예에 따른 블록체인 노드의 블록도이다.
이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. 예를 들어, 'A 및/또는 B'는 'A 또는 B 중 적어도 하나'의 의미로 해석될 수 있다. 또한, '/'는 '및' 또는 '또는'으로 해석될 수 있다.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.
도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 블록체인 네트워크를 예시한 도면이다.
도 1을 참조하면, 블록체인 네트워크(100)는 복수의 블록체인 노드들(110-1~110-N)로 구성될 수 있다. 블록체인 노드(110-1~110-N)는 블록체인 네트워크(100)를 구성하는 IoT 기기로서, 크게 채굴 작업에 참여하는 채굴(mining) 노드, 채굴된 블록의 검증 작업을 수행하는 검증(verification) 노드로 구분될 수 있다. 특히, 채굴 노드는 다수의 트랜잭션들을 하나의 블록으로 구성하여 블록 채굴 작업을 수행할 수 있으며, 채굴한 블록을 블록체인 네트워크(100)에 포함된 다른 블록체인 노드들에게 브로드캐스트할 수 있다. 검증 노드는 채굴 노드로부터 수신한 블록에 대하여 작업 증명(Proof of Work) 메커니즘을 기반으로 검증 작업을 수행하며, 검증이 완료된 블록만 선택적으로 블록 체인에 추가할 수 있다. 보다 상세하게는, 검증 노드는 트랜잭션이 포함된 블록의 블록 해시 값이 기설정된 해시 값보다 작은지 여부를 기초로 검증 작업을 수행하며, 블록 해시 값이 기설정된 해시 값보다 작다고 판단되는 경우에만 검증을 완료할 수 있다.
트랜잭션(transaction)은 하나의 블록체인 노드가 다른 블록체인 노드로 전송하는 IoT 관련 데이터를 통칭하며, 블록의 구성 요소로서 블록에 포함되어 블록체인 네트워크(100)로 브로드캐스트될 수 있다.
블록체인 네트워크(100) 내에, 공격자에 의해 제어되며 코드 재사용 공격을 수행하는 공격 노드가 생성될/존재할 수 있으며, 이러한 공격 노드에 의해 공격받는 공격 대상 노드가 존재할 수 있다. 공격 노드는 공격 대상 노드로 코드 재사용 공격 패킷(즉, 악성 코드)이 포함된 트랜잭션을 전송함으로써 공격 대상 노드에 대한 공격을 수행할 수 있다. 공격 대상 노드는 앞서 상술한 채굴 노드 및/또는 검증 노드가 될 수 있다.
본 명세서에서는 이러한 공격 노드로부터 전송된 코드 재사용 공격 패킷(이하, '공격 패킷'이라 지칭)을 탐지하기 위한 방법에 대해 제안하고자 한다.
도 2는 본 발명의 일 실시예에 따른 공격 패킷 탐지 방법을 예시한 순서도이다.
본 순서도는 채굴 노드 및 검증 노드에 의해 수행될 수 있다. 따라서, 본 공격 패킷 탐지 방법은 전체적으로 블록체인 네트워크 시스템의 공격 패킷 탐지 방법으로 볼 수 있다. 본 실시예는 크게 채굴 노드에 의한 제1 블록 생성 단계 및 검증 노드에 의한 제1 정보 수신 단계로 나뉠 수 있다. 이하에서는 상기 단계별 채굴/검증 노드에 의한 구체적인 수행 동작에 대해 상세히 후술한다.
우선, 채굴 노드의 제1 블록 생성 단계의 구체적인 동작에 대해 설명한다.
채굴 노드는 제1 트랜잭션 시퀀스를 수신할 수 있다(S210). 트랜잭션 시퀀스는 복수의 트랜잭션들의 나열(예를 들어, {T_k, T_(k+1), ..., T_(k+p-1)}, 1<=k<=n-p+1)을 의미하며, 이러한 트랜잭션 시퀀스 내에 공격 패킷이 삽입되어 채굴 노드로 전송될 수 있다.
다음으로, 채굴 노드는 Byte-SPRT 기법을 기반으로 제1 트랜잭션 시퀀스 내의 공격 패킷을 탐지할 수 있다(S220). 여기서 Byte-SPRT 기법은, IEEE Access 2018에 게재된 "Efficient and Robust Detection of Code-Reuse Attacks Through Probabilitic Packet Inspection in Industrial IoT Devices" 논문에서 제안된 기법으로, IoT 센서 데이터 패킷들의 시퀀스의 값이 사전에 설정된 공격 패킷 시퀀스 인식 범위에 포함되는 경우가 임의로 설정된 횟수 이상으로 발생하는 경우, 공격 패킷을 탐지하는 기법에 해당한다. 보다 상세하게는, 코드 재사용 공격에 사용되는 공격 패킷들의 값은 기본적으로 대상 시스템에 저장된 명령어들의 주소로 볼 수 있으며, 대상 시스템의 명령어 주소 체계에 따라 설정된 명령어들의 주소 범위를 알 수 있기 때문에, 그에 따라 코드 재사용 공격 패킷들의 값의 범위(즉, 주소 범위)도 알 수 있어 이를 이용하여 공격 패킷의 탐지가 가능한 것이다.
만일, 채굴 노드가 Byte-SPRT 기법을 기반으로 제1 트랜잭션 시퀀스 내의 공격 패킷을 탐지한 경우, 제2 트랜잭션 시퀀스를 이용하여 제1 블록을 생성할 수 있다(S230). 나아가, 채굴 노드는 생성한 제1 블록에 대한 제1 블록 해시(hash) 값을 계산하여 저장할 수 있다(S240). 제1 블록 해시 값은, 제1 블록의 블록 헤더 값이 해쉬 함수에 입력된 경우, 출력 값으로서 도출될 수 있다.
마지막으로, 채굴 노드는 제1 블록 및 제1 트랜잭션 시퀀스의 식별 정보가 포함된 제1 정보를 블록체인 네트워크에 브로드캐스트할 수 있다(S250). 제1 트랜잭션 시퀀스의 식별 정보는 제1 트랜잭션 시퀀스에 포함된 트랜잭션별 식별자 집합에 해당할 수 있다. 예를 들어, 제1 트랜잭션 시퀀스 내에 p개의 트랜잭션 {T_k, T_(k+1), ..., T_(k+p-1)}이 존재하는 경우, 채굴 노드는 제1 트랜잭션 시퀀스의 식별 정보로서 {ID_k, ID_(k+1), ..., ID_(k+p-1)}(즉, p개의 식별자(ID))를 브로드캐스트할 수 있다.
제1 정보가 채굴 노드로부터 정상적으로 생성되어 전송된 정보가 맞는지 확인할 수 있도록, 제1 정보에는 채굴 노드의 서명 및 공공 키 정보가 추가로 포함될 수 있다. 보다 상세하게는, 제1 정보에는 제1 블록(B) 및 제1 트랜잭션 시퀀스의 식별 정보 외에, 다음의 정보를 추가로 포함할 수 있다:
- 비밀 키(private key)를 이용하여, 제1 트랜잭션 시퀀스의 식별 정보와 제1 블록에 대하여 생성된 채굴 노드의 서명(Sig_m)
- 채굴 노드의 공공 키(Public key)(PK_m)
이 경우, 제1 정보는 [ID_k, ID_(k+1), ..., ID_(k+p-1) || B || Sig_m || PKm]와 같은 형식/포맷으로 브로드캐스트될 수 있다. 서명은 비밀키를 이용한 일반적인 서명 방식이 사용될 수 있으며, 예를 들어 채굴 노드는 해시를 생성한 후 비밀 키로 해시 값을 암호화함으로써 서명을 수행할 수 있다.
다음은 검증 노드의 제1 정보를 수신하는 단계의 구체적인 동작에 대해 설명한다.
검증 노드는, 채굴 노드로부터 브로드캐스트된 제1 정보를 수신할 수 있다(S260). 검증 노드는 수신한 제1 정보의 형식/포맷을 인식함으로써 제1 트랜잭션 시퀀스에 공격 패킷이 포함되어 있는지 여부를 간접적으로 판단할 수 있다. 보다 상세하게는, 제1 정보에 제1 트랜잭션 시퀀스의 식별 정보가 포함되어 있음을 인식한 경우, 검증 노드는 제1 트랜잭션 시퀀스에 공격 패킷이 포함되어 있는 것으로 인식할 수 있다.
나아가, 본 순서도에는 도시하지 않았으나, 제1 정보에 채굴 노드의 서명 및 공공 키가 추가로 포함되어 있는 경우, 검증 노드는 제1 정보에 포함된 공공 키를 이용하여, 제1 정보에 포함된 서명이, 제1 트랜잭션 시퀀스의 식별 정보 및 제1 블록에 대하여 채굴 노드에 의해 작성된 것이 맞는지 확인할 수 있다. 이러한 서명 확인 역시, 일반적인 서명 확인 기술을 통해 수행될 수 있다. 예를 들어 검증 노드는 공공 키를 이용하여 채굴 노드로부터 수신한 서명의 유효성을 검증할 수 있다. 검증 노드는, 채굴 노드에 의해 제1 정보가 정상적으로 작성 및 송부된 것을 확인한 경우에 한해서만, 다음 단계로 넘어갈 수 있다.
다음으로, 검증 노드는 제1 정보를 기반으로 제1 블록에 포함된 제1 트랜잭션 시퀀스를 검색하고(S270), 검색된 제1 트랜잭션 시퀀스에 대하여 Byte-SPRT 기법을 적용하여 제1 트랜잭션 시퀀스 내에 숨겨진 공격 패킷을 탐지할 수 있다(S280).
검증 노드는, 제1 정보의 포맷/형식(예를 들어, 제1 정보에 제1 트랜잭션 시퀀스의 식별 정보가 포함되어 있는지 여부)을 통해 공격 패킷의 존재를 간접적으로 인식할 수도 있으나, 추가적으로 Byte-SPRT 기법을 적용하여 직접적으로 공격 패킷의 존재를 탐지할 수 있다(즉, 이중 탐지 방식 적용). 이렇듯 이중으로(1차로 채굴 노드에 의해, 2차로 검증 노드에 의해) 공격 패킷을 탐지하는 이유는, 공격 노드에 의해 제1 정보가 조작되어 전송될 가능성에 대비한 것이다. 즉, 공격 노드가 제1 블록에 공격 패킷을 숨긴 상태에서 제1 트랜잭션 시퀀스의 식별 정보가 포함되지 않은 제1 정보를 검증 노드에 전송하는 경우에 검증 노드가 제1 정보 형식/포맷만을 보고 공격 패킷을 탐지하지 않음에 따라 공격받을 가능성에 대비한 것이다.
다음으로, 검증 노드는 제1 트랜잭션 시퀀스 내의 공격 패킷을 탐지한 경우, 제1 블록의 제1 블록 해시 값을 계산 및 저장할 수 있다. 앞서 채굴 노드가 제1 블록 해시 값을 계산 및 저장한 단계와 동일하게, 검증 노드는 해시 함수 및 제1 블록의 블록 헤더 값을 이용하여 제1 블록 해시 값을 계산하여 저장할 수 있다(S290).
마지막으로, 검증 노드는 제1 블록에 대한 블록 검증 작업을 수행하지 않고, 제1 블록을 블록체인에 추가하지 않을 수 있다(S300).
종합하자면, 본 순서도에 따른 실시예는, 결국 공격 패킷을 탐지하기 위한 제1 블록 해시 값을 획득하기 위한 실시예로서, 이렇게 획득한 제1 블록 해시 값은 추후 Byte-SPRT 기법과 함께 공격 패킷을 탐지하는 데 사용되게 된다.
제1 블록 해시 값 및 Byte-SPRT 기법을 사용하여 공격 패킷을 탐지하는 실시예에 대해서는 도 3을 참조하여 이하에서 후술한다.
도 3은 본 발명의 일 실시예에 따라 제1 블록 해시 값 및 Byte-SPRT 기법을 이용하여 공격 패킷을 탐지하는 실시예에 관한 순서도이다.
본 실시예는 도 2의 실시예가 선행적으로 수행된 결과 적어도 하나의 제1 블록 해시 값이 채굴 노드에 저장되어 있는 상황을 전제로 한다. 특히, 본 실시예는 도 2의 실시예가 복수 회 반복 수행된 결과 기설정된 수만큼의 제1 블록 해시 값이 모인 후에 수행될 수 있다.
도 3을 참조하면, 채굴 노드는 제2 트랜잭션 시퀀스를 수신할 수 있다(S310). 다음으로, 채굴 노드는 제2 트랜잭션 시퀀스를 이용하여 제2 블록을 생성하고(S320), 제2 블록에 대한 제2 블록 해시 값을 계산할 수 있다(S330). 다음으로, 채굴 노드는 제2 블록 해시 값과 제1 블록 해시 값을 비교할 수 있다(S340). 저장 중인 제1 블록 해시 값이 복수개인 경우, 채굴 노드는 복수개의 제1 블록 해시 값과 제2 블록 해시 값을 일대일로 비교하여 제2 블록 해시 값과 매칭되는 제1 블록 해시 값이 존재하는지 판단할 수 있다.
만일, 제2 블록 해시 값이 제1 블록 해시 값과 동일한 경우(또는 복수의 제1 블록 해시 값들 중 제2 블록 해시 값과 일치하는 제1 블록 해시 값이 존재하는 경우), 검증 노드는 제2 트랜잭션 시퀀스 내에 공격 패킷이 포함된 것으로 인식하여(S350) 제2 블록을 채굴하지 않을 수 있다.
반대로, 제2 블록 해시 값이 제1 블록 해시 값과 동일하지 않은 경우(또는 복수의 제1 블록 해시 값들 중 제2 블록 해시 값과 일치하는 제1 블록 해시 값이 존재하지 않는 경우), 검증 노드는 Byte-SPRT 기법을 기반으로 제2 트랜잭션 시퀀스 내의 공격 패킷을 탐지할 수 있다(S360).
탐지 결과, 공격 패킷이 탐지된 경우, 채굴 노드는 제2 블록 및 제2 트랜잭션 시퀀스의 식별 정보가 포함된 제2 정보를 블록체인 네트워크에 브로드캐스트할 수 있다. 본 동작에 관한 상세한 설명은, 도 2의 S240 단계에서 제1 정보가 제2 정보로 대체된 경우와 실질적으로 동일하므로, 중복되는 설명은 생략한다.
브로드캐스트된 제2 정보를 검증 노드가 수신할 수 있으며, 검증 노드는 제2 정보를 기반으로 제2 블록에 포함된 제2 트랜잭션 시퀀스를 검색하고, 검색된 제2 트랜잭션 시퀀스에 대하여 Byte-SPRT 기법을 기반으로 공격 패킷을 탐지할 수 있다. 공격 패킷이 탐지된 경우, 검증 노드는 제2 블록의 제2 블록 해시 값을 계산 및 저장할 수 있으며, 제2 블록에 대한 블록 검증 작업을 수행하지 않고, 제2 블록을 블록체인에 추가하지 않을 수 있다. 이에 대한 상세한 설명은, 도 2의 S260 내지 S300 단계에서 제1 블록이 제2 블록으로, 제1 트랜잭션 시퀀스가 제2 트랜잭션 시퀀스로, 제1 블록 해시 값이 제2 블록 해시 값으로 대체된 경우와 실질적으로 동일하므로, 중복되는 설명은 생략한다.
탐지 결과, 공격 패킷이 탐지되지 않은 경우, 채굴 노드는 제2 트랜잭션 시퀀스에 공격 패킷이 포함되어 있지 않은 것으로 보고, 제2 블록을 생성하여 블록체인 네트워크로 브로드캐스트할 수 있으며, 이를 수신한 검증 노드는 제2 블록을 검증하여 블록체인에 추가할 수 있다.
이렇게 획득된 제2 블록 해시 값은 제1 블록 해시 값과 마찬가지로, Byte-SPRT 기법과 함께 공격 탐지 패킷을 탐지하는 데 사용되게 된다. 이 경우, 채굴 노드는 새롭게 수신되는 트랜잭션 시퀀스를 제2 트랜잭션 시퀀스로 보고 본 순서도의 동작을 동일하게 수행할 수 있으며, S340 단계에서 비교 대상을 제1 블록 해시 값에서 상기 획득한 제2 블록 해시 값으로까지 확장할 수 있다.
즉, 블록체인 네트워크의 채굴 노드 및 검증 노드는 도 2 및 도 3을 반복적으로 수행하여 공격 패킷을 식별하기 위한 제1 및 제2 블록 해시 값을 최대한 많이 모으는 것이 목적이며, 종단에는 Byte-SPRT 기법을 수행하지 않고도 블록 해시 값만으로 공격 패킷의 탐지를 가능하게 함이 궁극적인 목적이다. 이렇게 완성된 공격 패킷 탐지 시스템은 최소한의 자원 및 오버헤드를 이용하여 공격 패킷을 효과적으로 탐지해낼 수 있게 된다.
도 4는 본 발명의 일 실시예에 따라 공격 패킷이 탐지되지 않은 경우에 있어서 블록체인 네트워크 시스템의 동작에 관한 순서도이다.
특히, 본 순서도는 도 2의 실시예와 반대로, 채굴 노드 및 검증 노드가 제1 트랜잭션 시퀀스 내에서 공격 패킷을 탐지하지 못한 경우에 관한 실시예이다.
도 4를 참조하면, 우선 채굴 노드는 제1 트랜잭션 시퀀스를 수신할 수 있으며(S410), Byte-SPRT 기법을 이용하여 제1 트랜잭션 시퀀스 내의 공격 패킷을 탐지할 수 있다.
탐지 결과, 제1 트랜잭션 시퀀스 내의 공격 패킷을 탐지하지 못한 경우(S420), 채굴 노드는 제1 트랜잭션 시퀀스를 이용하여 제3 블록을 생성하여 제3 블록을 채굴할 수 있다(S430). 다음으로, 채굴 노드는 채굴한 제3 블록, 제3 블록에 대하여 비밀 키를 이용하여 생성한 채굴 노드의 서명 및/또는 채굴 노드의 공공 키가 포함된 제3 정보를, 블록체인 네트워크로 브로드캐스트할 수 있다(S440).
제3 정보를 수신(S450)한 검증 노드는, 제3 정보에 포함된 공공 키를 이용하여 제3 정보에 포함된 서명이, 제3 블록에 대하여 채굴 노드에 의해 작성된 것이 맞는지 확인할 수 있다(S460). 서명의 확인이 완료된 경우, 검증 노드는 제3 블록에 대한 검증을 수행(S470)할 수 있으며, 제3 블록에 대한 검증이 완료된 경우에 제3 블록을 블록체인에 추가(S480)할 수 있다. 블록 검증은 작업 증명 메커니즘을 기반으로 수행될 수 있으며, 이에 대해서는 앞서 도 1을 참조하여 상술한 바와 같다(즉, 제3 블록 해시 값과 기설정된 해시 값의 대소 비교).
본 순서도의 실시예는 공격 패킷이 포함되지 않은 정상적인 트랜잭션 시퀀스가 수신되는 경우의 블록 채굴 및 검증 작업에 관한 것으로, 상술한 동작 외에 일반적인 블록 채굴 및 검증 작업/방식/기술이 적용될 수 있다.
도 5는 본 발명의 일 실시예에 따른 블록체인 노드의 블록도이다.
도 5를 참조하면, 블록체인 노드(500)는 프로세서(510), 메모리부(520) 및 통신부(530)를 포함할 수 있다.
프로세서(510)는, 본 명세서에서 제안되는 적어도 하나의 실시예를 수행하기 위한 데이터 처리/프로세싱 동작을 수행할 수 있다. 따라서, 상술한 실시예들에서 블록체인 노드(500)는 프로세서(510)로 대체되어 설명될 수 있다. 프로세서(510)는 메모리부(520)에 저장된 다양한 메커니즘/알고리즘/프로그램 등을 실행하고, 내부의 데이터를 프로세싱할 수 있다. 또한, 본 명세서에서 제안된 적어도 하나의 실시예를 수행하기 위해 메모리부(520) 및 통신부(530)를 제어하며, 구성들간의 데이터 송수신을 매니지할 수도 있다. 프로세서(510)는, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), AP(Application Processor), AP(Application Processor) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 적어도 하나 포함하여 구성될 수 있다.
특히, 본 명세서의 프로세서(510)는 앞서 상술한 Byte-SPRT 기법을 이용한 공격 패킷 탐지 방법을 수행할 수 있으며, 기본적으로 블록 채굴 및/또는 검증 동작과 같은 블록체인 네트워크 기능 관련 기본 동작들도 다양하게 수행할 수 있다.
메모리부(520)는 다양한 디지털 데이터(예를 들어, 트랜잭션, 트랜잭션이 포함된 블록, 트랜잭션 시퀀스, 트랜잭션 시퀀스 식별 정보, 블록 해시 값, 비밀 키, 공공 키 등)를 저장할 수 있다. 메모리부(520)는 플래시 메모리, HDD(Hard Disk Drive), SSD(Solid State Drive) 등의 다양한 디지털 데이터 저장 공간을 나타낸다.
통신부(530)는 적어도 하나의 유/무선 통신 프로토콜을 사용하여 통신을 수행, 다양한 정보/데이터를 송신/수신할 수 있다. 특히, 통신부(530)는 트랜잭션(또는 트랜잭션이 포함된 블록)을 송수신할 수 있다.
본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
아울러, 본 발명에 따른 장치나 단말은 하나 이상의 프로세서로 하여금 앞서 설명한 기능들과 프로세스를 수행하도록 하는 명령에 의하여 구동될 수 있다. 예를 들어 그러한 명령으로는, 예컨대 JavaScript나 ECMAScript 명령 등의 스크립트 명령과 같은 해석되는 명령이나 실행 가능한 코드 혹은 컴퓨터로 판독 가능한 매체에 저장되는 기타의 명령이 포함될 수 있다. 나아가 본 발명에 따른 장치는 서버 팜(Server Farm)과 같이 네트워크에 걸쳐서 분산형으로 구현될 수 있으며, 혹은 단일의 컴퓨터 장치에서 구현될 수도 있다.
또한, 본 발명에 따른 장치에 탑재되고 본 발명에 따른 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시예들을 병합하여 새로운 실시예를 구현하도록 설계하는 것도 가능하다. 또한, 본 발명은 상술한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상술한 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
또한, 이상에서는 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 명세서는 상술한 특정의 실시예에 한정되지 아니하며, 청구 범위에서 청구하는 요지를 벗어남이 없이 당해 명세서가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 명세서의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 블록체인 네트워크
110-1~110-N: 블록체인 노드들

Claims (15)

  1. 채굴 노드 및 검증 노드가 포함된 블록체인 네트워크의 공격 패킷 탐지 방법에 있어서,
    상기 채굴 노드가 제1 블록을 생성하는 단계로서, 상기 제1 블록을 생성하는 단계는:
    제1 트랜잭션 시퀀스를 수신하는 단계;
    Byte-SPRT(Sequential Probability Ratio Test) 기법을 기반으로 상기 제1 트랜잭션 시퀀스 내의 공격 패킷을 탐지하는 단계;
    상기 공격 패킷이 탐지된 경우, 상기 제1 트랜잭션 시퀀스를 이용하여 상기 제1 블록을 생성하는 단계;
    상기 제1 블록에 대한 제1 블록 해시(hash) 값을 계산 및 저장하는 단계; 및
    상기 제1 블록 및 상기 제1 트랜잭션 시퀀스의 식별 정보가 포함된 제1 정보를 브로드캐스트하는 단계; 를 포함함,
    상기 검증 노드가 상기 제1 정보를 수신하는 단계로서, 상기 제1 정보를 수신하는 단계는:
    상기 제1 정보를 수신하는 단계;
    상기 제1 정보를 기반으로 상기 제1 블록에 포함된 상기 제1 트랜잭션 시퀀스를 검색하는 단계;
    검색된 제1 트랜잭션 시퀀스에 대하여 상기 Byte-SPRT 기법을 기반으로 상기 공격 패킷을 탐지하는 단계;
    상기 공격 패킷이 탐지된 경우, 상기 제1 블록의 상기 제1 블록 해시 값을 계산 및 저장하는 단계; 및
    상기 제1 블록에 대한 블록 검증 작업을 수행하지 않고, 상기 제1 블록을 블록체인에 추가하지 않는 단계; 를 포함하는, 공격 패킷 탐지 방법.
  2. 제 1 항에 있어서,
    상기 제1 블록 해시 값은, 상기 Byte-SPRT 기법과 함께 상기 공격 패킷을 탐지하는 데 사용되는, 공격 패킷 탐지 방법.
  3. 제 2 항에 있어서,
    상기 제1 블록 해시 값을 저장한 후, 상기 채굴 노드가:
    상기 제2 트랜잭션 시퀀스를 수신하는 단계;
    상기 제2 트랜잭션 시퀀스를 이용하여 제2 블록을 생성하는 단계;
    상기 제2 블록에 대한 제2 블록 해시 값을 계산하는 단계;
    상기 제2 블록 해시 값과 상기 제1 블록 해시 값을 비교하는 단계; 및
    상기 제2 블록 해시 값이 상기 제1 블록 해시 값과 동일한 경우, 상기 제2 트랜잭션 시퀀스 내에 상기 공격 패킷이 포함된 것으로 인식하여 상기 제2 블록을 채굴하지 않는 단계; 를 더 포함하는, 공격 패킷 탐지 방법.
  4. 제 3 항에 있어서,
    상기 제2 블록 해시 값이 상기 제1 블록 해시 값과 동일하지 않은 경우, 상기 Byte-SPRT 기법을 기반으로 상기 제2 트랜잭션 시퀀스 내의 상기 공격 패킷을 탐지하는 단계; 를 더 포함하는, 공격 패킷 탐지 방법.
  5. 제 4 항에 있어서,
    상기 공격 패킷이 탐지된 경우, 상기 제2 블록 및 상기 제2 트랜잭션 시퀀스의 식별 정보가 포함된 제2 정보를 브로드캐스트하는 단계; 를 더 포함하는, 공격 패킷 탐지 방법.
  6. 제 5 항에 있어서,
    상기 검증 노드가 상기 제2 정보를 수신하는 단계; 를 더 포함하되, 상기 제2 정보를 수신하는 단계는:
    상기 제2 정보를 수신하는 단계;
    상기 제2 정보를 기반으로 상기 제2 블록에 포함된 상기 제2 트랜잭션 시퀀스를 검색하는 단계;
    검색된 제2 트랜잭션 시퀀스에 대하여 상기 Byte-SPRT 기법을 기반으로 상기 공격 패킷을 탐지하는 단계;
    상기 공격 패킷이 탐지된 경우, 상기 제2 블록의 상기 제2 블록 해시 값을 계산 및 저장하는 단계; 및
    상기 제2 블록에 대한 블록 검증 작업을 수행하지 않고, 상기 제2 블록을 블록체인에 추가하지 않는 단계; 를 포함하는, 공격 패킷 탐지 방법.
  7. 제 1 항에 있어서,
    상기 제1 정보는,
    비밀 키(private key)를 이용하여, 상기 제1 트랜잭션 시퀀스의 식별 정보와 상기 제1 블록에 대하여 생성된 상기 채굴 노드의 서명; 및
    상기 채굴 노드의 공공 키(public key); 를 더 포함하는, 공격 패킷 탐지 방법.
  8. 제 7 항에 있어서,
    상기 제1 정보를 수신하는 단계는, 상기 제1 정보에 포함된 상기 공공 키를 이용하여, 상기 제1 정보에 포함된 상기 서명이, 상기 제1 트랜잭션 시퀀스의 식별 정보 및 상기 제1 블록에 대하여 상기 채굴 노드에 의해 작성된 것이 맞는지 확인하는 단계; 를 더 포함하고,
    상기 서명의 확인이 완료된 경우에만 상기 제1 블록에 포함된 상기 제1 트랜잭션 시퀀스를 검색하는 단계가 수행되는, 공격 패킷 탐지 방법.
  9. 제 1 항에 있어서,
    상기 제1 블록을 생성하는 단계는,
    상기 공격 패킷이 탐지되지 않은 경우, 상기 제1 트랜잭션 시퀀스를 이용하여 제3 블록을 생성하는 단계;
    상기 제3 블록을 채굴하는 단계; 및
    상기 제3 블록, 상기 제3 블록에 대하여 비밀 키를 이용하여 생성된 상기 채굴 노드의 서명 및 상기 채굴 노드의 공공 키가 포함된 제3 정보를 브로드캐스트하는 단계; 를 더 포함하는, 공격 패킷 탐지 방법.
  10. 제 9 항에 있어서,
    상기 검증 노드가 상기 제3 정보를 수신하는 단계; 를 더 포함하되, 상기 제3 정보를 수신하는 단계는:
    상기 제3 정보를 수신하는 단계;
    상기 제3 정보에 포함된 상기 공공 키를 이용하여 상기 제3 정보에 포함된 상기 서명이, 상기 제3 블록에 대하여 상기 채굴 노드에 의해 작성된 것이 맞는지 확인하는 단계;
    상기 서명의 확인이 완료된 경우, 상기 제3 블록에 대한 검증을 수행하는 단계; 및
    상기 제3 블록에 대한 검증이 완료된 경우, 상기 제3 블록을 상기 블록체인에 추가하는 단계; 포함하는, 공격 패킷 탐지 방법.
  11. 제 10 항에 있어서,
    상기 제3 블록에 대한 검증은, 작업 증명(Proof of Work) 메커니즘을 기반으로 수행되는, 공격 패킷 탐지 방법.
  12. 제 11 항에 있어서,
    상기 제3 블록에 대한 검증은,
    상기 제3 블록의 제3 블록 해시 값이, 상기 작업 증명 메커니즘에서 기설정되어 있는 해시 값보다 작은 경우에 완료되는, 공격 패킷 탐지 방법.
  13. 제 1 항에 있어서,
    상기 Byte-SPRT 기법은,
    상기 블록체인 네트워크로 상에서 수신되는 데이터 패킷 시퀀스들의 값이 사전에 설정된 공격 패킷 시퀀스 인식 범위에 포함되는 경우가 기설정된 횟수 이상으로 연속 발생하는 경우, 상기 공격 패킷을 탐지하는 기법인, 공격 패킷 탐지 방법.
  14. 제 1 항에 있어서,
    상기 공격 패킷은 악성 코드에 해당하는, 공격 패킷 탐지 방법.
  15. 제 1 항에 있어서,
    상기 제1 블록 해시 값은, 상기 제1 블록의 블록 헤더 값이 입력된 해쉬 함수의 출력 값인, 공격 패킷 탐지 방법.
KR1020200137843A 2020-10-22 2020-10-22 블록체인 네트워크의 공격 패킷 탐지 방법 KR102400362B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200137843A KR102400362B1 (ko) 2020-10-22 2020-10-22 블록체인 네트워크의 공격 패킷 탐지 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200137843A KR102400362B1 (ko) 2020-10-22 2020-10-22 블록체인 네트워크의 공격 패킷 탐지 방법

Publications (2)

Publication Number Publication Date
KR20220053402A true KR20220053402A (ko) 2022-04-29
KR102400362B1 KR102400362B1 (ko) 2022-05-19

Family

ID=81428907

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200137843A KR102400362B1 (ko) 2020-10-22 2020-10-22 블록체인 네트워크의 공격 패킷 탐지 방법

Country Status (1)

Country Link
KR (1) KR102400362B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190075495A (ko) * 2017-12-21 2019-07-01 서강대학교산학협력단 블록체인상에서 발생하는 디도스 공격 방지 방법 및 디도스 공격 방지 가능한 블록체인 시스템
KR102085593B1 (ko) * 2019-09-16 2020-03-06 포항공과대학교 산학협력단 기계학습 기법 기반 블록체인 sns 포스팅 봇 검출 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190075495A (ko) * 2017-12-21 2019-07-01 서강대학교산학협력단 블록체인상에서 발생하는 디도스 공격 방지 방법 및 디도스 공격 방지 가능한 블록체인 시스템
KR102085593B1 (ko) * 2019-09-16 2020-03-06 포항공과대학교 산학협력단 기계학습 기법 기반 블록체인 sns 포스팅 봇 검출 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
T.Saranya et al., "Performance Analysis of Machine Learning Algorithms in Intrusion Detection System", Third International Conference on Computing and Network Communications (CoCoNet'19) (2020.06.04.) *
WEI SHE et al., "Blockchain Trust Model for Malicious Node Detection in Wireless Sensor Networks", IEEE Access, Vol.7 (2019.03.18.) *

Also Published As

Publication number Publication date
KR102400362B1 (ko) 2022-05-19

Similar Documents

Publication Publication Date Title
CN109831425B (zh) 区块链共识方法、装置、设备及计算机可读存储介质
EP3678346B1 (en) Blockchain smart contract verification method and apparatus, and storage medium
CN110311885B (zh) 用以实施安全联机的装置及方法
CN110505241B (zh) 一种网络攻击面检测方法及系统
US10225269B2 (en) Method and apparatus for detecting network attacks and generating attack signatures based on signature merging
US9990583B2 (en) Match engine for detection of multi-pattern rules
EP2924943B1 (en) Virus detection method and device
US20180083770A1 (en) Detecting encoding attack
CN111971931A (zh) 在区块链网络中验证交易的方法以及构成该网络的节点
CN109413016B (zh) 一种基于规则的报文检测方法和装置
CN110875928A (zh) 一种攻击溯源方法、装置、介质和设备
KR102400362B1 (ko) 블록체인 네트워크의 공격 패킷 탐지 방법
CN109918451B (zh) 基于区块链的数据库管理方法及系统
Saghar et al. Raeed: A solution for hello flood attack
US11588833B2 (en) Tracing traffic in the internet
KR102307483B1 (ko) 순차 결합을 지원하는 전방향 안전 서명 방법 및 그 장치
CN108256327B (zh) 一种文件检测方法及装置
US20110302422A1 (en) Hash function using a repeated function with shifts
KR20220124940A (ko) 허위 기지국 대응을 위한 전자서명 기반의 SIB(System Information Block) 메시지 송/수신 방법 및 장치
CN109348304B (zh) 一种弹幕数据的校验方法、装置及终端
KR101645412B1 (ko) 악성파일진단장치 및 악성파일진단장치의 진단 방법
KR20210125147A (ko) 악성파일을 이용한 악성 트래픽 생성 방법 및 장치
CN111694588A (zh) 引擎升级检测方法、装置、计算机设备和可读存储介质
Tokhtabayev et al. Non-stationary Markov models and anomaly propagation analysis in IDS
Wu et al. Modeling and verifying the ariadne protocol using process algebra

Legal Events

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