0Pricing
Cyber Security Academy · Pelajaran

Daftar Bahan Perangkat Lunak (SBOM)

Menginventarisasi isi perangkat lunak Anda.

Daftar Bahan Perangkat Lunak (SBOM) adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.

Apa Itu SBOM

Daftar Bahan Perangkat Lunak (SBOM) adalah inventaris formal yang dapat dibaca mesin tentang setiap komponen di dalam suatu perangkat lunak: pustaka, versinya, lisensi, dan informasi pemasok.

Sama seperti label makanan mencantumkan bahan-bahannya, SBOM memungkinkan Anda menjawab dalam hitungan detik: apakah produk ini mengandung versi rentan X? Tanpanya, pertanyaan tersebut dapat memerlukan berhari-hari penyelidikan manual.

Mengapa SBOM Penting Sekarang

Ketika kerentanan kritis muncul, pertanyaan operasional pertama adalah paparan: produk kita yang mana yang menyertakan komponen terdampak?

Selama insiden Log4Shell, organisasi yang memiliki SBOM dapat menelusuri inventarisnya dan melakukan triase dalam hitungan jam. Organisasi tanpa SBOM menghabiskan waktu berminggu-minggu untuk mencari di direktori pembangunan. Otoritas pengawas dan pembeli besar semakin sering mewajibkan SBOM sebagai syarat pengadaan.

  • Analisis dampak kerentanan secara cepat
  • Kepatuhan lisensi dan pelacakan kewajiban
  • Transparansi rantai pasokan bagi pelanggan dan auditor

Format Standar SBOM

Dua standar terbuka paling banyak digunakan. Alat biasanya dapat mengonversi salah satunya ke yang lain.

  • SPDX — standar Linux Foundation yang kuat dalam hal lisensi dan diterima luas oleh otoritas pengawas
  • CycloneDX — standar OWASP yang berfokus pada keamanan serta mendukung data kerentanan dan hubungan dependensi

Hindari membuat format sendiri; pengguna dan alat pemindai mengharapkan format-format ini.

Apa yang Dicantumkan dalam Entri

Setiap entri komponen harus memuat identitas yang cukup agar dapat dicocokkan dengan umpan kerentanan. Kolom utamanya:

  • nama dan versi — harus tepat, bukan rentang
  • PURL (alamat paket) — pengenal universal seperti pkg:npm/lodash@4.17.21
  • hash — untuk memverifikasi integritas
  • lisensi — pengenal lisensi SPDX
  • pemasok — pihak yang memproduksinya
# A PURL uniquely identifies a component across ecosystems
pkg:npm/lodash@4.17.21
pkg:pypi/requests@2.31.0
pkg:golang/github.com/gin-gonic/gin@v1.9.1

Membuat SBOM

Buat SBOM secara otomatis dari sumber atau artefak yang telah dibangun. Syft adalah pembuat lintas ekosistem yang umum digunakan dan menghasilkan kedua standar tersebut.

# from a project directory (CycloneDX JSON)
syft dir:. -o cyclonedx-json=sbom.cdx.json

# from a container image (SPDX JSON)
syft my-app:1.4.0 -o spdx-json=sbom.spdx.json

# CycloneDX has native generators per ecosystem too
cyclonedx-npm --output-file sbom.json

SBOM Sumber, Pembangunan, dan Waktu Proses

SBOM yang dibuat pada tahap berbeda menangkap fakta yang berbeda.

  • SBOM sumber — hal yang dinyatakan oleh manifes; mungkin tidak menyertakan kode yang dibundel atau disertakan
  • SBOM pembangunan — hal yang benar-benar disertakan oleh proses pembangunan; paling akurat untuk rilis
  • SBOM waktu proses / yang diterapkan — hal yang benar-benar ada dalam citra yang sedang berjalan, termasuk paket OS

Untuk menjamin keamanan rantai pasokan, buat SBOM pada waktu pembangunan dari artefak sebenarnya, lalu pindai kontainer final untuk menemukan paket OS juga.

Pemindaian SBOM untuk Kerentanan

SBOM menjadi sangat berguna ketika dianalisis oleh alat pencocokan yang memetakan komponen ke CVE yang diketahui. Hal ini memisahkan pembuatan dari analisis: pindai SBOM lama pada hari ketika CVE baru ditemukan.

# match an SBOM against vulnerability databases
grype sbom:sbom.cdx.json

# OSV scanner consumes SBOMs directly
osv-scanner --sbom=sbom.spdx.json

# fail CI above a severity threshold
grype sbom:sbom.cdx.json --fail-on high

VEX: Menyatakan Apa yang Dapat Dieksploitasi

SBOM mungkin menunjukkan komponen rentan yang sebenarnya tidak dapat dieksploitasi dalam produk Anda (fungsi yang rentan tidak pernah dipanggil). Dokumen VEX (Pertukaran Eksploitabilitas Kerentanan eXchange) mencatat penilaian tersebut.

VEX mengurangi alarm yang tidak relevan: alih-alih membuat setiap pelanggan panik karena CVE yang tercantum, Anda dapat menerbitkan pernyataan not_affected dengan alasannya, atau affected dengan perbaikannya. Dengan demikian, inventaris mentah berubah menjadi triase yang dapat ditindaklanjuti.

Mendistribusikan dan Menandatangani SBOM

SBOM hanya dapat dipercaya jika autentik dan terikat pada artefak persis yang dijelaskannya. Tanda tangani SBOM dan lampirkan sebagai pengesahan, bukan sebagai berkas terpisah.

# attach a signed SBOM attestation to an image with cosign
cosign attest --predicate sbom.cdx.json \
  --type cyclonedx \
  my-registry/my-app:1.4.0

# verify the attached SBOM attestation
cosign verify-attestation --type cyclonedx my-registry/my-app:1.4.0

Mengotomatiskan SBOM dalam Integrasi Berkelanjutan

SBOM manual segera menjadi tidak sesuai. Integrasikan pembuatannya ke dalam alur kerja agar setiap rilis menghasilkan dan menyimpan satu SBOM sebagai artefak pembangunan, idealnya ditandatangani dan dipindai dalam tugas yang sama.

  • Buat dari artefak yang telah dibangun, bukan hanya dari repositori
  • Simpan SBOM dalam registri yang dapat dicari dengan kueri dan dikelompokkan berdasarkan versi
  • Pindai ulang SBOM yang tersimpan secara terjadwal menggunakan sumber data CVE terbaru
  • Jadikan rilis bergantung pada hasil pemindaian kerentanan

Kesalahan Umum SBOM

SBOM dapat gagal secara diam-diam jika hanya diperlakukan sebagai formalitas.

  • Kedaluwarsa — dibuat sekali dan tidak pernah dibuat ulang
  • Tidak lengkap — tidak menyertakan paket OS serta kode yang ditautkan secara statis atau disertakan
  • Tidak terverifikasi — tidak ada hash yang menghubungkannya dengan artefak yang diterapkan
  • Tidak digunakan — dibuat, tetapi tidak pernah dipindai atau ditelusuri

Tujuannya adalah SBOM yang akurat, dibuat ulang, ditandatangani, dan terus-menerus dipindai, bukan berkas JSON sekali pakai.

Pemeriksaan Singkat: Tujuan SBOM

Terapkan hal yang telah Anda pelajari pada skenario insiden.

Ringkasan: SBOM

Sekarang Anda dapat menginventarisasi isi perangkat lunak dan menindaklanjutinya.

  • SBOM adalah daftar setiap komponen yang dapat dibaca mesin, dalam format SPDX atau CycloneDX
  • Identifikasi komponen berdasarkan PURL, versi, hash, dan lisensi
  • Buat pada waktu pembangunan, lalu masukkan ke alat pencocokan (grype, osv-scanner) untuk menemukan CVE
  • Gunakan VEX untuk menyatakan kemampuan eksploitasi yang sebenarnya dan mengurangi alarm palsu
  • Tanda tangani dan otomatisasikan dalam integrasi berkelanjutan; pindai ulang SBOM yang tersimpan terhadap umpan baru

Berikutnya: membuktikan asal artefak dengan tanda tangan.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Daftar Bahan Perangkat Lunak (SBOM)” gratis?

Ya — teks lengkap “Daftar Bahan Perangkat Lunak (SBOM)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Daftar Bahan Perangkat Lunak (SBOM)”?

Menginventarisasi isi perangkat lunak Anda. Kamu berlatih Cyber Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cyber Security Academy?

Tidak diperlukan pengalaman sebelumnya. Cyber Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Daftar Bahan Perangkat Lunak (SBOM)” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cyber Security Academy ini?

Ya. Setiap pelajaran Cyber Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Ancaman Rantai Pasokan
  2. Daftar Bahan Perangkat Lunak (SBOM)
  3. Penandatanganan Dependensi dan Artefak
  4. Mengamankan Pipeline CI/CD
← Kembali ke Cyber Security Academy