講演抄録/キーワード |
講演名 |
2021-03-05 14:20
Ethereumスマートコントラクトにおけるコントラクト単位でのコード表現の学習による脆弱性検知 ○芦澤奈実・矢内直人・クルーズ ジェイソン ポール(阪大)・岡村真吾(奈良高専) IT2020-156 ISEC2020-86 WBS2020-75 |
抄録 |
(和) |
Ethereum スマートコントラクトはブロックチェーン上で稼働するプログラムだが, これまでに多くの脆弱性が報告されている. しかし既存のセキュリティ解析ツールはコードの改変などが行われた際に検知精度が大幅に下がってしまう. 著者らはこれまでにスマートコントラクトのコードを言語処理を用いて解析するツールEth2Vec を提案している. 本稿ではEth2Vec の発展として脆弱なコントラクトをEth2Vec に学習させることで, 特徴量を抽出できていること, また実際のコントラクトに対し脆弱性を検知できることを確認する. 具体的にはEtherscan など既存の公開データベースを用いて実験を行い, サポートベクタマシン (SVM) を用いた既存研究よりも適合率, 再現率, F値においてEth2Vec がより高精度で検知可能だと示す.
さらにEth2Vec がコードの改変に対して頑健であることも示す. |
(英) |
Ethereum smart contracts are programs that run on the Ethereum blockchain, and many smart contract vulnerabilities have been discovered in the past decade. Many security analysis tools have been created to detect such vulnerabilities, but their performance decreases drastically when target codes are rewritten. We have proposed Eth2Vec, a machine-learning-based static analysis tool for vulnerability detection in smart contracts, so far. In this paper, we confirm that Eth2Vec can precisely extract features and detect vulnerabilities in deployed contracts through learning vulnerable contracts. We conduct experiments with existing open databases, such as Etherscan, and our results show that Eth2Vec outperforms a recent model based on support vector machine in terms of well-known metrics, i.e., precision, recall, and F1-score. We also show the robustness of Eth2Vec against code rewrites, i.e., it can detect vulnerabilities even in rewritten codes. |
キーワード |
(和) |
Ethereum / スマートコントラクト / ブロックチェーン / 自然言語処理 / ニューラルネットワーク / 静的解析 / / |
(英) |
Ethereum / Smart contract / Blockchain / Natural language processing / Neural network / Static analysis / / |
文献情報 |
信学技報, vol. 120, no. 411, ISEC2020-86, pp. 273-280, 2021年3月. |
資料番号 |
ISEC2020-86 |
発行日 |
2021-02-25 (IT, ISEC, WBS) |
ISSN |
Online edition: ISSN 2432-6380 |
著作権に ついて |
技術研究報告に掲載された論文の著作権は電子情報通信学会に帰属します.(許諾番号:10GA0019/12GB0052/13GB0056/17GB0034/18GB0034) |
PDFダウンロード |
IT2020-156 ISEC2020-86 WBS2020-75 |
|