ウェブアプリケーション脆弱性診断(ウェブアプリケーションぜいじゃくせいしんだん)もしくはウェブアプリケーションセキュリティ検査(ウェブアプリケーションセキュリティけんさ)とは、ウェブアプリケーションのセキュリティ上の問題点を洗い出す検査で、ウェブアプリケーションに文字列を送信したり、ページ遷移を確認したり、ログ解析したりするなど、ウェブアプリケーションに特化した検査。何らかのツールやサービスを用いて主に開発時のテスト工程と運用時に行われる。実装時に作り込んだ脆弱性は発見できるものの、設計段階で入り込んだ脆弱性を発見するのは難しい。

なお、一般的なウェブサイトはウェブアプリケーションのみならず、OS、Webサーバ、データベース等様々な要素からなっている為、ウェブアプリケーション脆弱性診断とは別に、これらの要素の脆弱性を診断するプラットフォーム脆弱性診断を行う必要がある。

ウェブアプリケーション脆弱性診断やプラットフォーム脆弱性診断のサービスはリモート診断とオンサイト診断とに分かれる。リモート診断がインターネット経由で遠隔地から顧客のウェブアプリケーションを診断を行うのに対し、オンサイト診断は顧客のネットワーク環境がある場所まで赴き、顧客ネットワークに診断用のマシンを直接接続するなどして診断を行う。リモート診断がウェブサイトを訪れるユーザと同じ条件下で診断を行うのに対し、オンサイト診断はファイアウォールの内側から診断する事により詳細な情報を取るなどできるが、現地に赴く分料金が高くなる場合がある。

診断の流れ ウェブアプリケーション脆弱性診断は次のような流れで行う: +フェーズ内容診断前の準備診断対象の選定・確認・優先順位付け、実施内容説明、見積もり、ヒャリング、作業に必要なアカウントや権限等の環境の準備、(オンサイトの場合)診断対象のネットワークへの接続方法や作業場所の準備診断テストケース作成診断対象のURL・機能・パラメータ等と、診断の優先順位・画面遷移順序等を記述したテストケースを作成。診断実施自動診断・手動診断の実施診断結果の検証自動診断結果・手動診断結果が正しいか否かを手作業で検証(手動診断は診断実施過程中に検証も行う)レポート作成自動診断ツールのレポート出力機能を利用しながら、リスク評価を行い、手動診断結果も踏まえたレポートを作成診断実施後のアフターサービス報告会、問い合わせ対応、再診断

診断の種類 IPAによるとウェブアプリケーションセキュリティ検査ツールは以下の3タイプに分けられる。

自動検査型 検査ツールがウェブクライアントとして動作し、検査用コードの入ったリクエストをウェブサイトに自動送信し、ウェブサイトからのレスポンスを元に検査実施者にレポートを出力する。このタイプのものはツールに予め用意されている量の検査用コードを試自動で試せるのが利点であるが、人力に頼る「手動検査型」ほど細かな検査はできない。 手動検査型 ブラウザとウェブサイトの間のプロキシとして動作するもので、検査実施者がブラウザでウェブサイトにアクセスした際に発生するリクエストをプロセスである検査ツールが補足し、取得したリクエストの一部を検査実施者が手動で検査用のコードを埋め込む形で書き換え、書き換えたリクエストをウェブサイトに送信してその反応をみる事で脆弱性検査を行う。 通信監視型 検査ツールは検査実施者が操作するブラウザとウェブサイトとの通信を(書き換えずに)補足し、補足した情報から不審な動作等を探して検査実施者にレポートとして出力する。自動検査型や手動検査型と違い検査用コードをウェブサイトに送りつける事がないので、詳細な検査はできないが、その分検査によりウェブサイトに障害が発生する可能性が格段に低いという利点がある。

脚注

参考文献

関連項目 ペネトレーションテスト 脆弱性検査ツール

外部リンク