تراشه امنیتی اصلی پلی استیشن 2 مهندسی معکوس شده است
بالاخره یک مؤلفه امنیتی PS2 که مدتها پنهان بود رمزگشایی شد، انتخابهای طراحی شگفتانگیزی را آشکار کرد و دری را به روی بینشهای سختافزاری جدید باز کرد.
آخرین بخش بدون نقشه PS2 چاق رها شده است.
بیش از 25 سال پس از عرضه پلی استیشن 2 چاق، توسعه دهنده ای به نام DiscoStarslayer موفق شده است سیستم عامل را از تراشه سرسخت SPC970 MechaCon که مسئول مجوز دادن به دیسک ها و مدیریت بیشتر امنیت کنسول است، بیرون بکشد.
در یک پست Bluesky، توسعهدهنده لیبی را اعتبار میداند، شریکی که سوءاستفادهای را پیدا کرد که استخراج را ممکن کرد. با توجه به اسناد ابزار dump، این اکسپلویت به تراشه میگفت که دستهای از دادههای تنظیمات ورودی خالی خواهد بود، و دادههای بیشتری از جایی که برای آن وجود داشت ارسال میکرد. قبل از این، در تلاشی که حدود چهار سال را در بر می گرفت، با روش کندتر از بین بردن بسته بندی تراشه و خواندن محتویات آن، که فقط زباله های خشن ایجاد می کرد، مشکلاتی وجود داشت.
همه چیز به GitHub همراه با 22 تصویر سفتافزاری که PS2های چاق را پوشش میدهند، از SCPH-15000 ژاپنی 2000 تا مدلهای سری 39000 در سال 2002 را پوشش میدهند. آنها همچنین بردهای آرکید Namco System 246 و 256 را پوشش میدهند که از همان تراشه استفاده میکردند. این ماشینهای اولیه برخی از آخرین قسمتهای خوانده نشده PS2 پس از انتشار MechaCon "Dragon" در سال 2003 در سال 2021 بودند.
تراشه SPC970 کد خود را در ماسک ROM نگه میدارد، که نمیتوان آن را نوشت یا وصله کرد و فقط دادههای کالیبراسیون و پیکربندی را در یک EEPROM 1KB جداگانه ذخیره میکند. برای دور زدن این موضوع، گروه مشتاق "spc970-dumper-union" از نحوه نوشتن تراشه در آن EEPROM سوء استفاده کردند.
این گروه دریافتند که با باز کردن یک جلسه نوشتن پیکربندی با تعداد بلوکهای صفر، شمارنده داخلی تراشه از بین میرود. فشار دادن داده های بیشتر از بافر هفت بلوکی می تواند سرریزها را در RAM نگه دارد که وظیفه نوشتن EEPROM را نگه می دارد. بازنویسی آدرس منبع آن وظیفه به جای آن به رام تراشه اشاره می کند، به این معنی که MechaCon 256 بایت از سیستم عامل خود را در EEPROM کپی می کند. پس از آن، PS2 می تواند آن را با یک دستور استاندارد بازخوانی کند. هنگامی که حدود 1000 بار تکرار شود، تصویر کامل 256 کیلوبایتی روی یک USB مینشیند.
هر یک از آن 1000 پاس، EEPROM را بازنویسی میکند، اما هر تخلیه عمر آن را کوتاه میکند، زیرا هیچ سطح سایش و بودجه نوشتن کمتری نسبت به حافظه فلش ندارد. برای محافظت در برابر این، این ابزار قبل از شروع به کار EEPROM را پشتیبان میگیرد، کلمه به کلمه آن را پس از آن بازیابی میکند و نتیجه را در برابر روال جمعآوری روشن تراشه بررسی میکند. با این حال، هنوز خطری وجود دارد، و دامپر اصلی لیبی هشدار میدهد که میتواند PS2 را "نمیتواند به طور عادی کار کند، یا نیاز به تعمیر در سطح سختافزار دارد. از آن کاملا با مسئولیت خود استفاده کنید."
تصاویر میانافزار Dragon MechaCon در سال 2021 منتشر شد. MechaPwn، سوء استفادهای که PS2های بعدی را بدون منطقه میکند و به آنها اجازه میدهد دیسکهای پشتیبان را بخوانند، یک ماه بعد منتشر شد. README این اکسپلویت میگوید که کنسولهای قدیمیتر از MechaCon مبتنی بر Dragon استفاده نمیکنند و بنابراین پشتیبانی نمیشوند، و هیچ پشتیبانی برنامهریزی نشدهای است. این تقریبا بر 20 شماره مدل از سه سال اول PS2 بین سالهای 2000 تا 2003 تأثیر میگذارد. این دستگاهها هنوز هم میتوانند از طریق اکسپلویتهای کارت حافظه و هارد دیسک پشتیبانگیری کنند، اما تا به حال در سطح تراشه باز نمیشدند زیرا کسی نمیتوانست کد آن را ببیند.
این زباله ها برای اولین بار این جستجو را ممکن می کنند.
تصاویر به تنهایی اطلاعات کافی برای ساختن یک شبیه ساز درایو نوری ندارند، اما می توانند از مودچیپی پشتیبانی کنند که جایگزین MechaCon می شود، در حالی که DSP درایو را برای خواندن دیسک ها حفظ می کند. از آنجایی که بازی های PS2 رمزگذاری نشده بودند، هیچ چیز جدیدی در اینجا باز نمی شود. اما سفتافزار کد رمزگذاری «MagicGate» سونی را برای کارتهای حافظه و فایلهای اجرایی KELF کنسول را از روی دیسک و کارتهای حافظه بوت میکند. uyjulian میگوید که این در نهایت «مشابهسازی سطح پایین سیستم کامل» را تغذیه میکند.
PCSX2 و دیگر شبیهسازها، که میتوانند GameCube ضعیفتر را نیز شبیهسازی کنند، به هیچ وجه کد تراشه را اجرا نمیکنند: PCSX2 دستورات MechaCon را در ++C پیادهسازی میکند و یک فایل NVRAM 1 کیلوبایتی و یک شماره نسخه چهار بایتی را از دیسک میخواند تا بهعنوان قسمت واقعی قرار بگیرد. DiscoStarslayer یک چنگال PCSX2 به نام Reliquary دارد که مسیرهای تایید شده PS2 را هدف قرار می دهد. آنها در README اذعان میکنند که دادههای پایه تولید شده جایگزینی برای مقادیر سختافزاری زمانی که یک بررسی امنیتی هویت کنسول را بررسی میکند، نیست.
در مورد SPC970، اولین کار تخلیه آن یافتن باگی است که کنسول های اولیه را باز می کند. با MechaPwn، مردم میتوانند کد تراشه دراگون را بخوانند و ضعفی در نحوه بهروزرسانی این تراشه پیدا کنند. uyjulian میگوید باز کردن قفل به سبک MechaPwn یا TonyHax برای SPC970 یکی از اهداف اینجاست، اما به این سرعت نمیآید. تنها یک ماه طول کشید تا محققان Dragon را بشکنند زیرا سونی آن تراشه را برای پذیرش وصله ها ساخته است. این به محققان چیزی برای شکستن داد. SPC970 به هیچ وجه نمی تواند به روز شود. کد آن در سال 2000 در تراشه پخته شد و هرگز تغییر نکرده است.
متن اصلی (انگلیسی)
The original PlayStation 2 security chip has been reverse engineered
A long‑hidden PS2 security component has finally been decoded, revealing surprising design choices and opening the door to fresh hardware insights.