اگر هنگام مطالعه درباره Copy Fail و Dirty Frag با اصطلاحات ناشناخته روبهرو شدید، این واژهنامه میتواند کمک کند.
━━━━━━━━━━━━━━
🔐 مفاهیم پایه
🆔 CVE (Common Vulnerabilities and Exposures)
تعریف کوتاه: شناسه جهانی آسیبپذیریهای امنیتی.
هر آسیبپذیری پس از ثبت، یک شماره منحصربهفرد مانند
CVE-2026-31431 دریافت میکند تا پژوهشگران و شرکتها درباره یک باگ مشخص با نامی یکسان صحبت کنند.چرا مهم است؟
تمام گزارشهای امنیتی و وصلههای رسمی بر اساس شماره CVE منتشر میشوند.
━━━━━━━━━━━━━━
📊 CVSS (Common Vulnerability Scoring System)
تعریف کوتاه: معیار سنجش شدت یک آسیبپذیری.
امتیازها بین ۰ تا ۱۰ هستند.
• ۰ تا ۳.۹ → Low
• ۴ تا ۶.۹ → Medium
• ۷ تا ۸.۹ → High
• ۹ تا ۱۰ → Critical
چرا مهم است؟
هرچه امتیاز بالاتر باشد، اولویت نصب وصله نیز بیشتر است.
━━━━━━━━━━━━━━
🔓 Local Privilege Escalation (LPE)
تعریف کوتاه: ارتقای دسترسی از کاربر عادی به مدیر سیستم.
فرض کنید فردی با کارت ورود یک کارمند وارد ساختمان شده است؛ اگر بتواند کارت مدیرکل را به دست آورد، دقیقاً همان اتفاقی است که در یک حمله LPE رخ میدهد.
چرا مهم است؟
هر دو آسیبپذیری Copy Fail و Dirty Frag از همین نوع هستند.
━━━━━━━━━━━━━━
👑 Root
تعریف کوتاه: بالاترین سطح دسترسی در لینوکس.
کاربر Root میتواند هر تغییری روی سیستم انجام دهد؛ از حذف فایلها گرفته تا نصب نرمافزار و تغییر تنظیمات امنیتی.
━━━━━━━━━━━━━━
💾 مفاهیم حافظه
🧠 Page Cache
تعریف کوتاه: نسخهای از فایلها که لینوکس برای افزایش سرعت در RAM نگه میدارد.
بهجای خواندن مداوم فایل از دیسک، سیستم نسخهای از آن را در حافظه ذخیره میکند.
چرا مهم است؟
Copy Fail و Dirty Frag فایل روی دیسک را تغییر نمیدهند؛ بلکه نسخه موجود در Page Cache را دستکاری میکنند.
━━━━━━━━━━━━━━
🗂 Scatterlist
تعریف کوتاه: فهرستی از بخشهای پراکنده حافظه.
کرنل بهجای جابهجایی دادهها، محل قرارگیری آنها را در یک لیست ثبت میکند تا عملیاتهایی مانند رمزنگاری سریعتر انجام شوند.
━━━━━━━━━━━━━━
✏️ Scratch Buffer (Scratch Pad)
تعریف کوتاه: فضای موقت برای انجام محاسبات.
مانند چرکنویسی که هنگام حل یک مسئله استفاده میکنید.
چرا مهم است؟
در Copy Fail این فضای موقت به اشتباه روی حافظهای قرار گرفت که نباید تغییر میکرد.
━━━━━━━━━━━━━━
⚙️ In-place Processing
تعریف کوتاه: پردازش داده در همان محل ذخیرهسازی.
بهجای ایجاد یک نسخه جدید، همان داده اصلی تغییر میکند.
مزیت: سرعت بیشتر.
ریسک: اگر مرزهای حافظه درست مدیریت نشوند، ممکن است دادههای حساس تغییر کنند.
━━━━━━━━━━━━━━
🐧 مفاهیم کرنل لینوکس
🧩 Kernel
هسته سیستمعامل که ارتباط بین نرمافزار و سختافزار را مدیریت میکند.
هر آسیبپذیری در کرنل میتواند کل سیستم را تحت تأثیر قرار دهد.
━━━━━━━━━━━━━━
🔌 Kernel Module
افزونهای برای کرنل که بدون راهاندازی مجدد سیستم قابل بارگذاری یا حذف است.
در این آسیبپذیریها، ماژولهای زیر درگیر بودند:
algif_aeadesp4esp6rxrpc━━━━━━━━━━━━━━
🔐 AF_ALG
رابطی از نوع Socket که به برنامههای معمولی اجازه میدهد از قابلیتهای رمزنگاری کرنل استفاده کنند.
در Copy Fail مسیر حمله از همین رابط آغاز میشود.
━━━━━━━━━━━━━━
🔄 splice()
یک فراخوان سیستمی (System Call) برای انتقال مستقیم داده بین بخشهای مختلف کرنل، بدون عبور از فضای کاربر.
همین ویژگی باعث میشود عملیات سریعتر انجام شود.
━━━━━━━━━━━━━━
🌐 IPsec / ESP
IPsec مجموعهای از پروتکلهای امنیت شبکه است.
ESP بخش رمزنگاری دادهها در IPsec را بر عهده دارد.
Dirty Frag از همین مسیر سوءاستفاده میکند.
━━━━━━━━━━━━━━
📡 RxRPC
یک پروتکل ارتباطی در کرنل لینوکس که بیشتر در سیستم فایل توزیعشده AFS استفاده میشود.
یکی از دو آسیبپذیری Dirty Frag در همین بخش قرار داشت.
━━━━━━━━━━━━━━
🏗 مفاهیم زیرساخت
🏁 Race Condition
وقتی نتیجه اجرای برنامه به ترتیب یا زمانبندی اجرای چند عملیات همزمان وابسته باشد.
نکته مهم:
Copy Fail و Dirty Frag برخلاف آسیبپذیریهایی مانند Dirty COW به Race Condition وابسته نیستند.
━━━━━━━━━━━━━━
🧪 Proof of Concept (PoC)
نمونه کدی که نشان میدهد یک آسیبپذیری واقعاً قابل بهرهبرداری است.
انتشار PoC معمولاً باعث میشود مهاجمان سریعتر بتوانند حمله را بازسازی کنند.
━━━━━━━━━━━━━━
☁️ Multi-tenant
محیطی که چند کاربر یا سازمان از یک زیرساخت مشترک استفاده میکنند.
به همین دلیل، یک حمله LPE میتواند روی دادههای سایر کاربران نیز اثر بگذارد.
━━━━━━━━━━━━━━
📦 Container / Kubernetes
Container محیطی ایزوله برای اجرای برنامه است و Kubernetes مدیریت تعداد زیادی Container را انجام میدهد.
نکته مهم: