2024-03-29T01:48:22Zhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_oaipmhoai:ipsj.ixsq.nii.ac.jp:002013742023-11-14T00:51:14Z06164:06165:06462:10022
RA: スマートコントラクトの安全性解析にむけたシンボリック実行ツールRA: Symbolic Execution Tool Toward Security Analysis of Smart Contractsjpnブロックチェーン,Ethereum,スマートコントラクト,シンボリック実行,制御フローグラフhttp://id.nii.ac.jp/1001/00201281/Conference Paperhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=201374&item_no=1&attribute_id=1&file_no=1Copyright (c) 2019 by the Information Processing Society of Japan大阪大学大学院情報科学研究科大阪大学大学院情報科学研究科大阪大学大学院情報科学研究科奈良工業高等専門学校知念, 祐一郎矢内, 直人クルズ, ジェイソン ポール岡村, 真吾スマートコントラクトはブロックチェーン上で稼働するプログラムであり,分散型アプリケーションの開発に用いられる.近年の研究ではスマートコントラクトに対し,コントラクトの生成や外部コントラクトの呼び出しといった複雑な動作を通じて不正に送金処理を行うリエントランシー攻撃が報告されているが,既存のスマートコントラクトの検査ツールは単一のコントラクト内部の動作のみを検査対象としており,このような複雑な攻撃を解析できない.<br>本稿では,Ethereumスマートコントラクトを対象に先述した複雑な動作を解析するシンボリック実行ツールRA を提案する.RA はコントラクトの生成や外部呼び出しが起きた状況であっても,プログラムの動作を制御フローグラフを通じて正確に表現できる.これにより,既存ツールに比べコード網羅率を大幅に上昇させるとともに,複雑化している攻撃手法に対する脆弱性を検査することが期待できる.Smart contracts are programs that run on blockchains and are used to develop decentralized applications. While attacks against smart contracts involving complex operations such as contract creation and calling external contract have been reported, existing inspection tools only focus on operations within a single contract and thus cannot analyze such attacks.<br>In this paper, we introduce a new symbolic execution tool, named RA, to analyze Ethereum smart contracts including the complex operations described above. RA is able to express a program behavior even against attacks based on the complex operations through generating a control flow graph. Consequently, as well as improving a code coverage in comparison with the existing tools, RA can be potentially used to analyze inspecting attacks based on vulnerabilities to complicated attack methods.ISSN 1882-0840コンピュータセキュリティシンポジウム2019論文集20195695762019-10-142019-12-10