要約
タイトル: スマート・ラーニングによるバカな契約の発見
要約:
– Ethereumスマートコントラクトに基づく脆弱性検出ツールであるDeep Learning Vulnerability Analyzer(DLVA)を紹介します。
– DLVAは、バイトコード向けのシーケンシャルなデータを扱うための強力なディープラーニング技術に基づいています。
– スーパーバイジングオラクルであるSlitherはソースコードしか判断できないが、DLVAはバイトコードの判断を学習しています。
– DLVAのトレーニングアルゴリズムは、人手での特徴量工学、事前定義済みのパターン、専門家のルールなどは必要ありません。
– DLVAのトレーニングアルゴリズムは、1.25%の誤ラベル化された契約を克服し、Slitherが誤ラベル化した脆弱な契約を見つけました。
– DLVAは、バイトコードからソースコード分析を拡張するだけでなく、フォーマルな方法に基づくスマートコントラクトの脆弱性検出の従来のツールよりもはるかに高速です。
– DLVAには、3つの主要なコンポーネントがあります。Smart Contract to Vector(SC2V)は、ニューラルネットワークを使用して任意のスマートコントラクトバイトコードを高次元の浮動小数点ベクトルにマップします。
– Sibling Detector(SD)は、ターゲットコントラクトのベクトルがトレーニングセット内のラベル付きコントラクトのベクトルとユークリッド距離が近い場合に契約を分類します。テストセット内の契約のうち55.7%しか判断できませんが、平均的な正確性は97.4%で、誤検知率は0.1%に保たれます。
– 最後に、Core Classifier(CC)は、ベクトル距離に関係なく脆弱な契約を推測するためにニューラルネットワークを使用します。
– DLVAは、全体的な正確度が96.6%で、関連する誤検知率はわずか3.7%です。
要約(オリジナル)
We introduce Deep Learning Vulnerability Analyzer (DLVA), a vulnerability detection tool for Ethereum smart contracts based on powerful deep learning techniques for sequential data adapted for bytecode. We train DLVA to judge bytecode even though the supervising oracle, Slither, can only judge source code. 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. In addition to extending a source code analyzer to bytecode, DLVA is much faster than conventional tools for smart contract vulnerability detection based on formal methods: DLVA checks contracts for 29 vulnerabilities in 0.2 seconds, a speedup of 10-500x+ compared to traditional tools. DLVA has three key components. Smart Contract to Vector (SC2V) uses neural networks to map arbitrary smart contract bytecode to an high-dimensional floating-point vector. 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 an average accuracy of 97.4% with a false positive rate of only 0.1%. Lastly, Core Classifier (CC) uses neural networks to infer vulnerable contracts regardless of vector distance. DLVA has an overall accuracy of 96.6% with an associated false positive rate of only 3.7%.
arxiv情報
著者 | Tamer Abdelaziz,Aquinas Hobor |
発行日 | 2023-04-21 03:45:10+00:00 |
arxivサイト | arxiv_id(pdf) |
提供元, 利用サービス
arxiv.jp, OpenAI