2010年10月29日8:20
決済アプリケーションセキュリティ基準「PA-DSS」入門 第3回(1/4)
第3回 PA-DSS要件5~7の解説
NTTデータ・セキュリティ コンサルティング本部 PCI推進室 CISSP 川島祐樹
はじめに
第2回では、PA-DSS要件の内容に入り、要件1から要件4まで解説した。前回以前にも触れているが、PA-DSSはリスクの高い対象に対する要件から順番で並んでいるため、1. センシティブ認証データの保護、2. カード会員データの保護、3. 安全な認証、4. ログ管理、と、PCI DSS準拠を目指す企業にとっては12要件の中でも対応に労力を必要とする4要件であることにお気づきの方もいただろう。第3回は要件5から要件7の3要件を解説する。
5は、開発プロセスについての要件、6はワイヤレスに関する要件、7は脆弱性の特定とパッチの開発および提供プロセスについて言及されている。これらのPA-DSS要件は、PCI DSSの要件では6.2~6.5、ワイヤレス関連については要件1、2、4のいくつかのサブ要件に該当する部分である。
要件5. 安全なペイメントアプリケーションの開発
ソフトウェア開発プロセスにおけるセキュリティ対策
要件5には、4つのサブ要件がある。
5.1 ソフトウェア開発ライフサイクル全体におけるセキュリティ
5.2 WebペイメントアプリケーションのOWASP対応
5.3 変更管理プロセスの運用
5.4 ペイメントアプリケーションから安全でないサービス・プロトコルを使用、要求しない
特に要求事項の多い5.1を中心に解説を進める。
まず、5.1は、ソフトウェア開発ライフサイクル全体でセキュリティ対策を行わなければならない、とする要件である。アプリケーションの開発ライフサイクルでは、リリース前にセキュリティテストを行い、検出された問題点を修正する、といったことだけが行われているケースがよく見受けられる。しかし、本来、セキュリティ対策はアプリケーションの開発をはじめる段階からリリース時やリリース後まで全体を通して実施すべきものである。これは、PCI DSSやPA-DSSに限ったことではなく、セキュリティの基本的な考え方の1つである。要件5.1で要求される対策は、以下の通りである。
■パッチ適用やソフトウェアの変更は、導入前にテストすること(5.1.1)
パッチ適用時やソフトウェアの変更時は、過失、故意を問わず脆弱性が入り込んでしまうリスクがある。これに適切に対応するため、入力時、エラー処理時、保存時、通信、アクセス制御という観点で検証を行うことが求められている。これらの検証は、一般的にソフトウェアのテスト段階で行われるものと考えられるが、セキュリティの観点を含んで実施されているかというと、そうとは限らないケースもあるだろう。例えば、ソフトウェアの変更時、機能テストを行い、従来通りの機能が実行できたので、データが安全な状態で保存されていることまで確実に確認することを怠ってしまう、ということも考えられる。もしくはデバッグログやユーザに対するエラー表示に不要な情報まで含んでしまっている、といったこともあるかもしれない。このため、テスト観点やテスト項目を作成する際に、これらの要件にしたがって洗い出しが行われることを確実にするための開発プロセスが求められるのである。
■開発環境、テスト環境、本番環境は分離すること(5.1.2-5.1.6)
開発環境、テスト環境、本番環境は、分離しなければならない。どの部分をどのように分離しなければならないのかについても要件およびテスト手順で要求されており、要約すると①人の分離、②システムの分離の2点であると考えることができる。まず、①人の分離については、開発/テスト環境の担当者と、運用担当者が同一であってはならない。②システムの分離として、開発/テスト環境で使用していたテストデータやテスト用のアカウントIDやパスワードなどを、アプリケーションのリリースとともに混在させないよう、確実に削除しなければならない。また、本番データをテストデータとして使用してはならない。
■アプリケーションコードの大幅な変更時には、コード作成者以外、もしくはツールによるコードレビューを行う(5.1.7)
アプリケーションコードを大幅な変更時には、コードレビューを行うことが求められている。これは、故意、過失を問わず、不正なコードが混入しないようにすることを確実にするためである。対象のアプリケーションがWebアプリケーションである場合は、5.1.7.bで要求されている通り、要件5.2と同様のOWASP TOP10で示される脆弱性の確認を、コードレビューに含める必要がある。
⇒⇒決済アプリケーションセキュリティ基準「PA-DSS」入門 第3回(2/4)へ
⇒⇒決済アプリケーションセキュリティ基準「PA-DSS」入門 第3回(3/4)へ