Yazılım Malzeme Listesi (SBOM)
Yazılımınızın neler içerdiğini envanterleme.
Yazılım Malzeme Listesi (SBOM), CoddyKit'te ücretsiz bir Cyber Security Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cyber Security Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cyber Security Academy kursu toplamda 4 dersten oluşur.
SBOM Nedir
Bir Yazılım Malzeme Listesi (SBOM), bir yazılım parçasının içindeki tüm bileşenlerin (kütüphaneler, bunların sürümleri, lisansları ve sağlayıcı bilgileri) makine tarafından okunabilen resmî envanteridir.
Bir gıda etiketinin içerikleri listelemesi gibi, bir SBOM şu soruyu saniyeler içinde yanıtlamanızı sağlar: bu ürün X'in güvenlik açığı içeren sürümünü barındırıyor mu? Böyle bir liste olmadan bu soru, elle yürütülen araştırmalarla günler sürebilir.
SBOM'ler Neden Şimdi Önemli
Kritik bir güvenlik açığı ortaya çıktığında, operasyon açısından ilk soru maruziyettir: etkilenen bileşeni ürünlerimizin hangileri içeriyor?
Log4Shell olayı sırasında SBOM'leri olan kuruluşlar envanterlerini sorgulayıp birkaç saat içinde önceliklendirme yaptı. SBOM'si olmayanlar ise derleme klasörlerinde metin aramak için haftalar harcadı. Düzenleyici kurumlar ve büyük alıcılar, satın alma koşulu olarak SBOM'leri giderek daha fazla zorunlu kılıyor.
- Güvenlik açığının etkisini hızla analiz etme
- Lisans uyumluluğu ve yükümlülükleri izleme
- Müşteriler ve denetçiler için tedarik zinciri şeffaflığı
Standart SBOM Biçimleri
İki açık standart öne çıkar. Araçlar genellikle bu ikisi arasında dönüşüm yapabilir.
- SPDX — lisanslama konusunda güçlü ve düzenleyici kurumlar tarafından geniş ölçüde kabul edilen Linux Vakfı standardı
- CycloneDX — güvenliğe odaklanan, güvenlik açığı ve bağımlılık ilişkisi verilerini destekleyen bir OWASP standardı
Kendi biçiminizi icat etmekten kaçının; kullanıcılar ve tarayıcılar bu standartları bekler.
Bir Girdide Neler Bulunur
Her bileşen girdisi, güvenlik açığı akışlarıyla eşleştirilebilmesi için yeterli kimlik bilgisi taşımalıdır. Temel alanlar şunlardır:
- ad ve sürüm — aralık değil, kesin değer
- PURL (paket adresi) —
pkg:npm/lodash@4.17.21gibi evrensel bir tanımlayıcı - karma — bütünlüğü doğrulamak için
- lisans — SPDX lisans tanımlayıcısı
- sağlayıcı — onu kimin ürettiği
# 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.1SBOM Oluşturma
SBOM'leri kaynak koddan veya derlenmiş bir çıktıdan otomatik olarak oluşturun. Syft, her iki standardı da üreten, ekosistemler arası yaygın bir oluşturucudur.
# 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.jsonKaynak, Derleme ve Çalışma Zamanı SBOM'leri
Farklı aşamalarda oluşturulan bir SBOM, farklı gerçekleri yansıtır.
- Kaynak SBOM'si — bildirim dosyasının beyan ettikleri; paketlenmiş veya depoya dahil edilmiş kodları gözden kaçırabilir
- Derleme SBOM'si — derlemenin gerçekte dahil ettiği her şey; sürüm için en doğru seçenektir
- Çalışma zamanı / dağıtılmış SBOM — OS paketleri de dahil olmak üzere çalışan görüntüde gerçekte bulunanlar
Tedarik zinciri güvencesi için gerçek çıktıyı temel alarak derleme zamanında oluşturun ve son kapsayıcıyı OS düzeyindeki paketler için de tarayın.
SBOM'yi Güvenlik Açıkları İçin Tarama
Bir SBOM, bileşenleri bilinen CVE'lerle eşleştiren bir eşleştiriciye aktarıldığında güçlü hâle gelir. Bu yaklaşım, oluşturmayı analizden ayırır: yeni bir CVE yayımlandığı gün eski bir SBOM'yi tarayabilirsiniz.
# 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 highVEX: Nelerin İstismar Edilebilir Olduğunu Belirtme
Bir SBOM, ürününüzde gerçekte istismar edilemeyen bir güvenlik açığına sahip bileşeni gösterebilir (güvenlik açığı içeren işlev hiç çağrılmıyordur). Bir VEX (Güvenlik Açığı İstismar Edilebilirliği eXchange) belgesi bu değerlendirmeyi kaydeder.
VEX gürültüyü azaltır: listelenen her CVE karşısında müşterilerin paniğe kapılmasını beklemek yerine, gerekçesiyle birlikte not_affected veya giderim bilgisiyle affected bildirimini yayımlarsınız. Böylece ham envanter, eyleme dönük bir önceliklendirmeye dönüşür.
SBOM'leri Dağıtma ve İmzalama
Bir SBOM, ancak gerçekliği doğrulanmışsa ve açıkladığı kesin çıktıyla ilişkilendirilmişse güvenilirdir. SBOM'yi imzalayın ve tek başına bir dosya olarak değil, bir doğrulama beyanı olarak ekleyin.
# 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.0SBOM'leri Sürekli Tümleştirmede Otomatikleştirme
Elle oluşturulan SBOM'ler anında güncelliğini yitirir. Üretimi işlem hattına bağlayın; böylece her sürüm bir tane üretip derleme çıktısı olarak saklasın ve ideal olarak aynı iş içinde imzalayıp tarasın.
- Yalnızca depodan değil, derlenmiş çıktıdan üretin
- SBOM'leri sürüme göre anahtarlanmış, sorgulanabilir bir kayıt deposunda saklayın
- Saklanan SBOM'leri güncel CVE akışlarına karşı belirli aralıklarla yeniden tarayın
- Sürümleri güvenlik açığı taraması sonucuna göre onaylayın veya engelleyin
Yaygın SBOM Tuzakları
SBOM'ler yalnızca bir kutucuğu işaretleme işi olarak görüldüğünde sessizce başarısız olur.
- Güncel olmayan — bir kez oluşturulmuş ve bir daha oluşturulmamış
- Eksik — OS paketlerini, statik olarak bağlanmış veya depoya dahil edilmiş kodları kaçırıyor
- Doğrulanmamış — onu dağıtılmış çıktıya bağlayan bir karma yok
- Kullanılmayan — üretilmiş, ancak hiç taranmamış veya sorgulanmamış
Amaç, bir kerelik JSON dosyası değil; doğru, yeniden oluşturulan, imzalanan ve sürekli taranan bir SBOM'dir.
Kısa Kontrol: SBOM'nin Amacı
Öğrendiklerinizi bir olay senaryosuna uygulayın.
Özet: SBOM
Artık yazılımınızın neler içerdiğini envantere alabilir ve buna göre harekete geçebilirsiniz.
- Bir SBOM, SPDX veya CycloneDX biçimindeki her bileşenin makine tarafından okunabilen listesidir
- Bileşenleri PURL, sürüm, karma ve lisans ile tanımlayın
- SBOM'yi derleme zamanında oluşturun, ardından CVE'ler için bir eşleştiriciye (grype, osv-scanner) aktarın
- Gerçek istismar edilebilirliği belirtmek ve yanlış alarmları azaltmak için VEX kullanın
- Sürekli tümleştirme ortamında imzalama ve otomatikleştirme yapın; saklanan SBOM'leri yeni akışlara karşı yeniden tarayın
Sıradaki: derleme çıktılarının nereden geldiğini imzalama yoluyla kanıtlama.
Yapay zeka eğitmeniyle Cyber Security Academy öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 76
- Dersler
- 303
Sıkça Sorulan Sorular
“Yazılım Malzeme Listesi (SBOM)” dersi ücretsiz mi?
Evet — “Yazılım Malzeme Listesi (SBOM)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cyber Security Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cyber Security Academy kursu toplamda 4 dersten oluşur.
“Yazılım Malzeme Listesi (SBOM)” dersinde ne öğreneceğim?
Yazılımınızın neler içerdiğini envanterleme. Cyber Security Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cyber Security Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cyber Security Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Yazılım Malzeme Listesi (SBOM)” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cyber Security Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cyber Security Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Tedarik Zinciri Tehditleri
- Yazılım Malzeme Listesi (SBOM)
- Bağımlılık ve Yapıt İmzalama
- CI/CD İşlem Hatlarını Güvenceye Alma