Безопасность сетевой игры: предотвращение читерства и т д..

Сеть в Unity3D

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение zhbanito 18 май 2011, 08:10

Нет, ну естественно можно заставить сервер и клиент обмениваться правильными пакетами. В том же Photone каждому полю пакета можно указать атрибут IsOptional, потом при заполнении пакета сервер сразу проверяет, есть ли поля, которые помечены, как обязательные (не опциональные) и мы вызовом одной функции сможем узнать валидный пакет или нет. Это ерунда, читерить просто заполняя все доступные поля пакета, что бы персонаж, согласно пакету, двигался во все стороны света и одновременно - глупо.

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

Теперь вернемся к вопросу простейшего протокола между клиентом и сервером. Да в простейшем случае, как говорится не раскрутишься. Когда же у тебя вариации из 100-200 различных возможных пакетов, тогда логику работы предсказать становится все труднее и труднее.

Ну нельзя говорить, что мы можем написать абсолютно безопасную ОС, но которая ничего не умеет делать и не делает. Это уже будет не ОС, а сферический конь в вакууме. Точно так же нельзя говорить, что если мы можем создать безопасный протокол из пакетов "Привет" и "Пока", то мы можем создать безопасный протокол из 256 вариантов пакетов. Сможем конечно, но создавать его будем лет 100 не меньше.
zhbanito
UNец
 
Сообщения: 33
Зарегистрирован: 01 дек 2010, 15:29

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение debuger1 18 май 2011, 12:28

Хоть 1 человек поддержал, а то такое чувство что кругом одни хакеры которые сломать могут все что угодно. Интересно сами то они хоть пробовали взломать хоть 1 серьезный проект? А то теоритически может каждый говорить, на практике только мало что получается.
Аватара пользователя
debuger1
UNец
 
Сообщения: 48
Зарегистрирован: 08 мар 2010, 19:05

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение mentors 18 май 2011, 13:01

debuger1 писал(а):Хоть 1 человек поддержал, а то такое чувство что кругом одни хакеры которые сломать могут все что угодно. Интересно сами то они хоть пробовали взломать хоть 1 серьезный проект? А то теоритически может каждый говорить, на практике только мало что получается.

Взламывал "Скорость Онлайн", Lineage (все взломы так называемые "Дружественные").
Больше, как-то не нужно было...
А уязвимость можно найти всегда и везде - было-бы желание...
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение debuger1 18 май 2011, 13:48

Да про l2 особенно ява серверы я вобще молчу рассадник багов. во первых много ПО существует для взлома и описаний.Про "Скорость Онлайн" 1 раз слышу что за игра. разве ява сервера l2 серьезный проект?
И что именно взламывал на уровне протокола? делал игровой валюты много или просто отсылал неправильные пакеты?

А ты попробуй разберись в протоколе игры на которую нет инфы в интернете, о построение её пакетного протокола.
И пакеты которой шифруются собственными алгоритмами. Попробуй разобрать это все сначала найти метод дешифрования потом уже понять построение самого протокола и что значит допустим такое в пакете(e1 b6 77 34 11)и за что отвечает каждый байт?

допустим вскроешь ты дизассемблером клиент, есть множество способов запутать дизассемблер. что приведет лишь куче не нужного хлама.
Аватара пользователя
debuger1
UNец
 
Сообщения: 48
Зарегистрирован: 08 мар 2010, 19:05

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение mentors 18 май 2011, 14:07

debuger1 писал(а):А ты попробуй разберись в протоколе игры на которую нет инфы в интернете, о построение её пакетного протокола.
Как раз "Скорость Онлайн". И кстати не обязательно дешифровать пакеты :) Зачастую достаточно получить последовательности пакетов отправляемые клиентом по определенному действию...
Ну да не в том смысл - главное научиться понимать архитектуру приложения, логику того, кто его писал и попробовать представить где он мог наделать дыр, остальное - дело техники...
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение zhbanito 18 май 2011, 14:27

debuger1 писал(а):Хоть 1 человек поддержал, а то такое чувство что кругом одни хакеры которые сломать могут все что угодно. Интересно сами то они хоть пробовали взломать хоть 1 серьезный проект? А то теоритически может каждый говорить, на практике только мало что получается.

Вы так и не можете/не хотите поверить, что если ваша игра кому-то насолит, то ее не взломают за считаные минуты?
Я писал бота для Ultima Online и для WoW. Да может протокол до меня уже расшифровали, но это всего-лишь дало мне дополнительную фору в пару месяцев, пока бы я это делал сам. В т.ч. для Ultima Online я делал действия, который можно расценить как читы.
Обиженный игрок страшное оружие. Куда хуже, если он еще смыслит в программировании, куда еще хуже, если Варез его профессиональная деятельность. А если у него есть друзья с подобной как у него философией, то считайте, что вы развязали полноценную войну.
zhbanito
UNец
 
Сообщения: 33
Зарегистрирован: 01 дек 2010, 15:29

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение Guyver 18 май 2011, 14:28

ой флееейм ... ой пора закрывааать ...
Xcombat: 3D шутер на летающих тарелках!
Аватара пользователя
Guyver
UNIверсал
 
Сообщения: 392
Зарегистрирован: 21 июл 2010, 08:04
Откуда: Челябинск

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение zhbanito 18 май 2011, 14:41

да я сути спора не могу понять. Человек утверждает, что можно написать идеальный невзламываемый протокол, а на практике все игры даже гиганты типа WOW все давно уже поломаны по 100 раз. Я же не спорю, что такой протокол нельзя написать, просто все нынче можно расшифровать и если среднему европейцу не хватает усидчивости, для того что бы это сделать, то есть китайцы, который всю свою жизнь пахали на рисовых полях и в усидчивости им не откажешь (чего только стоят китайские голд фармеры в WOW), ну или на крайняк команда мудрых европейцев, последователей Ади Шамира.
Идеальны в шифровании только квантовые компьютеры, потому что вмешиваясь в алгоритм их общения мы ломаем сообщение, ломаем безвозвратно. Все остальные алгоритмы это решения задачи о "двух генералах" методом усложнения передаваемого сообщения, что бы пока его расшифровали оно потеряло актуальность. Но сегодня в эру CUDA и глобальных сетей, можно построить суперкомпьютер не выходя из дома...

«Если спецслужбы обнаружат или скрытно внедрят в популярный микропроцессор алгоритм неправильного вычисления произведения только лишь одной пары чисел A и B (хотя бы в бите номер 0, то есть наименее значимом бите), то любой ключ в любой RSA-программе на любом из миллионов ПК с этим чипом может быть взломан с помощью единственного сообщения» — Ади Шамир
Т.е. сегодня мы даже на аппаратном уровне не защищены, что уж говорить про программный? А щас хрен вы прогоните интегральную схему по всем вариантам, пока вы будете это делать, она морально устареет и вы потеряете бабки, а элементы для них закупаются у такого количества контрагентов, что отследить ошибку еще сложнее... Большой брат следит за нами.
zhbanito
UNец
 
Сообщения: 33
Зарегистрирован: 01 дек 2010, 15:29

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение mentors 18 май 2011, 15:09

Guyver писал(а):ой флееейм ... ой пора закрывааать ...

:-? Я предлагал уже пару страниц назад :)
ИМХО: Извечный спор который может продолжаться веками... Что касается защиты - она работает только на уровне "От дурака". Если грамотный спец или еще хуже: группа спецов возьмутся за Ваш сервер, то как не защищайтесь, как не шифруйтесь - Вас взломают. Примеров защит масса, успешных реализаций взломов этих защит, по 2-3 на каждую (это минимум)... Хотите защитить проект, сделайте так, чтобы не было смысла ломать и читерить (баланс, увлекательность, умеренность в стоимости игровых благ и т.д. и т.п.)...
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение debuger1 18 май 2011, 15:25

Вот упертые ппц. Читы,баги - это ошибки создаваемые человеком. Если они есть это ошибка программиста, либо самой технической архитектуры компьютера. То есть если откинуть ошибку человека в сторону. будет идеальная система без взломов и багов(но это пока теория). А что на практике? выше люди просто упорствуют глядя на чужие проекты, либо свои ошибки и сколько они их допускают.
Но не от этого надо исходить. А от поиска в себе этой ошибки. Чем больше человек делает ошибок тем больше учится. Тем более что компьютерные технологии можно сказать еще очень молоды и по этому так стремительно развиваются, не учитывая большинство сделанных ошибок. Но когда пределы развития переходят в упадок, начинается борьба за качество. И именно за борьбу с ошибками.
Это не мои слова. Это доказано во многих сферах деятельности человека.

Человеку свойственно ошибаться глупо упорствовать.
Аватара пользователя
debuger1
UNец
 
Сообщения: 48
Зарегистрирован: 08 мар 2010, 19:05

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение zhbanito 18 май 2011, 15:52

Но вы никогда не устраните человеческую ошибку на 100%, вы же не сможете проконтролировать все производство своего продукта, аж с момента добычи руды для плат? :)
Толку создавать идеальную систему и вбухивать в нее столько сил и времени, если она все-равно идеальна только на 99,(9)% (в лучшем случае). И все ваши трудозатраты будут сметены через пару дней/месяцев из-за вот этого 0,(0)1%. Вы защитите систему от дурака, если появятся дураки умнее, защитите от них и т.д. Но при этом сделайте так, что бы один умный дурак, поковырявшись в вашей программе не нагадил тысяче других менее умных дураков, которые несут вам прибыль... Покарайте его показательно, залатайте стену 2мя слоями бетона, погладьте по головке "хороших ребят" и продолжите стричь профит.

Давайте возьмем шахты, уголь добывают уже как минимум 300 лет в России, уже в космос летаем, а шахты угольные обваливаются. Или вот нефть, свидетельства ее добычи и использования находят на берегах Ефрата (6000 лет до н.э.), но ведь рванула вышка BP и наделала кучу проблем и не помогли им инновационные разработки и защиты от протеканий. А вот самый яркий пример: люди воюют с самого своего рождения, но пока что на каждый вундерваффе находится вундершилд. Тут вопрос не в молодости индустрии, а в принципах работы человечества.
zhbanito
UNец
 
Сообщения: 33
Зарегистрирован: 01 дек 2010, 15:29

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение zhbanito 18 май 2011, 16:02

Пока развитие программирования идет в ту сторону, когда главное выпустить работающий продукт, выловить исключение, вывести программу после исключения в штатный режим, а потом уже попутно исправлять ошибки, приводящие к исключению, если они критичны. Т.е. пользователь выйдет на непредсказуемый результат, если выполнит непредсказуемые действия. В подавляющем случае так поступают только злоумышленники, а поэтому эти ошибки можно вообще даже игнорировать...
А представьте какие программы будут через 50 лет? Голографические мониторы, ментальные контроллеры, красивые разъемы на шее, как у Нео. Попробуйте отследить там все возможные вариации результата работы программы? Я думаю что развитие идет в сторону, когда ерундовые ошибки будут скорее игнорироваться (как в эрланге "let it crash").
zhbanito
UNец
 
Сообщения: 33
Зарегистрирован: 01 дек 2010, 15:29

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение mentors 18 май 2011, 16:03

:-?
Весь мир - бардак, все девки - шлюхи, а солнце - гребаный фонарь...
Если бы это утверждение не соответствовало истине хоть на 1%, то мы могли-бы писать на 100% защищенный код...

С каждым постом, данная дискуссия все дальше удаляется от первоначальной темы и уходит в область абстрактного обсуждения и философствования... На следующей странице привяжем архитектуру сервера к религии, а собственные утверждения о защите от взлома и читов в догму...
(popcorn1) (popcorn)
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение debuger1 18 май 2011, 16:05

ты понимаешь различие между ошибкой и халатностью?
Аватара пользователя
debuger1
UNец
 
Сообщения: 48
Зарегистрирован: 08 мар 2010, 19:05

Re: Безопасность сетевой игры: предотвращение читерства и т д..

Сообщение mentors 18 май 2011, 16:11

(popcorn) (popcorn1)
debuger1 писал(а):ты понимаешь различие между ошибкой и халатностью?

Правильно мыслите, а еще давайте НКВД восстановим - пусть за халатными программистами следит...
Аватара пользователя
mentors
UNITрон
 
Сообщения: 309
Зарегистрирован: 20 мар 2011, 19:32
Откуда: Россия

Пред.След.

Вернуться в Сеть

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4