Как взломать доказательство программы подачи данных - PullRequest
0 голосов
/ 31 января 2011

Я пишу систему отправки баллов для игр, в которой мне нужно убедиться, что отчеты на сервер не фальсифицированы (иначе взломаны).

Я знаю, что могу сохранить пароль или личный пароль в программе для аутентификации или шифрования запроса, но если программа декомпилирована, хитрый хакер может извлечь пароль / пароль и использовать его для фальсификации отчетов.

Существует ли идеальное решение?

Спасибо заранее.

Ответы [ 2 ]

2 голосов
/ 31 января 2011

Нет.Все, что вы можете сделать, это затруднить мошенникам.

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

Распространенные способы, с помощью которых такие системы обычно ломаются:

  • Захват, изменение и воспроизведение представленийна сервер
  • Изменение бинарного файла, чтобы разрешить мошенничество
  • Использование отладчика для изменения представления в памяти перед тем, как программа применяет сигнатуры / шифрование / что угодно

PunkbusterВот пример системы, которая пытается решить некоторые из этих проблем: http://en.wikipedia.org/wiki/PunkBuster

Также рассмотрим http://en.wikipedia.org/wiki/Cheating_in_online_games

Скорее всего, это слишком сложно для вашей игры.Если вы сократите открытый ключ в вашем двоичном файле и подпишите все, что у него осталось, то в плане безопасности вы, вероятно, значительно продвинетесь вперед.

* Извинения, на самом деле я не помню, как это официально называется.Я продолжаю думать «запуск проверки подлинности кода», но Google не предлагает ничего для этого термина.

1 голос
/ 01 февраля 2011

Есть одна вещь, которую вы можете сделать - записать все пользовательские входы и отправить их на сервер как часть представления.Затем сервер может воспроизвести входные данные через локальную копию игрового движка, чтобы определить счет.Очевидно, что это не подходит для всех типов игр, хотя.В зависимости от игры вам может потребоваться включить защиту от повторов.


Еще один метод, который может подойти для в некоторых типах игр, - это включить видеозапись высокой оценкииграть в рамках представления.Предоставьте ссылки на видео из таблицы рекордов, а также ссылку для сообщения о подозрительных записях.Это позволит вам обнаруживать читы с «толпой-источником» - если счет читера попадает в таблицу под номером 1, то у игроков, набравших 2–10 баллов, есть довольно большой стимул для проверки видео для вас.Если оценка сообщается достаточно раз, вы можете проверить видео самостоятельно и решить, следует ли его удалить (а пользователя забанят).

...