手動脆弱性診断
手動脆弱性診断は一般的に、次のような手順で行われます。
- 事前準備
- 対象となるWebアプリケーションの調査
構成を確認し、詳細な画面遷移図を作成 - 診断範囲の検討
画面遷移の数(リクエスト数)や、画面遷移の中で送信されるパラメータ数が多くなるとコストが上乗せされる
予算や期間によって、重要な機能のみに絞って診断したり、サンプリングした対象について診断したり、さらにその結果に応じて範囲を拡大する等の対応も - 診断方法の検討
対象アプリケーションの特性や、依頼者の希望により、基本の診断メニュー/診断項目をカスタマイズすることも
診断項目は診断会社によって異なるが、SQLインジェクション、クロスサイトスクリプティング、コマンドインジェクションの他、認証周りやセッション関連の診断は通常含まれている
- 対象となるWebアプリケーションの調査
- 診断
- 専門家が実際に対象アプリケーションにアクセスし、攻撃者の視点に立って脆弱性の有無を検証
- 診断員がネットワーク経由でアクセスすることが多いが、客先でオンサイトの診断を行うことも
- 対象となる画面遷移数が多ければその分作業期間も数日~数ヶ月と長くなる場合が多い
- レポート/フォロー
- 診断実施後、数日から数週間程度で報告書が提出され、検出された脆弱性の内容や重要度、対策の説明などが提供される
- 必要に応じて報告会を行う
- 指摘箇所の改修後に再診断
- 一定期間の問い合わせ対応
- ●メリット
- 検査精度の高さ
(検査項目の網羅性や、人間が判断しないと認識しにくいタイプの脆弱性の発見など) - 診断後のフォローアップ
- 柔軟性、カスタマイズ性
- 検査精度の高さ
- ●デメリット
- 診断員のスキルによるばらつき
- 高コスト(予算に応じて検査範囲を絞る必要性も)
- 検査や報告までの所要時間の長さ
- 外注の場合、早期に診断業者のスケジュールを確保する必要性
- 社内で行う場合、診断員の確保育成コストが大きい