[論文レビュー] ScrawlD: A Dataset of Real World Ethereum Smart Contracts Labelled with Vulnerabilities
本稿では、5つの静的解析ツールによる多数決戦略を用いて脆弱性がアノテーションされた、6,700件の実世界のイーサリアムスマートコントラクトから構成されるベンチマークデータセット、ScrawlDを紹介する。このデータセットは、脆弱性検出ツールの偏りのない評価を可能にし、機械学習のトレーニングを支援するとともに、ツールの有効性に関する実証的洞察を提供し、分野における標準化された大規模な実世界のラベル付きデータセットの不足を解消する。
Smart contracts on Ethereum handle millions of U.S. Dollars and other financial assets. In the past, attackers have exploited smart contracts to steal these assets. The Ethereum community has developed plenty of tools to detect vulnerable smart contracts. However, there is no standardized data set to evaluate these existing tools, or any new tools developed. There is a need for an unbiased standard benchmark of real-world Ethereum smart contracts. We have created ScrawlD: an annotated data set of real-world smart contracts taken from the Ethereum network. The data set is labelled using 5 tools that detect various vulnerabilities in smart contracts, using majority voting.
研究の動機と目的
- イーサリアムスマートコントラクトの脆弱性検出ツールを評価するための標準化された大規模な実世界ベンチマークデータセットの不足を解消すること。
- 手動で検証された脆弱性アノテーションを備えた、代表的で多様的かつ偏りのない実世界スマートコントラクトデータセットの構築。
- 新しい静的解析ツールおよび機械学習ベースの脆弱性検出システムの開発と評価を支援すること。
- 共通の評価スイートと真のラベルを提供することで、既存ツールの実証的比較を可能にすること。
- 合成または小規模なラベル付きデータセットに起因するバイアスを低減することで、ツールの評価の信頼性を向上させること。
提案手法
- 46,000件のイーサリアムスマートコントラクトをEtherscanから収集し、少なくとも1件の取引がある実世界のコントラクトに焦点を当てた。
- スリザーやマイスリル、オイエンテ、スマートチェック、その他の既存の静的解析ツールを用いて、各コントラクトの既知の脆弱性を分析した。
- 脆弱性ラベルは多数決メカニズムを用いて割り当てられた:脆弱性は、少なくとも50%のツールが同じ行番号で報告した場合にのみ存在するとみなされた。
- ツールの互換性を保証し、実行環境を隔離するためにDockerコンテナを用いた。
- 最終的なデータセットには、SWC-registryの脆弱性タイプを使用して特定の行にマッピングされた脆弱性アノテーションが付加された6,700件のコントラクトが含まれる。
- データセットは、コミュニティ利用および将来的な拡張のため、https://github.com/sujeetc/ScrawlD で公開されている。
実験結果
リサーチクエスチョン
- RQ1実世界のイーサリアムスマートコントラクトにおける異なる脆弱性タイプの出現頻度はどの程度か?
- RQ2多数決コンセンサス戦略は、脆弱性ラベリングにおける誤検出および見逃しをどれほど低減できるか?
- RQ3大規模で実世界のラベル付きデータセットは、スマートコントラクト脆弱性検出ツールの評価およびトレーニングをどのように改善できるか?
- RQ4標準化された実世界ベンチマークで評価された場合、既存のツールは脆弱性検出においてどのように比較されるか?
- RQ5脆弱性の重症度と頻度の観点から、実世界のスマートコントラクトにおける脆弱性の分布はどのようになっているか?
主な発見
- データセットには6,700件の実世界のイーサリアムスマートコントラクトが含まれており、そのうち2,688件は脆弱性が検出されていない。
- リエントラシーや算術オーバーフロー/アンダーフロー(SWC-101)が、最も頻繁に報告された脆弱性の一部であった。
- サービス拒否(DOS)脆弱性は、多数のツールで検出されていなかったため、ツールの限界または低頻度の可能性が示唆された。
- 合計で2,912件のコントラクトが1つの脆弱性を有し、1,082件のコントラクトが2つの脆弱性を有しており、実世界のコントラクトでは中程度から高い脆弱性密度が見られた。
- 多数決ラベリング戦略により誤検出が低減され、ベンチマークの信頼性のある真のラベルが得られたが、DOSのような一部の脆弱性は一貫性のない報告が見られた。
- データセットは公開されており、今後は追加のツールやクラウドソーシングによる手動検証を通じて、段階的に拡張される予定である。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。