Contrastの仕組み

Contrast Securityは、アプリケーションポートフォリオにおいて、高精度で継続的なリアルタイムのアプリケーションセキュリティテストと攻撃のブロックを実現可能にします。Contrastが各アプリケーション内で動作し、ソフトウェア開発ライフサイクル(SDLC)全体を通して、アプリケーションを安全なものにします。

Contrastを使用して実施する機能テストがセキュリティテストになります。そのため、品質管理の作業としてアプリケーションを疎通するたびに、セキュリティフィードバックを得ることができます。Contrastの結果は継続的かつリアルタイムに得られるため、ソースコードから実行中のアプリケーションまで、開発パイプライン全体にセキュリティを統合することができます。

Contrastは開発サイクル全体で使用可能

This image shows how Contrast fits into different phases of a development environment

解析手法とデータソース

Contrastでは、以下のように様々なデータソースと解析手法が統合されています。

  • ランタイムの制御フローやデータフロー(IAST)

  • アプリケーションのコードやAPI(SAST)

  • HTTPリクエストとレスポンス

  • アプリケーション内の全てのライブラリおよびフレームワークとその使用状況(SCA)

  • 設定情報

  • バックエンドの接続状況

  • ローカルファイルの静的スキャン(SAST)

Contrastエージェント

Contrast AssessとContrast Protectは、エージェントを使用してデータフローを解析し、実行中のアプリケーションから脆弱性を検出します。Contrast AssessとContrast Protectは、同じエージェントを使用して、データフローの解析や脆弱性の検出を行います。Assess用のエージェントとProtect用のエージェントの両方が必要になるわけではありません。

エージェントを追加・設定すると、カスタムコードやライブラリ全体にわたって、アプリケーションの既存のメソッドにContrastのセンサーが組み込まれることになります。エージェントのセンサーは、データがアプリケーションに入って出る場所(ルート)を観測します。この動作により、アプリケーションのデータの流れがリアルタイムに可視化され、そのコードパスにあるセキュリティ上の欠陥や脆弱性が検出されて、Contrastに報告されます。また、エージェントによってContrastは攻撃を検知して、攻撃のブロックが可能になります。

エージェントの設定

エージェントの設定は、YAML設定ファイルの編集、コマンドラインでの環境変数の使用、または使用している言語やツールに固有のその他の方法で行います。

アプリケーションにエージェントを設定する際に、以下の情報を指定します。

  • エージェントがContrastと通信するための情報

  • エージェント固有の設定

  • AssessおよびProtectルールの設定

  • アプリケーション固有の設定

    • ここでの設定には、セッションメタデータやカスタムメタデータも含まれます。メタデータは、報告された各脆弱性の追加情報として、またはフィルタとして利用できます。

  • アプリケーションとエージェントをホストするサーバ:

    • 統合開発環境(IDE)で実行している開発者のローカルアプリケーションサーバ

    • 自動テストプロセスで使用しているCI(継続的インテグレーション)アプリケーションサーバ

    • アプリケーションのテストサーバ

    • アプリケーションのステージングサーバ

    • アプライアンスに組み込まれているサーバ

    • 仮想マシンで実行中のアプリケーションサーバ

    • クラウドで実行中のリモートアプリケーションサーバ

    • 本番環境用のアプリケーションサーバ

静的スキャン

Contrast Scanは、ソフトウェア開発ライフサイクル(SDLC)の開発フェーズにおいて、脆弱性の検出と修正を容易にする静的アプリケーションセキュリティテスト(SAST)ツールです。

アプリケーションをスキャンするには、ソースコードかバイトコードファイルをアップロードします。 Contrastのテクノロジにより、Contrastが定義済した一連のルールに基づいて脆弱性が特定されます。

クラウドネイティブアプリケーションの保護

Contrast Serverlessは、サーバレスベースのアプリケーションを対象とした、次世代のアプリケーションセキュリティテストツールです。

Contrast Serverlessは、クラウドネイティブアーキテクチャを使用して環境内の全てのリソースをマッピングし、自動的にその結果を検証して優先順位付けを行い、誤検知や不用なアラートを解消します。AWSアカウントに読み取りモードで接続し、継続的に環境を監視し、関連情報を収集します。

インテグレーション

Contrastは、さまざまなツールやテクノロジとインテグレーションできるため、現在ご利用中のツールから脆弱性に関する高精度なフィードバックを得ることができます。このアプローチにより、セキュリティチームと開発チーム間の連携が効果的に促進され、ソフトウェアの開発プロセスが加速します。