ヒープオーバフローとは 〜Windows XP SP2 の DEP によって攻撃者の注目が集まる | ScanNetSecurity
2026.03.13(金)

ヒープオーバフローとは 〜Windows XP SP2 の DEP によって攻撃者の注目が集まる

 バッファオーバフロー攻撃は、オーバフローさせる領域の違いによって、スタックオーバフローとヒープオーバフローが存在する。シンプルなコンセプトであるスタックを使ったオーバフロー攻撃が、Windows XP SP2 の DEP 等によって困難になる現状において、比較的難易度

特集 特集
 バッファオーバフロー攻撃は、オーバフローさせる領域の違いによって、スタックオーバフローとヒープオーバフローが存在する。シンプルなコンセプトであるスタックを使ったオーバフロー攻撃が、Windows XP SP2 の DEP 等によって困難になる現状において、比較的難易度の高い、ヒープを使ったオーバフローに、近年攻撃者の注目が集まっているという。

 今回編集部では、企業に対する多数のペネトレーションテスト実績を持ち、エクスプロイトコードの作成に詳しい、株式会社サイバーディフェンス研究所の松野真一氏に取材し、ヒープオーバフローの仕組み、DEPが有効となった環境下での攻撃方法について話を聞いた。


SCAN:
 今、エンジニアがヒープオーバフローを理解することの重要性は何でしょう?

松野氏(以下敬称略):
 最近のコンパイラでは、ビルド時に「スタッククッキー」などの仕組みで、潜在するスタックオーバフローの問題を見つけ、かつ、それがエクスプロイトされないようにするセキュリティ機能が実装されています。その他stack canaryなどのスタック保護システム等の対策も行われています。

 しかしその一方で、ヒープオーバフローなどの、動的に割り当てられるバッファ領域のオーバフローに繋がる問題の対策は比較的に進んでいないように感じられます。それによって、ヒープオーバフローへの攻撃者の注目が集まっているのです。シンプルなスタックオーバフロー攻撃がすでに一般化した現状を踏まえると、ヒープオーバフロー攻撃の普及も時間の問題と言えるでしょう。

SCAN:
 スタックバッファオーバフローのエクスプロイトと、ヒープバッファオーバフローのエクスプロイトの違いは何でしょう?

松野:
 スタックオーバフローはいたってシンプルです。データのサイズやオフセットは固定で、レジスタのEIPを書き替えればプログラムの実行フローを直接に制御できます。基本的なコンセプトが理解できれば、誰でも5分程度でエクスプロイトを書くことができるでしょう。

 これに比べて、ヒープオーバフローは複雑です。データのサイズは大きく変動しますし、他にも考慮しなくてはならない動的な要素が多いことが特徴として挙げられます。

 しかし、Windows XP SP2以降で各OSに実装されたデータ実行防止(DEP: Data Execute Prevention)が一つの要因となって、ヒープオーバフローへの関心が高くなっています。DEPによって、シンプルなコンセプトのスタックオーバフローで任意のコードを実行させることはできなくなりました。

SCAN:
 DEPが有効になっている環境で任意のコードを実行することはできるのでしょうか?

松野:
 可能です。オーバフローが起こるコンテキストやアプリケーションにもよりますが、多くの場合はエクスプロイトするためのペイロードが複雑になるだけで、絶対無理ということはありません。

SCAN:
 どういうプロセスで実現するのですか?…

【執筆:編集部】

【関連リンク】
Heap Overflow と最新OSの攻略
http://www.cyberdefense.jp/service_seminar/seminar07.html

【関連記事】
本当に面白い事件とは…? − Immunity社CTO Dave Aitel氏インタビュー
https://www.netsecurity.ne.jp/3_11034.html
──
※ この記事は Scan購読会員向け記事をダイジェスト掲載しました
購読会員登録案内 http://www.ns-research.jp/cgi-bin/ct/p.cgi?w02_ssw

《ScanNetSecurity》

PageTop

アクセスランキング

  1. アドバンテストのネットワークに不正アクセス、ランサムウェア展開可能性

    アドバンテストのネットワークに不正アクセス、ランサムウェア展開可能性

  2. L2 スイッチでゼロトラストを実現、「セキュリティ予算」でなく「ネットワーク機器予算」で導入 ~ パイオリンクが語る超現実解

    L2 スイッチでゼロトラストを実現、「セキュリティ予算」でなく「ネットワーク機器予算」で導入 ~ パイオリンクが語る超現実解PR

  3. 「地域生活支援システム」に入力された約 500 名分のデータが滅失、異なる場所に保存する設定を行っていたことが原因

    「地域生活支援システム」に入力された約 500 名分のデータが滅失、異なる場所に保存する設定を行っていたことが原因

  4. 厚生労働省初動対応チームの派遣を受け対応 ~ 白梅豊岡病院にランサムウェア攻撃

    厚生労働省初動対応チームの派遣を受け対応 ~ 白梅豊岡病院にランサムウェア攻撃

  5. 誤操作の発覚を恐れて委託先社員がログから記録を削除・変更したことが原因 ~ JAL「手荷物当日配送サービス」システム障害

    誤操作の発覚を恐れて委託先社員がログから記録を削除・変更したことが原因 ~ JAL「手荷物当日配送サービス」システム障害

ランキングをもっと見る
PageTop