エージェント

Contrastエージェントは、アプリケーションからセキュリティ関連のデータを収集し、そのデータを分析して、必要に応じて検出結果をContrastに報告します。特定の状況では、Contrastエージェントがアプリケーション内で処理を実行し、悪用を防いだりセキュリティ対策を有効にしたりする場合もあります。

Contrastエージェントは、コードスキャン、ライブラリスキャン、アプリケーションの計測、設定ファイルのスキャン、その他の手法など、さまざまなセキュリティ計測手法を使用してセキュリティ関連の情報を収集します。情報を収集するあらゆるセキュリティ計測手法はセンサです。

センサは、アプリケーション内からスナップショットで直接情報を取得したイベントを生成します。例えばセンサは、HTTPパラメータの受信や、データベースに対して実行されたSQLクエリの詳細をキャプチャする場合があります。一部のセンサは、防御機能を強化したり、悪意のある攻撃をブロックしたりするために必要に応じて処理を実行する場合もあります。その場合は通常、セキュリティ例外を生成して脆弱性を回避します。攻撃

センサによって生成されたイベントは、全てエージェントの追跡機能と分析機能にレポートされます。分析エンジンは、時間の経過とともにアプリケーションのあらゆるコードからイベントを受信し、トレースに組み込みます。そして、それらのトレースにContrastルールへの違反を示す動作パターンがないかを監視します。

例えば、分析エンジンは以下のようなデータフローを検出する場合があります。

  • HTTPパラメータの受信イベント

  • 次に、そのパラメータがSQLクエリに付加されていることを示す別のイベント

  • 最後に、そのクエリがデータベースに送信されていることを示す別のイベント

適切な防御策(エスケープ処理やパラメータ化)がないデータフローを分析エンジンが検出した場合は、そのトレースがSQLインジェクションについてのContrastルールに一致していると認識し、Contrastに報告します。分析の大部分はエージェント内でローカルに実施されるため、Contrastのスケーラビリティとパフォーマンスが確保されます。

計測対象のアプリケーションの言語と一致するエージェントを使用します。

  • Javaの場合、コンテナで実行中のJava WebアプリケーションおよびWeb APIを計測できます。

  • .NET Frameworkの場合、IISで実行中の.NET WebアプリケーションおよびAPIを計測できます。

  • .NET Coreの場合、.NET Coreランタイムで実行中のアプリケーションおよびAPIを計測できます。

  • Node.jsの場合、Node.js WebアプリケーションおよびAPIを計測できます。

  • Rubyの場合、Ruby on Rails Webアプリケーションを計測できます。

  • Pythonの場合、Django、FlaskおよびPyramidのWebアプリケーションを計測できます。

注記

Contrastエージェントは、リリース後1年間サポートされます。古いエージェントも引き続き機能し、互換性が維持される場合もありますが、完全にサポートされた状態ではなくなります。

Contrastでは、エージェントの最新バージョンでバグ修正を適用し、新機能を追加します。コードの変更は、以前のバージョンにはバックポートされません。バグの回避策が提供される可能性もありますが、問題を解決するには、その問題が解決済みのリリースに更新する必要があります。