# Move言語の参照安全モジュールが新しい整数オーバーフローの脆弱性を発見最近、研究者はMove言語の詳細な分析を進める中で、新しい整数オーバーフローの脆弱性を発見しました。この脆弱性は参照安全モジュールに存在し、深刻なサービス拒否攻撃を引き起こす可能性があります。本稿では、この脆弱性の発見プロセスと技術的詳細について詳しく紹介します。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-bde089e8295c5d7b9420c93ad5d47b35)## Move言語の参照安全メカニズムMove言語はRustの考え方を借りており、二種類の参照タイプをサポートしています: 不変参照(&)と可変参照(&mut)。参照安全モジュールは、関数内の基本ブロックとバイトコード命令をスキャンすることによって、すべての参照操作の合法性を検証します。検証プロセスは主に以下のステップを含みます:1. 各基本ブロックを分析する2. 基本ブロックコードの実行によりポストステートを生成3.プレステートとポストステートをマージします4. ブロックの状態を更新し、次のブロックに伝播させるその中で、stateはlocalsとborrow graphの2つの重要なコンポーネントを含み、関数内での参照の安全性を確保します。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-eb6397a8a98b556071724d98a4837b59)## 脆弱性の詳細この脆弱性は、セキュリティモジュールを参照するjoin_関数に現れます。関数の引数の長さとローカル変数の長さの合計が256を超えると、u8型でlocalsを反復処理するため、整数オーバーフローが発生します。具体的には:- iter_locals()はu8タイプのイテレータを返します- パラメータの長さ + ローカル変数の長さが 256 を超えると、オーバーフローします- 開発者はこれを確認する必要があることに気付いたようですが、実際のコードはローカル変数の数だけをチェックしています。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-6952376046c901dfae2b19d5144746b5)## エクスプロイトこの脆弱性を利用して、ループコードブロックを構築できます:1. 初回実行時にオーバーフローをトリガーし、localsマップを変更する2. 2回目の実行時に存在しないlocalsインデックスにアクセスし、panicを引き起こしますこれはノードのクラッシュを引き起こし、サービス拒否攻撃を形成します。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-92892f2a9dffea9f805f3a1952e82703)## 脆弱性の再発研究者はこの脆弱性を再現するためのPoCを提供しました:1. パラメータとローカルを SignatureIndex(0) に設定して、num_localsが 264 になるようにします2. 最初の実行後、新しいlocalsマップの長さは8になりました3. 2回目の実行時、copyloc(57)が存在しないoffsetにアクセスしたためpanicが発生しました! [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)## まとめと提案この脆弱性は次のことを示しています:1. 絶対に安全なコードは存在せず、静的チェックは回避される可能性があります。2. コード監査は重要であり、開発者の不注意を発見することができます。3. Move言語は、単に検証段階のセキュリティチェックに依存するだけでなく、実行時チェックを追加する必要があります。研究者は、Move言語の設計者に対して、同様の脆弱性が利用されてより深刻な問題を引き起こさないように、実行時の安全メカニズムを強化するよう呼びかけています。! [Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました](https://img-cdn.gateio.im/social/moments-ae25cc7d31726e2e1477e6d112b7aa75)
Move言語の引用安全モジュールで整数オーバーフローの脆弱性が発見され、サービス拒否攻撃を引き起こす可能性があります。
Move言語の参照安全モジュールが新しい整数オーバーフローの脆弱性を発見
最近、研究者はMove言語の詳細な分析を進める中で、新しい整数オーバーフローの脆弱性を発見しました。この脆弱性は参照安全モジュールに存在し、深刻なサービス拒否攻撃を引き起こす可能性があります。本稿では、この脆弱性の発見プロセスと技術的詳細について詳しく紹介します。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
Move言語の参照安全メカニズム
Move言語はRustの考え方を借りており、二種類の参照タイプをサポートしています: 不変参照(&)と可変参照(&mut)。参照安全モジュールは、関数内の基本ブロックとバイトコード命令をスキャンすることによって、すべての参照操作の合法性を検証します。
検証プロセスは主に以下のステップを含みます:
その中で、stateはlocalsとborrow graphの2つの重要なコンポーネントを含み、関数内での参照の安全性を確保します。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
脆弱性の詳細
この脆弱性は、セキュリティモジュールを参照するjoin_関数に現れます。関数の引数の長さとローカル変数の長さの合計が256を超えると、u8型でlocalsを反復処理するため、整数オーバーフローが発生します。
具体的には:
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
エクスプロイト
この脆弱性を利用して、ループコードブロックを構築できます:
これはノードのクラッシュを引き起こし、サービス拒否攻撃を形成します。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
脆弱性の再発
研究者はこの脆弱性を再現するためのPoCを提供しました:
! Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別のリスクの高い脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました
まとめと提案
この脆弱性は次のことを示しています:
研究者は、Move言語の設計者に対して、同様の脆弱性が利用されてより深刻な問題を引き起こさないように、実行時の安全メカニズムを強化するよう呼びかけています。
! Numen Cyberは、移動言語に別の高リスクの脆弱性を独占的に発見しました