Membuat pernyataan VEX

Dokumen ini menjelaskan cara membuat pernyataan Vulnerability Exploitability eXchange (VEX).

Untuk setiap image container yang dikirim ke Artifact Registry, Artifact Analysis dapat menyimpan pernyataan VEX terkait. VEX adalah jenis saran keamanan yang menunjukkan apakah suatu produk terpengaruh oleh kerentanan yang diketahui.

Setiap pernyataan memberikan:

  • Penerbit Pernyataan VEX
  • Artefak yang pernyataan ini dibuat untuknya
  • Penilaian kerentanan (status VEX) untuk kerentanan yang diketahui

Penerbit software dapat membuat pernyataan VEX untuk menjelaskan postur keamanan aplikasi. Pernyataan VEX mencatat kerentanan apa pun yang ditemukan dalam artefak tertentu dan memberikan konteks tentang dampaknya terhadap pelanggan atau badan pengatur.

Penegak keamanan dan kebijakan dapat menggunakan status VEX untuk memilah risiko dalam rantai pasokan software mereka dan menggunakan pernyataan VEX untuk membuktikan komposisi artefak mereka guna membantu organisasi memenuhi persyaratan peraturan.

Status VEX

Status VEX menunjukkan apakah artefak terpengaruh oleh kerentanan yang diketahui.

Statusnya dapat berupa salah satu dari:

  • Tidak terpengaruh: Tidak ada perbaikan yang diperlukan terkait kerentanan ini.
  • Terpengaruh: Tindakan perbaikan direkomendasikan.
  • Diperbaiki: Dalam versi produk ini, perbaikan telah diterapkan untuk mengatasi kerentanan.
  • Dalam Penyelidikan: Status produk ini belum ditentukan. Penayang akan memberikan status yang diperbarui dalam rilis selanjutnya.

Sebelum memulai

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Container Analysis, Artifact Registry APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.

  6. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  7. To initialize the gcloud CLI, run the following command:

    gcloud init
  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  9. Make sure that billing is enabled for your Google Cloud project.

  10. Enable the Container Analysis, Artifact Registry APIs.

    Enable the APIs

  11. Install the Google Cloud CLI.

  12. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  13. To initialize the gcloud CLI, run the following command:

    gcloud init
  14. Menyimpan image container di repositori Artifact Registry, atau membuat repositori dan mengirim image Anda.
  15. Peran yang diperlukan

    Untuk mendapatkan izin yang Anda perlukan untuk mengupload penilaian VEX dan memeriksa status VEX kerentanan, minta administrator Anda untuk memberi Anda peran IAM berikut di project:

    Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

    Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

    Membuat pernyataan VEX

    Analisis Artefak mendukung standar Common Security Advisory Format (CSAF) 2.0 dalam JSON. Untuk membuat pernyataan VEX baru, gunakan skema CSAF.

    Berikut adalah contoh pernyataan VEX untuk image di Artifact Registry dengan satu cabang cve untuk kerentanan yang diketahui.

    Anda harus menentukan nilai product_status untuk setiap CVE.

    
    {
      "document": {
        "csaf_version": "2.0",
        "lang": "en-US",
        "publisher": {
          "name": "Sample-Company",
          "namespace": "https://sample-company.com"
        },
        "title": "Vex document 1.1"
      },
      "product_tree": {
        "branches": [
          {
            "name": "https://LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/IMAGE_NAME",
            "product": {
              "name": "PRODUCT_NAME",
              "product_id": "IMAGE_NAME"
            }
          }
        ]
      },
      "vulnerabilities": [
        {
          "cve": "CVE_ID",
          "product_status": {
            "PRODUCT_STATUS": [
              "IMAGE_NAME"
            ]
          }
        }
      ]
    }
    

    Di mana

    • PRODUCT_NAME Nama produk yang dapat dibaca manusia untuk gambar. Mengambil nilai string. Nilainya harus berupa nama kanonis lengkap produk, termasuk nomor versi dan atribut lainnya.
    • LOCATION adalah lokasi regional atau multi-regional repositori Anda.
    • PROJECT_ID adalah ID untuk project yang berisi repositori Anda.
    • REPO_NAME adalah nama repositori Docker Anda di Artifact Registry.
    • IMAGE_NAME adalah nama gambar.
    • CVE_ID adalah ID untuk kerentanan, seperti CVE-2017-11164.
    • PRODUCT_STATUS adalah penilaian risiko keamanan. Analisis Artefak mendukung empat jenis status: known_affected, known_not_affected, under_investigation, dan fixed.

    Untuk setiap kerentanan yang ingin Anda cantumkan dalam pernyataan VEX, Anda harus membuat cabang cve dan menentukan nilai product_status.

    Nilai kolom name di product_tree.branches.name adalah URI gambar. Menyertakan nilai ini mengaitkan pernyataan VEX dengan image Docker tertentu.

    Langkah berikutnya

    • Upload pernyataan VEX pernyataan VEX yang ada atau pernyataan VEX yang diberikan oleh penerbit lain.
    • Memprioritaskan masalah kerentanan menggunakan VEX. Pelajari cara melihat pernyataan VEX dan memfilter kerentanan menurut status VEX.