Smart Learning to Find Dumb Contracts (Extended Version)

要約

ニューラル ネットワークに基づくイーサリアム スマート コントラクト用のディープ ラーニング脆弱性アナライザー (DLVA) を紹介します。
監督するオラクルはソースを判断することしかできませんが、DLVA がバイトコードを判断できるようにトレーニングします。
DLVA のトレーニング アルゴリズムは一般的です。手動の特徴エンジニアリング、事前定義されたパターン、専門家によるルールを使用せずに、ソース コード分析をバイトコードに拡張します。
DLVA のトレーニング アルゴリズムも堅牢です。DLVA は、エラー率 1.25% の誤ってラベル付けされた契約書を克服し、学生が教師を上回って、Slither が誤ってラベル付けした脆弱な契約書を発見しました。
DLVA は他のスマート コントラクト脆弱性検出器よりもはるかに高速です。DLVA は 29 件の脆弱性についてコントラクトを 0.2 秒でチェックします。これは 10 ~ 1,000 倍の高速化です。
DLVA には 3 つの主要なコンポーネントがあります。
まず、Smart Contract to Vector (SC2V) はニューラル ネットワークを使用して、スマート コントラクトのバイトコードを高次元の浮動小数点ベクトルにマッピングします。
SC2V を 4 つの最先端のグラフ ニューラル ネットワークに対してベンチマークし、モデルの差別化が 2.2% 向上することを示しました。
2 番目に、兄弟検出器 (SD) は、ターゲット コントラクトのベクトルがトレーニング セット内のラベル付きコントラクトのベクトルにユークリッド近似している場合に、コントラクトを分類します。
テスト セット内の契約の 55.7% しか判断できませんが、Slither 予測精度は 97.4% で、誤検知率はわずか 0.1% です。
3 番目に、コア分類子 (CC) はニューラル ネットワークを使用して、ベクトル距離に関係なく脆弱なコントラクトを推論します。
DLVA の CC を 10 の ML 手法でベンチマークし、CC が精度を 11.3% 向上させることを示しました。
全体として、DLVA は全体の精度 92.7%、関連する誤検知率 7.2% で Slither のラベルを予測します。
最後に、9 つのよく知られたスマート コントラクト分析ツールに対して DLVA をベンチマークします。
DLVA は、分析時間が大幅に短縮されたにもかかわらず、すべてのクエリを完了し、平均精度 99.7% で群をリードし、高い真陽性率と低い誤陽性率のバランスをうまくとりました。

要約(オリジナル)

We introduce the Deep Learning Vulnerability Analyzer (DLVA) for Ethereum smart contracts based on neural networks. We train DLVA to judge bytecode even though the supervising oracle can only judge source. DLVA’s training algorithm is general: we extend a source code analysis to bytecode without any manual feature engineering, predefined patterns, or expert rules. DLVA’s training algorithm is also robust: it overcame a 1.25% error rate mislabeled contracts, and–the student surpassing the teacher–found vulnerable contracts that Slither mislabeled. DLVA is much faster than other smart contract vulnerability detectors: DLVA checks contracts for 29 vulnerabilities in 0.2 seconds, a 10-1,000x speedup. DLVA has three key components. First, Smart Contract to Vector (SC2V) uses neural networks to map smart contract bytecode to a high-dimensional floating-point vector. We benchmark SC2V against 4 state-of-the-art graph neural networks and show that it improves model differentiation by 2.2%. Second, Sibling Detector (SD) classifies contracts when a target contract’s vector is Euclidian-close to a labeled contract’s vector in a training set; although only able to judge 55.7% of the contracts in our test set, it has a Slither-predictive accuracy of 97.4% with a false positive rate of only 0.1%. Third, Core Classifier (CC) uses neural networks to infer vulnerable contracts regardless of vector distance. We benchmark DLVA’s CC with 10 ML techniques and show that the CC improves accuracy by 11.3%. Overall, DLVA predicts Slither’s labels with an overall accuracy of 92.7% and associated false positive rate of 7.2%. Lastly, we benchmark DLVA against nine well-known smart contract analysis tools. Despite using much less analysis time, DLVA completed every query, leading the pack with an average accuracy of 99.7%, pleasingly balancing high true positive rates with low false positive rates.

arxiv情報

著者 Tamer Abdelaziz,Aquinas Hobor
発行日 2023-06-27 14:19:05+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.CR, cs.LG, cs.SE パーマリンク