Entry № 745
メモリ破壊
メモリ破壊 とは何ですか?
メモリ破壊プログラムが意図したメモリ境界の外に書き込み、型安全性・制御フロー・データ整合性を損なうタイプの脆弱性を総称する用語。
メモリ破壊は、バッファオーバーフロー・Use-After-Free・二重解放・型混乱・誤ったサイズを生む整数オーバーフロー・未初期化メモリの読み出しなどを包括的に指します。共通点は、攻撃者が本来触れるべきでないメモリを読み書きさせ、それをプリミティブとして情報漏えい、重要な状態の改ざん、制御フローの奪取に発展させる点です。ブラウザ・カーネル・ハイパーバイザ・文書パーサの悪用において長らく主役でした。緩和策はコンパイル時(CFI、カナリア、FORTIFY_SOURCE)、ランタイム(ASLR、DEP/NX、サンドボックス、MTE)、言語層(Rust、Swift、マネージドランタイム)に分かれます。業界データは、メモリ安全言語の採用がこの種の新規脆弱性の大半を消し去ることを示しています。
● 例
- 01
ヒープオーバーフロー → ROP → サンドボックス脱出と連鎖したブラウザレンダラの侵害。
- 02
デバイスドライバの UAF を利用したカーネル権限昇格。
● よくある質問
メモリ破壊 とは何ですか?
プログラムが意図したメモリ境界の外に書き込み、型安全性・制御フロー・データ整合性を損なうタイプの脆弱性を総称する用語。 サイバーセキュリティの 脆弱性 カテゴリに属します。
メモリ破壊 とはどういう意味ですか?
プログラムが意図したメモリ境界の外に書き込み、型安全性・制御フロー・データ整合性を損なうタイプの脆弱性を総称する用語。
メモリ破壊 からどのように防御しますか?
メモリ破壊 に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
メモリ破壊 の別名は何ですか?
一般的な別名: メモリ安全性バグ。