Xbox 360 заблокировали что делать
Xbox360 Бан винчестера
Xbox 360 — наверняка все слышали об этой перспективной консоли компании Microsoft, многие даже играли в нее. В этом топике хотелось бы немного поговорить о сервисе xbox live, а точнее о банах.
Итак, Xbox 360. Эта консоль имеет множество преимуществ и также множество недостатков над другими игровыми платформами.
О преимуществах рассказывать можно долго, и также долго холиварить о них. Поэтому не будем этим заниматься.
А вот на недостатках хотелось бы остановиться поподробнее.
1. Дешевая китайская сборка
Как известно все консоли в той или иной степени бракованы. У разных пользователей это проявляется по разному. Кто-то играет годами и не имеет проблем, кто-то борется с ошибками перегрева, прижима, памяти итд чуть ли не еженедельно.
К последним отношусь я, но спасибо сайту xbox-experts.com, многие ошибки решаются головой, паяльником и отверткой 🙂
2. Высокая стоимость лицензионных дисков — от 1000р за всякую лажу и от 2250 за норм игры до… некоторые игры может и стоят того, но подавляющее большинство однозначно НЕТ. Ценовая политика в России мне абсолютно не понятна — ведь за бугром диски стоят столькоже, а уровень дохода на порядки выше.
Естественно есть некоторое решение этой проблемы:
Перепрошиваем привод, чтобы он мог читать не только спец болванки но и обычные магазинные DVD+R DL.
Качаем образ диска, пишем его на честно купленную в магазине за 100р DVD+R DL
Вставляем в привод и играем.
Естественно это нарушение авторских прав итд итп. Но речь не об этом.
Есть у Microsoft’а такая служба — Xbox live, позволяющая качать демки, покупать игры, фильмы итд итп.
Также у нее есть платная подписка «Gold», позволяющая играть по интернету, и получать доп возможности от этого самого live.
Подписка на Gold стоит около 220 деревянных за месяц, годовые подписки естественно имеют скидки. Вкупе с количеством пользователей live — этот сервис несет нехилые бабки в карман Microsoft’а.
Естественно Microsoft всячески пытается защитить своё детище от взлома. Ими используется система банов в live.
По некоторым факторам, известным только вышеуказаной компании, при попытке входа в live выводится ошибка типа «ваша консоль заблокирована». И всё. Больше службами live на этой приставке вы пользоваться не сможете (точнее на этой материнской плате). Пока не придумано взлома решения, как разблокировать приставку.
Но и фиг бы с ним с лайвом — пусть microsoft не достаются наши деньги за Gold, но с недавних пор (с последней волны банов, начали блокироваться винчестеры (!) На них теперь невозможно устанавливать игры, все сохранения итд невозможно перенести на другую консоль. Хорошо хоть возможность сохраняться оставили.
На момент написания статьи нет никакой возможности разблокировать работу винчестера…
Просьба не знающих сути вопроса не советовать отформатировать винт итд. Флаг бана храниться неизвестно где, дашбоард блокирует работу с винчестером при наличии этого флага.
10000р, докупаю к нему винчестер на 250гб
5000р, ловлю бан и теряю 5 килорублей просто так? жосско.
Например абстрагируясь на автомобили — покупаю я новый порш кайен, меня не устраивают дворники — мне говорят ставь официальные или лишайся гарантии, мне пофиг я теряю гарантию — ставлю навороченые дворники. На следующий день приходят представитили порше и вставляют лом в двигатель. типа вы внесли изменения в автомобиль, функция «двигатель» заблокирована.
Вопрос дня
Имеет ли право производитель урезать функционал продаваемых им устройств при обнаружении ими вмешательств со стороны?
PS: А что будет завтра? блокировка привода, консоли? Послезавтра баненый бокс можно будет поставить на пол вместо тумбочки?
UPD: Вообще суть бана не понятна мне со стороны M$. Они же тупо теряют деньги. Люди даже из России (. ) что не маловажно при нашем то менталитете платят им тысячи и тысячи за лайв. Сколько бабла со всей планеты? Ух. А бан это только потери…
Защита авторских прав? За играние в нелицуху не банят, банят за прошивку привода.
Да и банят лайв, а не возможность играть в игры…
UPD2: Всем пользователям xbox срочно копировать NAND.
3 способа обойти блокировку PSN, Xbox Live, Battle.net и Steam
Почему у многих геймеров оказались заблокировоны PSN, Xbox Live и Battle.net?
В апреле 2018 года в российском сегменте интернета были зафиксированы множественные сбои. Поначалу все списывалось на локальные проблемы — аварии на магистралях, отказ оборудования у маршрутизаторов и проколы некомпетентных региональных провайдеров. Но на самом деле все гораздо хуже: это не сбои, а результат вполне осмысленных действий одной всем известной организации.
Ее название — «Федеральная служба по надзору в сфере связи, информационных технологий и массовых коммуникаций» или просто Роскомнадзор (РКН). На протяжении 10 лет эта служба, созданная Дмитрием Медведевым, выборочно блокировала и препятствовала существованию тех или иных «сомнительных» интернет-площадок.
Владелец этого якобы анонимного мессенджера отказался предоставить российским властям доступ к личной переписке пользователей, мотивируя отказ существованием 23 статьи Конституции РФ, которая гарантирует в том числе право на тайну переписки. В ответ на это суд постановил прекратить деятельность «Телеграмма» на территории страны.
И все бы ничего — нужно лишь внести IP-адреса серверов Telegram в реестр запрещенных сайтов, да только нет никаких серверов. Мессенджер не зависит напрямую от своих серверов и способен осуществлять работу напрямую между пользователями, при этом он «умеет» использовать для проложения канала публичные и приватные прокси-сервера.
Грубо говоря, чтобы заблокировать Telegram в России, нужно заблокировать все без исключения компьютеры, которые используются в качестве прокси-серверов. А их десятки, сотни миллионов. Они принадлежат множеству компаний, которые предоставляют свои вычислительные мощности самым разным клиентам. Например, Sony для обеспечения работы PSN.
Любому IT-специалисту очевидно, что заблокировать Telegram практически невозможно, потому что он работает по принципу децентрализованной системы, которую сам Павел Дуров, создатель мессенджера называет TON (Telegram Open Network). Проблема в том, что у деятелей Роскомнадзора другое мнение на этот счет: они просто начали «банить» все подряд.
Как обойти блокировки PSN, Xbox Live и Battle.net с помощью роутера?
Самый простой способ получить доступ к любимой игровой сети — это смена динамических серверов, которые используются роутерами. Это такие небольшие устройства, которые чаще всего приобретаются для дома или офиса для того, чтобы подключить к сети Интернет сразу несколько компьютеров. Очень часто роутеры также «раздают» сигнал по беспроводной сети Wi-Fi.
Как правило, по умолчанию в параметры подключения роутера вносятся те или иные DNS (Dynamic Name System) — адреса серверов, которые отвечают за обращение к базам доменных имен. Так вот, если IP-адрес DNS внесен в реестр Роскомнадзора, то почти наверняка он не будет работать. Хорошая новость в том, что этот адрес можно изменить. Вот несколько работающих на территории России DNS:
Тем не менее, пользователям консолей потребуется также изменить настройки приставки. Например, для PlayStation 4 нужно проделать следующие действия:
Обход блокировок с помощью прокси-сервера
Итак, Роскомнадзор блокирует все прокси, до которых может дотянуться. Это плохо. Но заблокировать все пока не вышло. Это хорошо. Еще один способ вернуть себе возможность играть в PlayStation Network, Battle.net и Xbox Live и Steam заключается в использовании прокси-сервера для доступа к интернету. Вопрос только один: где взять прокси?
Конечно же, в сети! Можно найти множество самых разных сайтов, как надежных, так и не очень. Один из них доступен по ссылке, но он далеко не единственный. Там представлены публичные прокси-серверы. Конечно, у них есть ограничения по скорости, так что для скачивания 50 гигабайтов очередной AAA этого не хватит, но сами игры не забивают канал.
После нахождения прокси-сервера нужно задействовать его на ПК или консоли. В случае с консолью искать нужно в настройках сети. Пользователям ПК под управлением Windows следует начать поиски пункта «Сеть и Интернет» в общих настройках системы. Необходимо вводить нужно не только адрес сервера, но и его рабочий порт.
На первый взгляд может показаться, что прокси — это самый простой вариант, потому что не нужно лезть в настройки роутера. На самом деле у этого метода есть большая проблема: безопасность. Публичные прокси далеко не всегда надежны, часть из них используется мошенниками для сбора трафика с целью последующего его использования в своих интересах.
Например, хакеры могут встраивать на серверные машины так называемые снифферы. Это программы, которые записывают все действия пользователя. Так злоумышленники получают доступ к самой разной информации. Например, ко всем вводимым с клавиатуры символам. В том числе и паролям. Поэтому прокси — это только для тех, у кого попросту нет других вариантов.
VPN для обхода блокировок
Как и всегда, самые надежные и удобные опции стоят денег. В случае со всем этим цифровым адом, который для дорогих россиян устроил Роскомнадзор, за деньги можно приобрести VPN — Virtual Private Network, то есть виртуальную частную сеть, на которую номинально не распространяются блокировки. По сути это такой интернет в интернете.
VPN-сервисы часто подразделяются на различные категории. Тех, кто собирается использовать их для гейминга, должны обращать внимание на 3 основных показателя:
VPN — цена, настройки и подключение
Разумеется, за удовольствие не забивать себе голову всякими «роскомнадзорами» придется платить: в среднем 5-10 евро в месяц, то есть примерно столько же, сколько и за услуги средней руки провайдера, разве что скорости пониже. Но работа с VPN отличается от опыта использования «обычного» интернета. Далее кратко рассмотрим основные моменты подключения VPN.
После оплаты услуг владельца сети пользователь получает всего один файл. Что с ним делать и не «обман на классы» ли все это? Нет, на самом деле для подключения VPN необходимо установить специальную программу — OpenVPN. Она, к счастью, бесплатная. После установки в трее операционной системы появится иконка. Нужно нажать на нее правой кнопкой мыши и выбрать опцию «Импорт конфигурации. »
На этом настройка заканчивается. Остается только подключить VPN, нажав на соответствующую кнопку в самой программе. К слову, подкованные в технических вопросах «юзеры» могут даже настроить подключение к VPN через роутер, но тут универсальных способов не существует: все зависит от модели устройства и прошивки.
Отдельное предостережение для тех, кто уже долгие годы сидит на стареньком роутере, к которому подключена всего пара машин: VPN значительно увеличивает нагрузку на роутер, заставляя его проводить гораздо больше операций в единицу времени. Поэтому хорошей идеей перед покупкой VPN будет покупка и современного роутера в придачу.
И последнее о VPN — их можно создать своими силами. Для этого потребуется один «шарящий» товарищ и выделенный сервер, арендованный или на своей машине. Идея в том, чтобы развернуть на сервере собственный VPN, а затем подключиться к нему. Это может быть немного дешевле, но требует участия специалиста по сетям, поэтому для большинства геймеров вряд ли подойдет.
Более миллиона Xbox 360 заблокировали из-за пиратских игр
16 лет на сайте
пользователь #44930
Учитывая, что в Xbox Live зарегистрировано около 20 млн. аккаунтов, получается, что Microsoft забанила примерно 5% пользователей сервиса
Ну учитывая, что на одной консоли живёт минимум по 2-3 аккаунта, цифры смело можно увеличивать.
Стоит подчеркнуть, что попавшие в «черный список» игроки не смогут лишь воспользоваться сервисами Xbox Live, тогда как сами консоли останутся работоспособными и смогут продолжать функционировать в автономном режиме.
Константин, не знаете, не подчёркивайте. Кроме игры в лайв, урезается возможность любых сетевых покупок, использование медиа центра, блокируется функция установки игр на жёсткий диск.
16 лет на сайте
пользователь #31854
«Все потребители знают, что пиратство является незаконным, а модификация Xbox 360 с целью запуска пиратских дисков нарушает условия использования Xbox Live, ведет к аннулированию гарантийных обязательств и запрету доступа в Xbox Live», — говорится в официальном заявлении Microsoft.
14 лет на сайте
пользователь #94929
Там доступно написано:
«Все потребители знают, что пиратство является незаконным, а модификация Xbox 360 с целью запуска пиратских дисков нарушает условия использования Xbox Live, ведет к аннулированию гарантийных обязательств и запрету доступа в Xbox Live», — говорится в официальном заявлении Microsoft.
14 лет на сайте
пользователь #87890
16 лет на сайте
пользователь #31854
для тех, кто в танке повторяю: вы на пару с мелкомягкими на 100% уверены, что пиратство незаконно во всех странах?
Так что МС берёт на себя роль следственных органов (обнаружение факта правонарушения, ведение следствие), суда (вынесение приговора) и пенитенциарных органов (исполнение наказания).
Защита и взлом Xbox 360 (Часть 1)
Вы наверняка слышали про игровую приставку Xbox 360, и что она «прошивается». Под «прошивкой» здесь имеется в виду обход встроенных механизмов защиты для запуска копий игр и самописного софта. И вот здесь возникают вопросы! Каких механизмов, как они обходятся? Что же наворотили разработчики, как это сумели обойти? На самом деле, тема очень обширная и интересная, особенно для Xbox 360 — здесь можно встретить уязвимости в ПО, аппаратные недочеты, и совсем уж магическую магию. Интересно? Заглядываем! В первой части у нас знакомство с гипервизором, приводами и прошивками…
Знакомимся с подопытным
Игровая приставка Xbox 360 увидела свет аж в 2005 году и с тех пор не претерпевала изменений в характеристиках железа. Всё время, что она выпускалась, это были те же самые:
Тем не менее, все игры одинаково хорошо работали на всех «ревизиях» приставок – это как раз тот случай, когда современные игры можно запустить на оборудовании 2005 года.
В момент релиза было сделано громкое заявление, что консоль разрабатывалась как можно более защищённой – кастомные чипы с защитой на аппаратном уровне, и вообще, хакеры такого ещё не видывали:
There are going to be levels of security in this box that the hacker community has never seen before
Что же придумали разработчики?
Во-первых, они сделали всё, чтобы программный код системы нельзя было достать. В центральный процессор встроили ROM на 32 КБ, содержащий первичный загрузчик (1BL) и SRAM на 64 КБ, в котором он исполнялся. Из кристалла CPU содержимое ROM достать очень и очень непросто:
Во-вторых, в тот же процессор засунули специальные фьюзы – пережигаемые (в буквальном смысле, высоким напряжением) перемычки, своеобразная однократно программируемая память. Фьюзы содержали:
Да-да, количество фьюз ограничено. Если вы умудрились обновить свою приставку 80 раз подряд, счётчик CFLDV кончится и … не знаю, я не пробовал так делать. Вероятно, приставка больше не сможет обновляться.
В-третьих, разработчики реализовали цепочку доверия. Для проверки подлинности загрузчиков использовалась комбинация современных (на тот момент) алгоритмов SHA-1 и RSA-2048, что исключало возможность запуска своего кода или неавторизованной модификации загрузчиков даже в случае, если вы каким-то образом достали все ключи из приставки и смогли пересобрать систему.
В-четвёртых, разработчики решили пойти дальше по принципу «никому не доверяй» и засунули в тот же несчастный CPU специальный аппаратный модуль защиты ОЗУ! С его помощью все области с программным кодом шифровались, а для наиболее важных областей (гипервизор) включался контроль целостности!
Этим разработчики защищались от DMA атак, когда через внешние устройства, имеющие доступ к оперативной памяти, изменяют программный код системы в ОЗУ.
Наконец, разграничением прав на регионы памяти занимался гипервизор. Только он мог сделать страницы исполняемыми, естественно, перед этим он проверял цифровую подпись, так что загрузить неподписанный код или исполнить что-то из области данных нельзя было даже через уязвимость в каком-нибудь драйвере или игре (ось и игры запускались с правами kernel).
В результате, операционная система Xbox 360 была хорошо защищена, и потому в качестве первого вектора атаки был выбран DVD-ROM.
Запускаем… бэкапы!
В Xbox 360 основным носителем для игр был выбран двухслойный DVD-диск. Естественно, и здесь присутствовали защитные механизмы:
В результате, 14 мая 2006 года commodore4eva (c4eva) выпустил первую модифицированную прошивку для привода модели TS-H943:
— Xtreme firmware for TS-H943 Xbox 360
— Here it is, the long awaited World first Xbox 360 backup firmware modification to boot all game backups!
Features
— Boots all Xtreme Xbox 360 backups
Boots all Xtreme Xbox 1 backups
Boots all Xbox 360 originals
Boots all Xbox 1 originals on Xbox 360
Xtreme0800 extraction firmware enables drive to function natively under Windows without any hardware conversion/adaptors
Use on Xbox Live at own risk
Technical details
— Reads Xbox 360 security sector from PSN 04FB1F (Layer 0)
Reads Xbox 1 security sector from PSN 605FF (Layer 0)
Security sector must be extrated using Xtreme0800 360 firmware for Xbox360 games and Xbox 1 games
Will not boot Xbox 1 backups made with Xbox1 605b 0800 firmware (maybe in future release)
Прошивка читала сектора безопасности из фиксированных областей на DVD-болванке и обманывала приставку, заставляя ту думать, что вставлен лицензионный диск.
Одновременно с этим была выпущена прошивка «0800», предназначенная для создания копий игр и чтения секторов безопасности. Привод Xbox 360, прошитый такой прошивкой, определялся в компьютере и мог полностью читать сектора диска с игрой.
Extracting Security Sector
— Ensure DVD drive has been flashed with Xtrm0800.bin firmware. Drive can now work under Windows.
Insert original game disk into drive and wait for windows to detect disk change
Run DVDinfoPro
Enter the following four custom cdb commands:
AD 00 FF 02 FD FF FE 00 08 00 01 C0
AD 00 FF 02 FD FF FE 00 08 00 03 C0
AD 00 FF 02 FD FF FE 00 08 00 05 C0
AD 00 FF 02 FD FF FE 00 08 00 07 C0
Then save hexadecimal display as bin file as SS.bin
Creating a game backup
— Ensure DVD drive has been flashed with Xtrm0800.bin firmware. Drive can now work under Windows.
Extract Isobuilder.rar
Insert original game disk into drive and wait for windows to detect disk change
Run DVDinfoPro
Enter the following custom cdb command to unlock drive: (game data visable)
Run Isobuster
Right click on DVD and select Extract From-To
Click Length and enter number of LBAs as follows:
Xbox 1 Original Number of LBA to read 3431264 decimal
or
Xbox 360 Original Number of LBA to read 3567872 decimal
Select User Data (2048 bytes/block)
Click Start Extraction
Enter filename as game.iso and click Save
Upon read error dialogue box choose fill with blank zeros for sector and select use this selection for all errors
Copy game.iso and ss.bin to the relevent isobuilder directory (Depending on Xbox 360 or Xbox 1 game)
Run build360.bat (Xbox 360 game) or build.bat (xbox 1 game)
Ensure your burner will set the booktype of DVD+R DL to DVDRom
Burn with CloneCd and choose the image.dvd file
Ещё игру можно было частично скопировать следующим трюком:
Самое важное, что прошивался привод исключительно программно, специальными ATA-командами. В комплекте шла специальная программа для считывания оригинальной прошивки и записи модифицированной. В оригинальной прошивке хранился заветный ключ, которым привод был привязан к Xbox 360:
Потеря ключа означала невозможность запуска даже лицензионных дисков, так что некоторые записывали ключ в блокноте, сохраняли его везде, где только можно, это было самым заветным знанием.
Отдельной темой шла паника по поводу игры онлайн. Все боялись, что Microsoft узнает, что привод модифицирован и дистанционно отключит приставку. Некоторые даже делали аппаратный мод для переключения между заводской и модифицированной прошивкой:
На оригинальной прошивке играли «в лицензии» и с подключением в сеть, на модифицированной интернет-кабель стыдливо отключали. Кстати, паника была не зря, а вот такие моды были совершенно напрасны, всё логировалось и без подключения к сети.
Ровно через месяц (15 июня 2006 г.) прошивку портировали на другую модель привода, что ставили в те времена в Xbox 360 — Hitachi GDR3120L. У него также была внешняя флешка, содержащая прошивку:
Этот привод был лучше защищён:
Действо это предлагалось выполнить с помощью специального загрузочного диска со Slax Linux, либо закорачиванием проводов при старте. Закорачивать нужно было контакты 0 и 9 коннектора питания привода. Например, булавками!
В обоих случаях, после таких измывательств, привод определялся в Windows как обычный DVD-дисковод, где его подхватывали и насиловали прошивали.
После первого релиза кастомные прошивки дорабатывались, повышалась стабильность, добавлялась поддержка новых игр, в общем, всё как обычно.
Ответ Microsoft
Систему не взламывали, просто научились запускать копии игр, мы работаем над этим
The core security system has not been broken. However, it is reported that the authentication protocol between the optical disc drive and the console may be attacked, which if accurate could allow people to play illegally copied games. Our security team is aware of this and we are investigating potential solutions to this issue. The Xbox 360 platform was designed to be updated, and we are prepared to respond appropriately should any unauthorized activity be identified.
Что реально было сделано для исправления ситуации:
На время оставим поле битвы за прошивки привода, там был не слишком интересный период, когда исследователи пытались сделать «Stealth» прошивки, чтобы не забанили в Xbox Live, подстраивались под новые игры с новыми «волнами» — версиями обновления системы и портировали результаты на всё расширяющееся многообразие прошивок и приводов. Всё равно всё прошивалось, «бэкапы» успешно запускались, Xbox 360 набирала популярность у народа…
Ломаем ось!
Timeline:
Oct 31, 2006 — release of 4532 kernel, which is the first version containing the bug
Nov 16, 2006 — proof of concept completed; unsigned code running in hypervisor context
Nov 30, 2006 — release of 4548 kernel, bug still not fixed
Dec 15, 2006 — first attempt to contact vendor to report bug
Dec 30, 2006 — public demonstration
Jan 03, 2007 — vendor contact established, full details disclosed
Jan 09, 2007 — vendor releases patch
Feb 28, 2007 — full public release
Гипервизор имел одну особенность – в отличие от остального кода, он исполнялся не в виртуальном адресном пространстве, а в физическом (Real Mode). Трансляция не использовалась, обращения велись напрямую (адреса вида 0x00000000’xxxxxx). То ли это было сделано для скорости, то ли для простоты… И здесь крылась одна особенность адресного пространства Xbox 360.
Режим доступа к памяти определялся по её физическому адресу. А именно — старшие биты адреса имели служебное назначение. К примеру, адрес 0x00000000’0000201C означал прямой доступ к адресу 0x201C, а 0x00000100’0000201C означал, что требуется «на лету» расшифровать и проверить целостность при чтении того же самого физического адреса 0x201C.
Соответственно, чтобы исполнение велось с включёнными шифрованием и защитой, нужно обращаться к адресам вида 0x00000100’xxxxxxxx. Только тогда аппаратный модуль включал защитные механизмы. Поэтому на аппаратном уровне нужный бит добавлялся автоматически (за это отвечал специальный регистр HRMOR – Hypervisor Real Mode Offset Register)!
Ещё раз – как только гипервизор обращается к адресу вида 0x00000000’xxxxxxxx, MMU автоматически меняет этот адрес на 0x00000100’xxxxxxxx, включая шифрование и защиту! Так что любые попытки исполнить код «напрямик» из физической памяти, без защиты и шифрования, обречены на неудачу … или нет?
Давайте посмотрим на уязвимый код гипервизора версии 4532:
//в %r0 – номер системного вызова
13D8: cmplwi %r0, 0x61 //сравниваем с максимальным допустимым ID
13DC: bge illegal_syscall //если переданный номер больше 0x61, говорим, что неверный
.
13F0: rldicr %r1, %r0, 2, 61 //умножаем номер системного вызова на 4
13F4: lwz %r4, syscall_table(%r1) //достаём адрес обработчика из таблицы
13F8: mtlr %r4 //помещаем адрес обработчика в регистр lr
.
1414: blrl //прыгаем на этот адрес
Видите суслика? А он есть! Инструкция cmplwi работает с 32-битными значениями, а вот rldicr – с 64-битными! То есть мы можем подать в качестве номера системного вызова значение 0x20000000’0000002A, оно пройдёт проверку (потому что младшая 32-битная часть меньше 0x61), и в результате вместо адреса 0x10EC, адрес обработчика будет браться из 0x80000000’000010EC!
А дальше, как говорится, следите за руками. Старшие биты адреса не равны нулю, соответственно, HRMOR не добавляется! А поскольку реальное адресное пространство 32-битное, выставленный нами 63 бит просто игнорируется. Мы перенаправили гипервизор в незашифрованную и незащищённую память, просто подав некорректный номер системного вызова!
Но подождите, чтобы было куда прыгать, нам нужно уметь записывать в физическую память свои данные. Как этого достичь?
Здесь в дело вступает второй фактор – GPU в Xbox 360 был умным, даже чересчур умным. Он поддерживал специальную шейдерную инструкцию «MemExport» для выгрузки данных геометрии в физическую память. То есть вы могли скомпилировать шейдер, исполнить его на GPU и тем самым записать что угодно куда угодно! И самое главное, что шейдеры не были подписаны, если вы каким-либо образом модифицируете диск с игрой, то легко сможете подменить код шейдера.
Да, для запуска приходилось каждый раз запускать игру, дожидаться срабатывания эксплойта, ставить загрузочный диск с Linux, но это уже было хоть что-то!
Как уже говорилось, Microsoft выпустили обновление системы, в котором исправили уязвимость гипервизора. Но что, если вернуть уязвимое ядро?
Даунгрейд!
Вообще, в архитектуру Xbox 360 были заложены механизмы защиты от даунгдейда. В аппаратных фьюзах процессора каждый раз при обновлении выжигался очередной бит (повышался Lock Down Value, LDV), и при несоответствии этого самого LDV в фьюзах и в системе, консоль просто не запускалась.
Рассмотрим структуру загрузчиков Xbox 360, а именно «Bootloader Sections»:
Видно, что в образе есть несколько наборов загрузчиков, каждому из которых соответствует какой-нибудь LDV. В примере это 1888 для LDV 0, 16767 для LDV 3 и 16756 для LDV 2
Так вот, все обновления самой системы записывались в секции 6BL/7BL и просто «накладывались» в виде патчей на базовое «ядро» 5BL 1888. А вот какой набор патчей применить, выбиралось согласно прописанному LDV в фьюзах и заголовкам загрузчика! И как раз у 5BL заголовок можно было модифицировать, с одним большим НО — правильность заголовка проверялась по HMAC-SHA-1 хеш-сумме, записанной в нём же. И проверялась она обычным memcmp.
Если вы ещё не поняли, куда идёт дело, здесь умудрились применить атаку по времени (Timing Attack). Стандартная функция memcmp завершает сравнение сразу после первого расхождения. Поэтому изменяя первый байт хеша и засекая время выполнения memcmp, можно подобрать нужное значение (с ним время проверки увеличится). Продолжая далее, можно подобрать все байты хеш-суммы!
Для замера использовали отладочную шину POST_OUT. Работает она примерно как на ПК, в разные моменты загрузки выводится однобайтное значение, по которому можно судить, где сейчас исполняется процессор и какая ошибка произошла. По сути это 8 точек на матплате, каждая из которых отвечает за конкретный бит значения:
Подпаявшись к этим точкам, можно как раз-таки замерять время выполнения каждого из этапов загрузки и смотреть, произошла ли ошибка.
Весь процесс подбора хеша занимает около часа:
В результате получаем образ, в котором для базового ядра установлен текущий LDV, из-за чего никакие патчи не применяются и запускается самая древняя версия системы 1888! Откуда уже можно обновиться на уязвимую версию 4532:
Конечно же, Microsoft исправили эту уязвимость обновлением самого первого обновляемого загрузчика (2BL, «CB») и прожигом фьюза CBLDV, что сделало даунгрейд невозможным снова. Теперь вместо memcmp использовалась его безопасная версия, с одинаковым временем исполнения независимо от входных значений.
JTAG Hack!
Но и здесь исследователи не сдались и нашли лазейку. Да такую, что разработчики и предположить не могли.
В обычном режиме работы приставки, все загрузчики связаны друг с другом по цепочке. В результате чего расшифровка каждого загрузчика зависит от области данных в заголовке предыдущего загрузчика (Pairing Data). Дополнительно, шифрование кода зависит от уникального ключа процессора, поэтому нельзя взять и собрать рабочий образ, не зная CPU_Key. Или можно?
На этапе производства консоли (когда ключ процессора ещё не прожжён во фьюзах) используется специальный режим запуска Xbox 360, когда Pairing Data равна нулю (Zero-Pairing). И вот такой образ (с уязвимым ядром!) можно запустить на любой приставке, даже не зная ключа процессора!
К сожалению, полноценного запуска не будет, получится вот такая ошибка:
То есть игру King Kong не запустить, эксплойт через шейдеры не активировать… Но уязвимое ядро-то уже запускается! Может, есть другой способ записать оперативку? Оказалось, что есть.
Для начала, припаиваем три свободных GPIO южного моста приставки к выводам JTAG графического процессора:
Затем модифицируем прошивку южного моста (она зашифрована, но не подписана) и собираем образ с уязвимым ядром. После чего происходит магия:
На базе JTAG Hack создали модифицированные версии системы — XBReboot, Freeboot, с отключенной проверкой подписи, где уже разгулялись пираты. Игры можно было запускать не только с USB носителей и дисков, но и по SMB протоколу прямо с компьютера.
Что немаловажно, полноценный взлом системы давал шанс тем, кто потерял ключ DVD и не мог играть — имея ключ процессора, извлечь ключ DVD было несложно.
Конечно же, и здесь Microsoft быстро закрыла уязвимость, снова обновив 2BL и повысив значение CBLDV. На этом эпопея уязвимого гипервизора закончилась, народ побежал скупать остатки «совместимых с JTAG» приставок в магазины — всем хотелось без проблем играть с USB флешек. На форумах велись обсуждения, какие бандлы с какой датой выпуска годятся для взлома…
Тема модификаций системы Xbox 360 заглохла почти на два года, а вот тема прошивок продолжала развиваться. И как раз в прошивке приводов LiteOn разыгралась самая обширная битва исследователей и Microsoft. Но об этом в следующей статье 🙂