Skip to main content
QUICK REVIEW

[論文レビュー] An Empirical Study of Blockchain System Vulnerabilities: Modules, Types, and Patterns

Xiao Yi, Daoyuan Wu|arXiv (Cornell University)|Oct 23, 2021
Blockchain Technology Applications and Security参考文献 71被引用数 4
ひとこと要約

本論文は、ビットコイン、イーサレム、モナロ、ステラの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.

研究の動機と目的

  • スマートコントラクト脆弱性と比較して、まだ十分に調査が進んでいない低レベルのブロックチェーンソフトウェアシステムにおけるセキュリティ脆弱性を体系的に理解すること。
  • GitHubのイシューおよびプルリクエストから1,037件の脆弱性および2,317件のパッチをフィルタリング・抽出することで、最初の包括的なブロックチェーン脆弱性データセットを構築すること。
  • ファイルレベルでのモジュール分類、テキストレベルでのタイプクラスタリング、コードレベルでのNLPおよびコードシグネチャ技術を用いたパターンマイニングの3段階の分析を通じて脆弱性を分析すること。
  • 他の顕著なブロックチェーン(例:ドージコイン、ゼルカス)においても同様の欠陥を検出可能な、再利用可能なブロックチェーン固有の脆弱性パターンを発見すること。
  • 20件の脆弱性を責任ある公開により主要ブロックチェーンプロジェクトに報告し、確認された反応を得ることで、研究の実用的影響を検証すること。

提案手法

  • 34,245件のGitHubイシュー/プルリクエストおよび85,164件のコミットを対象に、脆弱性およびパッチを抽出するための体系的フィルタリングフレームワークを設計した。
  • プロジェクト間のモジュールパスの相関を用いてファイルレベルの分析を実施し、合意形成、ウォレット、ネットワーキングモジュールなど、脆弱性の多いコンponentsを同定した。
  • 自然言語処理および類似文のクラスタリングを用いて、脆弱性の説明を11のタイプに分類し、そのうち4つはブロックチェーン固有の新しいタイプであった。
  • 構文的および意味的解析を用いてコード変更シグネチャを生成し、パッチをクラスタリングして21の再利用可能なブロックチェーン固有の脆弱性パターンを抽出した。
  • ドージコイン、ビットコインSV、ゼルカスなどの他のブロックチェーンにおいて類似した脆弱性を検出することで、パターンの有効性を検証した。
  • すべての20件の脆弱性を、メール、GitHub、Discord、ボーナスプログラムを通じてベンダーに報告し、ドージコイン、ゼルカス、ホライゼン、レイヴェンコイン、ダッシュの5プロジェクトから反応を得た。

実験結果

リサーチクエスチョン

  • RQ1どのブロックチェーンシステムモジュールが脆弱性に対して最も感受性を示しており、その背後にある根本的要因は何か?
  • RQ2ブロックチェーンシステムにおける支配的で特徴的な脆弱性タイプは何か?また、ブロックチェーン固有の性質に起因する独自のタイプは存在するか?
  • RQ3パッチのコード断片から、構文的および意味的特性を両方捉える再利用可能なブロックチェーン固有の脆弱性パターンを自動で抽出できるか?
  • RQ4同定されたパターンは、研究対象外の他の主要ブロックチェーンにおいても、類似した脆弱性をどの程度検出できるか?
  • RQ5発見されたパターンは、実世界の脆弱性を特定するのにどの程度有効であり、ブロックチェーンメンテナーより責任ある公開に対してどの程度の反応率が得られるか?

主な発見

  • 合意形成、ウォレット、ネットワーキングモジュールが最も脆弱で、それぞれ200件を超える報告済みの問題を含んでおり、ブロックチェーンシステムにおける高リスクコンponentsであることが示された。
  • 同定された脆弱性の約70%が、バッファオーバーフロー、レースコンディションなどの従来のタイプであった一方、『合意形成の操作』や『状態の不一致』といった4つの新しいタイプは、ブロックチェーンの意味論的およびアーキテクチャ的特性に特有のものであった。
  • 本研究では、ブロック検証の順序、取引の改ざん可能性、ステート遷移論理といった、ブロックチェーン固有の属性をモデル化する21のブロックチェーン固有の脆弱性パターンを抽出した。
  • これらのパターンは、ドージコイン、ビットコインSV、ゼルカスなど他のブロックチェーンにおいても、類似した脆弱性を効果的に検出でき、汎用性および実用的価値の高さを示した。
  • 主要プロジェクトへの脆弱性報告では、6件中5件のプロジェクトから反応を得ており、ドージコインは今後のリリースで報告された5件の問題すべてを修正することを約束した。
  • 本研究では、公開可能な最初のブロックチェーン脆弱性データセット(https://github.com/VPRLab/BlkVulnDataset)を生成し、今後のブロックチェーンセキュリティ分野の研究を可能にした。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。