このセクションでは、2 種類のセキュリティ テストを SOAtest がどのように容易化するかについて、その概要を説明します。
- 認証、暗号化、およびアクセス制御 (つまりランタイム セキュリティ ポリシーの検証)
- ハイブリッド セキュリティ解析。これは侵入テストと実行時エラー検出を統合します。
認証、暗号化、アクセス制御
SOAtest は、複雑な認証、暗号化、およびアクセス制御のテスト シナリオの実行を可能にすることで、ランタイム セキュリティ ポリシーの検証を支援します。SOAtest には、セキュリティ層でサービスをテストするためのセキュリティ サポートが含まれています。
トランスポート レベルでは、SOAtest は SSL (サーバー認証とクライアント認証の両方)、Basic 認証、Digest 認証、および Kerberos 認証をサポートします。
メッセージ レベルでは、SOAtest は WS-Security をサポートします。これには、X509、SAML、ユーザー名セキュリティ トークン、XML 暗号化、および XML デジタル署名が含まれます。セキュリティ トークンの検証を可能にするほか、メッセージの完全性と認証の適切な実施を保証するネガティブ テストを可能にします。
関連情報
この検証を実行する方法については、「認証、暗号化、アクセス制御」を参照してください。
ハイブリッド セキュリティ分析
SOAtest のハイブリッド セキュリティ分析は、ユーザーがすでに定義した機能テストを利用して、セキュリティ攻撃が実際にどこでアプリケーションに侵入するかを完全に自動で判断します。
ハイブリッド セキュリティ分析は、以下の処理を行います。
- 侵入テストを使用して、侵入攻撃シナリオを自動生成し、このシナリオを既存の Web またはサービス機能テスト シナリオに対して実行します。
- 実行時エラー検出を使用して、テスト実行中にアプリケーションのバックエンドをモニタリングし、セキュリティが実際に脅かされるかどうか (および他の実行時エラーが発生するかどうか) を判断します。
- レポートされた個々の実行時エラーと、エラーが検出されたときに実行されていた機能テストとを関連付けます。ユーザーは、レポートされたエラーから、問題に関連する特定のユース ケースを突き止めることができます。
ハイブリッド セキュリティ分析の 2 つの主要な構成要素は侵入テストと実行時エラー検出です。これらは互いに独立して使用することもできます。
侵入テスト
SOAtest の侵入テストは、機能テスト スイートに対して、Parameter Fuzzing、SQL インジェクション、XPath インジェクション、クロス サイト スクリプティング、XML Bomb をはじめとする、さまざまな攻撃シナリオを生成して実行することができます。
実行時エラー検出のためのアプリケーション サーバーを構成できない場合やまだ構成していない場合でも、侵入テストを使用して攻撃シナリオを生成して実行し、その後、別の手法によって攻撃がセキュリティ違反を引き起こすかどうかを判断することができます。
実行時エラー検出
SOAtest の実行時エラー検出は、SOAtest のテスト実行中にバック エンドからアプリケーションをモニタリングし、実際にセキュリティ違反や他の実行時の問題 (レース条件、例外、リソース リークなど) があった場合にユーザーに警告します。
侵入テストを伴う実行時エラー検出と、侵入テストを伴わない実行時エラー検出の両方を実行すると良いでしょう。そうすることで、テスト ケースでキャプチャされたユース ケース機能と、この機能に基づいてシミュレートされた攻撃の両方をエラー検出で確実に網羅することができます。
関連情報
これらの解析を実行する方法については、「侵入テスト」および「実行時エラー検出の実施」を参照してください。