Страница 1 из 2
Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 27 мар 2005, 00:09
Demeny
Есть такая вот идея.
1. Не секрет, что современные персональные компьютеры на базе архитектуры Intel являются привлекательной аппаратной средой для производителей и разработчиков новых игровых аппаратов с денежным выигрышем, вследствие мощной графической подсистемы, открытой документированной архитектуры интерфейсов и шин, огромным количеством сред программирования и специалистов-программистов, способных в обозримые сроки создать конкурентоспособный продукт в виде нового игрового автомата.
2. Однако те же самые причины порождают такие губительные эффекты, как
а) нелегальное копирование программного обеспечения с целью продажи копий;
б) взлом и модификация игровой программы сторонними лицами с целью получения псевдо-выигрыша;
в) воздействие на финансовые электронные счётчики со стороны персонала игрового зала.
3. В связи с этим производителю приходится идти на программные ухищрения, привязку программы к аппаратуре, аппаратные ключи, шифрование зоны счётчиков и прочее прочее.... Заметим, что всегда есть часть людей - сотрудников фирмы-производителя, которые владеют исходными текстами той или иной части проекта, алгоритмами шифрования, ключами и т п , которые могут использовать эту информацию в корыстных целях. Поэтому необходимо заботиться о сохранности и неутечке информации.
4. Работу любой игровой программы можно разделить на две составляющие - а)собственно математика - генерация комбинаций, таблица выигрышей, ведение счётчиков, истории игры и т п б)шоу - графика, анимация, звук, а также сбор информации с кнопок, тачскрина, сетевые дела, ну и билл акцептор, ключи. Ясно, что графическая составляющая есть самая ресурсоёмкая, а собственно математика может быть реализована даже в микроконтроллере.
5. Собственно ИДЕЯ заключается вот в чём. Необходимо сделать воздействие на счётчики, программу принципиально невозможным извне. То есть разрабатывается и создаётся для открытой архитектуры некий отдельный модуль (чёрный ящик) с удобным интерфейсом с внешним миром - этакий аналог SIM-карты из GSM. В этот модуль входит собственно математика игры (генерация комбинаций), подсчёт выигрыша и ведение счётчиков. Всё это происходит в одном модуле, залитом компаундом, условно говоря, вмешаться в его работу, не сломав его - невозможно. Общение с ним происходит по вполне определённому протоколу, который даже необязательно секретить. Например, так. Основная программа работает на компьютере в обычном режиме, когда нажата кнопка SPIN, она посылает запрос в модуль, модуль генерирует определённую комбинацию и высылает её основной программе, которая просто устраивает шоу - графика, звук, создаёт иллюзию, что барабаны случайно остановились на комбинации, выданной модулем. Счётчики из модуля можно только ПРОЧИТАТЬ или ОБНУЛИТЬ, изменить произвольно извне их невозможно. Также невозможно считать или модифицировать программу в модуле.
??? Вот такая ИДЕЯ. Я готов взяться за её реализацию на базе любой заинтересованной фирмы-производителя, потому что одному такой проект не реализовать.
;) Интересно услышать отзывы заинтересованных лиц и фирм.
Мой e-mail
demeny@yandex.ru
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 27 мар 2005, 08:45
Владимир из Академии
Идея хорошая, но при открытом протоколе передачи данных никто не помешает заменить модуль на "свой", а потом вернуть на место оригинальный
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 27 мар 2005, 11:10
Demeny
В том то всё и дело, что менять модуль на свой становится бессмысленным и вот почему. Человек с улицы это сделать не сможет, у него нет физического доступа внутрь аппарата, даже если есть собственно сам модуль. Значит, это сделано персоналом или по договорённости с ним. Персонал зала несёт материальную ответственность за выручку. Допустим, они заменили настоящий модуль на поддельный, который сплошь сыплет выигрышами, наиграли 50000 рублей, условно говоря и забрали деньги. Чтобы баланс сошёлся в конце смены, необходимо, чтобы в счётчик OUT записалось 50000 рублей. При возврате подлинного модуля на место счётчики вернутся в нём в те же значения, что и при извлечении, никаких 50000 в них НЕТ. Воздействовать на них может только игровая программа, записанная внутри ДАННОГО модуля. По интерфейсу счётчики можно лишь прочитать. В конце смены просто возникнет недостача 50000, которая и будет удержана с дежурной смены. Но с таким же "успехом" можно было и просто руку в кассу запустить........
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 28 мар 2005, 09:13
Владимир из Академии
Беда в том, что автоматы не только покупаются в собственность, но и берутся в аренду под процент от оборота...
Допустим, они заменили настоящий модуль на поддельный, который сплошь сыплет выигрышами, наиграли 50000 рублей, условно говоря и забрали деньги. Чтобы баланс сошёлся в конце смены, необходимо, чтобы в счётчик OUT записалось 50000 рублей. При возврате подлинного модуля на место счётчики вернутся в нём в те же значения, что и при извлечении, никаких 50000 в них НЕТ.
А сами игровые автоматы на базе компьютеро-подобных материнских плат развивают как минимум две фирмы Bally (см. АИТ 2.05 и АИТ 2.05т производства Уникум) и Ainsworth (Ambassador и Celebrity).
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 28 мар 2005, 11:24
Kontra
Demeny
по пункту 2 все недостатки выдраны для монокристаллок. абсолютно.
лекарства простые: ставь Linux аппаратный ключ (куча процов до которых ну никак не добрацца) и в контроллере периферии - ПЛИС - и пусть попробуют хакнуть.
И на привязку не приходится идти, а надо идти.
И вообще весь этот чёс уже давно выкакан. Есть софт компании Octavian - лишённый всех перечисленных недостатков. там тебе и аппаратный ключ и плис в контроллере периферии.
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 28 мар 2005, 14:18
billacceptor
Как уже было сказано, ничего нового ты не открыл! Все это уже давно реализованно и применяется давно в ИА, яркий пример Bally EVO.
Кстати вопрос на засыпку комуто удавалось скопировать диск на Bally EVO? Что там за защита применяется?
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 28 мар 2005, 14:22
AntiHacker
Хочу добавить, что зачастую защиты хорошие,
а игры глючные ;D
надо искать компромис
А с арендоваными ИА надо лучше и внимательнее !!!
опечатывать и тогда проблем не будет ;)
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 28 мар 2005, 17:14
Demeny
Kontra писал(а):
Demeny
по пункту 2 все недостатки выдраны для монокристаллок. абсолютно.
лекарства простые: ставь Linux аппаратный ключ (куча процов до которых ну никак не добрацца) и в контроллере периферии - ПЛИС - и пусть попробуют хакнуть.
И на привязку не приходится идти, а надо идти.
И вообще весь этот чёс уже давно выкакан. Есть софт компании Octavian - лишённый всех перечисленных недостатков. там тебе и аппаратный ключ и плис в контроллере периферии.
Я знаком с программным обеспечением Octavian, в том числе и с контроллером периферии, поставляемым вместе с софтом - никакими ПЛИС там не пахнет и в помине - собрано на логике типа 74LS и даже К155 :). Но это не имеет отношения к защите софта и счётчиков никакого - причём здесь кнопки, лампочки и ключи ?
Откуда такая уверенность по поводу Linux ??? Аппаратный ключ делает бессмысленным дублирование флэш-модулей, но он никак не спасает от вмешательства в софт ! Известно, что Linux - операционка с открытым исходным текстом ядра. Что мешает перекомпилировать ядро так, чтобы генератор случайных чисел выдавал только удобные мне значения в известной только мне последовательности ? ROOT-пароль здесь не спасает (почему - тема не для открытого форума).
Если Вы , Kontra, имели дело с софтом Octavian, то Вам должно быть известно, что в комплект поставки входят два модуля - один с программным обеспечением, в другом хранится база данных автомата, в том числе и счётчики. Можно ли воздействовать на них помимо программы? Вероятно, можно. Можно ли получить произвольный доступ к файловой системе Linux без пароля ROOT ? Тоже можно ? И где хвалёная защита? ???
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 28 мар 2005, 17:37
Demeny
хых писал(а):
Хых, дык есть уже такое. Зайди в "Планету Удачи" и попроси систему из серии "АГС". Только там хитрее сделано, там апаратная шифрация по AES-128 , а апаратный криптомодуль втроен в проц. т.е. данные расшифровываются перед выполнением, а потом снова шифруются. Всё это сделано на ядре C5P.
Флэшки с играми можешь копировать хоть до позеленения, там все зашифровано. Можешь перехватывать как угодно, но всё в кристале проца.
Вы невнимательно читали моё первое сообщение. Конечно, если создать СПЕЦИАЛИЗИРОВАННУЮ файловую систему, криптование кода "на лету", процессор с особыми инструкциями, то вероятность взлома сильно снижается. Но каковы при этом затраты умственно-денежные и временнЫе на разработку всего этого "Добра"???
При этом человек, купивший себе или скопировавший отладочные утилиты (специализированные, для разработчиков) всё равно потенциально опасен.
----------------------
А речь вообще-то шла об стандартных "ПиСишках" на платформе "Intel". Частоты под 2 ГГц, суперграфика - за 200-300 долларов на аппаратную часть, мечта производителя и разработчика !!! Но без внятных мер защиты есть армия программистов, готовых вникнуть и разобраться на ДОМАШНЕМ компьютере, как сделать так, чтобы жить на Канарах.... ;D
СУТЬ, ЗЕРНО этой идеи заключается в объединении принципиальных математических вычислений и финансовых счётчиков и транзакций в одном модуле так, чтобы вмешаться в работу программы или нелегально изменить счётчики не мог даже разработчик игры. Внешний интерфейс данного модуля предполагает только высокоуровневые команды типа "сгенерировать очередной закрут" или " считать счётчики", "поставить N кредитов", "снять N кредитов" и т д
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 28 мар 2005, 23:12
Inf
Оператор вполне может между модулем и всем остальным посадить еще один модуль, свой. Протокол то по вашему не засекреченый. Так что можно, к примеру, на половине всех выигрышей, когда оригинальный модуль говорит "игре" (а на самом деле нашему "хакерскому" модулю) дать столько-то кредитов, мы говорим игре не давать ничего. Дельту кредитов храним в EEPROM на "хакерском" модуле. В конце смены дельту забираем, и никто ничего не видит. Разработка такого модуля, при открытом протоколе, будет доступна любому человеку, хоть что нибудь понимающему в этих делах, совсем не обязательно искать "крутых" кодеров или железячников.
Тепер пусть кто нибудь скажет в чем я не прав, и нафиг нужна такая "защита"
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 28 мар 2005, 23:24
AntiHacker
Всё что сделано одним человеком,
может быть сделано другим !!! ДОКАЗАНО !!!
Пишите программы проще, а защищайте лучьше ;)
(Надо железо делать одноразовое дешево и заливать его
в пласмасу что-б одни провода торчали) ;)
сгорело - выбрасывай
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 29 мар 2005, 00:21
Demeny
Inf писал(а):
Оператор вполне может между модулем и всем остальным посадить еще один модуль, свой. Протокол то по вашему не засекреченый. Так что можно, к примеру, на половине всех выигрышей, когда оригинальный модуль говорит "игре" (а на самом деле нашему "хакерскому" модулю) дать столько-то кредитов, мы говорим игре не давать ничего. Дельту кредитов храним в EEPROM на "хакерском" модуле. В конце смены дельту забираем, и никто ничего не видит. Разработка такого модуля, при открытом протоколе, будет доступна любому человеку, хоть что нибудь понимающему в этих делах, совсем не обязательно искать "крутых" кодеров или железячников.
Тепер пусть кто нибудь скажет в чем я не прав, и нафиг нужна такая "защита"
Если речь идёт о незасекреченном протоколе обмена, это совсем не означает что речь идёт о примитивном протоколе. Есть МАССА способов удостовериться при обмене данными, что отправитель именно тот, за кого он себя выдает, даже при этом не шифруя посылку данных.
Ну, например, первое, что приходит в голову, не новое, не мной изобретённое и используемое, наверное, практически в любых обменах данными, представляющими собой ценность - ЦИФРОВАЯ ПОДПИСЬ.
Попробуем спроектировать намётки протокола .....
Модуль передаёт посылку данных, сопровождая её 64-битным полем, являющимся результатом сложной односторонней хэш-функции от всего содержимого посылки и ещё некоего 64-битного ключа, известного лишь Модулю и Основной Программе. Это может быть оригинальная хэш-функция, или стандартная, например MD5-сумма (не ловите на слове - не помню на память разрядность выхода MD5-суммы.... ??? ). Заметим, что фирма-разработчик знает функцию, но не знает 64-битного ключа, участвующего в цифровой подписи, поэтому даже сотрудники фирмы-разработчика, даже самые осведомлённые, не смогут перехватить и подделать протокол !!!
Осталось договориться, как модуль и программа получают одинаковые 64-битные ключи. Удобно сделать их динамическими - при первоначальной инициализации (обнулении), они синхронизируются открыто, далее меняются при каждой двусторонне подтверждённой транзакции. Потенциальный подменщик модуля может знать все алгоритмы, функции и т п, но он наверняка не знает точное количество транзакций, совершённых автоматом, оно нигде не хранится, просто меняется ключ одновременно и в модуле, и в программе.
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 29 мар 2005, 00:39
Inf
Вообщето, я под "не засекреченый" понял "не зашифрованый", признаю свою вину :-[
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 29 мар 2005, 09:16
undi
Я так понял, человек говорил о другом. Предлагалось сделать полностью самостоятельный игровой модуль с зарятаной в микроконтроллер игрой. Со своими интерфейсами клавиш, билов, татчем, бухгалтерией. И воткнуть все это дело, да хоть в PCI. А на самой PC - только графическо-звуковой движек и все. Пися никаких решений не принимает - только отображает. Можно свистнуть графику со звуком, но саму игру не вытащить. Разумный подход, может в будущем и займусь. Неприятно только то, что через какое-то время, какой нибудь засранец сляпает свой игровой контроллер под вашу графику и тогда уже с виду не отличить, чья это игра...
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 29 мар 2005, 14:27
Demeny
undi писал(а):
Я так понял, человек говорил о другом. Предлагалось сделать полностью самостоятельный игровой модуль с зарятаной в микроконтроллер игрой. Со своими интерфейсами клавиш, билов, татчем, бухгалтерией. И воткнуть все это дело, да хоть в PCI. А на самой PC - только графическо-звуковой движек и все. Пися никаких решений не принимает - только отображает. Можно свистнуть графику со звуком, но саму игру не вытащить. Разумный подход, может в будущем и займусь. Неприятно только то, что через какое-то время, какой нибудь засранец сляпает свой игровой контроллер под вашу графику и тогда уже с виду не отличить, чья это игра...
Спасибо, хоть один человек правильно вник в идею. Главное, что все принципиальные финансовые дела хранятся вместе с кодом, который ими манипулирует, и всё это доступно извне строго оговорённым набором операций. Поскольку всё это нересурсоёмкие вещи, логично сделать это на микроконтроллере и установить бит защиты.....
Остальное - детали. ::)
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 31 мар 2005, 07:41
Demeny
Кстати, сделав такой модуль, если он получится недорогим по себестоимости, можно продавать его с заряженными в него кредитами для любого игрока, чтобы он мог купить себе такой модуль, прийти домой, воткнуть его в комп и играть на реальные деньги у себя дома в спокойной обстановке за чашечкой кофе. Просто нужен оператор, который бы продавал такие модули, заряжал в них кредиты, выплачивал выигрыши и т п
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 31 мар 2005, 09:25
Grein
Поосторожней с такими предложениями, а то с реализацией их ты убьешь весь игорный бизнес на корню. Вот уж где будет почва для хакинга и для промышленного шпионажа :)
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 31 мар 2005, 09:39
Demeny
Не убью, а переведу его в более комфортное для игрока русло. Сейчас такое время, когда почти у каждого есть дома персоналка, и я знаю массу людей, которые просто боятся зайти в зал игровых автоматов, опасаясь, что при выигрыше начнутся заморочки разного вида.... :'(
И потом, в таком модуле можно предусмотреть бесплатную игру на условные кредиты, чтобы человек мог убедиться, что его не кидают, и что программу реально обыграть ;) ...иногда....
Что касается хакинга и промышленного шпионажа - читай тему выше - интерфейс в принципе не предполагает видоизменение информации внутри, пусть даже самим разработчиком. При попытке хакинга можно предусмотреть блокировку модуля ....... навечно ;D
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 31 мар 2005, 11:55
toweroff
При попытке хакинга можно предусмотреть блокировку модуля ....... навечно ;D
Кстати на эту тему. Искал в Keil (компилятор) по описаниям контроллер с двумя асинхронными портами и наткнулся на один интересный контроллер со входом, навевающим радость - Self Destruct Input
Нашел еще раз. DS5002FP. Кстати, имеет на борту собственный Encryption Block. Хороший контроллер с NVRAM на борту. То, что надо в данном случае. Единственное - ROMless
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 01 апр 2005, 11:37
Demeny
toweroff писал(а):
Кстати на эту тему. Искал в Keil (компилятор) по описаниям контроллер с двумя асинхронными портами и наткнулся на один интересный контроллер со входом, навевающим радость - Self Destruct Input
Self Destruct Input не очень подходит для нашей задачи. Блокировка модуля после попытки подбора MD5-суммы или перебора illegal command, должна быть не тотальная, чтобы можно было допустим извлечь всё же счётчики, логи какие-либо, History и т п
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 04 апр 2005, 08:43
Kontra
Demeny
вы дяденька видели контроллер версии 1
а есть уже версии 2
кто сказал что в этот Linux влезть можно? а если к примеру SSH нет?
я если я там бонбочку заложил, нука смени мне тогда длину любого файла!
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 04 апр 2005, 18:59
Demeny
Kontra писал(а):
Demeny
вы дяденька видели контроллер версии 1
а есть уже версии 2
кто сказал что в этот Linux влезть можно? а если к примеру SSH нет?
я если я там бонбочку заложил, нука смени мне тогда длину любого файла!
Я видел контроллеры Octavian - и первый и второй. Вторая версия тоже не содержит СБИС !!! Развинтите, посмотрите, убедитесь .... Но это к теме не имеет отношения.
Мне бы не хотелось, как я уже писал, обсуждать в открытом форуме тему взлома программного обеспечения по направлению "Как это сделать?". Мы можем это обсудить по майлу, если Вам это интересно.
Зачем менять длину файла - мне тоже не совсем понятно. При модификации файла длина меняется автоматически операционной системой, равно как и дата и время модификации.
Чего спорить - если Вы хотите убедиться в этой возможности - присылайте полный дамп с флэш-модуля 256 Мб (я надеюсь, Вы знаете, как это сделать). Я Вам вышлю модифицированный дамп, который Вы сможете опробовать и убедиться , что некоторые свойства игрушки поменялись.
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 08 апр 2005, 11:46
GameCreator
Demeny
... можно продавать его с заряженными в него кредитами для любого игрока, чтобы он мог купить себе такой модуль, прийти домой, воткнуть его в комп и играть на реальные деньги у себя дома в спокойной обстановке за чашечкой кофе. Просто нужен оператор, который бы продавал такие модули, заряжал в них кредиты, выплачивал выигрыши и т п
Да было уже, что то подобное не на РС правда, а на нечто напоминающем наладонник. Еще реклама шла году так в 91-93 кажется. Там типа тоже можно было менять карты.
И мы такое делали, НО, нормальный доход залу (обычно) делают люди составляющие единицы процентов игроков, все остальное это фон и гемморой владельцу. Ну дак вот выяснилось, что этим нормальным ИГРОКАМ нужно прежде всего не так много - получить удовольствие в первую очередь, а заработать бабла - не совсем важно. А под удовольствием можно понимать: показать всем, что он нае##л автомат, сорвал джекпот (деньги он всё равно проигает завта) и т.д. ,
но это не по данной теме. Т.е человек ходит в зал/казино и т.п. отдыхать, а заниматься отдыхом в домашней обстановке - жена, дети, тёща ..... - да лучше застрелиться!!! И по сему у нас эта идея провалилась, т.е. кроме геммора оператора - дополнительной отчетности, потери блоков, ... а еще и как это трактовать с т.з. законности, не получилось.
Может еще время не пришло.
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 08 апр 2005, 11:56
Demeny
haron писал(а):
Идея савсем не новая, года два примерно назад я носился с ней, был на Vilartе там меня немного обосрали, видимо начал бегать очень рано)) Фери Лэнд 2 скопировал по графике , только барабаны трехмерные забубенил, смотриться вобщем душевно.
Попробуй вариант (через жопу канешно) в PCI ную шину ваткни какой нить носитель (их как щебенки), и в счетчике пропиши что бы периодически общался с USB, а на USB не мудруствуя лукаво воткни какое нить гавнище типа SSL , ключ кароче, IToken вобщем))) вот и наступит у тебя полный парадайз))) Путь эту маленькую шнягу злые хакиры ломают))) вобщем типа Secret Diskа.
Вся проблема не в том что на PC реализовать а то как все это гавнище охлаждать и вентилировать, тут есть наработки, но пока они не горят..
Уважаемый Haron, Вы в тему не въехали, фишку не просекли. Речь не идёт о хард-ключе для защиты от копирования, их и в правду как щебёнки. Твоя идея ясна как день и стара как мир, программа периодически запрашивает авторизацию хард-кею, который считается, что скопировать нельзя. По этому пути пошли многие производители программного обеспечения ..... и просчитались.
Фишка вот в чём. Вкратце. Любой носитель информации для PC имеет файловую систему, обслуживаемую операционной системой. Даже если она криптована (есть и такие под Linux) - есть люди, которые знают алгоритмы и ключи. И значит потенциально могут воспользоваться своим знанием, либо продать его.
Основа идеи - помещение игровой программы и счётчиков (а также любой другой принципиальной информации) в отдельный модуль, который общается с миром на языке высокого уровня (см топик выше). Из арсенала IBM PC берётся собственно только крутые мультимедийные возможности, которые бессмысленно взламывать или копировать отдельно от математики игры.
Re:Security-модуль для ИА на базе открытой архитектуры PC
Добавлено: 08 апр 2005, 12:28
GameCreator
Уважаемый Demeny!!!
Если бы Вы хоть раз копировали/сдирали/e.t.c ;) автоматную игру, то должны были знать, что в подавляющем большинстве случаев для сдирания представляют как раз:
1. сюжет игры, как раскрученная марка (провальные игры не сдирают)
2. Собственно медиа - графика+звуки
а математика, она, за исключением ньюансов, и в африке математика - проверенно не однократно.
Ваша идея замечательно подходит для случаев не предотвращения копирования удачно-забойной игрухи, а для случаев хака, когда после воздействия на рабочую платформу нечистоплотный чел может сорвать бабок, например после секретного перестука кнопками.