【ひーぷすぷれー】
ヒープスプレー とは?
💡 大きな的を作るために、会場全体にシートを敷き詰める作戦
📌 このページのポイント
- ヒープ領域全体に同じシェルコードを大量配置する
- NOP sled(何もしない命令の塊)で命中範囲を広げる
- Use-After-Freeや型混同などの脆弱性と組み合わせて使う
- ASLRへの対抗手段として発展してきた攻撃技法
ヒープスプレーって、どんな攻撃なの?
なんでそんなにばら撒く必要があるの?
NOP sledって何?初めて聞いたよ。
NOP(ノップ)は「何もしない命令」のことだよ。その塊(sled=そり)をシェルコードの前に大量に置いておくと、そこに当たっても命令がスルーしてシェルコードまで滑り落ちていく仕組みなんだ。的の面積を広げるイメージだね。
ASLRがあれば防げるんじゃないの?
防ぐ方法はあるの?
まとめ:ざっくりこれだけ覚えればOK!
「ヒープスプレー」って出てきたら「脆弱性を確実に当てるためのメモリ爆撃準備」と思えればだいたいOK!
📖 おまけ:英語の意味
「Heap Spray」 = ヒープへの散布
💬 heap(メモリのヒープ領域)+spray(スプレーで噴きつける)で、ヒープ全体にコードを噴霧するイメージからきているんだよ。