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

ヒープスプレーは、コンピュータシステムの脆弱性の悪用を防ぐのに使用される技術です。 ヒープ内のさまざまな場所(プログラムで使用するために割り当てられた大きなメモリプール)に一連のバイトを書き込むことを含むため、「ヒープのスプレー」と呼ばれます。 基本的な考え方は、壁をすべて同じ色にするために壁をスプレー塗装することに似ています。 壁のように、ヒープは「スプレー」されているので、その「色」(その中に含まれるバイト)は、その「メモリ」「表面」全体に一様に分布しています。

それはどのように機能しますか?

ヒープは通常、メモリ内のあらかじめ決められた場所から始まり、連続した書き込みがメモリ内の連続した場所にあるため、この種の攻撃に対して脆弱です。

この攻撃の目的は、個別の攻撃の媒介として、後でバイトにアクセスできるようにすることです。 その後、悪意のあるソフトウェアはポインタ参照を使用して任意のコードを実行することができます。 実行されるコードがヒープに散らばっていると、ポインタがコードを参照する可能性が非常に高くなります。 したがって、ヒープスプレーは実際には悪用ではなく、他の悪用に成功の可能性を高める方法です。

ヒープスプレーは通常Webブラウザに実装されており、2000年代初頭に最初に技術として認識されました。 ヒープスプレー攻撃は、JavaScript、VBScript、およびHTML 5を使用して実証されています。

攻撃、セキュリティ用語