ヒープオーバーフローとは

ヒープオーバーフロー(=heap over-flow)とは、バッファオーバーフローの一種で、OSやアプリケーションが動的に確保するメモリ領域(ヒープ)からデータがあふれてしまう(オーバーフロー)脆弱性のこと。

「積み重ねる」という意味を持つヒープは、OSやアプリケーションのプログラムがデータを格納するために、動的に確保するメモリ領域のこと。ソート処理などといった実行しないと要素数が確定できない処理を行う場合に用いられるが、このヒープ領域に大量のデータを送りつけることでデータをあふれさせ、本来書き込むことができない隣接したメモリ領域へデータが書き込まれてしまう可能性がある。

この脆弱性を悪用して、悪意の第三者が遠隔地からプログラムを異常終了させたり、管理者権限で任意のコードを実行するといった攻撃を行う危険性が指摘されている。

プログラムを作成する際には、他のプログラムから受け渡されるデータの長さなどの検証を行い、確保されたヒープ領域の大きさを超えないように注意したい。また、プログラム開発に用いられる各種ライブラリ側で公開されているヒープオーバーフローに関する脆弱性情報は必ずチェックしておく必要がある。

セキュリティ用語辞典一覧ページへ

  • 3G版iPhone発売に便乗したフィッシング詐欺に注意
  • カテゴリートップへ
  • Storm Wormの新手口、今度は「第三次世界大戦」