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 produk terpengaruh oleh kerentanan yang diketahui.

Setiap laporan memberikan:

  • Penerbit Pernyataan VEX
  • Artefak yang pernyataannya ditulis
  • Penilaian kerentanan (status VEX) untuk kerentanan yang diketahui

Penayang 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 kepada pelanggan atau lembaga pengatur.

Penegakan keamanan dan kebijakan dapat menggunakan status VEX untuk melakukan triage 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: Pada versi produk ini, perbaikan telah diterapkan untuk mengatasi kerentanan.
  • Sedang Diselidiki: 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. To initialize the gcloud CLI, run the following command:

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

    Go to project selector

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

  9. Enable the Container Analysis, Artifact Registry APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. Simpan image container di repositori Artifact Registry, atau buat repositori dan kirim image Anda.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna mengupload penilaian VEX dan memeriksa status kerentanan VEX, minta administrator untuk memberi Anda peran IAM berikut pada 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"
        ]
      }
    }
  ]
}

Dari 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 region atau multi-region 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 akan mengaitkan pernyataan VEX ke image Docker tertentu.

Langkah selanjutnya

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