Skip to main content

icon-developers.pngデベロッパーガイド

Contrastプラットフォーム

最初のステップは、Contrastプラットフォームのテクノロジを理解し、適切な解析戦略を選択することです。

  • Contrast Scan

    Contrast Scanは、静的アプリケーションセキュリティテスト(SAST)ツールで、コードをすぐにスキャンして、開発の初期段階で脆弱性を特定できます。

    • Contrast Scanを使う理由は?

      Contrast Scanは、精度を落とすことなく、非常に早いスピードでスキャンができます。わずか数分で、数クリックするだけでスキャンを開始できます。さらに、ローカルスキャンエンジンを使用すれば、コンテンツをContrastプラットフォームに直接アップロードしないようにすることもできます。Contrast Scanは、Angular、React、Vue.jsベースのアプリケーションなどのクライアントサイドのコードに適しています。

  • Contrast Serverless

    FaaS(Function as a Service)サービスであるサーバレスの場合は、Contrast Serverlessを使用して次のような方法で保護ができます。

    • 静的解析や動的解析を行い、脆弱性を検出します。

    • オープンソースライブラリに対してSCA解析を行います。

    • サーバレス関数を解析して、関数の機能に必要な最小権限の設定を判定し、攻撃者の侵入経路を遮断します。

    AWS Fargateなどのサーバレスで提供されるサービスには、Contrast Assessを使用できます。Azure Functionsでは、Contrast ServerlessとContrast Assessの両方を使用できます。Contrast CLIを使用すれば、機能の一部を利用することができ、パイプラインでのインテグレーションも可能です。ただし、Contrast Serverlessの主な使用形態としては、数回のクリックと数分程度の作業だけで、クラウドプロバイダのアカウント内の全ての関数が認識されて保護されることです。

    • Contrast Serverlessを使う理由は?

      • 関数を包括的に一覧で参照することができ、それらの関数を攻撃から守ることができます。

      • サーバレス関数のスキャンによるメリットを得るために、追加の時間をかけたりDevOpsパイプラインを再構築する必要がありません。

      • 無効なデータを調べるための追加のオーバーヘッドは必要ありません。

      • Contrast Serverlessによって、適切なポリシーを選択できるようになり、コードの安全性をより高めることができます。

Contrast SCA

以前よりContrast Assessの機能と一緒にソフトウェアコンポジション解析(SCA)機能を提供してきましたが、Contrast SCAを使用することによって、コマンドラインインターフェイス(CLI)やGitHubとの連携により、サードパーティの依存関係(主にオープンソース)の脆弱性の静的検出や、プロジェクト単位でのアプリの一括登録もできるようになりました。

他の優れた(多くの場合が無料か安価な)SCAツールではなく、SCAにContrastを使う理由は?

Contrast SCAを使用すれば、重要な問題だけに集中できます。ContrastのランタイムSCAは、アプリケーションの依存関係のマニフェストに脆弱なライブラリの脆弱なバージョンが指定されているかどうかを判別するだけでなく、実際に実行時にどのライブラリがどの程度呼び出されているかを判別できる独自の機能があります。この機能により、実行時に呼び出されていない70%の優先度を下げることができます。また、Contrast SCAでは、マニフェストには記載されていないが環境によって実行時に組み込まれるライブラリも検出できます。これは、ほとんどの無償のSCAソリューションなどの、単独の静的SCAソリューションでカバーされていない機能です。

Contrast Assess

Contrast Assessは、Contrastプラットフォームにおけるインタラクティブアプリケーションセキュリティテスト(IAST)の部分です。IASTツールの核となるのは、アプリケーションコードに組み込むソフトウェアライブラリである、センサーモジュールです。このセンサーモジュールが、アプリケーションでインタラクティブなテストを実行中に、アプリケーションの動きを追跡します。IASTは、 静的アプリケーションセキュリティテスト(SAST)ツールがコンパイルやアプリケーション実行前に解析を行うように、アプリケーションの実行時にコードを解析して脆弱性を検出します。そして、動的アプリケーションセキュリティテスト(DAST)ツールのように、実行時の動きも解析します。また、実行時のソフトウェアコンポジション解析(SCA)機能のコレクターとしての役割も果たします。つまり、Contrast Assessは4つのツールが1つになったものと言うことができます。

Contrast Assessを使う理由は?

Contrast Assessを使用することで、他のSASTツールと比較して過検知がわずかになります。その一方で、SASTとDASTの両ツールでのスキャン待ちの時間を増やすことなく、最大で2倍の脆弱性(真陽性)が検出されるようになります。これは、Contrast Assessを使えば、ユーザや自動化されたQAテストによるアプリケーションの各操作によって、実行中のコードのセキュリティに関する貴重なテレメトリが生成されるからです。このような情報が得られるため、IASTは開発サイクルの早い段階に追加できる、最もシンプルで手間のかからないセキュリティプロセスといえます。IASTなら、現在のプロセスを変更する必要はなく、リリーススケジュールを遅らせることもないからです。

Contrast Protect

Contrast Protectとは、ランタイムアプリケーション自己保護(RASP)ツールです。攻撃が成功する可能性のあるトラフィックを、Contrast Assessと同じテクノロジを使用してブロックします。

Contrast Protectを本番にリリースするビルドに使う理由は?

Contrast Protectによって、ゼロデイ(zero-day)攻撃に対する、マイナスデイ(negative-day)の保護が可能になります。Contrast Protectは、3年前の悪名高いLog4Shellのリモートコード実行の攻撃をブロックすることができました。活発に開発が行われるアプリケーションの場合、新たなゼロデイ攻撃発生時の深夜の急対応などを回避して、アップグレードする時間を確保することができます。

メンテナンス状態のアプリケーションの場合は、長期的な保護として機能し、新しいアプリケーションに集中することができます。また、開発者にとって脅威に関する実用的な情報も提供されます。これは、攻撃が発生していることを知らせる(セキュリティ担当から得られるかどうかわからない情報)だけでなく、ブロックされた攻撃に使用されたコードパスも表示されるため、攻撃者を簡単に排除することができます。

次の手順

解析パスを確認する