Skip to main content
QUICK REVIEW

[論文レビュー] DAppSCAN: Building Large-Scale Datasets for Smart Contract Weaknesses in DApp Projects

Zibin Zheng, Jianzhong Su|arXiv (Cornell University)|May 15, 2023
Blockchain Technology Applications and Security被引用数 4
ひとこと要約

本稿では、682の分散型アプリケーション(DApps)から抽出された1,618件のSWCリスト登録済みスマートコントラクトの脆弱性を含む大規模で現実世界のデータセット、DAppSCANを紹介する。1,199件の監査レポートを44人月にわたり分析した結果、DAppSCAN-Source(39,904個のSolidityファイル)およびDAppSCAN-Bytecode(6,665個のコンパイル済みコントラクト)の2つのデータセットを構築した。これらはスマートコントラクト分析ツールの現実的評価を可能にし、既存のツールが実際のDAppコードでは著しく低い性能を示すことが明らかになった。

ABSTRACT

The Smart Contract Weakness Classification Registry (SWC Registry) is a widely recognized list of smart contract weaknesses specific to the Ethereum platform. Despite the SWC Registry not being updated with new entries since 2020, the sustained development of smart contract analysis tools for detecting SWC-listed weaknesses highlights their ongoing significance in the field. However, evaluating these tools has proven challenging due to the absence of a large, unbiased, real-world dataset. To address this problem, we aim to build a large-scale SWC weakness dataset from real-world DApp projects. We recruited 22 participants and spent 44 person-months analyzing 1,199 open-source audit reports from 29 security teams. In total, we identified 9,154 weaknesses and developed two distinct datasets, i.e., DAPPSCAN-SOURCE and DAPPSCAN-BYTECODE. The DAPPSCAN-SOURCE dataset comprises 39,904 Solidity files, featuring 1,618 SWC weaknesses sourced from 682 real-world DApp projects. However, the Solidity files in this dataset may not be directly compilable for further analysis. To facilitate automated analysis, we developed a tool capable of automatically identifying dependency relationships within DApp projects and completing missing public libraries. Using this tool, we created DAPPSCAN-BYTECODE dataset, which consists of 6,665 compiled smart contract with 888 SWC weaknesses. Based on DAPPSCAN-BYTECODE, we conducted an empirical study to evaluate the performance of state-of-the-art smart contract weakness detection tools. The evaluation results revealed sub-par performance for these tools in terms of both effectiveness and success detection rate, indicating that future development should prioritize real-world datasets over simplistic toy contracts.

研究の動機と目的

  • スマートコントラクト脆弱性検出ツールの評価に用いられる大規模で偏りのない現実世界のデータセットの不足に対処すること。
  • 現実世界の関連性が限定的である小規模で合成的または玩具的なコントラクトに依存する既存の評価手法の限界を克服すること。
  • 29のセキュリティチームの監査レポートを用いて、現実のDAppプロジェクトから手作業でキュレートした包括的なスマートコントラクト脆弱性データセットを構築すること。
  • DAppプロジェクトを実行可能バイナリコードに自動的にコンパイルできるツールを開発し、自動分析を可能にすること。
  • 最先端のツールが実際のDAppコード上でどの程度の性能を示すかを評価し、現在の検出能力に見られるギャップを明らかにすること。

提案手法

  • 44人月にわたり、22名の研究者(博士号取得者7名、修士号取得者15名)が29のセキュリティチームの1,199件のオープンソース監査レポートを手作業で分析した。
  • 合計9,154件の脆弱性を特定したが、そのうち1,618件がSWCレジストリのカテゴリにマッピングされ、正確なソースコードの位置と説明が付された。
  • DAppSCAN-Sourceを構築:682件の現実世界のDAppプロジェクトから得た39,904個のSolidityファイルを、元のコード構造と脆弱性の文脈を保持したまま収集した。
  • DAppプロジェクトに必要なパブリックライブラリが欠落している場合を自動で検出し、解決する依存関係解決ツールを開発した。これにより、コンパイルが可能になった。
  • DAppSCAN-Bytecodeを生成:888件のSWC脆弱性を含む6,665個のコンパイル済みスマートコントラクトを生成し、バイナリコードレベルの分析に適した形にした。
  • DAppSCAN-Bytecode上で6つの最先端ツールの実証的評価を実施し、検出効果と成功確率を評価した。

実験結果

リサーチクエスチョン

  • RQ1実際のDAppコード上で評価された場合、現在のスマートコントラクト分析ツールはSWCリスト登録済み脆弱性をどの程度効果的に検出できるか?
  • RQ2実際のDAppプロジェクトにおけるSWC脆弱性の分布と頻度はどのように分布しており、玩具的コントラクトと比べてどう異なるか?
  • RQ3既存のツールは、実際のDAppデプロイメントにおける利用可能な脆弱性をどの程度検出できるか。特に、どのようなタイプの脆弱性が最も多く見過ごされているか?
  • RQ4依存関係の解決とコンパイルの完全性は、DAppレベルのプロジェクトにおける自動脆弱性検出の信頼性にどの程度影響を与えるか?
  • RQ5孤立したコントラクトではなく、複雑な現実世界のDAppアーキテクチャに適用された場合、現在のツールの主な制限は何か?

主な発見

  • DAppSCAN-Sourceデータセットには、682件の現実世界のDAppプロジェクトから得た39,904個のSolidityファイルが含まれており、1つのDAppあたり平均58個のコントラクトファイルと7,885行のコードを有する。
  • データセットに含まれるDAppsの66.3%が0.6より高いSolidityコンパイラバージョンを使用しており、現代的な開発慣行を反映している。
  • DAppSCAN-Bytecodeデータセットには、888件のSWC脆弱性を含む6,665個のコンパイル済みスマートコントラクトが含まれており、実行可能コードの分析が可能である。
  • 実証的評価の結果、最先端のツールは実際のDAppコードにおいて、効果性および検出成功確率の両面で著しく低い性能を示した。
  • データセットに含まれる23,327件の脆弱なコントラクトのうち、わずか463件(1.98%)しか実際には利用されていないことが判明し、学術的ツールにおける高い偽陽性率または利用不能な問題の可能性を示唆している。
  • 既存のツールは、特に論理バグやプロトコル層の欠陥といった、現実世界で利用可能な脆弱性の大部分を検出できていないことが明らかになった。これは、現在の検出能力に深刻なギャップが存在することを示している。

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

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

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

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