Какую безопасность можно добавить в апплеты Java? - PullRequest
7 голосов
/ 26 ноября 2009

При создании Java-апплета можно ли предпринять какие-либо шаги, чтобы пользователь не вызывал внутренние методы?

Теоретически большинство объектов могут быть проанализированы, а методы могут быть вызваны на клиентском компьютере.

Помимо обфускации, есть ли другие шаги, которые могут помочь предотвратить это?

Моя ситуация заключается в том, чтобы обеспечить безопасность игры, в которой наибольшее количество очков отправляется непосредственно от клиента.

1 Ответ

3 голосов
/ 26 ноября 2009

Если ваша игра слишком сложна, чтобы ее можно было автоматизировать и играть в нее ботом гораздо более плодотворно, чем любой человек, то было бы неплохо запрашивать состояние игры с сервера через определенные случайные интервалы. Вы могли бы реализовать CAPTCHA -подобный механизм, который бы вписался в историю игры и довел бы уровень Аутентификация Challenge-Response до небольшого теста Тьюринга, где игрок должен был бы время от времени «доказывайте», что он человек, решая определенную головоломку. Все это время вы проверяете эволюцию оценки и отклоняете любые значения, которые не соответствуют предварительно вычисленной формуле максимальной оценки за уровень или за единицу времени, учитывая текущее состояние системы. Я не эксперт по безопасности, но я думаю, что все это доставит потенциальному злоумышленнику довольно трудное время.

...