CVE
Common Vulnerabilities and Exposures
Kısaca
CVE, bilinen tek bir güvenlik zafiyetine verilen, CVE-2021-44228 gibi benzersiz ve herkese açık bir tanımlayıcıdır; herkes aynı açığa aynı adla başvurur.
CVE nedir?
CVE, yani Common Vulnerabilities and Exposures, yazılım ve donanımdaki bilinen güvenlik zafiyetlerinin herkese açık bir kataloğudur. Her kayıt CVE-YEAR-NUMBER biçiminde bir kimlik alır; örneğin CVE-2021-44228, Log4j günlükleme kütüphanesindeki Log4Shell açığıdır. Kayıtta kısa bir açıklama ve referanslar da bulunur. Ortak kimlik, satıcıların, güvenlik araçlarının, bültenlerin ve geliştiricilerin karışıklık olmadan tam olarak aynı sorundan söz etmesini sağlar.
CVE programı 1999'da başladı ve bugün kimlikler, yazılım satıcıları, açık kaynak vakıfları ve güvenlik şirketleri dahil yüzlerce CVE Numbering Authority (CNA) tarafından atanıyor. Bir araştırmacı bir zafiyeti bildirdiğinde bir CNA bir kimlik ayırır ve ayrıntılar genellikle bir düzeltme çıktığında yayımlanır. ABD Ulusal Zafiyet Veritabanı (National Vulnerability Database) gibi veritabanları ardından kayıtları etkilenen sürümlerin listeleriyle ve açıkları 0,0 ile 10,0 arasında derecelendiren Common Vulnerability Scoring System (CVSS) önem puanıyla zenginleştirir.
CVE kimlikleri, yazılım sektörünün nelerin yamalanması gerektiğini nasıl takip ettiğidir. Bağımlılık tarayıcıları projenizdeki kütüphaneleri CVE verileriyle karşılaştırır ve savunmasız sürümler için uyarır, container imajı tarayıcıları işletim sistemi paketleri için aynısını yapar ve güvenlik ekipleri düzeltmelere önemine ve bir açığın aktif olarak istismar edilip edilmediğine göre öncelik verir. CVE kimliği bir hastane vaka numarası gibi çalışır: hiçbir şeyi iyileştirmez, ancak her doktorun, laboratuvarın ve eczanenin aynı hastadan söz ettiğinden emin olur.
CVE sıklıkla CWE veya OWASP Top 10 ile karıştırılır. CVE, belirli bir üründeki belirli bir zafiyettir; Common Weakness Enumeration'daki bir kayıt olan CWE ise siteler arası betik çalıştırma için CWE-79 gibi genel bir hata türünü adlandırır ve OWASP Top 10 bu tür zayıflıkları geniş risk kategorilerinde gruplar. Ayrıca bir CVSS puanı gerçek riskinizi değil, teknik ciddiyeti ölçer: hiç çağırmadığınız koddaki kritik bir açık, internete açık orta düzeyde bir açıktan daha az önemli olabilir.
Önemli noktalar
- CVE kimliği, herkese açık olarak bilinen tek bir zafiyeti benzersiz biçimde tanımlar.
- Kimlikler
CVE-YEAR-NUMBERbiçimini izler ve CVE Numbering Authority'ler tarafından atanır. - 0,0 ile 10,0 arasındaki CVSS puanları bir zafiyetin teknik ciddiyetini tanımlar.
- Bağımlılık ve imaj tarayıcıları yazılımınızı CVE verileriyle eşleştirir.
- CWE bir zayıflık türünü adlandırır; CVE ise onun somut tek bir örneğini adlandırır.
Örnek
# Scan a Node.js project's dependencies for known vulnerabilities
npm audit
# Scan the packages installed in a Python environment
pip-audit
# Look up one CVE in the open OSV vulnerability database
curl -s https://api.osv.dev/v1/vulns/CVE-2021-44228 | head -c 400Sık sorulan sorular
Bir CVE numarası ne anlama gelir?
İlk sayı kimliğin atandığı ya da zafiyetin kamuya açıklandığı yıldır, ikincisi ise CVE-2024-3094 örneğindeki gibi bir sıra numarasıdır. Kimliğin kendisi ciddiyet hakkında bir şey söylemez; bu, CVSS gibi ayrı puanlamadan gelir.
CVE ile CVSS arasındaki fark nedir?
CVE, belirli bir zafiyet için bir tanımlayıcıdır. CVSS ise bir zafiyetin ne kadar ciddi olduğunu 0,0 ile 10,0 arasında bir ölçekte derecelendiren puanlama sistemidir ve bir CVE kaydı çoğu zaman bir CVSS puanı taşır.
Her zafiyet bir CVE alır mı?
Hayır. CVE'ler, başkalarının kullandığı ürünlerde kamuya açıklanmış zafiyetler içindir; bu yüzden özel, dahili sistemlerdeki hatalar ya da sürümden önce düzeltilen açıklar genellikle hiç CVE almaz.
İlgili sayfalar
- OWASP Top 10Güvenlik, s. 25OWASP Top 10, kâr amacı gütmeyen OWASP'nin yayımlayıp düzenli güncellediği, web uygulamalarındaki en kritik on güvenlik riskini sıralayan yaygın bir listedir.
- Tedarik Zinciri SaldırısıGüvenlik, s. 43Tedarik zinciri saldırısı, uygulamanın kendisini değil, açık kaynak paketi, derleme aracı veya güncelleme sunucusu gibi dayandığı bir bileşeni ele geçirir.
- Sızma TestiGüvenlik, s. 36Sızma testi, bir kuruluşun güvenlik açıklarını gerçek saldırganlardan önce bulup kapatması için bir sisteme yapılan izinli, simüle edilmiş saldırıdır.
- Semantic VersioningSürüm Kontrolü, s. 35Semantic versioning, her bölümün bir sürümün uyumluluğu bozduğunu, özellik eklediğini ya da hata düzelttiğini belirttiği MAJOR.MINOR.PATCH şemasıdır.
- Statik AnalizTest ve Kalite, s. 26Statik analiz, hataları, güvenlik açıklarını ve kalite sorunlarını erken bulmak için kaynak kodun çalıştırılmadan otomatik olarak incelenmesidir.
- Zero-DayGüvenlik, s. 50Zero-day, üreticinin bilmediği ya da henüz düzeltmediği bir yazılım açığıdır; bu yüzden saldırganlar onu bir yama çıkmadan istismar edebilir.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin