Они должны хорошо работать на телефонах с экраном такого разрешения. Игровой автомат Sizzling Hot (слот Раскаленный) играть бесплатно онлайн в игровом зале. Исследуем защиту и восстанавливаем аркады Namco System ES1 / Хабрахабр. Введение. Эта история началась практически сразу после написания статьи об исследовании аркады небезызвестной корейской компании: в аркадном автомате Tank! Предположив, что целостность диска была нарушена неосторожным нажатием клавиши в окне редактирования данных на диске в Win. Hex, был взят другой диск с еще одного рабочего автомата, скопирован аналогичным образом, который также перестал запускаться. Тут- то и стало понятно, что в диск каким- то образом встроена защита от копирования. Namco System ES1. Аркада Tank! Tank!, выпущенная в 2. System ES1, которая представляет из себя обычный компьютер тех лет на чипсете Intel Q3. Этот сборник игр включает в себя превосходные версии трех классических игр в американских пабах. Сыграйте в игровые автоматы, попытайтесь. Материнская плата: Supermicro C2. SBM- Q (Intel Q3. ICH9. DO)CPU: Intel Core. Duo CPU E8. 40. 0 @ 3. GHz. RAM: 2x. 51. MB DDR2 8. 00 MHz 1. VВидео: NVIDIA Ge. Force 9. 60. 0 GT с 5. GDDR3. HDD: Seagate Barracuda 7. ГБ (ST3. 16. 03. 18. AS) или Hitachi Deskstar 7. C 160 ГБ (HDS721016CLA382); Операционная система: Arcade Linux (основана на Debian 4.0). На платформе ES1 всего было выпущено 9 игр, 4 из которых. Нашлось два 256-битных ключа и один 128-битный. Подключаем диск в System ES1, включаем автомат и наблюдаем, как игра . Автор: admin 27-08-2011, 18:44 Категория: Экшен, 128x160, 176x208, 176x220, 240x320. Ваш любимый жанр java-игр. Автор: admin 5-06-2013, 12:17 Категория: Настольные, 128x160, 176x208, 176x220, 240x320. 3D TimeShock Pinball Игровые автоматы. K1. 00. 0. C 1. 60 ГБ (HDS7. CLA3. 82)Операционная система: Arcade Linux (основана на Debian 4. Все это укомплектовано к массивный корпус с прикрученным блоком питания на 1. В. Фотография System ES1, который поставляется с игрой Dead Heat. Установлен горизонтально, в отличие от варианта ES1 в Tank! Tank! На платформе ES1 всего было выпущено 9 игр, 4 из которых рассчитаны исключительно на внутрияпонский рынок. Последняя игра была выпущена в 2. На территории России и Украины мне встречались всего 4 ES1- игры: Tank! Tank!, Dead Heat, Dead Heat Riders и Nirin. Доверенная загрузка и TPMОсобенность данной платформы в том, что она использует так называемую доверенную загрузку (Trusted Boot) со статичным корнем доверия (Static Root of Trust) с помощью крипточипа Trusted Platform Module (TPM) версии 1. TPM — замечательная штука — что- то вроде смарт- карты, которая несет в себе RSA- ключ, зашитый производителем на этапе производства, с возможностью генерирования своих ключей, приватная часть которых никогда не покинет TPM, загрузки уже существующих ключей, с небольшим энергонезависимым хранилищем произвольных данных (NVRAM) на борту, генератором случайных чисел и еще кучей всего. Но самое интересное, что предоставляет TPM — конфигурационные регистры платформы (Platform Configuration Registers, PCR), которые можно расширить SHA- 1- суммой каких- то произвольных данных. Очень важно отметить, что эти регистры нельзя ни сбросить, ни установить в нужное значение, а только дополнить новой SHA- 1- суммой, от которой сам TPM возьмет новую SHA- 1- сумму от конкатенации старого и нового значения. Проще говоря, TPM выполняет следующую команду, если вы отправляете в PCR NEW. Чтобы производить измерения после MBR, существуют загрузчики, поддерживающие TPM и осуществляющие доверенную загрузку со статичным корнем доверия: Trusted. GRUB, Trusted. GRUB2, GRUB- IMA. Последний используется в System ES1. Эти загрузчики отправляют в TPM хеши самих себя (stage. GRUB), свои настройки и загружаемые модули (ядро, командную строку ядра и initrd, в случае Linux). TPM может зашифровать произвольные данные RSA- ключом с привязкой к значениям PCR, и расшифровать их можно будет только в том случае, если значения PCR совпадут. Если мы зашифруем таким образом данные, то, в случае модификации BIOS/UEFI, загрузчика, модулей GRUB, ядра, initrd или всего лишь командной строки ядра, данные не расшифруются из- за несовпадения регистров. Из популярного софта TPM используется, насколько мне известно, только в Microsoft Bit. Locker. TPM можно использовать в качестве хранилища сертификатов для всяких банк- клиентов, VPN и SSH- доступа, и очень обидно, что его использует так мало людей, единицы, учитывая его стоимость (. Производитель, перед отправкой автомата покупателю, запускает процесс зашифровки данных на автомате, и после этого диск с игрой будет запускаться только на той аркаде, где ее запустили первоначально. Для шифрования используется AES- 2. CBC- режиме средствами крайне простого и ныне усопшего loop- AES — модуля ядра для шифрования произвольных данных на блочных устройствах. Также имеется шифрованный LUKS- раздел на диске, в котором хранится копия данных игры вместе с обновлениями, сохранениями и другими данными. Вторая степень защиты — защита HDD. Почему же игра не запускается после копирования диска? Быть может, производитель написал свою прошивку для контроллера диска, которая стирает данные при обращении к какому- то сектору, которое происходит при посекторном копировании диска, но никогда не происходит при обычном использовании диска игрой и ОС? Зная Namco, они могли пойти на такой шаг, ведь у них есть средства, специалисты и время на создание аппаратов, основанных на Play. Station 2 (System 2. System 3. 57). Но нет, все просто и по- злому гениально: в MBR диска в поле Disk Signature указаны нули. Как только вы подключаете этот диск к компьютеру под управлением ОС Windows, она обнаруживает нули, ей это не нравится, ведь Windows использует Disk Signature в качестве уникального идентификатора диска, генерирует случайный и по- тихому записывает его на диск. Материнская плата аппарата, во время загрузки игры, считывает MBR и отправляет его хеш в TPM. Когда дело доходит до расшифровки данных, TPM PCR не совпадают, данные не могут расшифроваться и игра не запускается. Сделано это было явно намеренно — все утилиты для управления разделами в Linux генерируют случайный Disk Signature, а не нули. Точнее сказать, не используется, а только проверяется его наличие, и эта проверка обходится буквально одним патчем, либо вообще отключается в конфигурационном файле. Глупо, расточительно и вообще непонятно, зачем он нужен. Из примечательного: пароль на BIOS и GRUB, который можно получить перебором — 0. Варианты атаки. Итак, у нас имеется: Образ диска, который больше не запускается. Наша задача — восстановить неработоспособные машины, диски которых вышли из строя. Для этого нам нужно заполучить зашифрованные данные игры в незашифрованном виде с работоспособных аппаратов, для чего необходимо каким- то образом сначала получить ключ шифрования. Эксплоит через USB- устройство. Используемое в автомате ядро версии 2. USB- устройств. В первом из них, драйвере Vo. IP PBX Auerswald, можно проэксплуатировать переполнение буфера в имени устройства. К сожалению, переполнение буфера не на стеке, и переполнить его мы можем всего на 2. Осуществляться она может двумя способами: запуском небольшой программы- дампера с USB- флешки (например, msramdmp) или HDD сразу после перезагрузки, или замораживанием и выниманием памяти с сохранением ее содержимого на другом компьютере все тем же дампером. Первый способ не сработает из- за соответствия материнской платой спецификации Trusted Computing Group, которая предписывает выполнять очистку памяти при загрузке, и дампер сохранит уже очищенную память, в которой, конечно же, уже не будет никаких ключей. Атака прямым доступом к памяти (Direct Memory Access) основывается на выполнении запросов к блоку управления памятью через шину, устройство или стандарт, которые позволяют такой доступ. Существуют коммерческие платы, специально предназначенные для выполнения DMA- атак, также есть платы с контроллером USB 3. USB3. 38. 0 (SLOTSCREAMER), который, по чистой случайности, умеет генерировать и посылать PCI- пакеты на шину, с некоторыми ограничениями, но для DMA- запросов этого достаточно. Самый простой и доступный способ — стандарт Firewire (IEEE 1. ОС. К счастью, в нашем автомате разработчики не заблокировали драйвер Firewire SBP2, который и позволяет прямой доступ к памяти, а это значит, что достаточно вставить Firewire- плату в свободный слот PCI или PCI- e, соединить ее с картой в вашем компьютере и сохранить RAM используя, например, Inception. Им и воспользуемся! Расшифровка данных. Получить данные памяти еще полдела, нужно найти в них ключ AES и расшифровать файл игры. Для первой задачи умные люди из Принстонского университета написали утилиту aeskeyfind, которая побайтно проходит по всему образу, принимая случайные данные в оперативной памяти за AES- ключ, и пробует найти недалеко от него временные ключи, получаемые из основного и используемые в AES- раундах (так называемое расписание ключей, key schedule). Если мы нашли что- то похожее в памяти — отлично, у нас появился кандидат на правильный ключ шифрования! Должно получиться что- то подобное: p. K Jun 2. 7 1. 9: 0. Если на нем есть файл *. INITIALIZED, чтобы игра обновила сама себя, иначе вы получите устаревшую версию. Подключаем диск в System ES1, включаем автомат и наблюдаем, как игра сама себя зашифровывает и копирует файлы на LUKS- раздел! Ура! Реальная история: Была очень печальная история, году в 2. Nirin высыпался, и с другого аппарата техник снял, чтобы сделать копию на Винде с помощью Акрониса. Копию делает, сообщает, что все ОК. Но диск, с которого пытались сделать копию, потом, при подключении назад, показывает синий экран смерти и табличку, что у вас проблемы с диском. Упрямый парень на этом не остановился и полез в третий аппарат. Но ничего не страшит нашего человека — он позвонил своему коллеге в другой город и попросил ему почтой отправить диск с Нирина. Уехали все 4 системника в Лондон (Европейское представительство Намко), и все за счет парня, который думал, что упрямство победит! Почти 8. 00. 0 евро за все обошлось (ремонт и туда- обратно логистика). Что делать, если вы настолько же упрямый, и у вас не осталось работоспособных аппаратов? Достаточно вернуть нули в поле идентификатора диска в MBR, т. В Linux это делается одной командой: # sudo dd if=/dev/zero of=/dev/sd. X bs=1 count=4 seek=4. А в Windows можете использовать, например, Win. Hex. Конечно, для большей защиты следовало включить IOMMU, чтобы DMA- атаки были (почти) невозможны, а ключи шифрования хранить в debug- регистрах процессора, а не в оперативной памяти, но, все же считаю защиту Namco System ES1, как минимум, интересной, ее было нескучно исследовать и взламывать.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
January 2017
Categories |