# Move言語の引用安全モジュールで整数オーバーフローの脆弱性が発見されました最近、Move言語における新しい整数オーバーフローの脆弱性が発見されました。この脆弱性は、参照の安全性検証プロセスに存在し、Move言語のいくつかのコア概念とメカニズムに関連しています。Move言語はバイトコードを実行する前にコード検証を行い、4つのステップに分かれています。この新たに発見された脆弱性はreference_safetyステップに現れます。このステップは、参照の安全性を検証する責任があり、ポインタの不正参照、可変参照のアクセス安全性、グローバルストレージ参照のアクセス安全性などのチェックを含みます。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-bde089e8295c5d7b9420c93ad5d47b35)安全検証の核心は、各関数内の基本ブロックを分析することです。基本ブロックは、入口と出口以外に分岐命令がないコードのシーケンスです。Move言語は、バイトコードを走査して、すべての分岐命令とループ命令を探すことによって基本ブロックを識別します。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-eb6397a8a98b556071724d98a4837b59)検証プロセスでは、システムがAbstractState構造体を維持し、borrow graphとlocals情報を含めて、関数内での参照の安全性を確保します。検証フローは基本ブロックコードを実行し、実行後の状態を生成し、その後、実行前後の状態を統合してブロック状態を更新し、後続のブロックに伝播します。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-6952376046c901dfae2b19d5144746b5)バグはjoin_関数内に発生します。関数の引数の長さとローカル変数の長さを合わせて256を超えると、local変数をu8型で表現しているため、整数オーバーフローが発生します。Move言語にはlocalsの数をチェックするメカニズムがありますが、これはローカル変数の数のみをチェックし、引数の長さは含まれていません。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-92892f2a9dffea9f805f3a1952e82703)このオーバーフローの脆弱性は、サービス拒否攻撃を引き起こす可能性があります。攻撃者は、オーバーフローを利用してブロックの状態を変更するループコードブロックを構築できます。基本ブロックが再実行されるとき、命令がアクセスする必要のあるインデックスが新しいローカルマップに存在しない場合、システムがクラッシュします。! [Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-1347ef8b31983109babdf8ef29270c67)この脆弱性を実証するために、研究者は概念実証(PoC)を提供しました。特定のパラメータとローカル変数の数を設定することで、整数オーバーフローを引き起こし、システムがパニックに陥ることがあります。! [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)この脆弱性は、厳格に設計された言語でさえも安全上の欠陥が存在する可能性があることを明らかにしています。これは、コード監査の重要性と、言語設計においてより多くの境界条件を考慮する必要があることを強調しています。Move言語に関しては、検証段階の安全メカニズムに依存するだけでなく、実行時により多くの安全チェックを追加することをお勧めします。Move言語がWeb3分野で広く使用される中で、このような潜在的な脆弱性を深く研究し発見することは、エコシステム全体の安全性を向上させるために非常に重要です。開発者とセキュリティ研究者は警戒を怠らず、Move言語の安全性を継続的に注視し改善する必要があります。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-ae25cc7d31726e2e1477e6d112b7aa75)
Move言語の引用安全モジュールで整数オーバーフローの脆弱性が発見されました。構造的攻撃によりシステムがクラッシュする可能性があります。
Move言語の引用安全モジュールで整数オーバーフローの脆弱性が発見されました
最近、Move言語における新しい整数オーバーフローの脆弱性が発見されました。この脆弱性は、参照の安全性検証プロセスに存在し、Move言語のいくつかのコア概念とメカニズムに関連しています。
Move言語はバイトコードを実行する前にコード検証を行い、4つのステップに分かれています。この新たに発見された脆弱性はreference_safetyステップに現れます。このステップは、参照の安全性を検証する責任があり、ポインタの不正参照、可変参照のアクセス安全性、グローバルストレージ参照のアクセス安全性などのチェックを含みます。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
安全検証の核心は、各関数内の基本ブロックを分析することです。基本ブロックは、入口と出口以外に分岐命令がないコードのシーケンスです。Move言語は、バイトコードを走査して、すべての分岐命令とループ命令を探すことによって基本ブロックを識別します。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
検証プロセスでは、システムがAbstractState構造体を維持し、borrow graphとlocals情報を含めて、関数内での参照の安全性を確保します。検証フローは基本ブロックコードを実行し、実行後の状態を生成し、その後、実行前後の状態を統合してブロック状態を更新し、後続のブロックに伝播します。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
バグはjoin_関数内に発生します。関数の引数の長さとローカル変数の長さを合わせて256を超えると、local変数をu8型で表現しているため、整数オーバーフローが発生します。Move言語にはlocalsの数をチェックするメカニズムがありますが、これはローカル変数の数のみをチェックし、引数の長さは含まれていません。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
このオーバーフローの脆弱性は、サービス拒否攻撃を引き起こす可能性があります。攻撃者は、オーバーフローを利用してブロックの状態を変更するループコードブロックを構築できます。基本ブロックが再実行されるとき、命令がアクセスする必要のあるインデックスが新しいローカルマップに存在しない場合、システムがクラッシュします。
! Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました
この脆弱性を実証するために、研究者は概念実証(PoC)を提供しました。特定のパラメータとローカル変数の数を設定することで、整数オーバーフローを引き起こし、システムがパニックに陥ることがあります。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
この脆弱性は、厳格に設計された言語でさえも安全上の欠陥が存在する可能性があることを明らかにしています。これは、コード監査の重要性と、言語設計においてより多くの境界条件を考慮する必要があることを強調しています。Move言語に関しては、検証段階の安全メカニズムに依存するだけでなく、実行時により多くの安全チェックを追加することをお勧めします。
Move言語がWeb3分野で広く使用される中で、このような潜在的な脆弱性を深く研究し発見することは、エコシステム全体の安全性を向上させるために非常に重要です。開発者とセキュリティ研究者は警戒を怠らず、Move言語の安全性を継続的に注視し改善する必要があります。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました