連載
» 2005年03月04日 00時00分 公開

Webアプリケーションに潜むセキュリティホール(14):Webアプリケーションの脆弱性を総括する (4/5)

[中村隆之,三井物産セキュアディレクション]

Client Side Comment(クライアント側コメント)

 Webアプリケーションの攻撃は、アプリケーションだけでなく静的なHTMLファイルに対しても行われる。実際はHTMLファイル自体を攻撃するのではなく、HTMLファイルの中身をチェックするのである。

 この中には、重要な情報がコメントとして残されている場合がある。コメントの中には、個人情報の漏えいにつながる重大な情報が含まれていることもあるため十分注意する必要がある。

脆弱性が存在する可能性がある個所

 サイト上のすべてのHTMLファイルが対象である。ちなみに、全ページのHTMLコメントを抜き出すことは攻撃者にとっては非常に簡単なことである。この種の脆弱性では、何らかのイベンドで使用したフォームがコメントアウトされただけで、そのまま残されているパターンが少なくない。

対策

 定期的にサイト内のコメントをすべてチェックすることが必要だろう。スクリプトを抜き出すだけであれば簡単なスクリプトで実現できる。

言語別の対策例

 言語には依存しない。

Forceful Browsing (強制的ブラウズ)

 バックアップファイルや作業ディレクトリ、隠れたファイルなどを推測し、直接アクセスする攻撃である。これらのファイルは、正しい権限チェックが行われていないことがあり、一般ユーザーでも管理者権限でアプリケーションの操作が行える場合もある。

 また、認証後のページに直接アクセスする操作もこの攻撃の1つである。認証済みかどうかのチェックが甘い場合、未認証ユーザーでも会員ユーザー用のページにアクセスできてしまう。

脆弱性が存在する可能性がある個所

 バックアップファイル、隠しファイルについては、どのサイトでも同じである。認証があるアプリケーションであれば、認証後に使われるアプリケーションすべてにForceful Browsingの脆弱性が存在する可能性がある。

対策

  • 不要なファイル、ディレクトリをすべて削除する
  • 画面遷移図で、認証チェックが必要な画面を区別できる状態にする

 不要なファイルについては、上記のこと以外は特に説明することはないだろう。

 認証後のページへの直接アクセスについてであるが、開発時に画面遷移図を作成しており、認証後にアクセスする必要があるページを区別できる状態になっているのであれば、その部分に共通の認証チェックコードを入れるだけである。どのようなコードを入れるかはここでは詳しく説明しないが、ここでのポイントは「どの画面で認証済みチェックが必要か」区別できているかどうかである。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。