بیش از ۲۵ سال پس از عرضه کنسول افسانهای PlayStation 2، جامعه مهندسی معکوس موفق شد آخرین سد دفاعی سختافزاری این کنسول را بشکند. تراشه «MechaCon» مدل SPC970 که وظیفه احراز هویت دیسکها و مدیریت امنیت سیستم را بر عهده داشت، اکنون به طور کامل دامپ شده و کدهای آن در دسترس قرار گرفته است. این دستاورد، فصل جدیدی را در درک عمیق معماری قدیمی سونی و بهبود شبیهسازهای مدرن باز کرده است.
شکستن سد سختافزاری پس از چهار سال تلاش
تراشه SPC970 که در مدلهای اولیه و «Fat» پلیاستیشن ۲ (تولیدات سال ۲۰۰۰ تا ۲۰۰۲) استفاده میشد، آخرین قطعه پازلی بود که در برابر مهندسی معکوس مقاومت میکرد. این تراشه کد اصلی خود را در حافظه Mask ROM ذخیره میکند که غیرقابل تغییر و غیرقابل برنامهنویسی است. تیم توسعهدهنده به سرپرستی DiscoStarslayer و با استفاده از اکسپلویت کشف شده توسط Libby، موفق شدند با سوءاستفاده از نحوه عملکرد این تراشه در نوشتن روی حافظه EEPROM، این سد را دور بزنند.
تکنیک استفاده شده بر اساس ایجاد یک «Underflow» در شمارنده داخلی تراشه است. با باز کردن یک نشست تنظیمات (Config Write) با تعداد بلوک صفر، مهاجم دادههایی بیش از ظرفیت بافر ۷ بلوکی تراشه ارسال میکند. این عمل باعث سرریز شدن دادهها به RAM شده و آدرس منبع نوشتن EEPROM را به سمت Mask ROM هدایت میکند. در نتیجه، تراشه به جای نوشتن دادههای معمولی، فریمور خود را در بخشهای ۲۵۶ بایتی روی EEPROM کپی میکند که سپس توسط کاربر قابل خواندن است.
مشخصات فنی و تحلیل معماری
- تراشه هدف: SPC970 MechaCon
- نوع حافظه: Mask ROM (غیرقابل اصلاح) به همراه ۱ کیلوبایت EEPROM
- حجم فریمور: ۲۵۶ کیلوبایت
- مدلهای تحت پوشش: کنسولهای SCPH-15000 (سال ۲۰۰۰) تا سری ۳۹۰۰۰ (سال ۲۰۰۲) و بردهای آرکید Namco System 246/256
- وضعیت پایداری: این عملیات به دلیل عدم پشتیبانی EEPROM از Wear Leveling و تعداد محدود دفعات نوشتن، ریسک آسیب سختافزاری دارد.
اهمیت این دستاورد برای شبیهسازی و امنیت
برخلاف تراشههای «Dragon» که در سال ۲۰۲۱ دامپ شدند، SPC970 قابل بهروزرسانی نیست و کد آن در سال ۲۰۰۰ به صورت ثابت در ساختار سیلیکونی تراشه حک شده است. تا پیش از این، شبیهسازهایی نظیر PCSX2 دستورات MechaCon را در سطح C++ بازنویسی میکردند که در برخی احراز هویتهای پیچیده دچار ضعف بود. اکنون با داشتن کدهای واقعی، مسیر برای «شبیهسازی سطح پایین» (Low-Level Emulation) کاملاً هموار شده است.
علاوه بر این، دسترسی به این کدها رمزنگاری «MagicGate» مورد استفاده در کارتهای حافظه و فایلهای اجرایی KELF را آشکار میکند. اگرچه بازیهای PS2 رمزنگاری نشده بودند، اما کدهای استخراج شده به توسعهدهندگان اجازه میدهد تا همانند پروژه MechaPwn، قفلهای منطقهای را در سطح سختافزار یا از طریق ماژولهای اصلاحی حذف کنند.
نتیجهگیری و آینده پروژه
تمام دادههای استخراج شده به همراه ابزارهای لازم برای دامپگیری در مخزن رسمی GitHub منتشر شده است. این دستاورد نه تنها باعث حفظ میراث دیجیتال کنسولهای قدیمی میشود، بلکه برای اولین بار به محققان اجازه میدهد تا امنیت هسته کنسولهای اولیه سونی را با دقت تحلیل کنند. با این حال، کاربران باید آگاه باشند که استفاده از ابزارهای دامپگیری روی سختافزار واقعی، نیازمند احتیاط بالاست و احتمال خرابی دائمی EEPROM در صورت تکرار بیش از حد عملیات وجود دارد.