Checkm8 یک اکسپلویت سطح پایین (low-level exploit) است که توسط یک محقق امنیتی با نام مستعار axi0mX در سال ۲۰۱۹ کشف و منتشر شد. این اکسپلویت از یک آسیبپذیری در BootROM دستگاههای اپل بهره میبرد. BootROM اولین قطعه نرمافزاری است که هنگام روشن شدن دستگاه اجرا میشود و در حافظه فقط-خواندنی (Read-Only Memory) ذخیره شده است؛ بنابراین این آسیبپذیری توسط اپل قابل برطرف کردن نیست، زیرا BootROM پس از تولید تراشه قابل بروزرسانی نیست.
عملکرد Checkm8
Checkm8 از یک ضعف در BootROM استفاده میکند که به مهاجم اجازه میدهد کد مخرب یا اصلاحات غیرمجاز را در مراحل اولیه بوت دستگاه اجرا کند. این آسیبپذیری به صورت ویژه از یک نقص در نحوه مدیریت حالت DFU (Device Firmware Update) استفاده میکند. حالت DFU برای بازیابی دستگاههای iOS استفاده میشود و دسترسی سطح پایینی به سختافزار و نرمافزار دستگاه میدهد.
مراحل عملکرد اکسپلویت Checkm8
- قرار دادن دستگاه در حالت DFU
برای اجرای Checkm8، ابتدا دستگاه باید به حالت DFU وارد شود. این حالت به طور مستقیم به BootROM دسترسی میدهد. - ارسال کد مخرب
کدی که از آسیبپذیری بهره میبرد از طریق یک کامپیوتر متصل (با استفاده از ابزارهای مختلف) به دستگاه ارسال میشود. - اجرای کد توسط BootROM
BootROM بدون تایید صحت کامل کد، آن را اجرا میکند. این کار به مهاجم اجازه میدهد تا کنترل کامل بر بوت دستگاه داشته باشد. - بارگذاری سیستم یا ابزار دلخواه
پس از اجرای کد، میتوان سیستمعامل جایگزین، ابزارهای جیلبریک یا کدهای سفارشی را بارگذاری کرد.
ساختار Checkm8
Checkm8 یک اکسپلویت سطح سختافزار است و فقط برای دستگاههای خاص با تراشههای A5 تا A11 قابل اجراست. این محدوده شامل دستگاههایی مانند iPhone 4s تا iPhone X میشود. تراشههای جدیدتر (A12 به بعد) به دلیل اصلاح آسیبپذیری BootROM در برابر این اکسپلویت ایمن هستند.
اجزای اصلی Checkm8
- حالت DFU: نقطه دسترسی اصلی برای اجرا.
- کد آسیبپذیری BootROM: نقص موجود در BootROM که از آن سوءاستفاده میشود.
- ابزارهای مدیریت اکسپلویت: مانند Checkra1n یا Palera1n که از Checkm8 به عنوان زیربنای جیلبریک استفاده میکنند.
ویژگیهای کلیدی Checkm8
- غیرقابل برطرف شدن توسط اپل
به دلیل ذخیره شدن BootROM در حافظه فقط خواندنی، اپل نمیتواند این نقص را با بروزرسانی نرمافزاری رفع کند. - دسترسی سطح پایین
Checkm8 به دلیل اجرا در BootROM دسترسی مستقیم به سختافزار دستگاه دارد که بسیار قدرتمند است. - نیازمند اتصال فیزیکی
این اکسپلویت به دلیل وابستگی به DFU، نیاز به دسترسی فیزیکی به دستگاه دارد و نمیتواند از راه دور اجرا شود. - نیمهتتر بودن
دستگاه بعد از هر بار ریبوت به حالت عادی بازمیگردد و برای استفاده مجدد از Checkm8 باید مراحل جیلبریک دوباره اجرا شود.
کاربردهای Checkm8
- جیلبریک دستگاههای iOS
Checkm8 پایه اصلی ابزارهای جیلبریک مانند Checkra1n و Palera1n است. این ابزارها از Checkm8 برای شکستن محدودیتهای iOS و اجرای کدهای دلخواه استفاده میکنند. - تحقیقات امنیتی
محققان امنیتی از Checkm8 برای تحلیل معماری داخلی iOS و کشف آسیبپذیریهای جدید استفاده میکنند. - بازیابی اطلاعات
این اکسپلویت در برخی موارد برای بازیابی اطلاعات از دستگاههای قفلشده یا غیرقابل دسترس استفاده میشود. - توسعه نرمافزارهای غیررسمی
Checkm8 امکان اجرای نرمافزارهای سفارشی یا سیستمعاملهای جایگزین را فراهم میکند.
مزایا و معایب Checkm8
مزایا
- غیرقابل اصلاح بودن: ضعف در BootROM تا همیشه قابل سوءاستفاده است.
- دسترسی سطح پایین: کنترل کامل سختافزاری.
- امکان جیلبریک دائمی: برای دستگاههای پشتیبانیشده.
معایب
- نیاز به اتصال فیزیکی: محدودیت در استفاده از راه دور.
- تأثیر محدود: فقط بر دستگاههای با تراشه A5 تا A11.
- نیمهتتر بودن: نیاز به جیلبریک مجدد بعد از هر ریبوت.
ابزارهای مشهور مبتنی بر Checkm8
- Checkra1n
اولین ابزار عمومی جیلبریک که از Checkm8 استفاده کرد. این ابزار بسیار محبوب است و امکان جیلبریک در iOS 12 تا iOS 14 را فراهم میکند. - Palera1n
ابزار پیشرفتهتر که از Checkm8 برای جیلبریک دستگاههای iOS 15 تا iOS 17 استفاده میکند. - Palen1x
یک توزیع لینوکسی کوچک برای اجرای Checkra1n روی ویندوز.
نتیجهگیری
Checkm8 یکی از مهمترین اکسپلویتهای تاریخ iOS است که با باز کردن درهای جدیدی برای تحقیقات امنیتی، جیلبریک و شخصیسازی دستگاهها تحولی عظیم ایجاد کرده است. اگرچه این آسیبپذیری محدود به دستگاههای قدیمیتر است، اما اهمیت آن در جامعه امنیتی و تکنولوژی بیبدیل باقی میماند.