はじめに

Contrastへようこそ!

Contrastは、ソフトウェア開発ライフサイクル(SDLC)の全てのフェーズで、リアルタイムのアプリケーションセキュリティを提供します。

Contrastの使用例として、Contrastを体験するを参照ください。

ご要望は...

Contrastが提供するのは...

SDLCの開発フェーズ・テスト(QA)フェーズでアプリケーションの脆弱性を分析したい:

  • 開発フェーズで:アプリケーションや使用するライブラリの脆弱性に関する高精度なフィードバックを即座に得たい

    アプリケーションを実行することで、アプリケーション内の疎通ルートをシミュレートし、Contrastからの情報を使用して安全なコードをチェックイン

  • テストフェーズで:手動・自動化されたテストケースを適用する時や、CI/CDパイプラインにおいて、アプリケーションの脆弱性は検証済みであることを保証したい

  • 本番環境で:SDLCの運用フェーズで、攻撃を完全に把握し、悪意のある不正利用からアプリケーションを防御したい

  • エージェント:アプリケーションにセンサーを搭載し、解析します。さまざまなプログラミング言語、フレームワーク、コンテナテクノロジをサポートします。

  • Contrast Assess:調整可能な検出ルールを使用して、脆弱性を高精度に検出します。問題が検出された経緯、再現方法、修正方法についての情報を提供します。

  • Contrast Scan:高速で効率的な静的スキャンの実行により、アップロードされたバイナリパッケージの脆弱性を特定します。

  • Contrast Protect:攻撃を自動的に特定し、本番環境での攻撃を監視したり悪用されるのを防ぎます。Protectは実行中のアプリケーション内から攻撃を検知してブロックしますが、WAF(Webアプリケーションファイアウォール)と統合することもできます。

アプリケーションが使用するライブラリを解析したい

Contrast SCA: アプリケーションの実行時に使用されるオープンソースライブラリがもたらすセキュリティリスクや法的な問題を可視化します。Contrast SCAは、オープンソースライブラリの脆弱性を検出します。また、使用中のライブラリが古く、更新する必要があるかどうかも明らかにします。

SDLCの早い段階でコードの脆弱性を見つけ、その修正方法について分かりやすい説明が知りたい

Contrast Asess、Scan、SCAで検出された脆弱性の情報には、修正方法が記載されます。

組織内や組織外でデータやリソースが共有されている箇所をインタラクティブに表示するアーキテクチャを図で見たい

フローマップにより、アプリケーション、アプリケーション内のテクノロジ層、アプリケーションが接続しているバックエンドシステムなどを表す詳細な構成図を参照できます。

CI/CDパイプラインにContrastを組み込みたい

多種多様なインテグレーション機能により、Contrastの処理やデータを、開発者用のIDEやビルドシステム、コミュニケーションツールなどと連携することができます。

カスタマイズ

Contrastにはさまざまなオプションがあり、Contrastに登録したアプリケーションのデータアクセスやデータ表示、データ収集などをカスタマイズできます。カスタマイズすることにより、Contrastで提供されるデータをより分かりやすく効果的に参照できるようになります。

オプション

説明

ロールベースのアクセス制御

アクセスグループを使用すると、特定のユーザに権限と機能を割り当てることができます。グループに関連付けたアプリケーションごとに、役割(ロール)に応じた異なる種類のアクセス権を割り当てることができます。

Contrastにアプリケーションを登録する前に、グループ構成を検討しておくと便利です。

最初にアプリケーションをContrastに登録する際に、Contrast設定ファイルにグループを指定しない場合は、Contrast Webインターフェイスからのみグループに追加できます。Contrast設定ファイルを使用してアプリケーションを登録したい場合は、アクセスグループに関連付けるために、アプリケーションを一度削除してから再度登録する必要があります。

まず、Contrast Webインターフェイスで、既存のグループにユーザやアプリケーション(またはその両方)を作成または追加します。

次に、各アプリケーションのContrast設定ファイルを使用して、アプリケーションをアクセスグループに関連付けてContrastに登録することができます。

# application:

  # Add the name of the application group with which this
  # application should be associated in the Contrast UI.
  # group: NEEDS_TO_BE_SET

カスタムフィルタ

Contrastでは、カスタマイズしたフィルタを作成できるタグオプションがいくつかあります。カスタムフィルタを作成する利点は、デフォルトのフィルタを使用するだけでなく、特定のニーズに合わせてデータを表示できることです。

アプリケーションのメタデータを使用して、カスタムフィルタを作成できます。

また、特定のアプリケーションデータや脆弱性情報にタグを適用することもできます。アプリケーションや脆弱性にタグを付けた後は、アプリケーションのページや脆弱性のページでフィルタとしてそれらのタグを使用できます。

例:アプリケーションメタデータ

アプリケーションのメタデータを収集するために、Contrast Webインターフェイスでカスタムフィールドを作成できます。以下は、フリーフォーマットのカスタムフィールドの例です。

  • カスタムフィールド:managersInfo

    値:  "John Doe"

  • カスタムフィールド: businessUnit

    値:  "NodeGoat Group"

  • カスタムフィールド: officeLocation

    値: "New York City"

例:アプリケーションのタグ

  • Appname:特定のアプリケーション名

  • Groupname:アクセスグループの名前

  • Environment:アプリケーションをテストする環境(開発、QA、または本番環境)

  • Server Name:アプリケーションをホストするサーバの名前

例:脆弱性のタグ

  • Build:特定のビルド番号

  • Version:特定のリリースバージョン

アプリケーションのカスタムデータ

セッションメタデータにより、アプリケーションの脆弱性のソースを特定できます。

セッションメタデータに必要なプロパティをエージェントの設定ファイルに追加すると、標準の脆弱性データと一緒に、セッションメタデータがエージェントにより報告されるようになります。そして、そのセッションメタデータをContrast Webインターフェイスでフィルタとして使用することができます。

Contrastエージェントの設定ファイル内でセッションメタデータの値を変更すると、異なる値で脆弱性データをフィルタ処理できます。例えば、ブランチ名やバージョンの値を変更すると、異なるブランチやバージョンでデータをフィルタできます。

例:

以下のJavaアプリケーションの例では、javaagentフラグを追加する行にエントリを追加しています。この例では、contrast.application.session_metadataプロパティにブランチ名(branchName)、コミットしたユーザ(committer)、リポジトリ(repository)のメタデータプロパティに対して、キーと値をペアにして指定しています。

-Dcontrast.application.session_metadata="branchName=build22,committer=Jane,repository=Contrast-Java”

名前のカスタマイズ

アプリケーションやアプリケーションをホストするサーバの名前を変更することができます。

デフォルトでは、Contrastエージェントがコード内で検出したデータに基づいて名前が付けられます。

カスタム名を指定するには、アプリケーションを追加する際にエージェント設定ファイルで指定するか、アプリケーションを追加した後にContrast Webインターフェイスで名前を変更します。

次の手順