[論文レビュー] Empirical Vulnerability Analysis of Automated Smart Contracts Security Testing on Blockchains
この論文は、Ethereumスマートコントラクトの4つのオープンソース自動セキュリティテストツール(Oyente、Mythril、Securify、SmartCheck)を実証的に評価し、10個の脆弱なSolidityコントラクトを用いて、脆弱性検出の有効性と精度を比較します。
The emerging blockchain technology supports decentralized computing paradigm shift and is a rapidly approaching phenomenon. While blockchain is thought primarily as the basis of Bitcoin, its application has grown far beyond cryptocurrencies due to the introduction of smart contracts. Smart contracts are self-enforcing pieces of software, which reside and run over a hosting blockchain. Using blockchain-based smart contracts for secure and transparent management to govern interactions (authentication, connection, and transaction) in Internet-enabled environments, mostly IoT, is a niche area of research and practice. However, writing trustworthy and safe smart contracts can be tremendously challenging because of the complicated semantics of underlying domain-specific languages and its testability. There have been high-profile incidents that indicate blockchain smart contracts could contain various code-security vulnerabilities, instigating financial harms. When it involves security of smart contracts, developers embracing the ability to write the contracts should be capable of testing their code, for diagnosing security vulnerabilities, before deploying them to the immutable environments on blockchains. However, there are only a handful of security testing tools for smart contracts. This implies that the existing research on automatic smart contracts security testing is not adequate and remains in a very stage of infancy. With a specific goal to more readily realize the application of blockchain smart contracts in security and privacy, we should first understand their vulnerabilities before widespread implementation. Accordingly, the goal of this paper is to carry out a far-reaching experimental assessment of current static smart contracts security testing tools, for the most widely used blockchain, the Ethereum and its domain-specific programming language, Solidity to provide the first...
研究の動機と目的
- Ethereum/Solidity 上での4つのオープンソース静的スマートコントラクトセキュリティテストツールの有効性を評価する。
- これらのツールが真の脆弱性を検出し、誤検知を回避する精度を測定・比較する。
- ブロックチェーン上へデプロイ前のスマートコントラクトのセキュアな検証を導くための実証的知識を提供する。
- ツール間の脆弱性検出と精度のトレードオフを分析し、実務に情報を提供する。
提案手法
- 4つのFOSSツールを選択する:Oyente、Mythril、Securify、SmartCheck。
- テストセットとして、公開されている脆弱なSolidityコントラクトを10件使用する。
- 各コントラクトに対して各ツールを実行し、各ケースについてTP、FP、TN、FNを記録する。
- 各ツールの有効性(リコール)を式 Eff_j = (sum_i TP_i/(TP_i+FN_i)/n) * 100 を用いて計算する。
- 精度(Youden-like 指標)Acc_j = (Eff_j + (sum_i TN_i/(TN_i+FP_i)/n)*100) - 1 を計算する。
- ランダム化ブロック設計を適用し: 各コントラクトは4つのツールすべてでテストする; ANOVAおよびLSD事後検定で分析する。
- 仮説検定には有意水準5%を用いる。
実験結果
リサーチクエスチョン
- RQ1RQ1: 自動化されたスマートコントラクトセキュリティテストツールは脆弱性検出にどれだけ有効で、どれが最も有効ですか?
- RQ2RQ2: ツールの真の脆弱性検出と誤検知回避における精度スコアはどの程度ですか?
- RQ34つのツール間で有効性と精度を統計的にどのように比較しますか?
- RQ4有効性と精度の観点でツール間の対比較差はどのようになりますか?
主な発見
- SmartCheckは4つのツールの中で脆弱性検出の有効性が最も高いことを示している。
- ANOVAはツール間で脆弱性検出の有効性に統計的に有意差があることを示している(p = 0.0003)。
- LSD事後検定は、有効性の点でSmartCheckが他の全ツールと有意に異なることを示す(p < 0.05)。
- MythrilとSmartCheckは一般に精度スコアが高く、Mythrilはしばしばコントラクト全体で最高の精度を達成する。
- 精度のANOVAはツール間で有意差を示す(p = 0.0002);事後検定ではMythrilとSmartCheckが他のツールと精度で有意に異なる。
- 全体としてトレードオフが観察される:SmartCheckは検出有効性に優れ、MythrilとSmartCheckは精度が高い傾向があるため、実務利用には異なるツールの長所が示唆される。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。