Другое > Дайджест
Nintendo Switch
<< < (116/168) > >>
Unit2k:
Да, вот же у эму-геймера даже ролик на эту тему был.


Я честно поначалу тоже недоумевал почему первую соньку все зовут псх, особенно когда прочел статью на вики про реальную псх на базе железа пс2.


--- Цитата: sonygod от 23 Декабрь 2017, 21:02:59 ---В народе прижилось. Вот почему у нас картриджи называли кассетами? тоже вопрос.

--- Конец цитаты ---
Ну так в японии они официально и называются кассетами. Это уже в США переиначали в "картриджи".

Hanzo_Hassashi:

--- Цитата: Unit2k от 23 Декабрь 2017, 22:30:15 ---Да, вот же у эму-геймера даже ролик на эту тему был.


Я честно поначалу тоже недоумевал почему первую соньку все зовут псх, особенно когда прочел статью на вики про реальную псх на базе железа пс2.
Ну так в японии они официально и называются кассетами. Это уже в США переиначали в "картриджи".

(Ссылка на вложение)

--- Конец цитаты ---
Спасибо, гляну. Подписан на этого товарища, а этот ролик проглазел каким-то образом, лол.
Partsigah:

--- Цитата: Pain от 22 Декабрь 2017, 00:59:34 ---
--- Конец цитаты ---
Indivisible выглядит любопытно.
Unit2k:
Подробный текстовый обзор (не мой, если что) недавно прошедшей хакерской конфы 34С3, посвященной взлому свитча.

1 часть
34C3: Санта уже здесь! Часть 1.
(Части расположены так для удобства чтения)

Итак, уже два дня назад прошло выступление qlutoo, naehwert и derrek по поводу Nintendo Switch на 34C3. Выступление слегка поменяло название – теперь это Homebrew on Horizon, что одновременно является каламбуром по поводу названия ядра Switch OS – Horizon и в то же время просто красиво звучит – хоумбрю на горизонте.

Выступление прошло, видео появилось на YouTube, и быстро было удалено сами знаете кем (хотя потом и было перезалито добровольцами). На всякий – есть ссылка на Vimeo: https://vimeo.com/249107036

Выступление началось со стёба над SEGA, которая в японском релизе Puyo Puyo Tetris оставила на своём логотипе ссылку на свой сайт, что можно было использовать для подмены страницы через DNS – и соответственно атаки. Запуск эксплоита, правда не задался из-за нестабильной сети на мероприятии, поэтому хакеры перешли к основной части объяснений.

Начали с основ. Джой-коны не защищены, и могут быть перепрошиты чем угодно. Потом пошла разборка консоли, спасибо за модульную память Nintendo и ещё одно подтверждение тому, что перед нами абсолютно обычный Tegra X1, который снабжён убийственным по размеру мануалом в 3000 страниц. О такой документации могли только мечтать во время взлома 3DS.

Вернулись и к предохранителям. 32-битная защита от даунгрейда. Код защиты загрузки на 128 бит. И хэш публичного ключа на 256 бит. Ну и чтобы закончить картину – патчи загрузчика на 320 байт. В общем – полный фарш.

Вернёмся к процессору в полном его понимании – как студенты (спец-цена для университетов – 50% от реальной стоимости), они купили официальный девкит для разработки программного обеспечения для TX1 за 350 Евро под названием Jetson. Таким образом, стало возможным получить полный доступ ко всем интерфейсам.

Ещё раз сообщили о том, что операционная система Nintendo Switch – это не перекрашенная FreeBSD. Это разработка Nintendo – микроядро Horizon. Все драйвера и сервисы находятся в песочнице пользователя, то есть не используют права Root. К слову ко всей платформе не применимо слово Root. Его там просто нет и быть не может.

Для видеодрайвера используется единственная кастомная часть в TX1 – софт-прослойка NVN API специально написанный для консоли. Он похож на драйвер видеокарт NVIDIA для Linux’а, но многое переименовано и приведено к Vulcanоподобному стилю работы. Собственно под NVN API документации никакой нет, и грядущие годы будут направлены на её создание хакерами, если её просто не сольют, в конце концов.

После этого пошло сравнение с 3DS. Все процессы в юзер-песочнице теперь имеют рандомизацию в памяти (после каждой перезагрузки процесс будет занимать другое положение в виртуальном адресном пространстве – нельзя будет взломать по фиксированным местам). Раньше такое происходило только ядре, чтобы нельзя было получить самые важные данные, касающиеся ключей, обращений к сопроцессорам и деликатных частей файловой системы.

С новой архитектурой Horizon, когда все сервисы находятся в песочнице пользователя – рандомизируют положение в памяти теперь и в ней. Так что никаких вам NinjaHax, NoteHax и прочего, так как помимо бага приложения нужен будет баг рандомизатора.

Все сервисы были переименованы, но это не особая проблема. Криптопроцессор уступил своё место встроенной системе TrustZone от ARM. Это самая привилегированная зона, которая может только расшифровывать и зашифровывать. Не сильно отличается от SAMU в PS4 или f00d в PS Vita.

Далее пошло объяснение структуры защиты.
После траст-зоны идёт ядро, которое отвечает за память, изоляцию процессов. Потом идут макросервисы файловой системы(fs), сервис менеджера процессов(sm) – он осуществляет вайтлистинг (выполнение точного свода правил) обмена сообщениями между сервисами консоли, (pm) – запускает и выключает процессы, (spl) – сервис-интерфейс для общения с траст-зоной. После этого идут микросервисы с малыми привилегиями – это драйверы. Ну и совсем не доверяют играм и приложениям.

Им настолько не доверяют, что файловые системы у них появляются только в момент запуска – per-process filesystems. Более того – игра может обращаться только к своим данным и сохранению и не имеет малейшего права использовать карту памяти.

После этого пошёл процесс изучения песочниц у каждого уровня. Получили 65 из 103 системных вызовов, обнаружили, что у драйверов нет файловой системы как таковой, а некоторые функции, за которые должны были отвечать драйвера интерфейсов - насильно перенесены в ядро.

Как взломан Webkit вы все уже знаете – до 3.0.0 PegaSwitch. Ничего нового нет. Браузер встроенный в консоль всегда обращается по https:// даже если его на сайте нет. Дальнейшее увеличение привилегий идёт через сервис pre-load userspace (pl:u), который падает при больших значениях на него поданных. За счёт последнего стало возможным читать данные за границей массива и сдампить код сервисов микро-сервисов.

Следующий шагом стал отгремевший sm:hax. Сервис sm отвечает за разрешение общения между сервисами. Разграничение идёт по идентификационному номеру сервиса. Оказалось, что процесс выделения правила из списка можно пропустить, просто не дав сервису выполнить функцию инициализации. При этом сервис получает идентификационный номер 0, для которого просто нет списка правил. Таким образом, мы получаем доступ к обмену сообщениями между всеми макросервисами, то есть получаем контроль над ними.
2 часть
34C3: Санта уже здесь! Часть 2.

Дальнейшая задача была в заполучении кода. Запуск бинарных файлов осуществляется в порядке: монтирование кода (подгрузка), потом создание процесса и затем уже непосредственный запуск программы.
fsp-loader, который отвечает за первый шаг удалось повалить так, чтобы он оставлял сессию доступа к файлам незакрытой, за счёт чего систему сдампили до уровня ядра, с ним сложнее.

Обо всём до этого рассказывал qlutoo, потом на сцену вышел derrek который занимался железной частью взлома. Он рассказал о том, что за счёт архитектуры микроядра – не так много системы находится в виде текста. Для того чтобы пробить рандомизацию ядра, как говорилось ранее – нужно минимум две уязвимости и то для взлома текущего состояния системы (привет привязанный джейлбрейк, Henkaku). Так что все предыдущие методы, заключённые в тестировании методом “чёрного ящика” тут не сработают.

Поэтому хакеры решили попробовать ковырять с другой стороны цепочки безопасности. На славу, цепочка бутлоадера (загрузчика) была хорошо задокументирована самой NVIDIA. Сначала идёт загрузчик в сопроцессоре ARM7, потом таблица загрузчика и вторая ступень загрузки использует уже флеш-память. Несмотря на то, что Recovery Mode легко вызвать, вытащив память из слота – все сообщения по USB должны быть подписаны ключами Nintendo, которых ни у кого нет.

Зато можно сдампить память и понять конструкцию пакета загрузчика второй ступени. При этом одна часть загрузчика в памяти не закриптована, а вторая уже спрятана за универсальным ключом. Первая часть генерирует его для второй. Поэтому необходимо воспроизведение кода в первой части. Для дампинга ключей derrek раньше глитчевал 3DS, глитчевал WiiU. Как вы понимаете он заставил глючить и Nintendo Switch.

Для этого надо было физическим образом разорвать проверку хэш-суммы ключа, записанного в процессоре при помощи предохранителей, чтобы записать в загрузочную таблицу свой ключ и подписывать им свой загрузчик. Для этого он сначала узнал время проверки ключа. После чего при помощи управления питанием уменьшил напряжение во время проверки и сдампил ключи и загрузочные файлы.

Так мы возвращаемся обратно к ядру, но с другой стороны и опять под выступление qlutoo. Интересное замечание – ядро не может выполнять код для юзер-песочницы при помощи дополнительных битов привилегий, разграничивающих эти типы кода. Правда… они разместили один из исполнительных файлов ядра в юзер-песочнице. Это не даёт практически ничего, кроме возможности запускать kernel-функции в пользовательском окружении. Но самое главное – за счёт этого можно преодолеть ASLR в юзер-песочнице, так как Kernel оказался зафиксированным по двум адресам в оперативной памяти.

Чтобы доломать ядро надо получить доступ к распределителю оперативной памяти IOMMU (который и занимается рандомизацией). Иииии… в документации NVIDIA Tegra была запись о том, что подсистема графического процессора содержит свой набор виртуальных адресов и для конвертации процессорного набора она их конвертирует в физические – то есть буквально указывает что и где лежит. Открытый для разработчиков бэкдор. Более того – ядро не может изолировать процесс графического драйвера, так что дыра физически незакрываема. Так было сдамплено ядро.

Тут на сцену выходит naehwert. И сообщает о том, что, несмотря на то, что Nintendo косвенно использует TrustZone в системе, её SecureMonitor не проверяет банально ничего. Сама траст-зона используется для запуска ядра системы, некоторой части быстрой криптографии и распределении нагрузки на ядра процессора а также управлением режимом сна.

Файловая система не использует криптодвижок для расшифровывания игр или бинарников непосредственно, просто прося это сделать инструкцию процессора, так что взломав сервис файловой системы – вам не понадобятся ключи для расшифровки игр. Продолжаем веселье – после выхода из сна можно подменить разметку данных для восстановления и получить доступ к выполнению кода в Secure Monitor через юзер-песочницу! (Этот баг они объяснять конечно не стали для запаса на будущее)

После этого пошла реклама дебаггера nxdbg, библиотеки libnx которая не имеет ускорения видеопроцессором и звука. То есть вся графика обсчитывается программно. Qlutoo совместно с ReSwitched делает Homebrew Launcher, правда только для 3.0.0.

Но что же – владельцам консолей на 4.0.0 и 4.1.0 грустить? Нет дедушка qlutoз поимел Kernel и для этой версии системы. Но хак приватен, как и тот, что для Sleep-режима, поэтому дамп с расшифровкой игр>3.0.0 недоступен пиратам. Но BigBlueBox не сдаётся и штампует дампы картриджей в фор-мате XCI, мечтая о том, что они пригодятся.

По поводу грядущего Homebrew – в Retroarch уже внесли libnx версию ядра SNES. То есть рабочий эмулятор Super Nintendo уже есть, но его скорость из-за отсутствия помощи со стороны графического ускорителя весьма сомнительна.

Итак, какие же итоги на 2017 год. Система полностью взломана. Хоумбрю разрабатывается. ASLR повержена незакрываемой дырой, в траст-зоне приватный хак, в ядре выше 3.0.0 приватный хак. Всё выглядит радужно кроме одного факта – qlutoo хочет отдохнуть и хотя бы квартал о нём ничего не будет слышно. Но он это заслужил.

Надеюсь вам понравился мой перевод презентации и дайджест. Если есть чем дополнить – пишите. Непонятно что-то - пишите. (Хотите мне что-то объяснить - пишите!) Хотите поздравить с Новым Годом – пишите, да и Вас с Наступающим!
Как видим, консоль практически взломана, не смотря на значительно усилившеюся безопасность прошивки.
Uncle Fester:
Продажи консолей за последнюю неделю по данным Famitsu (В Японии):

Nintendo Switch - 303.504
Nintendo 3DS - 89.430
PlayStation 4 - 70.581
PlayStation Vita - 16.155
Xbox One - 569
Wii U - 103
PlayStation 3 - 19
Silver Dragon:
Случайно наткнулся:

Uncle Fester:

--- Цитата: Silver Dragon от 31 Декабрь 2017, 11:59:07 ---Случайно наткнулся:


--- Конец цитаты ---
Ролик классный, только маловероятно что кто-либо в армейке играл в GC. Да и N64 имели единицы. А вот Snes надо было заменить на Dendy.  :lol:
Unit2k:

--- Цитата: Silver Dragon от 31 Декабрь 2017, 11:59:07 ---Случайно наткнулся:


--- Конец цитаты ---

Рекламка далека от реальных реалий настолько, насколько это возможно.  :lol: Ага, в армии начала нулевых он на геймкубе играл.  :rofl:

Добавлено позже:
Не, ну мой друган отслуживший, конечно грил что у них в мед.части была первая плойка и в теккен они рубали порой с сослуживцами, но не в куб же, ёпрст.
Uncle Fester:
Кстати, намного реальней, если бы вместо GC Была бы первая сонька с пиратскими болванками.

Добавлено позже:
В общем, вместо Snes - Dendy, вместо N64 - SMD, ну и GC Заменить на PS One. И будет полная аутентичность.
Unit2k:

--- Цитата: Uncle Fester от 31 Декабрь 2017, 12:05:35 ---В общем, вместо Snes - Dendy, вместо N64 - SMD, ну и GC Заменить на PS One. И будет полная аутентичность.
--- Конец цитаты ---
Ага, т.е. менять надо все, ибо обосрались они везде.  :cool: Хотя малолетним хипстеркам, что не тусят в группах а-ля кинамания@ностальхия, скормить такую модную рекламу можно конечно, они не просекут.
Uncle Fester:

--- Цитата: Unit2k от 31 Декабрь 2017, 12:09:48 ---Ага, т.е. менять надо все, ибо обосрались они везде.   Хотя малолетним хипстеркам, что не тусят в группах а-ля кинамания@ностальхия, скормить такую модную рекламу можно конечно, они не просекут.

--- Конец цитаты ---
Да и куй с ним. Мы то помним.

Добавлено позже:
Хотя справедливости ради, даже хорошо что не было у нас оригинальных Nes или Famicom. В то время мы могли позволить себе в момент выхода консоли нового поколения, покупать только предыдущие, и те не в оригинале, а пиратские копии.

Я имею ввиду большинство, а не Ыилитный процент золотой молодёжи.

Добавлено позже:
Нил Дракманн назвал лучшие игры 2017 года:
The Legend of Zelda: Breath of the Wild
Super Mario Odyssey
Cuphead
Resident Evil 7: Biohazard
Horizon: Zero Dawn
Golf Story
PUBG
Hellblade: Senua’s Sacrifice
What Remains of Edith Finch
Sonic Mania
Silver Dragon:

--- Цитата: Unit2k от 31 Декабрь 2017, 12:03:34 ---Рекламка далека от реальных реалий настолько, насколько это возможно.
--- Конец цитаты ---

Поэтому и улыбнуло.  :)
Rockman Z:
Главное, чтобы игры годные выходили. Чтобы мощная линейка была, ради которой стоило купить это. Базарю, повода это сделать, даже к концу 2018-го не будет  :neznayu:
Silver Dragon:
Кстати, комментарии к видео NintendoRU почему-то отключили.
Sophie Lhant:

--- Цитата: Silver Dragon от 01 Январь 2018, 04:33:35 ---Кстати, комментарии к видео NintendoRU почему-то отключили.

--- Конец цитаты ---
Бомбанули наверное.
Partsigah:

--- Цитата: Silver Dragon от 01 Январь 2018, 04:33:35 ---комментарии к видео NintendoRU почему-то отключили.
--- Конец цитаты ---
Они там изначально отключены, канал вообще странный, аниме с англ. сабами вещает :neznayu:
pedro:
Свитч за 10 месяцев продался тиражом 4.8 миллиона в одних Штатах, обогнав Wii, что делает его самой быстро распродаваемой консолью
https://www.gamespot.com/articles/nintendo-switch-becomes-the-all-time-fastest-selli/1100-6455890/
Rockman Z:
СЛУХЕ!!  :D

Где-то в январе будет большой Nintendo Direct, на котором будут анонсированы 18 новых игр.

Grand Theft Auto V и Red Dead Redemption выйдут на Switch и еще Dark Souls, Injustice 2, Dragon Ball FighterZ, Hello Neighbor, Hearthstone (портс, портс, портс)

Bayonetta 3 выйдет уже совсем скоро и Metroid Prime 4 выйдут в этом году

Ахтунг. Слухи, инсайды, не верьте. А вы уже купили Switch? :D
WormSkull:

--- Цитата: Rockman Z от 06 Январь 2018, 14:29:41 ---А вы уже купили Switch?
--- Конец цитаты ---
Скоро можно будет

Sophie Lhant:

--- Цитата: WormSkull от 06 Январь 2018, 16:27:55 ---Скоро можно будет


--- Конец цитаты ---
huge selling point
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии