مایکروسافتیک تکنیک حمله جدید می‌تواند برای دور زدن اجرای امضای درایور مایکروسافت (DSE) در سیستم‌های ویندوز کاملاً اصلاح‌شده استفاده شود که منجر به حملات کاهش رتبه سیستم‌عامل (OS) شود.

Alon Leviev، محقق SafeBreach در گزارشی که با The Hacker News به اشتراک گذاشته شده است، گفت[۱]: “این دور زدن اجازه بارگیری درایورهای kernel بدون امضا را می‌دهد و مهاجمان را قادر می‌سازد تا روت‌کیت‌های سفارشی را مستقر کنند که می‌تواند کنترل‌های امنیتی را خنثی کند، فرآیندها و فعالیت‌های شبکه را مخفی کند، مخفی‌کاری را حفظ کند و موارد دیگر.”

جدیدترین یافته‌ها بر اساس تجزیه‌وتحلیل قبلی[۲] است که دو نقص افزایش امتیاز را در فرآیند به‌روزرسانی ویندوز ([۳]CVE-2024-21302 و [۴]CVE-2024-38202) نشان می‌دهد که می‌تواند برای بازگرداندن یک نرم‌افزار به‌روز ویندوز به نسخه‌های قدیمی‌تر مورداستفاده قرار گیرد که حاوی آسیب‌پذیری‌های امنیتی اصلاح نشده است.

این اکسپلویت در قالب ابزاری به نام Windows Downdate محقق شد که به گفته Leviev، می‌توان از آن برای ربودن فرآیند به‌روزرسانی ویندوز برای ایجاد کاهش‌های کاملاً غیرقابل‌کشف، مداوم و غیرقابل‌برگشت در اجزای حیاتی سیستم‌عامل استفاده کرد.

این موضوع می‌تواند عواقب شدیدی داشته باشد، زیرا به مهاجمان جایگزینی برای حملات[۵] [۶]BYOVD ارائه می‌دهد و به آن‌ها اجازه می‌دهد ماژول‌های شخص اول، ازجمله خود kernel سیستم‌عامل را کاهش دهند.

مایکروسافت متعاقباً به‌عنوان بخشی از به‌روزرسانی‌های سه‌شنبه‌ها، CVE-2024-21302 و CVE-2024-38202 را به ترتیب در ۱۳ اوت و ۸ اکتبر ۲۰۲۴ مطرح کرد.

آخرین رویکرد ابداع‌شده توسط Leviev از ابزار تنزل رتبه برای تنزل دادن وصله دور زدن “ItsNotASecurityBoundary” DSE در یک سیستم کاملاً به‌روز شده ویندوز ۱۱ استفاده می‌کند.

ItsNotASecurityBoundary برای اولین بار توسط محقق Elastic Security Labs گابریل لاندو در ژوئیه ۲۰۲۴ در کنار PPLFault مستند شد[۷] و آن‌ها را به‌عنوان یک کلاس اشکال جدید با نام Fase File Immutability توصیف کرد. مایکروسافت در اوایل ماه می امسال آن را اصلاح کرد.

به‌طور خلاصه، از یک شرط مسابقه برای جایگزینی یک فایل کاتالوگ امنیتی[۸] تائید شده با یک نسخه مخرب حاوی امضای کد احراز هویت برای یک درایور هسته بدون امضا استفاده می‌کند و به دنبال آن مهاجم از هسته می‌خواهد تا درایور را بارگیری کند.

مکانیسم یکپارچگی کد مایکروسافت، که برای احراز هویت یک فایل با استفاده از کتابخانه حالت هسته [۹]ci.dll استفاده می‌شود، سپس کاتالوگ امنیتی سرکش را تجزیه می‌کند تا امضای درایور را تأیید کند و آن را بارگیری کند و عملاً به مهاجم این امکان را می‌دهد که کد دلخواه را در kernel اجرا کند.

مایکروسافت

دور زدن DSE با استفاده از ابزار کاهش رتبه برای جایگزینی کتابخانه “ci.dll” با یک نسخه قدیمی‌تر (۱۰٫۰٫۲۲۶۲۱٫۱۳۷۶٫) برای لغو وصله ایجادشده توسط مایکروسافت به دست می‌آید.

همان‌طور که گفته شد، یک مانع امنیتی وجود دارد که می‌تواند از موفقیت‌آمیز بودن چنین دور زدنی جلوگیری کند. اگر امنیت مبتنی بر مجازی‌سازی (VBS) روی میزبان موردنظر در حال اجرا باشد، اسکن کاتالوگ توسط Secure Kernel Code Integrity DLL (skci.dll) برخلاف ci.dll انجام می‌شود.

بااین‌حال، شایان‌ذکر است که پیکربندی پیش‌فرض VBS بدون قفل Unified Extensible Firmware Interface (UEFI) است. درنتیجه، مهاجم می‌تواند با دست‌کاری کلیدهای رجیستری EnableVirtualizationBasedSecurity و RequirePlatformSecurityFeatures آن را خاموش کند.

حتی در مواردی که قفل UEFI فعال است، مهاجم می‌تواند VBS را با جایگزین کردن یکی از فایل‌های اصلی با یک همتای نامعتبر غیرفعال کند. درنهایت، مراحل بهره‌برداری که مهاجم باید دنبال کند به شرح زیر است:

  • خاموش کردن VBS در رجیستری ویندوز یا باطل کردن exe
  • تنزل رتبه dll به نسخه بدون وصله
  • راه‌اندازی مجدد دستگاه
  • بهره‌برداری از دور زدن DSE ItsNotASecurityBoundary برای دستیابی به اجرای کد در سطح هسته

تنها موردی که در آن خراب می‌شود زمانی است که VBS با یک قفل UEFI و یک پرچم “اجباری” روشن می‌شود، که آخرین مورد باعث خرابی بوت در هنگام خراب شدن فایل‌های VBS می‌شود. حالت اجباری با تغییر رجیستری به‌صورت دستی فعال می‌شود.

مایکروسافت در مستندات خود خاطرنشان می‌کند[۱۰]: «تنظیم اجباری از ادامه راه‌اندازی لودر سیستم‌عامل درصورتی‌که Hypervisor، Secure Kernel یا یکی از ماژول‌های وابسته به آن‌ها بارگذاری نشود، جلوگیری می‌کند. قبل از فعال کردن این حالت باید دقت ویژه‌ای داشت، زیرا در صورت خرابی ماژول‌های مجازی‌سازی، سیستم از بوت شدن خودداری می‌کند.»

بنابراین، برای کاهش کامل حمله، ضروری است که VBS با قفل UEFI و مجموعه پرچم اجباری فعال باشد. در هر حالت دیگری، این امکان را برای دشمن فراهم می‌کند تا ویژگی امنیتی را خاموش کند، DDL را کاهش دهد و به یک دور زدن DSE دست یابد.

Leviev به هکر نیوز گفت: «راه‌حل اصلی این است که راه‌حل‌های امنیتی باید سعی کنند روش‌های کاهش رتبه را حتی برای مؤلفه‌هایی که از مرزهای امنیتی تعریف‌شده عبور نمی‌کنند، شناسایی و جلوگیری کنند».

  منابع

[۱] https://www.safebreach.com/blog/update-on-windows-downdate-downgrade-attacks

[۲] https://thehackernews.com/2024/08/windows-downgrade-attack-risks-exposing.html

[۳] https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-21302

[۴] https://msrc.microsoft.com/update-guide/vulnerability/CVE-2024-38202

[۵] https://techcommunity.microsoft.com/t5/microsoft-security-experts-blog/strategies-to-monitor-and-prevent-vulnerable-driver-attacks/ba-p/4103985

[۶] https://research.checkpoint.com/2024/breaking-boundaries-investigating-vulnerable-drivers-and-mitigating-risks

[۷] https://www.elastic.co/security-labs/false-file-immutability

[۸] https://learn.microsoft.com/en-us/windows-hardware/drivers/install/catalog-files

[۹] https://www.cybereason.com/blog/code-integrity-in-the-kernel-a-look-into-cidll

[۱۰] https://learn.microsoft.com/en-us/windows/security/hardware-security/enable-virtualization-based-protection-of-code-integrity

[۱۱] https://thehackernews.com/2024/10/researchers-uncover-os-downgrade.html