アプリケーションセキュリティテスト、脆弱性調査 - CNA プロセス

このハンドブックページは、脆弱性調査チームが GitLab の CNA としての役割に貢献する際に使用する CNA プロセスを文書化することを目的としています。

CVE リクエスト

対応するイベント

チームは CVE Publish Request Issue が「即時公開の準備完了」としてマークされた際に対応します。

ワークフロー

  1. トリアージ: リクエスト受領後 2 日以内に、Issue の完全性と正確性をレビューします。

  2. 判断フロー:

    • 修正が必要な場合: Issue 作成者/担当者に対して、特定の説明または修正を求めるコメントを残します。

      • 回答を待ちます。
      • 必要に応じてフォローアップの議論を行います。
      • 承認または(まれなケースで)却下のいずれかに進みます。
    • 完全な場合: Issue を承認します。これにより自動的に:

      • CVE が公開されます。
      • Issue がクローズされます。

タイムライン

初回トリアージおよび最初の回答:公開リクエスト受領後 2 日以内

CWE、CVSS スコア、説明

  1. まず、脆弱性に対して適切な CWE を特定します。

  2. 提出者が提供した CVSS スコアをレビューします。

    • CVSS スコアが CWE と説明に基づいて期待されるものと大きく乖離している場合は、提出者にスコアが妥当かどうかを確認します。
    • 予期しない CVSS メトリクスに明確な理由がある場合は、その旨を説明に注記します。例:「… ユーザーが自分のアカウントにのみ影響を与えられるため、全体的な影響は限定的です」
    • 注意: CVSS スコアは、CVE の説明と CWE のみにアクセスした場合でも、外部の視点から意味をなすものでなければなりません。

GPG キー

[email protected] メールには、脆弱性調査チームが CNA プロセスで使用する GPG キー があります。

公開キーの延長

GitLab の [email protected] メールの公開 GPG キーは、6 か月ごとに有効期限が切れるよう設定されています。有効期限をさらに 6 か月延長するには、以下の手順を行ってください。

  1. [email protected] の公開キーと秘密キーの両方をローカルに持っていることを確認します。

  2. gpg --list-keys でキーを一覧表示します。

    $> gpg --list-keys
    /home/user/.gnupg/pubring.kbx
    ------------------------------
    pub   rsa4096 2020-00-00 [SC] [expires: 2020-06-00]
          AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJ
          uid           [ultimate] GitLab CVE <[email protected]>
          sub   rsa4096 2020-00-00 [E] [expires: 2020-06-00]
    
  3. gpg --edit-key AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJ でキーを編集します。

  4. expire 対話コマンドでキーの有効期限をさらに 6m に設定します。

    $> gpg --edit-key AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJ
    ...
    gpg> expire
    ...
    Key is valid for? (0) 6m
    

公開キーの有効期限をさらに 6 か月延長したら、以下のコマンドでキーのアーマード版をエクスポートします。

gpg --export --armor AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJ

また、キーの ID を取得することもできます。ID は長形式キー AAAABBBBCCCCDDDDEEEEFFFF[GGGGHHHHIIIIJJJJ] の末尾 16 文字です。

gpg --list-signatures [email protected]

更新場所

新しい公開 GPG キーは以下の場所を更新する必要があります。