Skip to main content
QUICK REVIEW

[논문 리뷰] An Empirical Study of Blockchain System Vulnerabilities: Modules, Types, and Patterns

Xiao Yi, Daoyuan Wu|arXiv (Cornell University)|2021. 10. 23.
Blockchain Technology Applications and Security참고 문헌 71인용 수 4
한 줄 요약

이 논문은 비트코인, 이더리움, 모네로, 스타링 등 네 개의 주요 블록체인에서 1,037개의 취약점과 2,317개의 패치를 포함한 데이터셋을 사용하여 블록체인 시스템 취약점에 대한 최초의 실증 연구를 제시한다. 파일, 텍스트, 코드 수준에서 클러스터링, 상관관계 분석 및 코드 서명 기법을 적용하여 고위험 모듈을 규명하고, 블록체인 전용으로 새로운 4종의 취약점 유형을 발견하였으며, 도지코인과 제이차시와 같은 다른 블록체인에서도 유사한 결함을 탐지할 수 있는 21개의 재사용 가능한 패턴을 도출하였다.

ABSTRACT

Blockchain, as a distributed ledger technology, becomes increasingly popular, especially for enabling valuable cryptocurrencies and smart contracts. However, the blockchain software systems inevitably have many bugs. Although bugs in smart contracts have been extensively investigated, security bugs of the underlying blockchain systems are much less explored. In this paper, we conduct an empirical study on blockchain's system vulnerabilities from four representative blockchains, Bitcoin, Ethereum, Monero, and Stellar. Specifically, we first design a systematic filtering process to effectively identify 1,037 vulnerabilities and their 2,317 patches from 34,245 issues/PRs (pull requests) and 85,164 commits on GitHub. We thus build the first blockchain vulnerability dataset. We then perform unique analyses of this dataset at three levels, including (i) file-level vulnerable module categorization by identifying and correlating module paths across projects, (ii) text-level vulnerability type clustering by natural language processing and similarity-based sentence clustering, and (iii) code-level vulnerability pattern analysis by generating and clustering code change signatures that capture both syntactic and semantic information of patch code fragments. Our analyses reveal three key findings: (i) some blockchain modules are more susceptible than the others; notably, each of the modules related to consensus, wallet, and networking has over 200 issues; (ii) about 70% of blockchain vulnerabilities are of traditional types, but we also identify four new types specific to blockchains; and (iii) we obtain 21 blockchain-specific vulnerability patterns that capture unique blockchain attributes and statuses, and demonstrate that they can be used to detect similar vulnerabilities in other popular blockchains, such as Dogecoin, Bitcoin SV, and Zcash.

연구 동기 및 목표

  • 스마트 컨tracts의 취약점에 비해 아직 미비하게 연구된 저수준 블록체인 소프트웨어 시스템의 보안 취약점을 체계적으로 이해하기 위해.
  • GitHub 이슈 및 풀 리퀘스트에서 1,037개의 취약점과 2,317개의 패치를 필터링하고 추출하여 최초로 종합적인 블록체인 취약점 데이터셋을 구축하기 위해.
  • 파일 수준의 모듈 분류, 텍스트 수준의 유형 클러스터링, 코드 수준의 패턴 마이닝을 통해 세 가지 수준에서 취약점을 분석하기 위해. 자연어 처리 및 코드 서명 기법을 활용한다.
  • 다른 주요 블록체인에서 유사한 결함을 탐지할 수 있도록 재사용 가능한 블록체인 전용 취약점 패턴을 발견하기 위해.
  • 20개의 취약점을 책임감 있게 공개하여 주요 블록체인 프로젝트에 확인된 반응을 확보함으로써 연구 결과의 실용적 영향을 검증하기 위해.

제안 방법

  • 네 개의 블록체인에서 34,245개의 GitHub 이슈/풀 리퀘스트와 85,164개의 커밋에서 취약점과 패치를 추출하기 위한 체계적인 필터링 프레임워크를 설계하였다.
  • 프로젝트 간 모듈 경로 간 상관관계 분석을 통해 파일 수준에서 취약한 구성 요소를 규명하였으며, 특히 합의, 월렛, 네트워킹 모듈에 초점을 맞추었다.
  • 자연어 처리 및 유사도 기반 문장 클러스터링을 적용하여 취약점 기술서를 11개의 유형으로 분류하였으며, 이 중 4개는 블록체인 전용으로 새로운 유형에 속한다.
  • 구문적 및 의미적 분석을 사용하여 코드 변경 서명을 생성하고, 패치를 클러스터링하며 21개의 재사용 가능한 블록체인 전용 취약점 패턴을 추출하였다.
  • 도지코인, 비트코인 SV, 제이차시와 같은 다른 블록체인에서 유사한 취약점을 탐지하여 패턴의 유효성을 검증하였다.
  • 모든 20개의 발견된 취약점을 이메일, GitHub, 디스코드, 보상 프로그램 등을 통해 제조사에 보고하였으며, 도지코인, 제이차시, 호리젠, 레이븐코인, 다시 등 5개 프로젝트에서 반응을 확보하였다.

실험 결과

연구 질문

  • RQ1어느 블록체인 시스템 모듈이 가장 취약점에 취약한가? 그 이유는 무엇인가?
  • RQ2블록체인 시스템에서 지배적인 취약점 유형은 무엇이며, 블록체인 고유의 특성에 기인한 새로운 유형이 존재하는가?
  • RQ3패치 코드 조각에서 구문적 및 의미적 특성을 모두 반영하는 재사용 가능한 블록체인 전용 취약점 패턴을 자동으로 추출할 수 있는가?
  • RQ4발견된 패턴이 연구 대상 외의 주요 블록체인, 예를 들어 도지코인, 비트코인 SV 등에서도 동일한 취약점을 탐지할 수 있는 정도는 어느 정도인가?
  • RQ5발견된 패턴은 실제 세계의 취약점을 탐지하는 데 얼마나 효과적인가? 그리고 블록체인 유지를 담당하는 팀의 책임감 있는 공개에 대한 반응률은 어떠한가?

주요 결과

  • 합의, 월렛, 네트워킹 모듈이 가장 취약하며, 각각 200건 이상의 보고된 이슈를 포함하고 있어 블록체인 시스템에서 고위험 구성 요소임을 시사한다.
  • 약 70%의 취약점은 전통적인 유형(예: 버퍼 오버플로우, 레이스 컨dition)이며, 블록체인의 의미론적 특성과 아키텍처에 기인한 4종의 새로운 유형—'합의 조작', '상태 일관성 오류' 등—이 존재한다.
  • 블록체인 고유의 특성, 예를 들어 블록 검증 순서, 트랜잭션 변경 가능성, 상태 전이 논리 등을 반영하는 21개의 블록체인 전용 취약점 패턴을 도출하였다.
  • 이러한 패턴은 도지코인, 비트코인 SV, 제이차시와 같은 다른 블록체인에서 동일한 취약점을 성공적으로 탐지하여 일반화 가능성과 실용적 유용성을 입증하였다.
  • 주요 프로젝트에 취약점 공개를 통해 6개 프로젝트 중 5개에서 확인된 반응을 확보하였으며, 도지코인이 향후 릴리스에서 모든 5개의 문제를 수정하겠다고 약속하였다.
  • 이 연구는 공개 가능한 최초의 블록체인 취약점 데이터셋(https://github.com/VPRLab/BlkVulnDataset)을 제작하여 향후 블록체인 보안 분야의 연구를 지원하였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.