Skip to main content
QUICK REVIEW

[論文レビュー] Exploring Security Practices of Smart Contract Developers

Tanusree Sharma, Zhixuan Zhou|arXiv (Cornell University)|Apr 24, 2022
Blockchain Technology Applications and Security被引用数 4
ひとこと要約

本研究では、29名のスマートコントラクト開発者を対象としたインタビューとコードレビューを通じて、セキュリティ実践に関する調査が行われ、特に初期段階の開発者において、セキュリティ意識や脆弱性検出の面で顕著な格差が明らかになった。コードレビューのタスクにおいて、初期段階の開発者の15%が脆弱性を特定した一方で、経験豊富な開発者の55%が特定しており、ブロックチェーン開発におけるセキュリティ知識の格差を埋めるための教育やツールの改善が求められることが示された。

ABSTRACT

Smart contracts are self-executing programs that run on blockchains (e.g., Ethereum). 680 million US dollars worth of digital assets controlled by smart contracts have been hacked or stolen due to various security vulnerabilities in 2021. Although security is a fundamental concern for smart contracts, it is unclear how smart contract developers approach security. To help fill this research gap, we conducted an exploratory qualitative study consisting of a semi-structured interview and a code review task with 29 smart contract developers with diverse backgrounds, including 10 early stage (less than one year of experience) and 19 experienced (2-5 years of experience) smart contract developers. Our findings show a wide range of smart contract security perceptions and practices including various tools and resources they used. Our early-stage developer participants had a much lower success rate (15%) of identifying security vulnerabilities in the code review task than their experienced counterparts (55%). Our hierarchical task analysis of their code reviews implies that just by accessing standard documentation, reference implementations and security tools is not sufficient. Many developers checked those materials or used a security tool but still failed to identify the security issues. In addition, several participants pointed out shortcomings of current smart contract security tooling such as its usability. We discuss how future education and tools could better support developers in ensuring smart contract security.

研究の動機と目的

  • スマートコントラクト開発者が開発プロセスにおいてセキュリティをどのように認識・対処しているかを理解すること。
  • 初期段階の開発者と経験豊富なスマートコントラクト開発者の間で、セキュリティ実践および脆弱性検出能力にどのような差があるかを比較すること。
  • 開発者向けの現在のセキュリティツール、リソース、教育的支援におけるギャップを同定すること。
  • スマートコントラクトセキュリティのためのより良い開発者ツールおよび教育フレームワークの設計を支援すること。

提案手法

  • 初期段階の開発者10名と経験豊富な開発者19名を含む、29名のスマートコントラクト開発者に対して、半構造化インタビューを実施した。
  • 4つの一般的な脆弱性を含むスマートコントラクトを対象にコードレビューのタスクを実施し、脆弱性検出能力を評価した。
  • 階層的タスク分析を用いて、開発者がコードレビューの際に踏んだ手順や使用する戦略を検証した。
  • ツールの使用状況、ドキュメントへのアクセス、既存のセキュリティツールのユーザビリティ上の課題に関するデータを収集した。
  • 定性的な回答を分析し、セキュリティ認識、実践、およびツールの制限に関するパターンを同定した。

実験結果

リサーチクエスチョン

  • RQ1スマートコントラクト開発者は、スマートコントラクトのセキュリティをどのように確保しているのか。また、初期段階の開発者と経験豊富な開発者との間で、その実践方法にどのような差があるのか。
  • RQ2開発者はコードレビューをどのように実施しているのか。また、一般的なスマートコントラクトのセキュリティ脆弱性をどれくらいの割合で特定できているのか。
  • RQ3現在のスマートコントラクトセキュリティツールに、開発者がどのように感じている制限があるのか。また、それらの制限は開発者の実践にどのように影響しているのか。

主な発見

  • 初期段階の開発者がコードレビューのタスクで脆弱性を特定した割合は15%であったのに対し、経験豊富な開発者は55%であった。
  • 多くの開発者、とりわけ初期段階の開発者は、ドキュメントやセキュリティツールにアクセスしていたが、依然として既知の脆弱性を検出できていなかった。これは、理解不足や応用不足に起因するギャップを示している。
  • 参加者らは、既存のセキュリティツールがしばしば使いにくく、ユーザインターフェースが悪いと報告しており、開発ワークフローに統合されていないことも多いと述べた。
  • 多くの開発者が、セキュリティ保証のために外部の監査や第三者に依存しており、自らの内部での脆弱性検出能力に自信がないことがうかがえる。
  • 多くの初期段階の開発者は、バグが現実世界に影響を与えないテストネットに主にデプロイするため、セキュリティを優先しない傾向にある。
  • 脆弱性を意図的に埋め込んだテストネットを活用した、セキュリティに特化した教育リソースの整備が強く求められている。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。