第5回 脆弱性検査ツールを知る知ってるつもり? 「セキュリティの常識」を再確認(3/3 ページ)

» 2005年01月21日 10時00分 公開
[横森利裕(三井物産セキュアディレクション),ITmedia]
前のページへ 1|2|3       

 脆弱性検査のトレンドとして、近年はWebアプリケーションの脆弱性が注目されている。Webアプリケーションは、提供サイト自らで開発しており、開発工程や時間的制約の問題からセキュリティを軽視した開発が行われることが多かった。だが、Webアプリケーションはほとんどにおいてデータベースと連携する。脆弱性が存在すると、重要な個人情報の漏洩につながってしまう恐れがある。もちろん脆弱性検査ツールやデータベースシステムに特化した検査ツールを使用しても、Webアプリケーションサーバ自体に脆弱性が存在すれば大きな問題となってしまう。

 Webアプリケーションの脆弱性は、比較的新しいセキュリティ分野でもあり、管理者の情報不足から不完全な形で運用が開始される場合も多い。悪いことに、Webアプリケーションに対する攻撃のほとんどがログに残らないため、攻撃の発見が遅れたり、発見が困難である。Webアプリケーションの脆弱性から個人情報を盗まれることが頻繁に起こっているからも、構築の際には細心の注意が必要となる。下記は、Webアプリケーションに潜む不具合の代表例である。

  • 既知の脆弱性を攻撃する(Apache、IIS)
  • アプリケーションパッケージの設定ミスを攻撃する
  • エラーの処理において、攻撃者に有益な情報が表示される
  • スクリプトに対して大量の入力データを送信し、誤作動を誘う
  • 別ユーザーの権限を不正に用いて、サイトの制限された領域を覗き込む
  • 開発時に取り忘れた裏口やデバッグモードを探し出して不正にそれを使う
  • OSやデータベースのコマンドを不正に実行させる
  • 総当り又は辞書攻撃で簡単なパスワードが設定されていないか攻撃する
  • Cross Site Scripting(XSS)が有効か
  • 他人が確立しているセッションを奪う、又は強制的に再現する
Webアプリケーションの脆弱性/既知の脆弱性を攻撃する(IIS)の例 Webアプリケーションの脆弱性/既知の脆弱性を攻撃する(IIS)の例。確保されたメモリ容量を越える入力データを与え、IISを誤動作させる攻撃。バイナリデータを扱う言語で開発されたサーバプログラムやWebアプリケーションで発生する。攻撃が成功するとIISの管理者のデバッグツールを起動することができてしまう
この例は、エラー処理を怠り、データベースにアクセスするドライバがエラーを返し、その内容からデータベースの種類、テーブル名、カラム名が漏洩している

 Webアプリケーションの検査手法としては、実際にHTMLタグのtext、hidden、Input、Select、Refererヘッダーなどから送られるデータにテスト文字列を入れて検査することが挙げられる。Webアプリケーション脆弱性検査ツールを利用すれば、自動でWebを巡回し変更可能なパラメータを洗い出して、カタログ化された攻撃用のコードに書き換えて送信する。ツールを使うことでCross Site Scripting、パラメータの操作、OSやデータベースのコマンドを不正に実行できるかが短時間で自動的に調べられるようになる。

手動検査する場合に便利かつ必須なツールとしては、Achilles、Odysseus、LiveHTTPHeaders、Burp proxyが挙げられる。Webアプリケーションの脆弱性に特化した情報源には、The Open Web Application Security Projrctがある。参照することをお勧めする。

手動で入力フォームにスクリプトを埋め込み検査する例

 個人情報漏洩というキーワードで情報を取り扱うためのガイドラインに対して、セキュリティベンダ各社から色々な製品やマネジメント・システムがリリースされているが、簡単に導入でき情報漏洩を防止できる絶対的な方法論はまだ見つからない。自分自身の情報を守るためには、自己の弱点を知ることが重要であり脆弱性を検査、修正を繰り返し実施するべきである。個人情報漏洩の1次被害、2次被害を未然に防ぐためにはインターネットを使うことの危険性を認識することだ。セキュリティ製品に頼ることも大事だが、日々のパッチ情報やセキュリティ情報に興味を持ち、使い慣れた製品をバージョンアップして使い続け、自己防衛することが大切である。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ