[論文レビュー] Pre-deployment Analysis of Smart Contracts -- A Survey
本調査では、プログラムの性質に応じてスマートコントラクトの脆弱性および事前デプロイメント分析手法を体系的に分類し、形式的手法と記号実行がライブネスおよび複雑な分野特有の性質の検証において優れた成果を上げていることが明らかになった。一方、機械学習は多様な脆弱性を高い正確性と再現率で検出する強みを示しており、静的解析の使いやすさに関する新たな視点を提供している。
Smart contracts are programs that execute transactions involving independent parties and cryptocurrencies. As programs, smart contracts are susceptible to a wide range of errors and vulnerabilities. Such vulnerabilities can result in significant losses. Furthermore, by design, smart contract transactions are irreversible. This creates a need for methods to ensure the correctness and security of contracts pre-deployment. Recently there has been substantial research into such methods. The sheer volume of this research makes articulating state-of-the-art a substantial undertaking. To address this challenge, we present a systematic review of the literature. A key feature of our presentation is to factor out the relationship between vulnerabilities and methods through properties. Specifically, we enumerate and classify smart contract vulnerabilities and methods by the properties they address. The methods considered include static analysis as well as dynamic analysis methods and machine learning algorithms that analyze smart contracts before deployment. Several patterns about the strengths of different methods emerge through this classification process.
研究の動機と目的
- 事前デプロイメントにおけるスマートコントラクト分析に関する研究の急増する中で、そのナビゲーションの課題に対処すること。
- スマートコントラクトの脆弱性および分析手法を、それらが対象とするプログラムの性質に基づいて特定・分類し、各手法の強みと弱みを明確に理解できるようにすること。
- 体系的文献レビュー手法を用いた透明性と再現可能性の高いレビュー枠組みを提供し、事前デプロイメントにおけるスマートコントラクト分析の最先端状況をマッピングすること。
- 妥当性とベンチマークのギャップ、特に標準化された脆弱性名前付けとツール比較のための共有ベンチマークの欠如を浮き彫りにすること。
提案手法
- 著者らは2015年から2022年までの出版物を対象とした体系的文献レビューを実施し、スマートコントラクトの事前デプロイメント分析に関連する研究を抽出した。
- 脆弱性および分析手法を、それらが対象とするプログラムの性質に基づいて分類し、安全、ライブネス、分野特有の制約などにグループ化された35の明確に区別された性質からなる分類法を用いた。
- 静的解析、動的解析、記号実行、モデル検査、定理証明、機械学習の分野から35の分析手法を評価し、特定の性質を検証する能力を分析した。
- 分類は、性質と手法との関係に焦点を当てており、形式的手法がライブネスの証明に唯一適していること、記号実行が唯一アドレス整合性および預金有効性を検証できる方法であるといったパターンを明らかにした。
- 妥当性およびベンチマークの実践を評価し、数学的に証明された妥当性を持つのは35の性質のうち11つ、35のアプローチのうち17つにとどまることを特定。標準化されたベンチマークおよび脆弱性の分類法の不足を強調した。
- 研究間の性質仕様の比較分析を通じて用語の標準化と一貫性を確保し、例えば「シングルエントリ」を「状態の保存」の特殊ケースとして扱うなどした。
実験結果
リサーチクエスチョン
- RQ1スマートコントラクトの脆弱性および事前デプロイメント分析手法は、特定のプログラムの性質とどのように関連しているのか。この関係からどのようなパターンが浮かび上がるのか。
- RQ2ライブネス、安全、分野特有の制約といった特定の種類の性質を検証する際に、どの分析手法が最も効果的か。
- RQ3現在の分析手法における妥当性の現状はどのようになっており、数学的保証を有する手法はどれくらい存在するか。
- RQ4現在のベンチマークおよび脆弱性の分類法は、分析ツールの信頼性のある比較をどの程度支援しているか。
- RQ5機械学習手法は、従来の静的解析と同等またはそれ以上の検出性能を示すことができるか。特に、複雑または新しい脆弱性の検出において。
主な発見
- 形式的手法(モデル検査および定理証明を含む)は、4つのライブネス性質を検証できる唯一のアプローチであり、そのうち2つの性質は本調査で他のあらゆる手法がカバーしていない。
- 記号実行は、アドレス整合性および預金有効性という2つの特定の分野特有の性質を検証するために唯一使用された手法である。
- 機械学習、特に深層学習は、最先端の静的解析ツールを上回る検出性能を示し、ライブネスや複雑な分野特有の制約を含む広範な性質をカバーしている。
- 35の性質のうちわずか11つ、35の分析アプローチのうち17つしか数学的に確立された妥当性を有していないことから、大多数の既存ツールにおける形式的検証のギャップが顕在化している。
- ファズィングは、基本的で複雑な、およびユーザー指定の性質を含め、広範な性質を反証するのに非常に効果的であり、反例発見技術として優れた性能を示している。
- 静的型付けは、非イーサリアムスマートコントラクトに広く適用されている唯一の従来の分析手法であり、ミシェルンやアーベルトといった分野特有の言語は、型システムを通じて言語レベルで形式的検証を統合しており、セキュリティを強化している。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。