Хакер, известный под псевдонимом CTurt, давно специализируется на взломе игровых консолей. На этой неделе он продемонстрировал свежий PoC-эксплоит Mast1c0re, который называет «практически неустранимой» дырой в безопасности PS4 и PS5. Mast1c0re должен позволить устанавливать и запускать на консолях Sony произвольные приложения.
CTurt рассказывает, что продемонстрировал Mast1c0re представителям Sony еще год назад, через программу bug bounty, но так и не дождался выхода публичного исправления.
В своей работе Mast1c0re полагается на ошибки JIT-компиляции, которую использует эмулятор, запускающий определенные игры для PS2 на консолях PS4 и PS5. Эта компиляция дает эмулятору специальные разрешения на непрерывную запись PS4-ready кода (на основе оригинальных исходников для PS2), непосредственно перед тем, как этот код будет выполнен на уровне приложений (application layer). Получив контроль над обеими сторонами этого процесса, хакер может написать привилегированный код, который система в итоге сочтет легитимным и безопасным.
«Поскольку мы используем системные вызовы JIT по прямому назначению, на самом деле, это даже не эксплоит, а просто хитрый трюк», — комментирует CTurt.
Исследователь пишет, что для получения контроля над эмулятором теоретически можно использовать любые известные эксплоиты, которые давным-давно существуют для PS2-игр. Хотя некоторые из них можно активировать буквально одним нажатием кнопки, для большинства потребуется использование некой известной игры и доступа к специально отформатированному файлу сохранения на карте памяти, что приведет к переполнению буфера и откроет доступ к защищенной памяти. Нужно отметить, что похожие эксплоиты использовались для взлома PSP и Nintendo 3DS на протяжении многих лет.
К сожалению, этот способ немного ограничен в силу того, что PS4 и PS5 не могут распознать стандартные диски для PS2. Это означает, что любая эксплуатируемая игра должна быть доступна либо в виде загружаемой через PSN игры PS2-на-PS4, либо это должна быть одна из немногих игр для PS2, которые выходили на физических дисках, совместимых с PS4.
Получить готовый для эксплуатации файл сохранения PS2 на PS4 тоже не так просто. CTurt рассказывает, что ему пришлось использовать уже взломанную PS4 для цифровой подписи модифицированного файла сохранения игры Okage Shadow King, чтобы тот работал с его PSN ID. Затем CTurt использовал системную функцию импорта сохранений на USB, чтобы загрузить файл в целевую систему.
Подготовив фундамент, CTurt наконец перешел к сложной серии переполнений буфера и стека, утечек памяти и эксплоитам для RAM, которые он использовал для получения контроля над эмулятором PS2. В конечном итоге он сумел получить доступ к встроенным функциям загрузчика для передачи ISO-файла PS2 по локальной сети, а затем дать эмулятору команду загрузить эту игру через виртуальный диск.
Однако загрузка других игр для PS2 в эмулятор — это хорошо, но настоящей целью CTurt являлось использование этой точки входа для запуска произвольного кода в системе. Этот процесс хакер обещает детально описать в своей следующей статье, наряду с повышением привилегий, которое необходимо для запуска любого кода «в контексте игр для PS4».
По сути, хакерам по-прежнему придется использовать отдельный (и потенциально поддающийся исправлению) эксплоит ядра, чтобы получить «полный контроль» над PS4, объясняет CTurt. Но Mast1c0re уже должно быть достаточно для запуска сложных программ, «включая JIT-оптимизированные эмуляторы и, вероятно, даже некоторых пиратских коммерческих игр для PS4».
Также, по словам CTurt, Mast1c0re теоретически можно использовать в качестве точки входа для компрометации гипервизора PS5, который управляет низкоуровневой системной безопасностью на этой консоли.
Во время беседы с журналистами издания ArsTechnica, CTurt подчеркнул, что закрыть дыру, которую использует Mast1c0re, практически невозможно. Дело в том, что эксплуатируемый эмулятор PS2 упакован с каждой доступной игрой PS2-на-PS4, а не хранится отдельно, как часть операционной системы консоли.
То есть для физических дисков PS2-на-PS4 эксплоит будет работать до тех пор, пока пользователь отказывается от каких-либо онлайн-обновлений перед игрой. А для цифровых релизов это означает, что даже если эксплоит исправлен, существуют методы перехода на сохраненную версию, пригодную для эксплуатации, с использованием проксированного HTTP-трафика с локального сервера.
«Проблема неисправима не с технической точки зрения, но в том смысле, что так устроена консоль, и они не будут ее менять. Если у вас есть эксплуатируемая игра (цифровая или физическая), Sony будет сложно удалить или исправить ее на вашей консоли», — объясняет CТурт.
В похожей ситуации компания Nintendo приняла решение удалить эксплуатируемые 3DS-игры из Nintendo eShop, пытаясь ограничить возможный ущерб, и CTurt говорит, что Sony пока не поступила так с эксплуатируемыми играми для PS2 в PSN.
Интересно, что в первой версии своей статьи, которая сейчас уже удалена (архивная копия) хакер писал, что получил официальный ответ от разработчиков PlayStation спустя год после подачи своего отчета. Ему сообщили, что в компании решили, что не будут пытаться исправлять эту проблему.