Skip to main content

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

Contrastプラットフォーム

まずは、Contrastプラットフォームのテクノロジについて理解することから始めましょう。

  • Contrast Assess

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

    • なぜContrast Assessを使うべきなのか?

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

  • Contrast Protect

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

    • なぜContrast Protectを本番にデプロイするビルドに組み込むべきなのか?

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

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

  • Contrast SCA

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

    • 他の優れた(そして多くの場合が無料で安価な)SCAツールではなく、なぜSCAにContrastを使うべきなのか?

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

  • 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を使うべきなのか?

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

      • Contrast Serverlessによる関数スキャンのメリットを得るために、余分な時間やDevOpsパイプラインの再構築の必要がありません。

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

      • Contrast Serverlessは、適切なポリシーの選択をガイドすることで、コードをより安全にするのに役立ちます。

  • Contrast Scan

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

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

次の手順

解析オプションを検討する