用語集の記事
ARTICLEWebアプリケーション検査
読み:ウェブアプリケーションケンサ
Webアプリケーション検査とは、Webアプリケーションを不正アクセス、情報漏洩、データ改ざんなどの攻撃から守るために行う検査のことである。
Webアプリケーション脆弱性検査、Webアプリケーション診断、脆弱性診断などもほぼ同義である。
セキュリティ事故の原因となるクロスサイトスクリプティング、SQLインジェクション、セッションハイジャック、パラメータ改竄などの攻撃は増加し続けており、それらに対する脆弱性を調べることはセキュリティ向上の重要な手段といえる。
検査方法は3つに分けられる。
(1)Blackboxテスト
外部からWebアプリケーションに対してブラウザでアクセスする。
(2)Whiteboxテスト
アプリケーションの内部から検証・チェックを行う。深い知識が必要でコストも高い。
(3)Glassboxテスト
BlackboxテストとWhiteboxテスト両方を行う。一番正確なテストだがコストがかかる。
検査ツールは商用ツールの他、無料のツールもWebに公開されている。検査をサービスとする企業は数多く存在するが、彼らは通常外部からのみ検査する。このため、Webアプリケーション検査という場合、(1)Blackboxテストを指す場合が多い。
Blackboxテストは、基本的に不正な文字列をアプリケーションに送信して、その反応を見る作業である。これらの不正入力が正しく処理されない場合、アプリケーションは何らかの想定外の動作をする。様々なパターンの入力を行い、その反応を見ることにより、アプリケーションがどの不正文字列に対して安全であるかが分かる。
もちろん、ソースコードの中身は外部から見えないので、脆弱性が100%存在しないと断言することはできない。しかし、攻撃者の立場から考えられる入力を数多く試してみることで安全性を確かめることができる。
Webアプリケーション検査は、Web上のフォームについての検査とネットワーク機器の設定不備やサーバー、PC等の脆弱性(セキュリティホール)についての検査に分かれる。後者はプラットフォーム検査とも呼ばれる。