SoMo:イーサリアムのスマートコントラクトにおける不安全な関数修飾子を識別する革新的なツール

MetaTrust Labs
2023-05-25 17:38:09
コレクション
SoMoが大規模データセットの62464件の契約を分析した際の精度は91.2%でした。

著者:MetaTrust Labs

image

Web3セキュリティサービスプロバイダーのMetaTrust Labsが最近完了した研究は、Ethereumスマートコントラクトにおけるカスタム関数修飾子の重大なセキュリティリスクを発見しました。「Protected」と「Private」を超えて:スマートコントラクトにおけるカスタム関数修飾子の実証的セキュリティ分析」というタイトルのISSTA'23 論文で、研究チームは62,000以上のスマートコントラクトを調査し、修飾子を回避できる脆弱なコントラクトが411件存在することを発見しました。これらの問題を解決するために、MetaTrustは新しく開発されたツールSoMoをその有名なスマートコントラクトセキュリティスキャンサービスMetaScanに統合しました。

この研究の主な目的は、安全でない修飾子、すなわち「回避可能な修飾子」を特定することです。これらの修飾子は、1つまたは複数の保護されていないスマートコントラクト関数で回避される可能性があります。例えば、以下の「onlyOwner」修飾子は、公共関数Mining24()を呼び出すことで回避できます。したがって、攻撃者はonlyOwner修飾子で保護された敏感な関数を悪用することができます。

image

これらの脆弱性を特定するために、研究者たちは新しいツールSoMoを開発しました。これは、修飾子に関連するすべての制御/データフローをカバーする修飾子依存グラフ(MDG)を構築し、MDG上でシンボリックパス制約を生成し、各候補エントリ関数を反復テストします。結果は、SoMoが大規模なデータセット内の62,464のコントラクトを分析する際の精度が91.2%であることを示しています。

image

この研究は、修飾子が現実のシナリオで主に使用される目的を明らかにしました。これには、アクセス制御、金融関連、コントラクトの状態、雑多なチェックが含まれ、以下の表に示されています。これらの発見は、開発者がしばしば修飾子を使用してセキュリティに敏感な操作を行うが、それらが十分に保護されていない可能性があることを示しています。

image

全体として、ブロックチェーン技術の安全性と信頼性を確保するためには、まだ多くの作業が必要です。より良いプログラミング技術とテストツールを使用することで、スマートコントラクトへの攻撃を防ぎ、デジタルトランザクションの安全を守る手助けができます。より多くの企業や組織がさまざまなアプリケーションのためにブロックチェーン技術を採用する中で、スマートコントラクトの安全性と信頼性を確保することは非常に重要です。この研究は、その目標を達成するための重要なステップです。

ブロックチェーン技術は多くの業界を根本的に変える可能性がありますが、安全性は常に最優先事項であるべきです。MetaScanのようなツールを使用し、安全なプログラミングのベストプラクティスに従うことで、ブロックチェーン上でのデジタルトランザクションの安全を確保する手助けができます。

ChainCatcherは、広大な読者の皆様に対し、ブロックチェーンを理性的に見るよう呼びかけ、リスク意識を向上させ、各種仮想トークンの発行や投機に注意することを提唱します。当サイト内の全てのコンテンツは市場情報や関係者の見解であり、何らかの投資助言として扱われるものではありません。万が一不適切な内容が含まれていた場合は「通報」することができます。私たちは迅速に対処いたします。
チェーンキャッチャー イノベーターとともにWeb3の世界を構築する