Contrast UIで基本的な操作をする

  • 更新
ライセンス オンプレミスおよびSaas
製品 Assess
製品カテゴリ   Contrast UI
サブカテゴリ 使い方

 

本項の内容

Contrastを使用してアプリケーションの脆弱性を管理するには、主に以下の4つのステップになります。本項では、アプリケーションの開発者や開発チームがContrastインターフェイス(以下、Contrast UI)を使用して、アプリケーションの脆弱性の検出や結果の参照、管理を行う場合の基本的な操作について説明します。初めてContrast UIをご利用される方は、Contrast UIとはもご覧ください。

__________2020-12-21_17.57.02.png

 

1. Contrastエージェントをアプリケーションサーバに追加

まず、脆弱性を検出したいアプリケーションを組織に追加するためにContrastエージェントをアプリケーションに組み込む必要があります。Contrast UIにログインして、右上のエージェントを追加のボタンをクリックします。

__________2020-12-21_16.55.38.png

Contrastエージェントをダウンロードするためのページが表示されます。アプリケーションをエージェントに組み込むための手順を説明する画面が表示されますので、アプリケーションで使用している言語を選択して、画面の指示に従います。詳細な手順や設定については、エージェントのインストール方法を参照してください。

 

2. Contrastエージェントを組み込んだアプリケーションを試験

Contrastエージェントを組み込んでアプリケーションを起動したら、検査対象のアプリケーションの画面を操作して、動作確認(正常系の試験)を行います。アプリケーションのサーバ名はContrast UIのサーバタブにすぐに表示されますが、アプリケーション名はアプリケーションを閲覧してトラフィックが生成されるまでアプリケーションタブに表示されません。

アプリケーション名がタブに表示されていても、ライセンスが適用されていない場合、全ての情報が表示されません。ライセンスを適用する方法については、組織のライセンスの割り当てを参照してください。

 

3. Contrastエージェントから脆弱性が報告

Contrastエージェントによって、アプリケーションのコードに存在する欠陥が発見されると、脆弱性としてContrastに報告されます。アプリケーションタブでアプリケーション名をクリックしてドリルダウンすると、結果の詳細情報が表示されます。

AppDrillDown.png

スコアの確認

アプリケーションの概要タブには、スコアが表示されます。Contrastでは、スコアによってアプリケーションにレターグレード(AからFの文字で評価)が付けられます。以下は、PetClinicというアプリケーションのスコアの例です。

PetClinicScore.png

アプリケーションの総合スコアは、アプリケーションのカスタムコードのスコアとライブラリのスコアの平均です。この例では、カスタムコードのスコアが70で、ライブラリのスコアが18ですので、平均値の44が総合スコアになります。スコアは、以下のようにレターグレードとマップされます。PetClinicの総合スコアは、44であるためFと判定されます。アプリケーションのスコアの詳細については、アプリケーションのスコアガイドを参照してください。

__________2020-12-22_22.14.54.png

ライブラリの使用状況の確認

アプリケーションのライブラリタブにアクセスし、脆弱性のあるライブラリを確認し、必要に応じてライブラリを最新の状態にします。Contrastでは、ライブラリのスコア、既知のCVE、最新バージョンとリリース日、ライブラリで使用されているクラスと合計クラスの情報などが提供されます。ライブラリのスコアは、ライブラリの古さ、ライブラリのバージョン数、ライブラリに影響を与える既知のCVEの数という、3つの要素に基づいて計算されます。ライブラリのスコアの詳細については、ライブラリのスコアガイドを参照してください。

スコアの改善

アプリケーションを安全なものにするには、以下に対応しスコアを改善します。

  • カスタムコードの脆弱性で深刻度が重大および高のものを修復
  • 脆弱なライブラリへの対策
  • 古いライブラリの更新

 

4. 結果を取得して脆弱性を管理する

アプリケーションの脆弱性タブを選択すると、アプリケーションで検出された全ての脆弱性が一覧で表示されます。ここで、対処する必要のない脆弱性を排除して、修正すべき脆弱性だけを残し、対応していきます。

_________________.png

脆弱性に対するワークフローや管理手順はお客様の環境やポリシー等により異なりますが、一般的な脆弱性対応の流れは次のようになります。

__________2021-01-05_10.28.18.png

アプリケーションの開発者や開発チームが、この一般的なワークフローでContrast UIを使用する場合、次の3ステップを繰り返し行います。

(1) 優先して対応する脆弱性を選別(フローの②)

Contrastでは、アプリケーションの脆弱性は深刻度で分類されます。深刻度は、脆弱性の可能性(悪用されるおおよその確率)と影響度(悪用された場合の損害のレベル)を基準にしており、最も深刻度が高いものから低いものまで5つのレベルがあります。対応すべき脆弱性を選別する上で、より深刻度の高い脆弱性に優先順位をつけることをお勧めします。

  • 重大(Critical)
  • 高(High)
  • 中(Medium)
  • 低(Low)
  • 注意(Note)

脆弱性にタグを追加すると、特定のキーワードによって関連付けられた脆弱性を検索・管理しやすくなります。

 

(2) 選別した脆弱性を調査・修正(フローの③〜⑤)

脆弱性タブで脆弱性をクリックすると、脆弱性に関する情報が表示されます。概要タブでは、脆弱とされた理由(何が起こったか?)とそのリスク(どんなリスクであるか?)を説明します。詳細タブのトレース情報により、コード内で発生している問題を具体的に理解できます。問題の修正や対策は、修正方法タブを参考にしてください。

__________2020-12-28_18.28.57.png

CIツールやIDEなどから、Contrastの脆弱性の検出結果に直接アクセスすることもできます。詳細は、ツールについての説明を参照ください。

Contrastでは、 Jira、Bugzilla、VSTS/TFSなどのチケット管理システムとの連携(組織の管理者によるインテグレーションが必要)が可能です。チケット管理システムと連携されている場合は、Contrastでの脆弱性の検出結果をチケットとして起票することができます。

 

(3) 脆弱性のステータスを変更(フローの⑥)

対応や修正を行った問題には、脆弱性のステータスを変更して脆弱性を管理します。脆弱性のステータスを変更した場合の動きは、以下の表のようになります。

__________2021-01-05_10.19.45.png

脆弱性をステータスで管理する方法としては、一般的に以下のようなものが挙げられます。ご利用の環境や脆弱性管理のフローに合わせて最適な方法をお選びください。

 

関連情報

 

この記事は役に立ちましたか?

0人中0人がこの記事が役に立ったと言っています

他にご質問がございましたら、リクエストを送信してください