# Move言語の参照安全メカニズムには整数オーバーフローの脆弱性が存在します最近、安全研究者がMove言語を詳細に分析している際に、新しい整数オーバーフローの脆弱性を発見しました。この脆弱性はMove言語の参照セキュリティ検証プロセスで発生し、サービス拒否攻撃を引き起こす可能性があります。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-bde089e8295c5d7b9420c93ad5d47b35)Move言語はバイトコードを実行する前にコード検証を行い、4つのステップに分かれています。この脆弱性は、参照安全(reference_safety)検証フェーズに存在します。参照安全検証の主な目的は、空の参照、可変参照のアクセスの安全性、グローバルストレージの参照のアクセスの安全性などを確保することです。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-eb6397a8a98b556071724d98a4837b59)検証プロセスは、各基本ブロックのバイトコード命令を走査します。基本ブロックとは、入口と出口を除いて分岐命令がないコードのシーケンスを指します。Move言語は、分岐命令とループ命令を分析することで基本ブロックを識別します。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-6952376046c901dfae2b19d5144746b5)引用セキュリティ検証は、AbstractState構造体を使用してローカル変数と参照関係を追跡します。これはlocalsとborrow graphの2つの部分で構成されています。検証時には、実行前後の状態を比較し、更新をマージします。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-92892f2a9dffea9f805f3a1952e82703)バグはマージ状態のjoin_関数に現れます。この関数はu8型でlocalsを反復処理しますが、パラメータとローカル変数の合計が256を超えると整数オーバーフローを引き起こします。localsの数を検証するロジックがありますが、パラメータの長さは考慮されていません。! [Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-1347ef8b31983109babdf8ef29270c67)! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-ac937ab4f426d30a476feb32520a95b4)! [Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-a18dcf64108d1a75b728ffe8391100f1)! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-7c8fe4e4cf376ad49d729a6f80df6f08)! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-c598d61833550ec5494f9a5a4ee2a760)! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-12c60c225a5629f6d927982a7585fc5b)! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-94b0c97bb9e287ed715cddb5165f129d)! [Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-095e2b585c45a86b0a689214ca673619)! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-5ebaa03263f7a87edd78d146c5beadd2)! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-fe905356cbee596e8aba08ec14f5d508)攻撃者は、オーバーフローを利用して状態を変更するループ基本ブロックを構築できます。再実行時に存在しないlocalsインデックスにアクセスするとpanicが発生し、サービス拒否を引き起こします。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-ae25cc7d31726e2e1477e6d112b7aa75)この脆弱性は、静的型安全な言語であってもセキュリティリスクが存在する可能性があることを示しています。Move言語は実行時により多くのセキュリティチェックを追加することをお勧めします。検証段階だけに依存してはいけません。また、コード監査の重要性も示しています。
Move言語の引用安全機構が整数オーバーフローの脆弱性を公開し、サービス拒否攻撃を引き起こす可能性がある
Move言語の参照安全メカニズムには整数オーバーフローの脆弱性が存在します
最近、安全研究者がMove言語を詳細に分析している際に、新しい整数オーバーフローの脆弱性を発見しました。この脆弱性はMove言語の参照セキュリティ検証プロセスで発生し、サービス拒否攻撃を引き起こす可能性があります。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
Move言語はバイトコードを実行する前にコード検証を行い、4つのステップに分かれています。この脆弱性は、参照安全(reference_safety)検証フェーズに存在します。参照安全検証の主な目的は、空の参照、可変参照のアクセスの安全性、グローバルストレージの参照のアクセスの安全性などを確保することです。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
検証プロセスは、各基本ブロックのバイトコード命令を走査します。基本ブロックとは、入口と出口を除いて分岐命令がないコードのシーケンスを指します。Move言語は、分岐命令とループ命令を分析することで基本ブロックを識別します。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
引用セキュリティ検証は、AbstractState構造体を使用してローカル変数と参照関係を追跡します。これはlocalsとborrow graphの2つの部分で構成されています。検証時には、実行前後の状態を比較し、更新をマージします。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
バグはマージ状態のjoin_関数に現れます。この関数はu8型でlocalsを反復処理しますが、パラメータとローカル変数の合計が256を超えると整数オーバーフローを引き起こします。localsの数を検証するロジックがありますが、パラメータの長さは考慮されていません。
! Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
攻撃者は、オーバーフローを利用して状態を変更するループ基本ブロックを構築できます。再実行時に存在しないlocalsインデックスにアクセスするとpanicが発生し、サービス拒否を引き起こします。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
この脆弱性は、静的型安全な言語であってもセキュリティリスクが存在する可能性があることを示しています。Move言語は実行時により多くのセキュリティチェックを追加することをお勧めします。検証段階だけに依存してはいけません。また、コード監査の重要性も示しています。