[論文レビュー] Hunting the Ethereum Smart Contract: Color-inspired Inspection of Potential Attacks
この論文は Solidity バイトコードを RGB カラー画像に翻訳し、CNN を用いて(マルチラベルの転移学習を含む)自動的に Ethereum スマートコントラクトのコンパイラバグを検出し、専門家の労力コストを削減します。
Blockchain and Cryptocurrencies are gaining unprecedented popularity and understanding. Meanwhile, Ethereum is gaining a significant popularity in the blockchain community, mainly due to the fact that it is designed in a way that enables developers to write smart contract and decentralized applications (Dapps). This new paradigm of applications opens the door to many possibilities and opportunities. However, the security of Ethereum smart contracts has not received much attention; several Ethereum smart contracts malfunctioning have recently been reported. Unlike many previous works that have applied static and dynamic analyses to find bugs in smart contracts, we do not attempt to define and extract any features; instead we focus on reducing the expert's labor costs. We first present a new in-depth analysis of potential attacks methodology and then translate the bytecode of solidity into RGB color code. After that, we transform them to a fixed-sized encoded image. Finally, the encoded image is fed to convolutional neural network (CNN) for automatic feature extraction and learning, detecting compiler bugs of Ethereum smart contract.
研究の動機と目的
- 展開後の不可逆性のため、Ethereum スマートコントラクトの自動セキュリティ検査を動機づける。
- Solidity バイトコードをカラーエンコードした画像表現を導入し、画像ベースの学習を可能にする。
- コントラクトのコンパイルバグを検出するための CNN ベースのモデルを開発・評価する(転移学習を含む)。
- バイトコード画像からのエンドツーエンド学習を可能にして、手動の特徴抽出を削減する。
- 自動コントラクト分析のための公開 RESTful API と可視化ツールを提供する。
提案手法
- Solidity バイトコードを RGB カラー画像にマッピングしてカラー画像として変換する。
- CNN が特徴を学習できるよう、ソースコードの特徴設計を行わず固定サイズの入力へバイトコード画像を変換する。
- 単一ラベルの脆弱性検出のため、CNN アーキテクチャ(AlexNet、GoogleNet、Inception-v3)を評価する。
- マルチバグ特性によりマルチラベル分類を可能にする転移学習を適用する。
- Etherscan の検証済みコントラクトで学習し、最新サンプルで精度と適合率を評価する。
- オンラインでのバイトコード画像分析を実行する RESTful API と UI を提供する。
実験結果
リサーチクエスチョン
- RQ1CNN に入力されたカラーエンコード済みのバイトコード画像は、手動の特徴抽出なしに Ethereum スマートコントラクトのコンパイラ バグを効果的に検出できるか。
- RQ2マルチラベル分類の転移学習は、単一ラベルの画像ベース手法と比較して複数の Solidity バグの検出を改善するか。
- RQ3CNN アーキテクチャは Ethereum コントラクト バイトコード画像でどの程度の精度、適合率、リコールを達成できるか。
- RQ4軽量なオンラインツールと公開 API を用いたエンドツーエンドの自動セキュリティ分析はどれほど実現可能か。
主な発見
- AlexNet は 250 epochs 後に 86% の精度を達成(LR 0.01)。
- GoogleNet は 250 epochs 後に 90% の精度を達成(LR 0.01)。
- Inception-v3 は 100 epochs 後に 97.10% の精度を達成(LR 0.001)。
- Inception-v3 は 500 epochs 後に 97.39% の精度を達成(LR 0.001)。
- マルチラベル分類の転移学習は、複数の Solidity バグの検出を実用的に改善するのに寄与した。
- テストデータ(2018年5月–6月)で高い精度と再現率を示した(例:リコールは一部の設定で最大 99.04%) 。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。