رفتن به محتوا
ارزیابی رایگان سطح حمله بیرونی سازمان شماثبت درخواست
نت‌گارد — اسکنر آسیب‌پذیری و هاردنینگ

CVE چیست؟ راهنمای کامل شناسه و رکورد آسیب‌پذیری CVE

CVE چیست و شناسه آسیب‌پذیری CVE چگونه صادر می‌شود؟ نقش MITRE و CNAها، چرخه عمر رکورد، غنی‌سازی NVD، تفاوت CVE و CWE و روش جست‌وجوی CVE را بشناسید.

نویسنده: نت‌گاردبه‌روزرسانی: ۱۰ دقیقه مطالعهRead in English

تصویر جلد مقاله CVE چیست و آشنایی با شناسه آسیب‌پذیری CVE

CVE (مخفف Common Vulnerabilities and Exposures) یک شناسه یکتا و عمومی برای یک آسیب‌پذیری مشخص در یک محصول مشخص است؛ برای مثال CVE-2021-44228 همان آسیب‌پذیری معروف Log4Shell در کتابخانه Apache Log4j است. پاسخ کوتاه به پرسش «CVE چیست» این است: نامی مشترک که سازنده نرم‌افزار، اسکنر آسیب‌پذیری، اطلاعیه امنیتی و یادداشت وصله (Patch) همگی از آن استفاده می‌کنند تا مطمئن باشند درباره یک نقص واحد صحبت می‌کنند.

اهمیت این زبان مشترک وقتی روشن می‌شود که بدانیم فقط در سال ۲۰۲۴ حدود ۴۰ هزار CVE منتشر شد. بدون شناسه CVE، تطبیق اطلاعیه سازنده با یافته اسکنر و سپس با وصله درست، عملاً حدس و گمان است. در این مقاله ساختار شناسه CVE، نهادهایی که آن را صادر می‌کنند، چرخه عمر یک رکورد آسیب‌پذیری CVE و روش درست استفاده از داده‌های CVE در سازمان را مرور می‌کنیم.

شناسه CVE چیست و چه ساختاری دارد؟

هر شناسه CVE از سه بخش تشکیل می‌شود: پیشوند CVE، سال و یک شماره ترتیبی؛ مانند CVE-2024-3094. سه نکته در این ساختار معمولاً اشتباه برداشت می‌شود:

  • سال نشان‌دهنده زمان رزرو یا تخصیص شناسه است، نه لزوماً سال کشف یا افشای عمومی آسیب‌پذیری. ممکن است شناسه‌ای در دسامبر رزرو و در سال بعد منتشر شود.
  • شماره ترتیبی حداقل چهار رقم دارد و می‌تواند طولانی‌تر باشد؛ بنابراین شناسه‌ای مثل CVE-2024-12345 کاملاً معتبر است.
  • عدد شناسه هیچ معنایی درباره شدت ندارد. شدت آسیب‌پذیری را باید از امتیاز CVSS و داده‌های تهدید فهمید، نه از شماره CVE.

یک رکورد CVE شامل چه اطلاعاتی است؟

  • شناسه یکتا و وضعیت رکورد (رزروشده، منتشرشده یا ردشده)
  • توضیح کوتاه آسیب‌پذیری و اثر آن
  • سازنده، محصول و نسخه‌های آسیب‌پذیر
  • ارجاع‌ها؛ مانند اطلاعیه امنیتی سازنده، لینک وصله یا گزارش پژوهشگر
  • در بسیاری از موارد، نوع ضعف (CWE) و امتیاز CVSS که خود صادرکننده ثبت کرده است

CVE چه چیزی نیست؟

CVE امتیاز شدت نیست، راه‌حل نیست و به‌تنهایی ثابت نمی‌کند که کسی در حال بهره‌برداری (Exploit) از آسیب‌پذیری است. همچنین هر مشکل امنیتی CVE نمی‌گیرد؛ پیکربندی‌های ناامن روی سرورهای خودتان یا باگ‌های یک نرم‌افزار داخلی که فقط در سازمان شما استفاده می‌شود معمولاً شناسه CVE ندارند. به همین دلیل اسکن آسیب‌پذیری باید در کنار ممیزی پیکربندی و هاردنینگ و مقاوم‌سازی سیستم‌ها انجام شود.

چه کسانی CVE صادر می‌کنند؟ نقش MITRE، CNAها و CISA

برنامه CVE یک برنامه بین‌المللی و مبتنی بر مشارکت جامعه امنیتی است که سازمان MITRE آن را اداره می‌کند و آژانس امنیت سایبری و زیرساخت آمریکا (CISA) حامی آن است. صدور شناسه به‌صورت توزیع‌شده انجام می‌شود:

  • CNA (CVE Numbering Authority): سازمان‌هایی که مجازند در حوزه مشخص خود شناسه CVE تخصیص دهند و رکورد منتشر کنند؛ از جمله سازندگان بزرگ نرم‌افزار مانند Microsoft، Red Hat و Google، پروژه‌های متن‌باز، مراکز CERT ملی و برخی پلتفرم‌های باگ‌بانتی.
  • Root CNA و CNA آخرین مرجع (CNA of Last Resort): اگر سازنده محصول خودش CNA نباشد، گزارش به CNA بالادستی یا مرجع آخر سپرده می‌شود تا هیچ آسیب‌پذیری بی‌شناسه نماند.
  • هیئت CVE (CVE Board): سیاست‌ها و قواعد برنامه را تعیین و بر اجرای آن نظارت می‌کند.

دقت کنید که پایگاه ملی آسیب‌پذیری آمریکا (NVD) بخشی از برنامه CVE نیست. NVD را مؤسسه NIST اداره می‌کند و کارش تحلیل و غنی‌سازی رکوردهایی است که برنامه CVE منتشر کرده است. این تفکیک در عمل اهمیت دارد، چون ممکن است یک CVE منتشر شده باشد ولی هنوز در NVD امتیاز و تحلیل نداشته باشد.

چرخه عمر یک رکورد CVE

هر CVE از لحظه کشف تا بسته‌شدن در شبکه شما مسیر مشخصی را طی می‌کند:

نمودار چرخه عمر CVE از کشف آسیب‌پذیری و رزرو شناسه CVE تا غنی‌سازی در NVD، انتشار وصله و اسکن مجدد
چرخه عمر یک CVE
  1. کشف: یک پژوهشگر امنیتی، تیم داخلی سازنده یا گاهی خود مهاجمان نقص را پیدا می‌کنند.
  2. رزرو شناسه: گزارش‌دهنده با CNA مربوط تماس می‌گیرد و شناسه در وضعیت «رزروشده» قرار می‌گیرد. در دوره افشای هماهنگ (Coordinated Disclosure) جزئیات محرمانه می‌ماند تا سازنده فرصت ساخت وصله داشته باشد.
  3. انتشار: پس از آماده‌شدن وصله یا اطلاعیه، CNA رکورد را با توضیح، نسخه‌های آسیب‌پذیر و ارجاع‌ها منتشر می‌کند و شناسه در cve.org قابل جست‌وجو می‌شود.
  4. غنی‌سازی: NVD و برخی ناشران داده دیگر، امتیاز CVSS، نوع ضعف (CWE) و شناسه محصول (CPE) را اضافه می‌کنند.
  5. وصله: سازنده نسخه اصلاح‌شده یا راهکار موقت منتشر می‌کند و توزیع‌های لینوکس اصلاحیه را در بسته‌های خود اعمال (Backport) می‌کنند.
  6. اسکن و تأیید: سازمان‌ها دارایی‌های آسیب‌پذیر را پیدا می‌کنند، وصله را نصب می‌کنند و با اسکن مجدد از رفع آن مطمئن می‌شوند.

اگر بعداً معلوم شود گزارش تکراری بوده یا اصلاً آسیب‌پذیری واقعی نیست، رکورد «ردشده» (Rejected) اعلام می‌شود. رکوردهای منتشرشده هم ممکن است با اطلاعات تازه، مثلاً کشف نسخه‌های آسیب‌پذیر بیشتر، به‌روزرسانی شوند؛ پس داده CVE را باید پویا دید، نه یک‌باره.

غنی‌سازی NVD و تفاوت CVE، CWE و CPE

رکورد خام CVE برای اولویت‌بندی کافی نیست. NVD به هر CVE اطلاعات تحلیلی اضافه می‌کند تا ابزارها و تیم‌ها بتوانند به‌صورت خودکار از آن استفاده کنند. با این حال غنی‌سازی NVD همیشه هم‌پای انتشار CVEها نیست و دوره‌هایی وجود داشته که صف بزرگی از CVEهای تحلیل‌نشده شکل گرفته است. بنابراین برای آسیب‌پذیری‌های مهم، اطلاعیه سازنده و داده‌ای را که خود CNA ثبت کرده نیز بررسی کنید.

اصطلاح چه چیزی را مشخص می‌کند مثال مرجع نگهداری
CVE یک آسیب‌پذیری مشخص در یک محصول مشخص CVE-2021-44228 برنامه CVE (MITRE و CNAها)
CWE نوع یا دسته ضعف نرم‌افزاری CWE-89 (تزریق SQL) MITRE
CPE نام استاندارد محصول و نسخه cpe:2.3:a:apache:http_server:2.4.49 (خلاصه‌شده) NIST (فرهنگ CPE در NVD)
CVSS شدت فنی آسیب‌پذیری از ۰ تا ۱۰ ۹٫۰ تا ۱۰ یعنی بحرانی FIRST

تفاوت CVE و CWE

CWE ریشه مشکل را توصیف می‌کند و CVE نمونه واقعی آن را. برای مثال «تزریق SQL» یک CWE است و هزاران CVE مختلف در محصولات گوناگون به همین ضعف برمی‌گردند. تحلیل CWEهای پرتکرار در یافته‌های سازمان به تیم توسعه کمک می‌کند علت را ریشه‌کن کند، نه اینکه فقط علائم را یکی‌یکی درمان کند.

نقش CPE در تطبیق CVE با دارایی‌ها

CPE نام محصول را به رشته‌ای ماشین‌خوان تبدیل می‌کند تا اسکنر بتواند تشخیص دهد «این نسخه آپاچی روی این سرور» در فهرست نسخه‌های آسیب‌پذیر هست یا نه. یک دام رایج اینجاست: توزیع‌هایی مثل Red Hat و Debian وصله امنیتی را بدون تغییر شماره نسخه اصلی (Upstream) اعمال می‌کنند. اسکنری که فقط بنر سرویس را می‌خواند ممکن است سرور وصله‌شده را آسیب‌پذیر گزارش کند (مثبت کاذب)، در حالی که اسکن احرازهویت‌شده (Authenticated) که بسته‌های نصب‌شده را بررسی می‌کند نتیجه بسیار دقیق‌تری می‌دهد. جزئیات بیشتر را در راهنمای انتخاب اسکنر آسیب‌پذیری بخوانید.

چگونه یک CVE را جست‌وجو کنیم؟

برای بررسی یک شناسه CVE، این منابع را تقریباً به ترتیب دقت به کار ببرید:

  • اطلاعیه امنیتی سازنده: دقیق‌ترین منبع برای نسخه‌های آسیب‌پذیر، وصله و راهکار موقت.
  • cve.org: رکورد رسمی و ارجاع‌های آن.
  • NVD: امتیاز CVSS، نوع ضعف CWE و فهرست CPEهای آسیب‌پذیر.
  • ردیاب امنیتی توزیع لینوکس: وضعیت وصله در بسته‌های همان توزیع.

برای خودکارسازی، NVD یک API عمومی دارد و روی سرورها هم می‌توانید بررسی کنید که آیا به‌روزرسانی یک بسته به CVE خاصی اشاره کرده است یا نه:

# Fetch a single CVE from the NVD CVE API 2.0 (JSON)
curl -s "https://services.nvd.nist.gov/rest/json/cves/2.0?cveId=CVE-2021-44228"

# RHEL family: list CVE references in the installed package's changelog
rpm -q --changelog openssl | grep -i "CVE-"

# Debian/Ubuntu: same check using the package changelog
apt changelog openssl | grep -i "CVE-"

تفاوت آسیب‌پذیری روز صفر (Zero-day) و N-day

  • آسیب‌پذیری روز صفر: نقصی که پیش از انتشار وصله توسط سازنده، در دست مهاجمان است یا از آن بهره‌برداری می‌شود. ممکن است هنوز CVE نداشته باشد یا شناسه‌اش فقط رزرو شده باشد. دفاع اصلی در این حالت هاردنینگ، کاهش سطح حمله، تفکیک شبکه (Segmentation) و پایش مداوم است.
  • آسیب‌پذیری N-day: نقصی که به‌طور عمومی افشا شده و معمولاً وصله دارد. مهاجمان به‌طور منظم از N-dayها استفاده می‌کنند، چون بسیاری از سازمان‌ها دیر وصله می‌کنند و فاصله بین افشای عمومی و شروع بهره‌برداری ممکن است کوتاه باشد.

برای بیشتر سازمان‌ها، رسیدگی سریع و منظم به N-dayها بخش اصلی کار روزمره امنیت است. روزهای صفر تیتر خبرها می‌شوند، اما N-dayهای وصله‌نشده همان چیزی است که واقعاً در کنترل شماست.

سازمان‌ها چگونه باید از فید CVE استفاده کنند؟

خواندن همه CVEهای جدید نه ممکن است و نه مفید. فید CVE فقط وقتی ارزش دارد که به دارایی‌ها و فرایندهای سازمان وصل شود. این چک‌لیست را دنبال کنید:

  1. فهرست دارایی‌ها را با نام و نسخه دقیق نرم‌افزارها نگه دارید؛ بدون آن، تطبیق CVE ممکن نیست.
  2. CVEهای جدید را به‌صورت خودکار با این فهرست تطبیق دهید و فقط موارد مرتبط را به تیم ارجاع دهید.
  3. اولویت را با داده‌های تهدید تعیین کنید، نه فقط با CVSS؛ مدل عملی آن را در مقاله CVSS، EPSS و KEV و اولویت‌بندی آسیب‌پذیری توضیح داده‌ایم.
  4. برای هر سطح اولویت، مهلت رفع (SLA) تعریف کنید و آن را در قالب چرخه مدیریت آسیب‌پذیری پیگیری کنید.
  5. اطلاعیه‌های سازندگان محصولات حیاتی خود را مستقیم دنبال کنید، چون اغلب زودتر از تحلیل NVD کامل می‌شوند.
  6. پس از نصب وصله اسکن مجدد انجام دهید و تغییرات رکوردها، مثل اضافه‌شدن نسخه‌های آسیب‌پذیر یا رد یک شناسه، را زیر نظر داشته باشید.

نت‌گارد چگونه کمک می‌کند

اسکنر آسیب‌پذیری نت‌گارد (NetGuard) CVEها را با نرم‌افزارهایی که واقعاً روی سیستم‌ها نصب شده تطبیق می‌دهد؛ با اسکن احرازهویت‌شده و بدون عامل (Agentless) روی سرورها، تجهیزات شبکه، کلاینت‌ها و پایگاه‌های داده، و با به‌روزرسانی منظم محتوای CVE. یافته‌ها بر اساس فهرست آسیب‌پذیری‌های در حال بهره‌برداری، وجود اکسپلویت عمومی و اهمیت دارایی اولویت‌بندی می‌شوند و اسکن مجدد نشان می‌دهد وصله واقعاً مشکل را برطرف کرده است یا نه. گزارش‌ها به فارسی و انگلیسی ارائه می‌شوند و امکان استقرار داخلی (On-premises) و در شبکه‌های ایزوله وجود دارد. برای بررسی روی محیط خودتان با ما تماس بگیرید.

سوالات متداول

CVE مخفف چیست؟

CVE مخفف Common Vulnerabilities and Exposures است؛ فهرستی عمومی از شناسه‌های آسیب‌پذیری‌های امنیتی افشاشده که MITRE آن را اداره می‌کند و CISA حامی آن است. هر مورد شناسه‌ای مثل CVE-2021-44228 می‌گیرد تا سازندگان، اسکنرها، اطلاعیه‌های امنیتی و تیم‌های امنیت، مستقل از ابزار و زبانی که استفاده می‌کنند، دقیقاً به یک نقص واحد اشاره کنند.

شناسه CVE را چه کسی صادر می‌کند؟

شناسه CVE را نهادهای صدور شناسه یا CNAها تخصیص می‌دهند؛ سازمان‌هایی مانند سازندگان نرم‌افزار، پروژه‌های متن‌باز، مراکز CERT ملی و پلتفرم‌های باگ‌بانتی که مجازند در حوزه خود شناسه صادر کنند. اگر سازنده محصول آسیب‌پذیر خودش CNA نباشد، یک Root CNA یا CNA آخرین مرجع شناسه را صادر می‌کند.

تفاوت CVE و CVSS چیست؟

CVE نام یک آسیب‌پذیری مشخص است و CVSS امتیازی از ۰ تا ۱۰ که شدت فنی آن را توصیف می‌کند. CVE می‌گوید با کدام نقص سروکار دارید و CVSS که FIRST آن را نگهداری می‌کند، به برآورد اثر فنی آن کمک می‌کند. هیچ‌کدام به‌تنهایی نمی‌گوید که آیا همین حالا از آسیب‌پذیری بهره‌برداری می‌شود یا نه.

آیا هر آسیب‌پذیری شناسه CVE دارد؟

خیر. شناسه CVE به آسیب‌پذیری‌های محصولات عمومی داده می‌شود که به‌طور مستقل قابل رفع هستند. پیکربندی‌های ناامن، رمزهای عبور ضعیف و باگ‌های نرم‌افزارهای سفارشی داخلی معمولاً CVE نمی‌گیرند. به همین دلیل برنامه امنیتی سازمان باید علاوه بر اسکن آسیب‌پذیری مبتنی بر CVE، ممیزی پیکربندی و هاردنینگ را هم پوشش دهد.

آیا آسیب‌پذیری روز صفر هم CVE دارد؟

گاهی. یک آسیب‌پذیری روز صفر ممکن است در زمان کشف هیچ شناسه‌ای نداشته باشد یا شناسه‌اش فقط رزرو شده باشد و جزئیات هنوز محرمانه بماند. معمولاً پس از انتشار اطلاعیه یا وصله سازنده، رکورد کامل CVE منتشر می‌شود. تا آن زمان باید به راهنمای سازنده، راهکارهای کاهش ریسک و پایش مداوم تکیه کنید، نه به اسکن مبتنی بر CVE.

  • #CVE چیست
  • #آسیب‌پذیری CVE
  • #شناسه CVE
  • #رکورد CVE
  • #پایگاه NVD
  • #تفاوت CVE و CWE
  • #Common Vulnerabilities and Exposures

ببینید مهاجمان چه چیزی می‌بینند — پیش از آن‌که آن‌ها ببینند

یک ارزیابی رایگان از سطح حمله بیرونی و گزارش اولویت‌بندی‌شده از مهندسان امنیت ما دریافت کنید.