1

仮想メモリのスタックとヒープ領域を実行不可にすることで、メモリ内での悪意のあるコード (シェルコードなど) の実行を防ぐことができることがわかっています (この手法はデータ実行防止と呼ばれます)。また、悪意のあるコードをメモリ内に挿入する最も簡単な方法は、バッファをオーバーフローさせることです。したがって、メモリのこれらの領域を実行不可にすることで、オーバーフロー攻撃の深刻度を軽減することができます。

ただし、このような攻撃を防ぐために使用される、アドレス空間のランダム化、ポインター保護、カナリアの使用など、他にも多くの手法があります。システムのほとんどは、スタック/ヒープ メモリを実行不可にする代わりに、これらの他の方法を使用していると思います (ここで間違っている場合は修正してください)。

さて、私の質問は、メモリのスタック/ヒープ部分が実行可能である必要がある特定の操作または特別なケースはありますか?

4

1 に答える 1