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