CVSS مخفف چیه و چرا وجود داره؟
عبارت CVSS مخفف Common Vulnerability Scoring System یا سیستم رایج امتیازدهی به آسیبپذیریهاست. این سیستم که توسط سازمان FIRST مدیریت میشود، روشی استاندارد برای تعیین شدت و ریسک یک آسیبپذیری نرمافزاری ارائه میدهد.
نسخه فعلی که بیشتر استفاده میشود CVSS v3.1 است (هرچند نسخه 4.0 نیز در حال معرفی است). این سیستم کمک میکند تا مدیران امنیت و صاحبان سایتها متوجه شوند که کدام مشکل باید همین امروز حل شود و کدام مشکل میتواند تا آپدیت بعدی صبر کند.
بردار حمله (Attack Vector)
این فاکتور مشخص میکند که هکر از چه طریقی میتواند به سایت حمله کند. مقادیر اصلی آن عبارتند از:
- Network (N): خطرناکترین حالت! هکر میتواند از هر جای دنیا از طریق اینترنت به سایت حمله کند. بیشتر باگهای وردپرس در این دسته قرار میگیرند.
- Adjacent (A): هکر باید در همان شبکه محلی یا اینترانت باشد.
- Local (L): هکر باید به سیستم عامل سرور یا شبکه داخلی دسترسی داشته باشد.
- Physical (P): هکر باید به صورت فیزیکی به سرور دسترسی داشته باشد (که برای سایتهای وردپرسی عملاً ناممکن است).
پیچیدگی حمله (Attack Complexity)
این معیار نشان میدهد که سوءاستفاده از آسیبپذیری چقدر برای هکر دشوار است:
- Low (L): حمله آسان است و به شرایط خاصی نیاز ندارد.
- High (H): حمله پیچیده است و هکر باید اطلاعات خاصی داشته باشد یا تنظیمات خاصی روی سرور فعال باشد تا بتواند نفوذ کند.
سطح دسترسی مورد نیاز (Privileges Required)
آیا هکر برای اجرای حمله نیاز دارد که حتماً یک اکانت روی سایت داشته باشد؟
- None (N): نیازی به هیچ اکانتی نیست؛ هکر به عنوان کاربر مهمان (Unauthenticated) میتواند حمله کند. (بسیار خطرناک)
- Low (L): هکر فقط به یک اکانت ساده مثل مشترک (Subscriber) نیاز دارد.
- High (H): هکر باید اکانت با دسترسی بالا مثل مدیرکل (Administrator) داشته باشد.
تعامل کاربر (User Interaction)
آیا حمله نیازمند این است که یک کاربر دیگر (مثلاً مدیر سایت) کار خاصی انجام دهد؟
- None (N): حمله به صورت کاملاً خودکار و بدون نیاز به کلیک کاربر انجام میشود.
- Required (R): برای موفقیت حمله، یک کاربر باید روی یک لینک کلیک کند یا فایلی را باز کند (مثل حملات XSS).
تأثیر روی محرمانگی، یکپارچگی، دسترسپذیری
این سه فاکتور نشان میدهند که در صورت موفقیت حمله، چه اتفاقی برای سایت میافتد:
- Confidentiality (محرمانگی): آیا اطلاعات کاربران و دیتابیس فاش میشود؟
- Integrity (یکپارچگی): آیا هکر میتواند فایلها یا دیتابیس را دستکاری کند؟
- Availability (دسترسپذیری): آیا هکر میتواند سایت را از کار بیندازد و داون کند؟
جدول رنجها: Critical/High/Medium/Low
وقتی تمام فاکتورهای بالا ترکیب شوند، یک امتیاز نهایی بین ۰ تا ۱۰ محاسبه میشود:
- Critical (بحرانی): ۹.۰ تا ۱۰.۰ - باید فوراً پچ شود.
- High (بالا): ۷.۰ تا ۸.۹ - در سریعترین زمان ممکن پچ شود.
- Medium (متوسط): ۴.۰ تا ۶.۹ - در برنامهریزی آپدیتهای هفتگی قرار گیرد.
- Low (پایین): ۰.۱ تا ۳.۹ - اهمیت کمتری دارد اما همچنان باید رفع شود.
مثالهای واقعی از CVEهای وردپرس
به عنوان مثال، یک آسیبپذیری SQL Injection که بدون نیاز به لاگین قابل اکسپلویت باشد، معمولاً امتیاز بالای ۹.۸ میگیرد زیرا بردار آن شبکه است، پیچیدگی آن پایین است و روی هر سه فاکتور محرمانگی، یکپارچگی و دسترسپذیری تاثیر کامل (High) میگذارد.
در مقابل، یک آسیبپذیری Reflected XSS معمولاً امتیازی در حدود ۶.۱ تا ۷.۱ میگیرد چون نیاز به تعامل کاربر (کلیک روی لینک) دارد و دسترسی مستقیم به سرور نمیدهد.