Pull to refresh

Comments 174

точность будет составлять 2 в степени 64
Это как понять?

И еще вопрос, «мы» — это кто? Вы какая-то компания?
2 в 64 — это 18446744073709551616, данное число представляет собой минимальное количество вариантов идентификатора (в случае, если мы ограничимся 64-мя признаками, можем и 128 если надо будет).
Мы — это я и мой напарник, нас двое. Нет, мы не представляем никакую организацию — пока что.
Смена мыши, смена чувствительности мыши, смена покрытия под мышью, эластичный бинт на запястье — всё это до неузнаваимости может изменить «почерк».
Кроме того представим гипотетически что у Васи «мышиный почерк» такой-же как у Пети. Забанили Васю — автоматом забанили Петю, а потом докажи что ты не верблюд )
«Смена ручки на карандаш, эластичный бинт и т.д. — и почерковедческая экспертиза ничего не докажет» — это неверно. Разумеется, мы проверяем исследуемые параметры на стабильность.
Гипотеическая вероятность совпадения почерков у двух человек составляет 0.0000000000000000000271. Если уж такое случится — значит, Вася и Петя фантастически невезучие люди.
У меня на одной квартире одна мышь и ковёр, а дома другой набор. И что, за игру со второго рабочего места меня забанят?
Или купил домой новый комплект и всё, прощай аккаунт?
Дал поиграть аккаунт другу/брату/ребёнку — бан?
Ерунда какая-то.
Мы проверяем каждый параметр в каждом признаке не только на стабильность, но и на независимость от контроллера (и не только от контроллера, кстати), так что новая мышь или коврик ничем не грозят.
Дал поиграть другому — пусть заводит себе свой аккаунт. Дал поиграть под своим аккаунтом — бан, и это прописано в большинстве лиц. соглашений к играм. Дал поиграть читеру — бан цифровой копии игры.
Отнюдь, просто я остро негативно отношусь к читерам и хочу от них избавиться.
Вообще везде или только в одной своей любимой игре?
В идеале везде, а начинать надо с чего-то одного.
Привязать стимовский акк к цифровому почерку — апофеоз. Читернул где-то и нет тебе больше стима.
Ведь в любом лиц. соглашении прописан запрет на читы, и каждый читер его нарушает. Не говоря уже о том, что они портят игру адекватным людям.
Про «эксплоринг» не слышали? Иногда говорят «Запределье».
Погуглил, почитал, связи не увидел.
Это тоже, как бы «читы», обман и всё такое, за это тоже банят (но не все и не всегда).
Это проход в неоткрытые части игрового мира, каким образом это даст «неоспоримое преимущество»? Да и не мое это дело — такие вопросы решать, у меня сейчас несколько иная задача.
О, там такого можно наворотить… Стоя на пригорке, недоступном нормальным способом фармить мобов и лут, например.
как говорил один мой знакомый админ игрового сервера — главное чтоб не пострадали обычные игроки.
где гарантия полного отсутствия ложных срабатываний?
Где вы видели хоть какой‐то биометрический метод без ложных срабатываний? Логично просто ограничить его применение и дополнить другими метриками: к примеру, только для новых аккаунтов опытных (судя по поведению) пользователей. И, разумеется, молчать о том, как метод был ограничен и чем дополнен.
Отпечатки пальцев — биометрический метод идентификации, в котором ложное «срабатывание» может быть разве что обусловлено человеческим фактором. В нашем случае этот фактор отсутствует. Разумеется, я понимаю, что методы принципиально разные, но Вы просили пример — пожалуйста. Опять-таки, динамический стереотип придуман не на пустом месте.
Предложенная идея об ограничении исключает саму защиту от читерства, т.к. при переводе игрока в категорию «проверенных» он может спокойно читерить, уже ничего не опасаясь.
Что?! Почитайте habrahabr.ru/post/126144. Там есть все основные методы и краткий ликбез по ложным срабатываниям, он вам нужен. Очень.

Отпечатки пальцев по FAR/FRR являются далеко не рекордсменами. Если быть конкретным: то

1. Сканер отпечатков пальцев может просто не сработать, если температура тела достаточно далека от нормальной, влажность кожи достаточно далека, что‐то ещё (это ложноотрицательное срабатывание).
2. Повреждения пальцев меняют результаты сканирования.
3. Алгоритм преобразования отпечатка в код часто даёт одинаковый результат для двух людей (как часто — зависит от настроек: чем реже вы хотите получать одинаковый результат для двух людей, тем чаще вы будете получать разный результат на двух сканированиях одного человека: именно за этим в статье и есть таблица FAR/FRR).

Исходя из статьи получим, что для отпечатков пальцев вы в 0,001% случаев будете получать ложное срабатывание. Теперь возьмите число читеров в базе, умножьте на число пользователей и на FAR и получите при тысяче читеров и миллионе пользователей десять тысяч ложных срабатываний при однократной проверке всех пользователей (считаем, что в базе только читеры). И без всякого человеческого фактора.
Предложенная идея об ограничении исключает саму защиту от читерства, т.к. при переводе игрока в категорию «проверенных» он может спокойно читерить, уже ничего не опасаясь.
Гм. Откуда, по‐вашему, изначально берутся «отпечатки» читеров? Вы не опознаёте неизвестных читеров по отпечаткам их мыши. Опознав читера, вы сохраняете его отпечаток и далее баните его. Система нахождения новых читеров в статье не рассматривалась вообще, только предложение по бану уже известных.
Очень странно видеть такой комментарий от автора статьи.
Первые две из описанных Вами возможностей ложного срабатывания — результат получения неверных или неполных данных для обработки, а не результат неверного анализа этих данных. Третья же не подходит нам по той причине, что в ней работает алгоритм преобразования аналоговых данных в цифровые, что изначально может быть проблемой. Мы работаем с чисто цифровыми данными.

Идентификация по цифровому почерку вообще никак не связана с понятием читерства — это лишь система идентификации, и точка. Другое дело, что ее можно использовать для того, чтобы читера пришлось забанить один-единственный раз и забыть про него.
Вдобавок хочу уточнить: сама идея цифрового почерка родилась как развитие идеи о поиске читеров по той же системе — разница в том, что в качестве параметров используются статистические данные самого игрока (внутриигровые) и ряд внутриигровых же параметров, а «разделителями» выступают группы честных игроков и читеров, отобранных вручную.
Третья проблема происходит из‐за преобразования цифровых данных (полного отпечатка пальца) в цифровые (код этого отпечатка, полученный распознаванием характерных точек и их взаимных расположений), а не аналоговых в цифровые. При этом перед полным отпечатком пальцев ещё наверняка будут фильтры (шумы, резкость). Она вам как раз подходит, потому что цифровой почерк вы тоже преобразуете в некий код.

Так как код имеет конечное число вариантов, то любая «гарантия» уникальности на самом деле означает «максимальное число рождённых людей за всю историю вселенной не превышает данное число вариантов». Т.е. если вы говорите, что при длине кода 64 бита ложные срабатывания исключены, то это рушит все надежды человечества на широкое расселение по галактике: по некоторым подсчётам (приводить их не буду, так как от корректности методики подсчёта сама идея не изменяется) за всю историю Земли на ней уже родилось более 2³⁶ людей, население растёт, а каждый рождённый уменьшает количество «свободных» кодов. А звёзд‐то аж ~2³⁸.

(Хотя, на самом деле, вас гораздо раньше подведёт алгоритм преобразования исходных данных в код, как он успешно подводит все остальные биометрические методы, имеющие FAR≠0 (т.е. все).)
1) Простите, а что в Вашем понимании «полный отпечаток пальца»? В цифровом смысле, разумеется. Отпечаток пальца — заведомо аналоговые данные, и как бы Вы ни пытались его оцифровать, назвать эту оцифровку «полным отпечатком» нельзя.
2) Мы преобразуем цифровой почерк не в код, а в набор его численных параметров. Исследуя эти параметры и их соотношения, мы получаем вероятность принадлежности (или непринадлежности) данного образца к 64 признакам, т.е. 64 бинарных значения.
3) 64 — это количество признаков, которые мы исследуем на данный момент. Если игровые контроллеры как устройства еще будут существовать, когда число людей будет больше 2^64, мы просто увеличим число признаков до 256, например. 2^256 Вас устроит? Объем идентификатора будет в этом случае равен 32 байтам, думаю переживем.
4) Мы можем как угодно снизить FAR (до любого приемлемого значения), увеличивая количество признаков. И мы можем снижать FRR, используя тот же алгоритм, но уже не для идентификации, а для верификации.
1) «Полный отпечаток пальца» — картинка со сканера. Если вы считаете, что такое сравнение некорректно, покажите мне мышку, который может двигаться дискретно. Не мышку, которая шлёт дискретные цифровые сигналы, а такую, которая двигается дискретно.
2) 64 бинарных значения — это код. Если быть точным, то код — это то, что вы будете искать в базе данных с читером. Вы не можете обойтись без какого‐либо варианта кода.
3) Вы меня не поняли. У вас спросили гарантии, вы сказали, что они уже есть (или будут, когда вы доделаете работу). Возьмите мысленно двух людей из той эпохи, когда их будет 2⁶⁴ + 1 с совпадающим кодом и перенесите их в сегодняшний день. Гарантии внезапно исчезли. Если два человека могут иметь совпадающий код, то я не вижу препятствий к тому, чтобы они уже родились и ещё не умерли. Т.е. я не вижу, почему такие два человека должны родится строго после исчерпания «свободных» кодов.

Я не могу доказать, что FAR=0 является принципиально невозможным событием для определённого метода биометрической идентификации. Но реальность такова, что ни один из известных методов не имеет FAR=0 и я не вижу, почему ваш внезапно должен иметь. Скорее всего, дело либо в малой базе образцов, либо в том, что система обучена так, что на вашей базе образцов FAR равен нулю.
4) Если вы снижаете FAR, то он не равен нулю. Значит, как обычно, гарантии выглядят как «с вероятностью FAR * размер базы читеров нормальный пользователь не будет опознан как читер при следующем входе». Это уже нормальный предметный разговор. Только обычно при снижении FAR возрастает FRR, т.е. в данном случае система будет пропускать читеров.

Было бы гораздо лучше, если бы вы вставили таблицу FAR/FRR в статью. Тогда сразу стало бы понятно, нужно ли «ограничить его применение и дополнить другими метриками». И вообще отпал бы вопрос про гарантии у тех, кто понимает, что это такое (а тем, кто не понимает разъясняли бы не вы, а те, кто понимают).
1) Сравнение абсолютно корректно, просто в контексте обсуждения не имеет смысла. Перед нами не стоит проблема преобразования аналогового движения мыши в цифровые координаты — эту задачу за нас старательно решают производители мышей. Согласитесь — отсканировать отпечаток пальца так, чтобы всегда получать одну и ту же цифровую его версию очень сложно. Мы основываемся на том, что пользователь вне зависимости от своего желание каждый раз дает нам точную цифровую копию своего почерка.
2) 64 бинарных значения — это уникальный идентификатор, который мы получаем из данных кривой мыши, и который остается прежним при исследовании другой кривой того же пользователя. Или я Вас неправильно понял?
3) Нет, я Вас прекрасно понял. Это лишь вопрос вероятности, вот и все. Я не говорю, что двух человек с одинаковым почерком не может быть среди семи миллиардов. Я лишь говорю, что вероятность такого события пренебрежимо мала.
4) Нам не надо снижать FAR до нуля, нам надо снизить его до неких приемлемых значений. Опять-таки, никто не мешает нам оставить себе «право на ошибку». Ведь почерк будет часто проверяться во время игры, если мы получаем пробой по FAR или FRR, мы просто проводим идентификацию заново и задумываемся над результатом.
Я бы с огромной радостью вставил в статью хоть ссылку на работающую программу, но для ее запуска нам нужны данные статистики, которые мы никак не можем собрать — ну не верят люди, что это возможно, и все тут.
1) Движения мыши тоже не одинаковы. Вообще отпечатки и ваш почерк «на верхнем уровне» очень похожи: аналоговые данные → АЦП → алгоритм преобразования → код. (Собственно, как и любые другие биометрические методы.) Но спор здесь начался с того, что вы сказали, что отпечатки пальцев лишены ложных срабатываний, а затем, что ваш метод не подвержен ложным срабатываниям из‐за изначально цифровой природы отпечатков. Я стараюсь доказать, что ни у вашего метода, ни у отпечатков пальцев нет изначально цифровой природы. (Вопрос с ложными срабатываниями уже решён.) То, что производители сканеров решают задачу АЦ преобразования сами (и то не факт), а за вас решил её кто‐то ещё, ничего не значит.
2) Это вопрос терминологии. В комментариях то, что вы называли идентификатором, я называл кодом. Поэтому возникло некоторое непонимание.
3, 4) Эта вероятность уже означает отсутствие стопроцентных гарантий, с чего, собственно и начинался вопрос. Тут уже давно спорить не о чём: вы признали существование ложных срабатываний у своих методов, а оспорить вашу оценку будущих FAR/FRR я не могу, так как не занимаюсь подобными исследованиями.
Ок, возможно я неправильно понял с самого начала и был неправ. Однако суть всего спора в данном случае своится все к тому же «а докажите, что не будет FAR и FRR», и это странно. Даже с отпечатками пальцев может случиться подобное (не только при сканировании), и ведь в таком случае человека могут в тюрьму посадить, не то что в игрушке забанить — и никто ведь не отказывается на этом основании от их использования в криминалистике, как и от других методов биометрической идентификации. Никто не защищен от ошибок, надо лишь свести их к минимуму, а в этом обсуждении люди требуют гарантий их полного отсутствия, ведь наказание совершенно чудовищно — бан.
Я сам виноват, конечно, это все самонадеянное название статьи.
Вопрос изначально поднял не я. Я только намекнул 15432, что запрошенных гарантий быть не может, потом вы уже построили свой ответ на мой намёк таким образом, что мне стало понятно, что вы считаете, что такие гарантии есть даже у дактилоскопии. Дальше уже кучу комментариев мы выясняли, кто из нас не прав и в чём именно.
А на чём основано высказывание «Стопроцентная защита»? Где-то есть работы, формально доказывающие индивидуальность не почерка, но движения мыши?
www.cs.wm.edu/~hnw/paper/ccs11.pdf
На английском, но человеку с математическим образованием понять общие принципы не составит особого труда.
Посмотрите, как играют в Warsow или любой другой динамичный шутер даже средние игроки. Там динамика такая, что этот «почерк» вы ни в жисть не соберете. У профессиональных игроков практически в любом шутере динамика по сравнению с простыми смертными в разы выше, а паттерны примерно одинаковы.
Простите, Вы же не думаете, что я этот почерк вручную собираю? Поверьте, у современного компьютера динамика повыше, чем у любого игрока, как бы быстро он ни шевелил мышью — образец будет получен.
«Паттерны примерно одинаковы» — ключевое слово «примерно», и потом — это профессиональное мнение, насчет паттернов? У Вас есть какие-либо данные, подтверждающие эти слова? Наши исследования показывают прямо противоположное.
Главная проблема заключается в том, что администратор сервера, разработчик игры и системы противодействия (такие как Punkbuster) могут забанить лишь игровой аккаунт читера (или его цифровую копию игры), железо или IP. И все это можно с легкостью сменить или «подделать». В результате даже забаненный читер через очень короткий промежуток времени возвращается и продолжает пить кровь честным игрокам.

Вы исходите и ложных предпосылок. Если факт нечестной игры доказан, то бану, временному или постоянному, подвергается учётная запись пользователя, т.е. лицензионная копия игры. Если игроку настолько нужно играть, что ему не жалко денег — пускай покупает ещё раз и «очень короткий промежуток времени возвращается и продолжает пить кровь честным игрокам». Где его снова забанят, и он снова потеряет деньги.
Если же мы говорим о пиратских серверах, то, во-первых, непонятно, где тут честные игроки, а, во-вторых, непонятно, зачем разрабатывать какую-то систему защиты более честных пиратов от менее честных.
Простите за резкость, но Ваш комментарий представляет собой 2 нелепых утверждения — по той лишь причине, что Вы дважды путаете понятия.
1) «через очень короткий промежуток времени возвращается» и " очень короткий промежуток времени пьет кровь честным игрокам" — принципиально разные промежутки времени. Первый — промежуток между баном и входом в игру с новым аккаунтом, второй — время собственно игры. Мы сокращаем второй для читера до трех-пяти минут, в то время как существующие системы противодействия как правило не видят т.н. «приватки», читы по платной подписке. Это означает, что читера могут банить лишь на отдельных серверах, так что время, когда он пьет кровь, может быть очень продолжительным.
2) Вы путаете понятия пиратства и читерства. Я не копираст и пираты меня не интересуют, я борюсь лишь с читерами.
1)Как игрок зайдёт в игру? Он же забанен! Кто ему даст создать новый аккаунт бесплатно? Что за читы по платной подписке?
2)Нет, не путаю, а вот у вас с терминологией проблемы. Кто такие читеры? Люди, пользующиеся чит-кодами? Снифферами траффика? Ботами, стреляющими в голову? Ну так и написали бы, «Защита от ботов в шутерах», какие, к чертям, читеры?
Еще раз.
Читеры — игроки, использующие специально созданные или модифицированные программы в сетевых играх для получения неоспоримого преимущества над другими игроками. Бот в данном случае — лишь частный случай читерства (например т.н. aimbot). Такой вид чита как wallhack ботом не является по определению, оставаясь при этом читом. С терминологией у меня все в порядке, хотя, возможно, следовало указать, что речь идет лишь о сетевых играх. Мне казалось, что это и так очевидно.
На данный момент забанить можно лишь цифровую копию игры, как совсем (невозможность входа под этим аккаунтом в игру), так и частично (невозможность входа под этим аккаунтом на некоторые сервера — те, где игрок забанен администратором). Получив даже полный бан, читер покупает новую копию игры и продолжает — до нового бана. Сколько он будет играть — неизвестно, но может очень долго, если будет аккуратен. Предложенная нами система банит читера сразу при первой же попытке входа в игру даже с нового аккаунт (новой копии игры), и лишь в случае, когда авторизацию за него проходит кто-то другой, он сможет играть до первой внутриигровой идентификации, т.е. минуты три.
Простите, но Вы явно не в теме.
Получив даже полный бан, читер покупает новую копию игры и продолжает — до нового бана.

Мне, как разработчику игр, такое поведение прельстиво и любовно. Вот и не понимаю, зачем издателям и/или разработчикам с этим бороться.
Именно из-за такого отношения читерство процветает даже не как явление, а как индустрия. Наслаждайтесь об него, пока можете. Я пока не разработчик игр, а всего лишь игрок, представитель единственной «страдающей» стороны, и ваша позиция вызывает у меня острую негативную реакцию.
Когда ж вы уже перестанете все на бабло-то мерить? Пусть читерят, лишь бы бабло, оно ведь прельстиво и любовно, да?
Смотрите-ка, в течении дня мы узнали, что
1)Я путаю понятия;
2)Что я не в теме;
3)Что я злобный капиталист, которому плевать на страдания игроков, если деньги идут.
И всё это в контексте решения одной несуществующей проблемы нереализованными методами вопреки человеческой природе!
Самые сильные эмоции этого часа, очень захватывающе)
1) Вы смешали и перепутали понятия пиратства и читерства, и из этой предпосылки сделали заведомо нелепый вывод.
2) Вполне возможно, что в теме, просто у нас прямо противоположные позиции: вы как разработчик ненавидите пиратов и любите читеров (бабло ведь), а я не интересуюсь пиратами и в свою очередь ненавижу читачков (достали). Именно из-за этого (по всей видимости) я и наблюдаю здесь этот троллинг, который вы явно считаете тонким и изящным. Вынужден разочаровать — жыр уже потек.
3) Если бы тема называлась «Стопроцентная защита от пиратов», все было бы намного интереснее, правда?

Да, я делюсь своими наработками бесплатно на ряде профильных ресурсов (профильных для моей текущей профессии). Карма очень в плюсе, поверьте.
Почему вы так стараетесь перевести разговор на личности? Я указал на то, что:
1)Ваша система неспособна выявлять читеров изначально, т.е. работа разработчиков не упрощается.
2)Любой уважающий себя разработчик вводит систему контроля за читерами, и бана особо зарвавшихся. Это трудоёмко, но порядок поддерживать надо.
3)Ошибки второго рода для вашего алгоритма простительны. Первого — нанесут серьёзный репутационный ущерб разработчикам.
4)Последние двадцать лет существует хорошо работающая система бана цифровых копий игры. Игрок теряет весь прогресс, все достижения, саму игру. Всё, наказание равносильно преступлению. Хаммурапи был бы доволен. Но вами движет какая-то дикая мстительность, игрок должен быть забанен на всех возможных копиях! А если он у друга поиграет?
1) Уже писал, повторюсь: сама идея цифрового почерка родилась как развитие идеи о поиске читеров по той же системе — разница в том, что в качестве параметров используются статистические данные самого игрока (внутриигровые) и ряд внутриигровых же параметров, а «разделителями» выступают группы честных игроков и читеров, отобранных вручную. Упрощается.
2) В том-то и проблема, что банятся только «особо зарвавшиеся». А мне нужны все. И по возможности — чтобы было не так трудоемко.
3) Мы не будем включать эту систему в режим «один прокол в идентификации — все, сразу в бан». Зачем? Можно оставить себе право на ошибку, тем более что идентификации будут идти постоянно в процессе игры. Одна ложная на 99 верных — ок, мы спишем это на свою неидальность.
4) Хорошо работающая где? Покажите мне игру, шутер, где нет читаков. И я не Хаммурапи в конце концов, так что мной движет даже не дикая мстительность, а банальное желание создать ту самую хорошо работающую систему. Хорошо работающую не для вас, где читачок может поиграть недельку и опять занести вам бабла, а для игроков, где читачок не сможет поиграть вообще.
Если читачок поиграет у друга — другу придется покупать новую цифровую копию игры и подумать о своем алгоритме выбора друзей.
Вы гордо заявляете о том, что система бана читеров через некоторое время (а не сразу) прельстива и любовна, ибо выгодна. Однако вы можете сказать это лишь здесь, среди разработчиков, зато открыто заявить подобное в описании игры, например — нет, от такой игры все будут шарахаться. И в том же описании вы наверняка вставляете что-нибудь о непримиримой борьбе с читерством и т.д. — это же лицемерие, это омерзительно, не находите? Мы потому и не ищем инвестора, тащим сами — не хотим нарваться на «прельстивого и любовного».
Молодой человек, держите себя в руках. Никто вам не давал права незнакомого человека обвинять в лицемерии и алчности.
К счастью, от любой игры с системой защиты
Одна ложная на 99 верных — ок, мы спишем это на свою неидальность.

игроки будут бежать куда дальше, чем от любых эфемерных читаков. Так что, уверен, мы больше о вас никогда не услышим.
Я держу себя в руках вообще-то, а свою алчность вы и не скрывали. Лицемерие — лишь логическое продолжение.
Вы не поняли, что я хотел сказать. Если игрок в течении игровой сессии был опознал как владелец аккаунта 99 раз, а один раз — как неизвестный, мы не будем отправлять его в бан. Услышите.
Кстати, по опыту могу сказать, что лишение игрока всего «что нажито непосильным трудом» — достаточно хорошо работает в качестве сдерживающего фактора. Т.е. при бане учётной записи удаляются все игровые достижения/накопления без возможности восстановления. Прощение игрок получить может, но только прощение и возможность «начать жить с нуля».
Тогда почему читерство так процветат? Куда ни сунься — они есть везде, эти читачки, где-то больше, где-то меньше, но есть. Они же даже не скрываются, рекламируя себя на ютубе. Внаглую. Найти эти видео — вообще не проблема, введите в поиске ютуба «читы для» и полюбуйтесь на список — это только для русскоязычного запроса.
Это вопрос к психологам. Читерство — то же нарушение правил игры, что и нарушение правил общества — законов. Это было есть и будет, пока существует человечество. И вообще — это уже философия. :)
«Это было, есть и будет, поэтому я опускаю руки и не борюсь с этим» — вообще не моя философия. Это было, есть, но если постараться — этого не будет. Если знаешь, что делать. Как мне кажется — я знаю.
Зачем мне приписывать то, что я не говорил? Я нигде не утверждал, что я против борьбы с читерами. Я всего лишь высказался, что нарушать правила — это в природе человека. Так что пока мы не станем совершенно другими (причём — все) — ничего не поменяется.
Я, собственно, никому ничего не приписываю.
Ок, возьмем в качестве примера аппендицит. Когда-то люди от него умирали, и точка, и все руками разводили, ну было так, есть и будет. Потом нашлись люди, которые провели аппендектомию, отработали технологию, и теперь это рядовая операция. В развитых странах по крайней мере. И никто при этом другим не стал. Это технология, вот и все.
А, вы готовы поделиться своими наработками бесплатно? Делитесь, точно карма в плюсе будет.
Если игроку настолько нужно играть, что ему не жалко денег — пускай покупает ещё раз
Где его снова забанят, и он снова потеряет деньги.

Для модели Free2Play вариант не подходит.
А что если не банить «читеров», а заставлять играть только друг с другом, таким образом ставя игроков в одинаковые условия?
Более интересно при этом не сообщать таким игрокам о том что они попались, тогда они не сразу захотят создать новую учетную запись.
Мысль очень интересная. Мы думали для них отдельный сервер выделить и неснимаемую форму одежды — например, ярко-розовые блестящие лосины в обтяжку.
Мне кажется, вы сюда просто троллить пришли.
Смысл отдельного сервера для читеров есть только в случае, если они не знают о нём, иначе они будут искать способ играть на обычном сервере.
Когда туннелька начала сильно напрягать, сменил рабочую руку на левую. Теперь могу не задумываясь работать с мышью другой рукой, вне зависимости от кнопок и настроек. Подозреваю, что это изменило «почерк» до неузнаваемости. Другой пример — пользовался Apple Magic Mouse. Приятная штука, все в ней хорошо, кроме формы и тач поверхности, форма вынуждает сменить хват, а тач поверхность требует поднять часть руки, чтобы выполнить правое нажатие, иначе оно будет считаться левым. Уверен, что «почерк» с этим грызуном у меня был абсолютно не такой, как раньше, не говоря о кликах. Вернулся к привычному a4tech, но все-равно техника использования уже изменилась.
Ну и в конце-концов, на тему реального почерка и экспертизы. Я не уверен, но мне кажется, что по почерку можно отличить одного человека от другого или подтвердить, что два фрагмента написаны одним и тем же человеком, но вот идентифицировать так одного человека из N с 0% погрешности звучит как фантастика. Например, если сравнить почерка сотни тысяч врачей, неужели среди них не будет хоть пары такого сходства, что без дотошных исследований они будут неотличимы?
Туннельку же прооперировать можно…
— Вот уж эти хирурги — им сразу резать! Выпейте таблетку — само отвалится! (из анекдота).

Я боролся с этим недугом достаточно просто — завёл левую мышку, а правую заменил на трекбол. Вначале было жутко непривычно — даже по пошествии 2 лет точность левой не та, но все симптомы исчезли.
Да, вполне возможна ситуация, когда человек получит «вынужденное» изменение цифрового почерка по медицинским, например, показаниям. Однако максимум, что ему грозит в этом случае (если он не читерил) — необходимость создания нового аккаунта, под другую руку. Учитывая редкость подобных ситуаций, это можно будет решать с помощью техподдержки.
Стругацкие в произведении «Жук в муравейнике» вполне себе описали, что любая наказательная системе не застрахована от ошибок. Вы готовы нести финансовые расходы в случае возникновения ложных срабатываний?
Цитирую Бориса Натановича: «Всякое общество, создавшее внутри себя тайную полицию, неизбежно будет убивать (время от времени) ни в чем не повинных своих граждан, – как бы ни было совершенно это общество, и как бы высоконравственны и глубоко порядочны ни были сотрудники этой тайной полиции». Именно это является основной идеей «Жука в муравейнике», и где Вы там нашли наказательную систему, я так и не понял. Может перечитаете?
Да и с какой это стати Вы сравниваете систему противодействия читачкам с тайной полицией? Мы не собираемся быть тайными, мы будем выкладывать статистические отчеты с помпой и фанфарами.
Ответ на Ваш вопрос: да.
Посол Кош (в «Вавилоне-5») говорил «слушай музыку, а не песню». Вы слишком буквально воспринимаете текст произведения, абстрагируйтесь от тайной полиции. У вас есть некая система, которая, по ашим утверждениям, может однозначно и безошибочно идентифицировать человека (если совсем абстрактнее — игрока). И лично меня напрягает подобное безапелляционное утверждение, что ошибки быть не может. Даже для хешей типа sha-256/512 делают оговорку, что коллизии возможны, но пока неизвестны.
А вы знаете наказательную систему, в которой по определению нет ошибок и быть не может? Нет таких. И никто не спешит на этом основании отказываться от таких систем вообще — что-то же надо делать. Я даже название статьи поменял уже.
Нет, я такой системы не знаю (вернее есть одна, но как работает — неизвестно. Вселенная называется). Но я рад, что теперь вы тоже не заявляете безаппеляционно о 100% точности :)
Да, было глупо заявлять о 100% гарантии среди людей с математическим в основном образованием — меня уже потыкали в это носом, я уяснил, больше не повторится.
Повторюсь со многими вышеотписавшимися. Вам нехватает:
1. Доказательства стопроцентного отсутствия ложных срабатываний
2. Доказательства того, что вы можете усложнить жизнь читерам, т.е. что подделать ваш «цифровой подчерк» является серьезной проблемой.

Должны выполняться два этих пункта, но в них высказаны противоположные требования и нужно найти баланс и доказать эффективность найденного алгоритма, тогда будет что обсуждать.
Очень уж желтушный заголовок. А вообще статистический анализ не спасает, нереально им отличить читера от игрока-профессионала (уже не раз в реддите CS:GO поднималась эта тема). Да и читы (опять же я больше про CS:GO) вообще никакого отношения к движениям мыши не имеют.
читы вообще никакого отношения к движениям мыши не имеют

тут предлагается использовать движения мыши как уникальный идентификатор, чтобы получив бан один раз, человек больше не мог читерить, купив новую копию игры
А зачем? Пусть покупает и его снова забанят. При том, что даже при вероятности ошибки 1 на миллион — можно и на иск нарваться.
А можно нарваться и на подставу. Например, читер вписывает свой почерк в базу, играя через китайский vpn и с другого компьютера.
Покупает новую копию игры, публично на твиче распаковывает её, регистрируется и сразу получает бан.
Раздувает скандал в сети, мол фирма банит новых, совсем не виноватых юзеров, чтобы они снова купили диск. Или продаёт диски, а свои ресурсы сервера на игрока не тратит. Отмыться будет сложно.
Вы не учитываете один момент: такой игрок не просто получит бан «в прямом эфире», он получит бан «с приветствием» тому самому почерку с китайского vpn, с указанием ника, времени игры и времени бана. У нас будет обоснование, логи и прочее.
По поводу «а зачем?» — ну действительно, зачем? Пусть читеры и дальше развлекаются, они же никому не портят настроение.
У нас будет обоснование, логи и прочее.


И? Как вы докажете, что пользователь Лянь-Хуань, получивший бан вчера, тот же человек, что и известный школоблогер Иван Огуречкин, который на весь мир опозорил игровую контору якобы ложным баном.
Прошу прощения за оффтоп.
Очень неожиданно читать такое имя, откуда вы его взяли?
Обычное китайское имя, загуглите, найдёте множество людей с этим именем. Например, главный герой фильма «Человек из железа» (1972)
Вообще я не про китайское имя…
Я вспомнил про ютюб летс-плеера «Помидорку», но подумал, что сочтут за рекламу, поэтому поменял.
Здравствуйте, вы идентифицированны как «blablablaлевыйниксуперчитер».
Мы блокируем вашу учётную запись поскольку наша система решила, что вы играя с другого аккаунта читерили.
Прям идеальный расклад для суда.
Сразу суда? Фейсбук и гугл могут блокировать аккаунты без объяснений, игровая контора тоже может вписать это в EULA.
Может, но кому они потом нужны будут. Когда они в прямом эфире забанили новую учётку, потому что посчитали.
Честным игрокам. Да, мы забанили новую учетку в прямом эфире, потому что известный школоблогер Иван Огуречкин запалился с читами с китайского vpn. И когда нас попросят объяснить, что за дела такие, мы предложим этому школоблогеру авторизоваться с любого другого компьютера, с новой копии. Когда результатом будет бан с приветом все тому же Лянь-Хуаню, также известному как Иван Огуречкин, вопросы отпадут, а у школоблогера поубавится подписчиков.
Так это логично, что если почерк случайно совпал, то смена компьютера не поможет.
Лучший вариант для компании — это публично извиниться и разбанить, раз доказать не могут.
Дважды подряд случайно совпал? Ого.
На анализ каждый раз будет уходить новая кривая, для такого совпадения у китайского читера и российского школоблогера должны мозги и руки случайно совпасть.
Ваша метрика — хеш от биометрических данных. Совпадение метрик аналогично коллизии хеша. Одинаковые данные всегда дадут одинаковый хеш, сколько раз ни хешируй. Это же очевидно.
А Вам не кажется, что коллизия хеша — событие чрезвычайно маловероятное? А если мы говорим о ситуации, когда хеш совпадает постоянно, то это означает не совпадение метрик, а совпадение биометрических данных у двух разных человек — это к вопросу об «одинаковые данные всегда дадут одинаковый хеш».
Биометрические хеши, являющиеся ещё и стабильными, достаточно слабые.
Тут уж выбирать — либо стабильность и много коллизий, либо мало коллизий, но риск нестабильности.
«Чрезвычайно маловероятное» — не значит, что «строго равно нулю».
А из обоснований только — мы так подумали.
Да, виноват, невнимательно прочитал. Показалось, что предлагается этот цифровой почерк еще и для первичного определения читеров использовать.
Тогда вообще не решена самая главная проблема: как этих читеров обнаруживать? Если мы не можем его обнаружить, все схемы банов становятся бессмысленными.
Сейчас ведь как-то обнаруживаются. По невероятным достижениям, например, по жалобам пользователей и тому подобному.
Вообще нет смысла в абсолютной защите, я бы наоборот ослабил бы признаки так чтобы некоторые читеры все-таки могли обходить идентификацию — это уменьшит ложные срабатывания для честных игроков, а заядлых читеров рано или поздно выловят и наложат «вечный бан».
Хотя, это тоже неправильно — человек может раскаялся и готов исправится. Нет, их не нужно банить — им всего навсего надо усложнять жизнь причем не на ровном месте, а именно на читерские действия. И уж при настойчивом злоупотреблении накладывать «вечный бан».
Рано или поздно такие читеры просто отомрут. Или станут матёрыми легальными игроками(как это происходило с древними пиратскими приставочными играми с защитой от пиратства путём усложнения игры).
А если я попеременно играю на тачпаде/мышке/трекболе?
Значит, у вас в лучшем случае будет три попытки…
Потом можно будет поломать палец и через пол года(когда заживёт) пробовать снова.
Проще девайс менять, от него тоже сильно зависит.
Самый лучший античит (применительно к шутерам) реализован в Torque 3d. Камера не видит объект — данные об объекте клиенту не передаются. Всякие wallhack`и становятся бесполезны. Интересно, что это не было целью, это лишь следствие оптимизации сетевой части.
Насчет «лучший» я бы поспорил, аим- и триггер- боты так не побороть вообще. Да и оптимизация спорная, получается нужен рендер на сервере.
Интересно было бы посмотреть подробнее, у вас есть какие-то ссылки на эту тему?
Помоему таких ботов будет определять проще всего — слишком точные попадания резко выделяются на фоне остальных. Я думаю, на планете не так уж много людей способных мышью бить с пиксельной точностью в динамике.
Вы правда считаете, что добавить рандомизацию прицела, и пути к нужной точке, что это сложно?
Расскажите это про-игрокам, их попадания тоже очень резко выделяются на фоне остальных. Конечно среди них есть и читеры, и их даже вылавливают, но большинство (скорее всего) играют честно.
Можете еще на ютюбе поискать видосы, там есть ребята, которые на тренировочной карте предлагают определить, когда они используют аим-бот, а когда нет. Я лично не вижу разницы, даже когда знаю правильный ответ.

Короче говоря, заядлых читеров и так можно быстро забанить, не нужно их идентифицировать, чтобы забанить повторно максимально быстро. А если игрок читерит аккуратно, то это вообще незаметно и не мешает получать фан от игры даже его противникам (а ведь это именно то, для чего мы и играем).
А если человек исправился и не использует больше читы?
А если Евсюков исправился и больше не убивает людей? Давайте его выпустим, просто чтобы проверить.
Возможно, слишком бестактное и некорректное сравнение, но оно выражает нужную мысль: вечный бан является еще и наказанием, помимо изоляции читера от честных игроков. К тому же никто не мешает ему играть в другие игры, не защищенные цифровым почерком, тем более что он встал на путь исправления.
Либо менять почерк. Честно говоря, при сознательном подходе не думаю, что это будет большой проблемой. Хотя была бы демка — легко было бы проверить.
Если выбирать между вечной изоляцией Евсюкова и системой, определяющей с хорошей степенью вероятности, что человек (любой) собирается совершить убийство — я выбрал бы второе. К сожалению, оно бывает только в «Особом мнении», а любая попытка реализовать что-то похожее в реальности непременно включает в себя нарушение тайны личной жизни, но если рассматривать аналогии в 3d-шутерах, это становится неважно.

Вы в любом случае делаете сложную систему с машинным обучением и эвристиками — так почему бы не ловить этой системой сразу то, от чего вы хотите избавиться (использование читов), а не выдумывать хитрую систему вечного бана?
Разумеется, мы будем делать и это. Хитрая система вечного бана поможет закрепить результат, вот и все.
1. Не все игры шлют движения мыши. Не все сервера смогут пережевать этот объем данных (можно вложить бабки на апгрейд, но это сомнительное вложение имхо)
2. Что делать с afk? Почерк у них идентичный.
3. Кемперы
4. 3-5 минут (или сколько там вашему алгоритму надо набирать образцы) afk, потом включаем читы — profit
5. Не использовать мышь вообще (привет от квакеров) (или эмулировать такое поведение)
6. Эмуляция белого шума (случайных подрагиваний, например)
7. Уже выше упоминалось про чувствительность мыши и смену мыши.
8. Эмуляция потери пакетов (пропустить промежуточные фреймы, посылать, например, только начало и конец)
9. Думаю, что при должном уровне задротства можно после бана попросить поиграть бабулю, записать ее «почерк» и сделать чит, мимикрирующий под этот почерк.
1) Объем образца, достаточного ля идентификации, составляет порядка 50 килобайт. Наш сервер пережует.
2) Образец представляет собой кривую, содержащую 5000 изменений координат. При afk мы просто не получаем данных — пока игрок не начнет движение.
3) Это не чит, это игровая тактика. Не самая уважаемая, однако это уже не наше дело.
4) Один раз попались на читах — досведос, больше никаких профитов.
5) Попробуйте поиграть в CoD или CS:GO на клавиатуре. Я бы посмотрел такое на ютубе, просто для посмеяться.
6) Определяется как признак сразу же
7) Мы проверяем параметры на стабильность, для этого нужен один игрок и несколько мышей — достижимо, правда?
8) Не влияет, мы проверяли. Был другой способ обмануть систему, однако при условии «встроенности» системы в игру он заведомо бесполезен.
9) Дело даже не в задротстве — придется победить теорию вероятностей. Мы и сами о таком думали — нереально.
9) Нужно побеждать не теорию вероятностей, а ваш алгоритм. Если он утечёт, а на том конце понимающий человек — можно, но маловероятно: человеку нужно знать матаппарат, которым вы руководствовались и суметь написать программу для компенсации программы подделки чужого почерка «с точки зрения игрока» (даже если мышь сама будет немного дёргается для подделки почерка, то удовольствие от игры уже будет маленьким, а т.к. в почерке наверняка и «длинные» движения учитываются…). Первое возможно, но зачем такому человеку читы? Второе может быть невозможно, но это кого‐то волнует только если играет сам читер, а не его бот.

Если алгоритм не утёк, то это слепой перебор по бесконечной последовательности возможных алгоритмов.

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

7) Но всё гораздо хуже, если станут понятны физические параметры, искажающие почерк. Протезирование сейчас двигается вперёд, 3D печать тоже: читеры‐киборги, меняющие руку после каждого бана не за горами :) А если серьёзно, то помимо мыши надо проверять положение руки относительно мыши, почерк без/в перчатках (меняется чувствительность и, главное, сцепление руки с поверхностью мыши и коврика), почерк с пластилином в неожиданных местах (на мыши, на пальцах, на коврике для ограничения движения мыши), смену руки (одноразовый приём, но, чувствую, имеет хороший шанс на прохождение), смену наклона поверхности коврика (можно тоже делать пластилином). Не знаю, что из этого вы уже проверили, но, надеюсь, я подсказал интересные идеи.
Идея с пластилином меня люто восторгнула, честно.
Однако все возможные реализации изменения почерка (из прозвучавших в данном обсуждении и в наших собственных поисках) разбиваются об одно условие: просто изменить почерк мало, надо сделать его стабильным (т.е. чтобы при разных полученных кривых идентификатор оставался прежним), иначе система будет принимать вас за нового игрока при каждой идентификации. Как это сделать, особенно не зная алгоритма преобразования параметров в итоговый идентификатор?
А в чём проблема каждый раз представляться новым игроком? Может, мы с друзьями играем за одной машиной.
В том, что это придется делать между каждыми идентификациями, а они будут раз в 5 минут, например. Каждые 5 минут создавать новый акк? Что ж, пожалуйста. Можно даже раз в десять минут. Правда, если вы хоть раз заиграетесь и забудете сделать это — цифровая копия игры ухоит в бан за передачу управления аккаунтом другому лицу. Еще раз подчеркиваю: аккаунта, не перепутайте с цифровой копией.
Школота, которая играет в компании ради фана, не поймёт всю эту заумную фигню.
В итоге, маловероятно что какой-то издатель рискнёт поставить у себя эту систему.
Поэтому лучше сразу разрабатывать игру своей мечты и на ней проверять ))
Да, именно это мы и хотели сделать. И слишком поздно поняли, что без работающей системы цифрового почерка, доказавшей свою эффективность, обречены на провал. Теперь мы готовим следующую попытку, попутно выискивая другие свои ошибки — в том числе и с вашей помощью.
Подождите, ЧТО? т.е. если во время игры меня укусила кошка и пришлось срочно играть другой рукой\по каким-то другим причинам сменить «почерк», то меня выкинет и заставит заново регистрироваться?
Это же вы проверяете. Я не знаю, будет ли надевание перчатки с пластилином давать стабильный результат. Но если оно будет давать нестабильный результат из‐за пластичности пластилина (IMHO наиболее вероятная причина), то читеры будут пользоваться воском. Главное, пластилином можно проверить идею. После проверки можно подумать и о стабилизации.

Читерам не нужно знать алгоритм. Им нужно угадать, изменение чего изменит почерк, а затем придумать, как это дело стабилизировать. Если ваша система будет работать с freemium играми или же читером окажется один из тестеров клиента (что весьма вероятно, если вас решат проверить «на прочность» сами клиенты), то к услугам читеров будет бесконечное число попыток.

Т.е. проверяем пластилином, изменился ли от него почерк. Если да — рисуем себе галочку и заменяем пластилин чем‐то более стабильным. Не прошло из‐за нестабильности? Пытаемся дальше. Поэтому нужно убедиться, что все более‐менее очевидные многоразовые методы не работают (конечноразовые вроде смены руки не слишком опасны).
Пожалуй, будет уместна небольшая аналогия с Вашим методом поиска «обходных путей».
Вы предлагаете искать иголку в стоге сена, не зная размеров стога, не зная размера и вида иголки и рискуя при каждом поиске нарваться на «растяжку со спичкой», которая сожжет стог и придется начать по новой. В этой аналогии стог — все возможные способы «обхода», иголка — «стабильный обход», а растяжка — ситуация, когда исследуемый способ дал нестабильный результат и очередная копия игры ушла в бан.
Брутфорс — не такой уж и редкий метод решения подобных проблем. Что‐то более приличное, скорее всего, возникнет во время его применения на основании полученных данных.

Растяжкой, кстати, будет любой метод, не давший либо изменения почерка, либо стабильности изменения. Поэтому и применим, в основном, ко freemium. И настоящие читеры его всё равно будут применять от безысходности, затрачивая усилия пропорциональные своему интересу к игре (играм, если баны обмениваются). Или вы собираетесь сообщить читерам размеры стога и вид иголки?

Размер стога, кстати, явно ограничен: проверять, не изменится ли почерк от изменения формы кривой на выходе ИБП не будут, будут только то, от чего может измениться то, как человек возит мышкой.
Размер стога ограничен, и это нам на руку, т.к. неизвестно, есть ли в нем вообще эта иголка.
UFO just landed and posted this here
1. За какое время? 3-5 минут? ок, тогда пережует
3. А я и не говорил, что это чит. Просто если я буду кемперить, то с учетом того, что вы сказали насчет afk, для сбора идентификатора понадобится больше времени и если я читер, могут дольше отравлять всем жизнь. Изначально я имел в виду, что у кемперов почерк должен быть схож из-за малого числа измерений
5. Вон в комментариях ответили, что вполне реально. А насчет эмулированого поведения что ответите? Не так уж и сложно перевести движения мыши в нажатие стрелок.
6. Т.е. на ваш взгляд все случайные шумы одинаковые? Ну тогда и все хэши одинаковые, чо.
7, 8. Стабильность чего? Если не имеет значения ни скорость передвижения (чувствительность), ни промежуточные измерения (потери пакетов), то что, черт побери, имеет? Конечная точка? Если для читеров это фраг, то тогда фиг вы отличите читеров от задротов.
1) Одна-две минуты.
3) Если ваш почерк в бане, в влетите в новый бан еще до того, как займете позицию. Минута-две нужны на это, правда?
5) Несложно, однако что это поменяет? Вы просто ставите мжду мышью и игрой прослойку, фильтр, коорая саму кривую не изменит, а если изменит — то вопрос, стабильно ли, и вопрос, возможно ли будет так играть вообще.
6) Нет, в этом случае хеш мы уже не получим. Однко белый шум очень сильно влияет на ряд параметров (увеличивает сумму расхождений с аппроксимированными, смещает вправо вершину графика распределения углов и т.д.). Мы не сможем идентифицировать такого игрока, однако сможем с уверенностью утверждать, что игрок маскируется, используя белый шум => бан.
7,8) Стабильность итогового идентификатора, хеша. Имеет значение кривая, которую вы проводите своей рукой. Так же, как буква, которую вы нарисуете на бумаге, имеет значение для верификации почерковедческой экспертизы.
UFO just landed and posted this here
Ок. Если вы получили бан, то такой геймплей (добежать за 10 секунд до точки и сидеть не шевелясь) — все, что вам доступно. И останется призрачная надежда на то, что мы не сканируем кривую, пока вы еще в меню. Что мы, разумеется, будем делать.
К тому же при прицеливании вы все равно будете шевелить мышью, так что еще вопрос.
UFO just landed and posted this here
И останется призрачная надежда на то, что мы не сканируем кривую, пока вы еще в меню

О как! По-другому выбрал пункт меню, или зашёл в «настройки», чего никогда не делал раньше — БАН!
Ну не так, разумеется. Почерк-то ваш останется, куда бы вы ни пожелали зайти в меню.
5) так как вы эту кривую соберете, если я вам движение мышью слать не буду?
6) Тогда у вас не 100% точность (ну вам в комментах это уже много писали). Люди с Паркинсоном и грязным столом у вас будут определяться как читеры
7,8) А как вы эту кривую получите, если я не буду вам посылать перомежуточные точки, а только начало и конец? Что мне мешает изменить промежуточные точки?
5) Выключу управление обзором с клавиатуры, например.
6) Люди с Паркинсоном и грязным столом теоретически могут определяться как новые игроки. Новые, а не уже существующие и запалившиеся с читами.
7,8) Скорее всего мы это определим как признак, к тому же геймплей вы себе просто похороните — для прицеливания необходимо будет «замереть», а о попадании в движущуюся цель вообще забудьте.
UFO just landed and posted this here
Зачем?! Новый игрок? Добро пожаловать!
UFO just landed and posted this here
Я полагаю, с мелким шумом до бана дело не дойдет, а с тем с которым забанят — просто играть будет невозможно в реальной ситуации.
Разве что… любители поиграть в шутеры в машине несущейся по бездорожью, да… развлечение еще то!
Как вы собираете нажатия кнопок: используете win api или реализовали драйвер-фильтр?
Можете не отвечать, это риторический вопрос. Нужно понимать, что если вы подписались на апи, ничто не запрещает снять установленный делегат через тот же апи.
Если собственный драйвер, то тут тоже все далеко не однозначно и несет больше проблем для честных игроков, чем для читеров.
«win api» намекает на то, что нужно ориентироваться на самые популярные ос, не только майкрософт.

Как быть с общительныи игроками, использующих игровой чат или тех, кто сознательно нажимает лишние кнопки управления, в режиме спектатора?
Уже упоминалось, что почти все читы вообще не нажмают копок.

Вобще круто было бы посмотореть пример.
Создайте простенькую веб морду, где подвигал мышой и понажимал клаву, отправил собранные данные на сервер. Далее магия, после нее включается режим «соври, если сможешь». В итоге никто не увидит все кухни алгоритма, а у вас будет хабраэффект и куча данных для анализа. Здорово ведь!
Вне зависимости от способа сбора данных у нас всегда будет возможность проверить соответствие полученной кривой и движений персонажа — при условии «встроенности» данной системы в игру.
Идентификация проводится по кривой движения мыши, содержащей 5000 изменений координат вне зависимости от времени. В среднем это 1-2 минуты активной игры.
Для того, чтобы создать действующий «прототип», нам необходима статистическая база, те самые 10000 образцов (с ответами). Мы не можем получить их именно из-за «да ну, это же невозможно, а докажите, а каков FAR/FRR» и прочего.
Тогда не понятно, зачем вы говорили про стопроцентный кейлоггер.

Если вы реализуете античит строго на сервере, то возможны нюансы с реализацией игрового стека. Что годиться для КС, то совсем не подходит для доты. Но, я думаю, что такой подход оправдан.

Последний абзац не понятен. Почему вы не можете начать сбор вопросов на прототипе. И что есть вопрос и ответ? Неужели, если человек застыл за стеной это плохо, а если побежал назад это хорошо? FAR & FRR, отпечатки? поясните.
Стопроцентный кейлоггер мы используем для сбора статистики, необходимой нам для запуска «рабочего прототипа».
Строго на сервере реализуется лишь обработка данных, а соответсвие полученных данных истинным проверяется как соответствие полученной кривой движениям персонажа в игре.
Поясняю по последнему абзацу: мы запустили сбор статистики и начали продвигать свою идею в соцсетях. Однако при этом совершили фатальную, видимо, ошибку — одновременно вылезли на краудфандинг с заведомо завышенными запросами. Из-за этого градус недоверия и возрос, скорее всего.
Я намеренно не дал здесь ни ссылок, ни названий, чтобы получить объективное обсуждение самой идеи. Мне хотелось, чтобы меня с разных точек зрения ткнули носом в возможные недочеты. Пока что ситуации «да, я этого не учел, ничего не выйдет» нет.
Простите за то, что не сразу отвечаю, но я могу писать комментарии не чаще, чем раз в пять минут, как я понимаю — особенность данного ресурса.
Думаю перепилить пост в статью с учетом вопросов, возникших в этом обсуждении, и выложить на Гиктаймс.
При желании, этот античит очень легко обойти.
Если «трасса» собирается на клиенте, можно всегда отсылать заранее заготовленную из набора или кидать случайную.
Если собирается на сервере, можно передавать округлённую информацию, чаще всего на игру не оказывает влияние направление взгляда игрока. Игрок может передавать серверу, что смотрит вверх, а рендер на экране показывает вид прямо. Возможно, моменты стрельбы надо будет как-то синхронизировать, но всё решается.
И заготовленная кривая, и случайная не будут соответствовать движениям персонажа в игре. Мы именно поэтому и не переживаем за «свободу в интернете» — гарантированная идентификация возможна только при наличии «обратной связи», т.е. соответствующих внутриигровых данных.
«Округление» или добавление случайных движений не сработает — во-первых, сразу определяется как один из признаков, во-вторых рушит геймплей.
Тут ещё интересно, какие частоты сигнала важны для идентификации игрока. Явно, низкие частоты менее важны, т.к. отражают игровую ситуацию, а не рефлексы. Читер может согласиться на снижение отзывчивости игры до 50, а то и 100 мс. Т.е. он направляет игру в общем, а мелкие движения осуществляет бот по заданному почерку. Причём теоретически можно сделать так, что лагов не будет видно — движок будет рендерить то, как двигается игрок, а на сервер уходить то, как двигается бот. Все расхождения в пределах 50 мс «рукава». Возможно, что игрок видит, что попал, а игра попадание не засчитала. И наоборот. Но это редкие и напряженные моменты, где решают десятки мс. В целом, для игроков с низким скилом, лаги будут не существенны и окажут малое влияние на игру.

Пытаться же уловить почерк не по мышечным рефлексам, а по общей стратегии — сложно, стратегии легко меняются осознанно.
Да, в этом случае мы не сможем идентифицировать игрока. Однако мы совершенно точно увидим, что неизвестный игрок использует «систему маскировки», после чего последует бан копии игры. Увидим кстати сразу, в первом же образце. Если даже у человека есть пресловутый динамический стереотип, что уж говорить о боте?
Почему бы боту не менять профили. Их можно копировать с реальных людей и миксовать в случайных пропорциях.
И при каждой идентификации система увидит кого-то нового. Стабильности идентификатора вообще не будет при таком подходе, а она необходима, а то ведь будет очередной бан.
Может тогда сразу бан? А то вдруг младшая сестра сядет поиграть или я невыспавшийся буду слишком лениво возюкать мышью.
Вообще-то да, сразу. В лицензионном соглашении большинства игр прописан запрет на передачу своего аккаунта другому лицу. Подчеркиваю: аккаунта. Ваша сестра может играть на вашей цифровой копии игры, но авторизоваться должна сама и играть под своим аккаунтом.
Если я зайду в PlayStation под другим аккаунтом, то игры, купленные с основного акка, будут недоступны. И как прикажете играть? Если контора сотрудничала с PSN или Steam, ей надо свой стор делать, со своими правилами, где доступны чужие игры?
И в Playstation, и в Steam игрок может иметь сколько угодно аккаунтов, у нас — только один, если не заведет себе еще один мозг и еще две руки. А по поводу возможности для двух человек создавать каждому аккаунт на одной цифровой копии — да пожалуйста, нам же необязательно свои внутриигровые акки привязывать к стимовским.
Иметь отдельно акк в магазине, отдельно в игре — не user-friendly, сложно будет это продать. Грубо, 99% юзеров не читают инструкций и не будут париться, если кто-то поиграет их персонажем. Это внезапно приведёт к бану, у игроков будут претензии к игре, а у игры маленькая аудитория. Возможно, какое-то небольшое сообщество соберётся, где все будут хорошо понимать суть системы, но разве это успех.
Вообще-то нам и не надо это продавать. Если игра есть на акке в магазине — мы уже продали. Другое дело, что мы не возражаем против использования одного магазинного акка для нескольких игровых. Мы лишь требуем, чтобы игроки использовали только свой игровой акк, не пытаясь представиться другим человеком. С чьего магазинного акка они играют — нам до лампочки, просто получайте удовольствие от честной игры.
UFO just landed and posted this here
А вы уверены, что он действительно изменился? Здесь есть только один человек, который может ответить на данный вопрос и это не вы. Так что я бы спросил CeBeP_2012, проверялась ли и будет ли проверяться такая ситуация?

Особенно в свете намёков, что с аккаунтом при изменении почерка предполагается что‐то делать.
UFO just landed and posted this here
Биометрический метод нужен для идентификации людей, а не пары «человек, его состояние». Если почерк после травмы остался неизменным, но при этом алгоритм хорошо отличает вас от других людей, то это хороший, годный алгоритм.

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

Кстати, если такой бот будет создан, то он первым делом начнёт подставлять реальных людей, вынуждая вас либо снять защиту, либо забить в базу данных всех игроков и начать намного чаще получать по макушке от FAR.
Да это кстати идея — воровать подписи ))
А есть вообще хоть какое-то доказательство стабильности этого набора параметров у всех 100% людей, вне зависимости от их возраста, физического и психоэмоционального состояния? Вы так просто рассуждаете: наша система заметила расхождения — бан, ведь это другой человек. А если не другой? И он не нарушал условия соглашения, а вот вы нарушили, забанив добропорядочного клиента, не имея доказательств, кроме «ну он как-то не так сегодня мышкой двигал, а наша система умная, раскусила его».

Любая система абстрактного анализа данных без соответствующих долговременных исследований и обратной связи обречена бить не только по злоумышленникам, но и по добропорядочным пользователям. До сих пор не побеждён полностью email-спам, а уж там-то данные изначально цифровые и метрики вводить куда как проще. Но в реальной жизни это всё работает не всегда, а цена неполученного вовремя письма может быть столь высока, что приходится мириться с ситуацией. Вы же, по аналогии, предлагаете все даже слегка подозрительные письма сразу удалять, а написавших — мгновенно и навсегда банить.
Какие есть реальные перспективы… Прийти к владельцам серверов (например, quake) вы не можете, потому что у них нет исходников сервера и клиента, либо исходники есть, если open-source, но они не контролируют клиентов.

Прийти к разработчику игр типа mail.ru — да, возможно он заинтересуется готовым решением в виде чёрного ящика, куда скармливают mouse input, а получают сигнатуру. Глубоко в движок вас никто не пустит, не практично это, согласовывать архитектуру с сервисной компанией.

И заготовленная кривая, и случайная не будут соответствовать движениям персонажа в игре

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

Тут два подхода —
1) всё считает клиент и на сервере досконально перепроверять никто не будет, ибо затр@&#$ся вылавливать нестыковки (и зачем? если сервер считает, чего бы ему на клиент не отдавать результат, а на клиенте не считать), либо
2) всё считает сервер, а клиент лишь рендерит — тогда о читах речи нет. Идеальный вариант — стриминг готового видео, тогда и рендерить с читами будет невозможно, например, не показывая дым от гранат.

В-общем, ждите глобальной победы стриминга и никаких читеров там не будет.
Так не все читы отлавливаются. Сохраняются в любом случае (только их становится сложнее делать):

1. Боты, полностью управляющие персонажем (с ними вообще сложно что‐то сделать, но и написать даже серверного (с прямым доступом к информации) бота сложно, что уж говорить об имитации игрока).
2. Автоматическое нажатие спуска при наведении на цель (триггер‐бот).
3. Автоматическое наведение на цель в зоне видимости (аим‐бот).

Просто теперь вместо удобного доступа к объектам нужно распознавать изображение. Что с каждым днём становится всё легче и легче.
Во всем этом непонятном алгоритме не хватает одного. Запилите сайтик где можно потестить ваш алгоритм. Пусть он реально покажет что он умеет различать какой человек дергает мышкой в данный момент.
Единственная 100% защита от читерства — это облачный гейминг.
До тех пор пока процесс игры запущен на клиенте — читеры никуда не исчезнут.
Прочитал статью и комментарии, но так и не понял, почему изменение хвата мыши, вызванное, скажем, небольшой ранкой (честный игрок порезался случайно, бывает же?) не приведет к изменению биометрической подписи игрока => созданию нового аккаунта.
А если приведет, то кому вообще нужна будет такая система авторизации?
Как я понял, смена хвата вполне может привести к изменению «подписи», но пока такой подписи нет в базе читеров — вас не збанят.
Сама подпись — что-то сродни перцептивного хеша, алгоритм автора по идее должен обеспечивать достаточную стабильность хеша, в рамках «похожести» хешей одного человека друг на друга, и достаточную уникальность, чтобы отличать подписи разных людей. Иными словами, пока из 64 бит хеша-идентификатора 48, к примеру, не меняются — система сможет выделить вас из списка других игроков.
Статья писалась для получения объективной критики (получил, сижу утираюсь), но как же приятно видеть осмысленный комментарий человека, с ходу въехавшего в тему полностью. Спасибо.
Вот, вопрос похожести-то как раз в статье и не раскрыт (или я это не увидел). Только утверждается что «система работает».
А хотелось бы увидеть в цифрах, с доверительными интервалами — в какой степени изменится хэш при изменении посадки (купил новый монитор/кресло), при смене контроллера, и при тому подобных помехах, и в какой — при замене человека.
Ох, а нам-то как хочется, не представляете. Не получим статистическую базу — не получим возможности исследования.
Пока что просто собираем объективную критику, ищем подводные камни, с вашей помощью.
Ах вот оно что.
Тогда подумайте над добавлением соответствующего дисклаймера, а то на первый взгляд кажется что исследования уже проведены (хотя бы на малой выборке), но результаты не раскрываются.
Нет-нет, на малой выборке проведены, мы определим одного из 32 (максимум), потому что стабилизировали 5 признаков. А надо-то минимум 64 признака для означенного в статье числа возможных вариантов, а для этого надо собрать хотя бы 10000 образцов.
Как я понял из комментариев я понял, смена «подписи» говорит о том, что это другой человек и как следствие бан ну или настойчивая просьба войти под своим аккаунтом.
А как быть с тачскринами, одного игрока так забанили в одной игре(osu!) ибо курсор просто телепортировался вместо движения, пришлось общаться с техподдержкой(разбанили).

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

А вообще воевать с читерами можно только если это не мешает легальным пользователям, я так с одного сервера майнкрафта ушёл ибо они каждые 3 месяца вайпали сервер — дескать читеры порушили баланс и надо всё откатить.

Так-же смущает сравнения движения мыши с почерком, есть ли какие нибудь доказательства того что мышь настолько-же уникальна как и перо например?
UFO just landed and posted this here
Это врятли… 15 минут водить мышкой чтобы войти в онлайн-банкинг? Замечательная идея…
1 минута. Вы же не вводите свой e-mail и пароль при каждом входе в игру или стим.
Сситемы верификации по такому почерку давно существует, просто мы пошли немного дальше, создав систему идентификации.
для игры может и 1 минута, а банкинг — нужна защита посильнее, а значит и уверенность.
О! придумал… пока ждешь когда дадут доступ к банкингу — играешь в мини-шутер типа спаси деньги от огня или от вора.
Sign up to leave a comment.

Articles