セキュリティテストの種類
セキュリティテストには様々な種類があります。 この項では、主なセキュリティテストについての簡単な概要について説明します。
Note: OWASP Testing guide - Testing Techniques Explained も合わせてご覧ください
手動検査とレビュー
手動検査は、セキュリティの検査員が人力でレビューを行ないます。 内部規定や、プロセス、アーキテクチャ設計などのシステム設計などの検査を含めるケースもあります。
主に、ドキュメントを分析したり、設計者やシステム管理者にヒアリングすることで実施します。
脅威モデリング
システム構成図や、データフロー図を分析して、脅威の洗い出しをする手法です。 一般的に以下のような流れで実施します。
- システムの全体を把握する
- データフローラインを辿る
- 脅威をリストアップする
- オペレーションの数だけ上記を繰り返す
これらは、設計の初期段階で行います。具体的には、データの入出力方法や、永続化方法などの構成がある程度はっきりしてきた段階で実施します。
ソースコードレビュー
プログラムのソースコードのセキュリティ上の問題点を、目視で検査するプロセスです。
特に、EC-CUBE のようなオープンソースソフトウェアの場合は、多くの脆弱性がソースコードレビューを通じて改善されています。
セキュリティテストとして、ソースコードレビューを実施することで、ブラックボックスでのセキュリティテストに比べてより堅牢なシステムを構築できます。
侵入テスト
侵入テスト(ペネトレーションテスト)は、 OWASP ZAP などのテストツールを使用して、実際に攻撃を試み、脆弱性が無いか確認します。
このドキュメントで取り上げているテスト手段です。