Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 471

ヒープスプレー

ヒープスプレー とは何ですか?

ヒープスプレーヒープを多数のペイロードコピーで埋め尽くす攻撃プリミティブ。破壊されたポインタが攻撃者制御データに高確率で着地するようにする。


ヒープスプレーは、プロセスメモリの広範囲を NOP スレッドとシェルコード(現代では ROP ガジェットや偽の vtable)の予測可能なコピーで満たします。攻撃者がブラウザの use-after-free や type confusion などのメモリ破壊を発火させると、破壊したポインタを 0x0c0c0c0c などの定番アドレスへ向け、スプレーで配置済みのバイト列に着地させます。2004 年に Skylined が公表した Internet Explorer エクスプロイトで広く知られ、現在もブラウザ・ドキュメント・フォント解析のエクスプロイトで多用されます。対策は高エントロピー ASLR、パーティション化されたヒープ(PartitionAlloc、Edge の Heap Isolation)、制御フロー整合性(CFI)、JIT 強化策などです。

  1. 01

    数百 MB のシェルコード入り JavaScript 文字列を確保し、use-after-free 後に 0x0c0c0c0c をシェルコードにする。

  2. 02

    Adobe Flash のエクスプロイトが Vector<uint> スプレーで ROP チェーンを配置する。

よくある質問

ヒープスプレー とは何ですか?

ヒープを多数のペイロードコピーで埋め尽くす攻撃プリミティブ。破壊されたポインタが攻撃者制御データに高確率で着地するようにする。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。

ヒープスプレー とはどういう意味ですか?

ヒープを多数のペイロードコピーで埋め尽くす攻撃プリミティブ。破壊されたポインタが攻撃者制御データに高確率で着地するようにする。

ヒープスプレー はどのように機能しますか?

ヒープスプレーは、プロセスメモリの広範囲を NOP スレッドとシェルコード(現代では ROP ガジェットや偽の vtable)の予測可能なコピーで満たします。攻撃者がブラウザの use-after-free や type confusion などのメモリ破壊を発火させると、破壊したポインタを 0x0c0c0c0c などの定番アドレスへ向け、スプレーで配置済みのバイト列に着地させます。2004 年に Skylined が公表した Internet Explorer エクスプロイトで広く知られ、現在もブラウザ・ドキュメント・フォント解析のエクスプロイトで多用されます。対策は高エントロピー ASLR、パーティション化されたヒープ(PartitionAlloc、Edge の Heap Isolation)、制御フロー整合性(CFI)、JIT 強化策などです。

ヒープスプレー からどのように防御しますか?

ヒープスプレー に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。

ヒープスプレー の別名は何ですか?

一般的な別名: ヒープスプレー。

関連用語

関連項目