世界初のMoveスマートコントラクトセキュリティ監査報告書が発表されました。
著者:MoveBit
10月11日、Moveエコシステムに特化したセキュリティ会社MoveBit(モビセキュリティ)チームは、世界初のMoveスマートコントラクトセキュリティ監査報告書「Starcoin Framework Audit Report」を発表しました。
この監査報告書は、世界のMoveエコシステムにおける初のスマートコントラクトセキュリティ監査報告書であり、Moveに基づいて構築されたDAppアプリケーションのセキュリティ経験を最初にまとめたもので、Moveエコシステムのセキュリティシステム構築の始まりを示しています。
Move言語の紹介
Move言語は、最初はMetaのDiemブロックチェーンプロジェクトのために開発され、現在はオープンソースコミュニティによって維持されています。Move言語のビジョンは、開発者が安全に、簡単に、迅速にブロックチェーンアプリケーションを構築できるフレームワークを提供することです。Moveはブロックチェーンのために生まれたスマートコントラクトプログラミング言語です。
MystenLabsのMove言語のドキュメントによると、現在4つのパブリックチェーンがMove言語を使用しています。それは、Aptos、Sui、Starcoin、0L Networkです。現在、Starcoinと0L Networkはメインネットに上线しており、AptosとSuiはまだテストネットの段階です。
Starcoinは、2021年6月にメインネットが上线したPoWをコアコンセンサスメカニズムとするMoveブロックチェーンで、強化された作業証明コンセンサスとMove言語を使用しています。DeFi、NFT、ゲームなどの異なるエコシステムの構築を最適化するために、階層的で柔軟な相互運用性を提供します。
Starcoin Frameworkは、Starcoinチェーン上の汎用Moveライブラリであり、アカウント、NFT、トークンなどの汎用標準を含んでおり、エコシステム構築の重要なインフラストラクチャです。Starcoin Frameworkのセキュリティは、Starcoin上でさまざまなMoveプロジェクトアプリケーションの安全性を確保する基盤です。
Moveスマートコントラクトの重要な概念
Move Prover: Moveに内蔵されたスマートコントラクトの形式的検証ツールはMove Proverと呼ばれ、このツールを使用することで、記述したスマートコントラクトの特性と規範を主張でき、スマートコントラクトの実行に追加の安全保障を提供します。その基本的な考え方は、形式検証の分野における自動定理証明ソルバーを使用して、プログラムが特定の規範(specification)に適合しているかどうかを検証することです。
Move Specification: Moveは独自の規範言語を定義しており、前提条件、後置条件、不変式などを通じてプログラムがどのように正しく実行されるかを記述します。Move Specificationはプログラム内に直接挿入することも、別のMove Specificationファイルとして書くこともできます。Move Specificationは通常、Move Specと略されます。
Move Framework: Move言語の重要な設計は、ブロックチェーン特有のフレームワークロジックとMove言語の汎用機能を分離できることです。Move Frameworkは、チェーンの創世状態に内蔵された一連のMoveモジュールです。これらのモジュールは通常、アカウント、トークンなどの重要なコンポーネントを実装し、特定のブロックチェーンの汎用フレームワークロジックを実現するために使用され、DApp開発の基盤となります。
Move DAppアプリケーションの構築におけるセキュリティ経験
過去数週間、Moveセキュリティエコシステムに特化したセキュリティ会社MoveBitは、Starcoinチームと深い交流と協力を行い、Starcoin Frameworkの各詳細を監査しました。
MoveBitは、Starcoin Frameworkのコード構造を深く研究し、最初に上线されたMove Frameworkとして、Account、Token、STC、Config、DAO、NFT、Oracle、Genesis、Blockなどのコード機能が網羅されており、ほとんどの開発者の汎用シナリオニーズをカバーしています。これに基づき、MoveBitはMoveに基づいて構築されたDAppアプリケーションのセキュリティ経験を最初にまとめ、以下の14種類のリスクを分析しました。
- トランザクション順序依存
- タイムスタンプ依存
- 整数オーバーフロー/アンダーフロー
- 丸め誤差の数
- サービス拒否 / 論理的見落とし
- アクセス制御
- 権力の集中
- 規範に矛盾するロジック
- コードクローン、機能の重複
- ガス使用
- 任意のトークンのミント
- チェックされていないCALL戻り値
- 能力の流れ
- ウィットネスタイプ
MoveBitの発見
Starcoin FrameworkはStarcoinのMove標準ライブラリとして、69のMoveソースファイルと70以上のモジュールを含んでいます。この監査作業の前に、私たちはStarcoin SIPや他の開発リソースを事前に読みました。まずフレームワークアーキテクチャをレビューし、その後、主に手動コードレビュー、テスト、Move Proverを使用した形式的検証を行いました。
私たちはStarcoinチームと密接に連絡を取り合い、v11バージョンで合計21のIssue(そのうちMajor 1、Medium 4、Minor 16)を発見し、監査報告書にまとめて公開しました。Starcoinチームとの会議中に、すべての問題について広範な議論を行いました。一部の問題はその後のイテレーションで修正され、他の問題はすぐに解決される予定です。ネイティブ関数や推論できない特殊要素を含む関数(例:ランタイム型情報、ビット演算子)を除き、ほとんどの関数とファイルに形式的検証コードMove Specificationを追加しました。すべての形式的検証コードはPRとしてコードリポジトリに提出され、最終的にStarcoinチームによって今後のアップグレードや修正に統合されます。
監査報告書リンク:[++https://www.movebit.xyz/file/Starcoin-Framework-Audit-Report.pdf++]
この監査報告書は、世界のMoveエコシステムにおける初のスマートコントラクトセキュリティ監査報告書であり、Moveエコシステムのセキュリティシステム構築の始まりを示しています。MoveBitはMoveコミュニティと共に、Moveエコシステムの安全を守ることに専念します。
Starcoinについて
Starcoinは、2021年5月にメインネットが上线したMoveエコシステムの最初の無許可パブリックチェーンであり、最も成熟した分散型コンセンサス強化版PoWおよびスマートコントラクト言語Moveに基づいて、原力からの安全を提供し、階層的で柔軟な相互運用性を通じてWeb.3.0エコシステムに参加する人々に価値を提供するデジタル資産サービスの分散型金融ネットワークを構築します。
MoveBitについて
MoveBit(モビセキュリティ)チームは、Moveエコシステムにサービスを提供するセキュリティ会社であり、そのビジョンはMoveエコシステムを最も安全なWeb3エコシステムにすることです。MoveBitチームは、学術界のセキュリティの専門家と企業界のセキュリティリーダーで構成されており、10年のセキュリティ経験を持ち、NDSS、CCSなどのトップ国際セキュリティ学術会議でセキュリティ研究成果を発表しています。チームはMoveエコシステムの初期の貢献者であり、Move開発者と共に安全なMoveアプリケーションの標準を策定しています。MoveBitは、世界中の多くの著名な取引所やパブリックチェーンプロジェクトと連携し、パートナーにセキュリティ監査サービスを提供しています。