アプリケーションの攻撃パターン - 6) アプリケーション・バッファオーバーフロー

バッファオーバーフローとは、システムがあらかじめ確保しているバッファ領域よりも大きなサイズを送りつけることで、バッファ領域を溢れさせ、バッファ領域外のコードを任意のコードで上書きしてしまう攻撃です。

バッファオーバーフローといえば、バッファオーバフロー脆弱性をつくワームによる攻撃が多く、Code RedやMSBlaster(2003年8月)、Nachi(同)、Sasser(2004年5月)など多大な実害を出し、世間でも大きく騒がれたワームなども、バッファオーバーフロー脆弱性を利用して感染を広げるものでした。

アプリケーション・バッファオーバーフローはそれとは若干異なり、Webサイト上で動作するWebアプリケーションを利用する形で行われます。脆弱性の判断方法は簡単で、Webサイト上の入力フォームに大量の文字を入力して、サーバへ送信するだけで判断できてしまいます。
例えば、郵便番号を入力するフォーム。日本では「xxx-xxxx」と7桁の数字+ハイフンと定型文字数ですが、このフォームに数千文字の数字を入力して送信ボタンを押します。送り込まれた大量のデータがもしもバッファ領域を超えてしまうならば、その時点でバッファ領域外が上書きされてバッファオーバーフローは成功してしまいます。(図6-1、6-2)

アプリケーション・バッファオーバーフロー 図6-1

図6-1

アプリケーション・バッファオーバーフロー 図6-2

図6-2

バッファオーバーフロー脆弱性をつくらないために、各入力フォーム項目に最大長を設定し、それを超えるサイズのデータが送られてきたときには、処理をせずにエラー処理を行うようにWebアプリケーションをつくることが重要です。


本文中に記載されている会社名および製品名はそれぞれ各社の商標、または登録商標です。

AppScanに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ネットワークセキュリティ事業部
    第3営業部
    セキュリティプロダクツ営業2課

    03-4405-7814

メールでのお問い合わせ
watchfire@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。