Contrastの仕組み
Contrast Securityは、アプリケーションポートフォリオにおいて、高精度で継続的なリアルタイムのアプリケーションセキュリティテストと攻撃のブロックを実現可能にします。Contrastが各アプリケーション内で動作し、ソフトウェア開発ライフサイクル(SDLC)全体を通して、アプリケーションを安全なものにします。
Contrastを使用して実施する機能テストがセキュリティテストになります。そのため、品質管理の作業としてアプリケーションを疎通するたびに、セキュリティフィードバックを得ることができます。Contrastの結果は継続的かつリアルタイムに得られるため、ソースコードから実行中のアプリケーションまで、開発パイプライン全体にセキュリティを統合することができます。
Contrastは開発サイクル全体で使用可能
解析手法とデータソース
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は、さまざまなツールやテクノロジとインテグレーションできるため、現在ご利用中のツールから脆弱性に関する高精度なフィードバックを得ることができます。このアプローチにより、セキュリティチームと開発チーム間の連携が効果的に促進され、ソフトウェアの開発プロセスが加速します。