Вряд ли надо объяснять, кто такие читеры и что именно они делают с индустрией сетевых трехмерных стрелялок. С этим явлением борются с момента его появления, и до сих пор безуспешно. Главная проблема даже не в том, чтобы выявить читера — они иногда не особо и скрываются. Главная проблема заключается в том, что администратор сервера, разработчик игры и системы противодействия (такие как Punkbuster) могут забанить лишь игровой аккаунт читера (или его цифровую копию игры), железо или IP. И все это можно с легкостью сменить или «подделать». В результате даже забаненный читер через очень короткий промежуток времени возвращается и продолжает пить кровь честным игрокам. Следовательно, для решения этой проблемы необходимо банить не все вышеперечисленное, а самого читера. Звучит бредово, верно? Ок, посмотрим, вдруг это все-таки возможно.

Возникает вопрос: есть ли у любого игрока какой-либо уникальный идентификатор, который он не сможет ни сменить, ни подделать? Ответ — нет. На данный момент такого идентификатора не существует. Однако его можно создать.

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

Цитата из главы 1 статьи «Почерковедческая экспертиза: предмет, объекты, задачи, подготовка материалов»:
"Несмотря на разнообразие причин, вызывающих изменения почерка, система движений (динамический стереотип) в целом, выработанная на протяжении длительного времени, относительно устойчива. Это значит, что возможность идентификации человека по почерку сохраняется во времени и даже при попытках умышленного искажения или при изменении почерка в старости, что выражается в замедленности письма и снижении координации движений, в упрощении строения букв."

Логично будет предположить (пока только предположить), что те же индивидуальные особенности динамического стереотипа присущи человеку не только тогда, когда он пользуется ручкой или карандашом, но и тогда, когда он пользуется мышью. Особенно если этот динамический стереотип выработан на протяжении длительного времени. Однако бинарного ответа на вопрос «Соответствует ли данный образец кривой движения мыши данному конкретному пользователю?» мало, даже если алгоритм получения такого ответа будет найден. Для подобной идентификации придется хранить гигантскую базу данных, и достаточно очевидно, что каждая идентификация будет требовать проверки в среднем 50% этой базы. Необходим алгоритм, который позволил бы преобразовывать образец «цифрового почерка» в короткий идентификатор, который был бы устойчив для каждого отдельного человека, и мы уверены, что придумали такой алгоритм.

Причина, по которой этот алгоритм прекрасно подходит для идентификации именно «геймеров» и не представляет собой опасности свободе пользования Сетью, очень проста. Очевидно, что короткого «росчерка мышью» будет недостаточно. Предварительные исследования показали, что во время игры «простой» мыши (т.е. время, когда мышь неподвижна) колеблется от 40 до 90% (за редкими исключениями). А вот во время обычной «офисной» работы или серфинга интернета этот показатель достигает 97%. Кроме шуток, присмотритесь к мыши своего коллеги за соседним столом и убедитесь сами. Мы поставили себе порог в 5000 изменений положения мыши для уверенной идентификации, и если для игры это 1-3 минуты реального времени, то для той же «офисной» работы это от часа до нескольких. Овчинка выделки не стоит. А вот для того, чтобы раз и навсегда искоренить читерство как явление, этот алгоритм прекрасно подходит, более того — он изначально создавался с этой целью.

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

Итак, мы собираем «образцы почерка» объемом 100 000 изменений положения мыши с десяти тысяч игроков (одновременно мы получаем от них же бинарные ответы на 64 простых вопроса). Естественно, образцы собираются во время игры в любой трехмерный шутер. Каждый такой образец кривой движения мыши делится на 20 кусков по 5000 значений, а затем обрабатывается для получения всех возможных математических параметров этой кривой. Параметров этих довольно много, а число возможных соотношений этих параметров просто огромно.

В результате мы получаем 200000 образцов, состоящих из нескольких сотен численных значений, полученных от 10000 человек. По одному образцу от каждого человека мы включаем в нашу статистическую базу, а остальные 19 сохраняем для проверки стабильности (об этом чуть ниже).

Те самые 64 простых вопроса теперь позволят нам разделить всю группу по 64 признакам. Вопросы, разумеетя, выбираются так, чтобы ответы могли иметь хотя бы косвенное значение для цифрового почерка (правша/левша, мужчина/женщина, умеете рисовать/не умеете и т.д.). Таким образом, мы получаем возможность оценивать вероятность принадлежности каждого образца к тому или иному признаку по тем самым математическим параметрам кривой, причем точность оценки прямо пропорциональна общему количеству образцов.

Здесь мы вынуждены сделать большой пробел в изложении — мы не можем рассказать вам об алгоритме оценки вероятности. Разумеется, не потому, что не доверяем вам, а из-за существования «противоборствующей стороны». Разработчики читов вряд ли обрадуются реализации этой идеи, а зная алгоритм полностью, они получат возможность подсунуть нам образцы, которые очень сильно осложнят их обработку. Просим понять и простить.

В результате мы получаем двоичный код объемом 64 бита, который проверяем на «стабильность», прогоняя те самые 19 образцов по каждому человеку, оставленные про запас именно для этого. Этот код, эти 8 байт и будут тем самым уникальным идентификатором игрока, и даже с учетом небольшой нестабильности (которая теоретически возможна), точность будет составлять 2 в степени 64. Это немало, тем более что на самом деле мы уже умеем создавать признаки «с нуля», а эти 64 нам нужны главным образом для поиска наиболее релевантных параметров и их соотношений.

Самый главный плюс заключается в том, что такую идентификацию можно проводить прямо во время игры, по все тем же параметрам. Однажды забаненный игрок уже не сможет авторизоваться, и даже если это сделает за него кто-то другой, первая же негласная проверка обнаружит это. 3, максимум 5 минут игры — все, что будет доступно читеру, потом очередная цифровая копия игры уйдет в бан.

Собственно говоря, перед вами не совсем статья — это пост, и его цель — не получение инвайта на Хабрахабр, а объективное обсуждение IT-специалистами. Дело в том, что осторожные попытки продвижения этой идеи в среде геймеров встретили острое недоверие, причем вполне обоснованное. По сути, наша программа сбора статистики является стопроцентным кейлоггером. Даже то, что мы выкладываем у себя на сайте исходный код, не помогает. Возможно, ваше обсуждение даст нам толчок в нужном направлении — в споре рождается истина.

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

Комментарии (174)


  1. Singerofthefall
    12.05.2015 14:54
    +1

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

    И еще вопрос, «мы» — это кто? Вы какая-то компания?


    1. CeBeP_2012 Автор
      12.05.2015 20:30
      +1

      2 в 64 — это 18446744073709551616, данное число представляет собой минимальное количество вариантов идентификатора (в случае, если мы ограничимся 64-мя признаками, можем и 128 если надо будет).
      Мы — это я и мой напарник, нас двое. Нет, мы не представляем никакую организацию — пока что.


  1. Mysterious
    12.05.2015 15:11
    +6

    Смена мыши, смена чувствительности мыши, смена покрытия под мышью, эластичный бинт на запястье — всё это до неузнаваимости может изменить «почерк».
    Кроме того представим гипотетически что у Васи «мышиный почерк» такой-же как у Пети. Забанили Васю — автоматом забанили Петю, а потом докажи что ты не верблюд )


    1. CeBeP_2012 Автор
      12.05.2015 20:41
      -2

      «Смена ручки на карандаш, эластичный бинт и т.д. — и почерковедческая экспертиза ничего не докажет» — это неверно. Разумеется, мы проверяем исследуемые параметры на стабильность.
      Гипотеическая вероятность совпадения почерков у двух человек составляет 0.0000000000000000000271. Если уж такое случится — значит, Вася и Петя фантастически невезучие люди.


      1. aszhitarev
        13.05.2015 11:10

        У меня на одной квартире одна мышь и ковёр, а дома другой набор. И что, за игру со второго рабочего места меня забанят?
        Или купил домой новый комплект и всё, прощай аккаунт?
        Дал поиграть аккаунт другу/брату/ребёнку — бан?
        Ерунда какая-то.


        1. CeBeP_2012 Автор
          13.05.2015 12:13
          -1

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


          1. aszhitarev
            13.05.2015 12:46

            у вас явно синдром вахтёра


            1. CeBeP_2012 Автор
              13.05.2015 13:53

              Отнюдь, просто я остро негативно отношусь к читерам и хочу от них избавиться.


              1. qw1
                13.05.2015 14:01
                +1

                Вообще везде или только в одной своей любимой игре?


                1. CeBeP_2012 Автор
                  13.05.2015 14:37

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


                  1. Ezhyg
                    14.05.2015 12:26

                    Про «эксплоринг» не слышали? Иногда говорят «Запределье».


                    1. CeBeP_2012 Автор
                      14.05.2015 22:43

                      Погуглил, почитал, связи не увидел.


                      1. Ezhyg
                        14.05.2015 23:10

                        Это тоже, как бы «читы», обман и всё такое, за это тоже банят (но не все и не всегда).


                        1. CeBeP_2012 Автор
                          14.05.2015 23:50

                          Это проход в неоткрытые части игрового мира, каким образом это даст «неоспоримое преимущество»? Да и не мое это дело — такие вопросы решать, у меня сейчас несколько иная задача.


                          1. Ezhyg
                            15.05.2015 01:31

                            О, там такого можно наворотить… Стоя на пригорке, недоступном нормальным способом фармить мобов и лут, например.


  1. 15432
    12.05.2015 15:15
    +1

    как говорил один мой знакомый админ игрового сервера — главное чтоб не пострадали обычные игроки.
    где гарантия полного отсутствия ложных срабатываний?


    1. ZyXI
      12.05.2015 19:50

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


      1. CeBeP_2012 Автор
        12.05.2015 20:47
        -3

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


        1. ZyXI
          12.05.2015 21:20
          +1

          Что?! Почитайте habrahabr.ru/post/126144. Там есть все основные методы и краткий ликбез по ложным срабатываниям, он вам нужен. Очень.

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

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

          Исходя из статьи получим, что для отпечатков пальцев вы в 0,001% случаев будете получать ложное срабатывание. Теперь возьмите число читеров в базе, умножьте на число пользователей и на FAR и получите при тысяче читеров и миллионе пользователей десять тысяч ложных срабатываний при однократной проверке всех пользователей (считаем, что в базе только читеры). И без всякого человеческого фактора.


        1. ZyXI
          12.05.2015 21:23

          Предложенная идея об ограничении исключает саму защиту от читерства, т.к. при переводе игрока в категорию «проверенных» он может спокойно читерить, уже ничего не опасаясь.
          Гм. Откуда, по?вашему, изначально берутся «отпечатки» читеров? Вы не опознаёте неизвестных читеров по отпечаткам их мыши. Опознав читера, вы сохраняете его отпечаток и далее баните его. Система нахождения новых читеров в статье не рассматривалась вообще, только предложение по бану уже известных.


          1. ZyXI
            12.05.2015 21:28

            Очень странно видеть такой комментарий от автора статьи.


            1. CeBeP_2012 Автор
              12.05.2015 21:58

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

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


              1. ZyXI
                12.05.2015 22:29

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

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

                (Хотя, на самом деле, вас гораздо раньше подведёт алгоритм преобразования исходных данных в код, как он успешно подводит все остальные биометрические методы, имеющие FAR?0 (т.е. все).)


                1. CeBeP_2012 Автор
                  12.05.2015 23:06

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


                  1. ZyXI
                    12.05.2015 23:37
                    +1

                    1) «Полный отпечаток пальца» — картинка со сканера. Если вы считаете, что такое сравнение некорректно, покажите мне мышку, который может двигаться дискретно. Не мышку, которая шлёт дискретные цифровые сигналы, а такую, которая двигается дискретно.
                    2) 64 бинарных значения — это код. Если быть точным, то код — это то, что вы будете искать в базе данных с читером. Вы не можете обойтись без какого?либо варианта кода.
                    3) Вы меня не поняли. У вас спросили гарантии, вы сказали, что они уже есть (или будут, когда вы доделаете работу). Возьмите мысленно двух людей из той эпохи, когда их будет 2?? + 1 с совпадающим кодом и перенесите их в сегодняшний день. Гарантии внезапно исчезли. Если два человека могут иметь совпадающий код, то я не вижу препятствий к тому, чтобы они уже родились и ещё не умерли. Т.е. я не вижу, почему такие два человека должны родится строго после исчерпания «свободных» кодов.

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

                    Было бы гораздо лучше, если бы вы вставили таблицу FAR/FRR в статью. Тогда сразу стало бы понятно, нужно ли «ограничить его применение и дополнить другими метриками». И вообще отпал бы вопрос про гарантии у тех, кто понимает, что это такое (а тем, кто не понимает разъясняли бы не вы, а те, кто понимают).


                    1. CeBeP_2012 Автор
                      13.05.2015 01:37
                      -1

                      1) Сравнение абсолютно корректно, просто в контексте обсуждения не имеет смысла. Перед нами не стоит проблема преобразования аналогового движения мыши в цифровые координаты — эту задачу за нас старательно решают производители мышей. Согласитесь — отсканировать отпечаток пальца так, чтобы всегда получать одну и ту же цифровую его версию очень сложно. Мы основываемся на том, что пользователь вне зависимости от своего желание каждый раз дает нам точную цифровую копию своего почерка.
                      2) 64 бинарных значения — это уникальный идентификатор, который мы получаем из данных кривой мыши, и который остается прежним при исследовании другой кривой того же пользователя. Или я Вас неправильно понял?
                      3) Нет, я Вас прекрасно понял. Это лишь вопрос вероятности, вот и все. Я не говорю, что двух человек с одинаковым почерком не может быть среди семи миллиардов. Я лишь говорю, что вероятность такого события пренебрежимо мала.
                      4) Нам не надо снижать FAR до нуля, нам надо снизить его до неких приемлемых значений. Опять-таки, никто не мешает нам оставить себе «право на ошибку». Ведь почерк будет часто проверяться во время игры, если мы получаем пробой по FAR или FRR, мы просто проводим идентификацию заново и задумываемся над результатом.
                      Я бы с огромной радостью вставил в статью хоть ссылку на работающую программу, но для ее запуска нам нужны данные статистики, которые мы никак не можем собрать — ну не верят люди, что это возможно, и все тут.


                      1. ZyXI
                        13.05.2015 08:45

                        1) Движения мыши тоже не одинаковы. Вообще отпечатки и ваш почерк «на верхнем уровне» очень похожи: аналоговые данные > АЦП > алгоритм преобразования > код. (Собственно, как и любые другие биометрические методы.) Но спор здесь начался с того, что вы сказали, что отпечатки пальцев лишены ложных срабатываний, а затем, что ваш метод не подвержен ложным срабатываниям из?за изначально цифровой природы отпечатков. Я стараюсь доказать, что ни у вашего метода, ни у отпечатков пальцев нет изначально цифровой природы. (Вопрос с ложными срабатываниями уже решён.) То, что производители сканеров решают задачу АЦ преобразования сами (и то не факт), а за вас решил её кто?то ещё, ничего не значит.
                        2) Это вопрос терминологии. В комментариях то, что вы называли идентификатором, я называл кодом. Поэтому возникло некоторое непонимание.
                        3, 4) Эта вероятность уже означает отсутствие стопроцентных гарантий, с чего, собственно и начинался вопрос. Тут уже давно спорить не о чём: вы признали существование ложных срабатываний у своих методов, а оспорить вашу оценку будущих FAR/FRR я не могу, так как не занимаюсь подобными исследованиями.


                        1. CeBeP_2012 Автор
                          13.05.2015 12:18

                          Ок, возможно я неправильно понял с самого начала и был неправ. Однако суть всего спора в данном случае своится все к тому же «а докажите, что не будет FAR и FRR», и это странно. Даже с отпечатками пальцев может случиться подобное (не только при сканировании), и ведь в таком случае человека могут в тюрьму посадить, не то что в игрушке забанить — и никто ведь не отказывается на этом основании от их использования в криминалистике, как и от других методов биометрической идентификации. Никто не защищен от ошибок, надо лишь свести их к минимуму, а в этом обсуждении люди требуют гарантий их полного отсутствия, ведь наказание совершенно чудовищно — бан.
                          Я сам виноват, конечно, это все самонадеянное название статьи.


                          1. ZyXI
                            13.05.2015 22:31

                            Вопрос изначально поднял не я. Я только намекнул 15432, что запрошенных гарантий быть не может, потом вы уже построили свой ответ на мой намёк таким образом, что мне стало понятно, что вы считаете, что такие гарантии есть даже у дактилоскопии. Дальше уже кучу комментариев мы выясняли, кто из нас не прав и в чём именно.


  1. ainu
    12.05.2015 15:24
    +3

    А на чём основано высказывание «Стопроцентная защита»? Где-то есть работы, формально доказывающие индивидуальность не почерка, но движения мыши?


    1. CeBeP_2012 Автор
      12.05.2015 20:53

      www.cs.wm.edu/~hnw/paper/ccs11.pdf
      На английском, но человеку с математическим образованием понять общие принципы не составит особого труда.


  1. ertaquo
    12.05.2015 15:34
    +1

    Посмотрите, как играют в Warsow или любой другой динамичный шутер даже средние игроки. Там динамика такая, что этот «почерк» вы ни в жисть не соберете. У профессиональных игроков практически в любом шутере динамика по сравнению с простыми смертными в разы выше, а паттерны примерно одинаковы.


    1. CeBeP_2012 Автор
      12.05.2015 20:59
      +1

      Простите, Вы же не думаете, что я этот почерк вручную собираю? Поверьте, у современного компьютера динамика повыше, чем у любого игрока, как бы быстро он ни шевелил мышью — образец будет получен.
      «Паттерны примерно одинаковы» — ключевое слово «примерно», и потом — это профессиональное мнение, насчет паттернов? У Вас есть какие-либо данные, подтверждающие эти слова? Наши исследования показывают прямо противоположное.


  1. binarydao
    12.05.2015 16:31
    +14

    Главная проблема заключается в том, что администратор сервера, разработчик игры и системы противодействия (такие как Punkbuster) могут забанить лишь игровой аккаунт читера (или его цифровую копию игры), железо или IP. И все это можно с легкостью сменить или «подделать». В результате даже забаненный читер через очень короткий промежуток времени возвращается и продолжает пить кровь честным игрокам.

    Вы исходите и ложных предпосылок. Если факт нечестной игры доказан, то бану, временному или постоянному, подвергается учётная запись пользователя, т.е. лицензионная копия игры. Если игроку настолько нужно играть, что ему не жалко денег — пускай покупает ещё раз и «очень короткий промежуток времени возвращается и продолжает пить кровь честным игрокам». Где его снова забанят, и он снова потеряет деньги.
    Если же мы говорим о пиратских серверах, то, во-первых, непонятно, где тут честные игроки, а, во-вторых, непонятно, зачем разрабатывать какую-то систему защиты более честных пиратов от менее честных.


    1. CeBeP_2012 Автор
      12.05.2015 21:09

      Простите за резкость, но Ваш комментарий представляет собой 2 нелепых утверждения — по той лишь причине, что Вы дважды путаете понятия.
      1) «через очень короткий промежуток времени возвращается» и " очень короткий промежуток времени пьет кровь честным игрокам" — принципиально разные промежутки времени. Первый — промежуток между баном и входом в игру с новым аккаунтом, второй — время собственно игры. Мы сокращаем второй для читера до трех-пяти минут, в то время как существующие системы противодействия как правило не видят т.н. «приватки», читы по платной подписке. Это означает, что читера могут банить лишь на отдельных серверах, так что время, когда он пьет кровь, может быть очень продолжительным.
      2) Вы путаете понятия пиратства и читерства. Я не копираст и пираты меня не интересуют, я борюсь лишь с читерами.


      1. binarydao
        12.05.2015 22:05

        1)Как игрок зайдёт в игру? Он же забанен! Кто ему даст создать новый аккаунт бесплатно? Что за читы по платной подписке?
        2)Нет, не путаю, а вот у вас с терминологией проблемы. Кто такие читеры? Люди, пользующиеся чит-кодами? Снифферами траффика? Ботами, стреляющими в голову? Ну так и написали бы, «Защита от ботов в шутерах», какие, к чертям, читеры?


        1. CeBeP_2012 Автор
          12.05.2015 22:20
          -2

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


          1. binarydao
            12.05.2015 22:58
            +3

            Получив даже полный бан, читер покупает новую копию игры и продолжает — до нового бана.

            Мне, как разработчику игр, такое поведение прельстиво и любовно. Вот и не понимаю, зачем издателям и/или разработчикам с этим бороться.


            1. CeBeP_2012 Автор
              12.05.2015 23:13
              -3

              Именно из-за такого отношения читерство процветает даже не как явление, а как индустрия. Наслаждайтесь об него, пока можете. Я пока не разработчик игр, а всего лишь игрок, представитель единственной «страдающей» стороны, и ваша позиция вызывает у меня острую негативную реакцию.
              Когда ж вы уже перестанете все на бабло-то мерить? Пусть читерят, лишь бы бабло, оно ведь прельстиво и любовно, да?


              1. binarydao
                12.05.2015 23:41
                +3

                Смотрите-ка, в течении дня мы узнали, что
                1)Я путаю понятия;
                2)Что я не в теме;
                3)Что я злобный капиталист, которому плевать на страдания игроков, если деньги идут.
                И всё это в контексте решения одной несуществующей проблемы нереализованными методами вопреки человеческой природе!
                Самые сильные эмоции этого часа, очень захватывающе)


                1. CeBeP_2012 Автор
                  13.05.2015 00:08
                  -3

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

                  Да, я делюсь своими наработками бесплатно на ряде профильных ресурсов (профильных для моей текущей профессии). Карма очень в плюсе, поверьте.


                  1. binarydao
                    13.05.2015 07:42
                    +2

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


                    1. CeBeP_2012 Автор
                      13.05.2015 13:16
                      -2

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


                      1. binarydao
                        13.05.2015 13:26

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

                        Одна ложная на 99 верных — ок, мы спишем это на свою неидальность.

                        игроки будут бежать куда дальше, чем от любых эфемерных читаков. Так что, уверен, мы больше о вас никогда не услышим.


                        1. CeBeP_2012 Автор
                          13.05.2015 13:34
                          -4

                          Я держу себя в руках вообще-то, а свою алчность вы и не скрывали. Лицемерие — лишь логическое продолжение.
                          Вы не поняли, что я хотел сказать. Если игрок в течении игровой сессии был опознал как владелец аккаунта 99 раз, а один раз — как неизвестный, мы не будем отправлять его в бан. Услышите.


                    1. Greendq
                      13.05.2015 15:25
                      +1

                      Кстати, по опыту могу сказать, что лишение игрока всего «что нажито непосильным трудом» — достаточно хорошо работает в качестве сдерживающего фактора. Т.е. при бане учётной записи удаляются все игровые достижения/накопления без возможности восстановления. Прощение игрок получить может, но только прощение и возможность «начать жить с нуля».


                      1. CeBeP_2012 Автор
                        13.05.2015 15:33
                        -1

                        Тогда почему читерство так процветат? Куда ни сунься — они есть везде, эти читачки, где-то больше, где-то меньше, но есть. Они же даже не скрываются, рекламируя себя на ютубе. Внаглую. Найти эти видео — вообще не проблема, введите в поиске ютуба «читы для» и полюбуйтесь на список — это только для русскоязычного запроса.


                        1. Greendq
                          13.05.2015 16:12
                          +1

                          Это вопрос к психологам. Читерство — то же нарушение правил игры, что и нарушение правил общества — законов. Это было есть и будет, пока существует человечество. И вообще — это уже философия. :)


                          1. CeBeP_2012 Автор
                            13.05.2015 17:16

                            «Это было, есть и будет, поэтому я опускаю руки и не борюсь с этим» — вообще не моя философия. Это было, есть, но если постараться — этого не будет. Если знаешь, что делать. Как мне кажется — я знаю.


                            1. Greendq
                              13.05.2015 17:25
                              +1

                              Зачем мне приписывать то, что я не говорил? Я нигде не утверждал, что я против борьбы с читерами. Я всего лишь высказался, что нарушать правила — это в природе человека. Так что пока мы не станем совершенно другими (причём — все) — ничего не поменяется.


                              1. CeBeP_2012 Автор
                                13.05.2015 17:57
                                -2

                                Я, собственно, никому ничего не приписываю.
                                Ок, возьмем в качестве примера аппендицит. Когда-то люди от него умирали, и точка, и все руками разводили, ну было так, есть и будет. Потом нашлись люди, которые провели аппендектомию, отработали технологию, и теперь это рядовая операция. В развитых странах по крайней мере. И никто при этом другим не стал. Это технология, вот и все.


              1. Greendq
                12.05.2015 23:44
                +2

                А, вы готовы поделиться своими наработками бесплатно? Делитесь, точно карма в плюсе будет.


    1. qw1
      12.05.2015 22:20
      +1

      Если игроку настолько нужно играть, что ему не жалко денег — пускай покупает ещё раз
      Где его снова забанят, и он снова потеряет деньги.

      Для модели Free2Play вариант не подходит.


      1. MrNobody
        13.05.2015 03:49
        +2

        А что если не банить «читеров», а заставлять играть только друг с другом, таким образом ставя игроков в одинаковые условия?
        Более интересно при этом не сообщать таким игрокам о том что они попались, тогда они не сразу захотят создать новую учетную запись.


        1. CeBeP_2012 Автор
          13.05.2015 23:08

          Мысль очень интересная. Мы думали для них отдельный сервер выделить и неснимаемую форму одежды — например, ярко-розовые блестящие лосины в обтяжку.


          1. qw1
            13.05.2015 23:13

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


          1. StirolXXX
            14.05.2015 11:38

            Такое было/есть в titanfall


  1. Nomad1
    12.05.2015 17:04
    +2

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


    1. dead_undead
      12.05.2015 17:23

      Туннельку же прооперировать можно…


      1. Greendq
        12.05.2015 19:08
        +1

        — Вот уж эти хирурги — им сразу резать! Выпейте таблетку — само отвалится! (из анекдота).

        Я боролся с этим недугом достаточно просто — завёл левую мышку, а правую заменил на трекбол. Вначале было жутко непривычно — даже по пошествии 2 лет точность левой не та, но все симптомы исчезли.


        1. CeBeP_2012 Автор
          12.05.2015 21:19

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


          1. Greendq
            12.05.2015 23:40

            Стругацкие в произведении «Жук в муравейнике» вполне себе описали, что любая наказательная системе не застрахована от ошибок. Вы готовы нести финансовые расходы в случае возникновения ложных срабатываний?


            1. CeBeP_2012 Автор
              13.05.2015 03:24
              +1

              Цитирую Бориса Натановича: «Всякое общество, создавшее внутри себя тайную полицию, неизбежно будет убивать (время от времени) ни в чем не повинных своих граждан, – как бы ни было совершенно это общество, и как бы высоконравственны и глубоко порядочны ни были сотрудники этой тайной полиции». Именно это является основной идеей «Жука в муравейнике», и где Вы там нашли наказательную систему, я так и не понял. Может перечитаете?
              Да и с какой это стати Вы сравниваете систему противодействия читачкам с тайной полицией? Мы не собираемся быть тайными, мы будем выкладывать статистические отчеты с помпой и фанфарами.
              Ответ на Ваш вопрос: да.


              1. Greendq
                13.05.2015 10:15

                Посол Кош (в «Вавилоне-5») говорил «слушай музыку, а не песню». Вы слишком буквально воспринимаете текст произведения, абстрагируйтесь от тайной полиции. У вас есть некая система, которая, по ашим утверждениям, может однозначно и безошибочно идентифицировать человека (если совсем абстрактнее — игрока). И лично меня напрягает подобное безапелляционное утверждение, что ошибки быть не может. Даже для хешей типа sha-256/512 делают оговорку, что коллизии возможны, но пока неизвестны.


                1. CeBeP_2012 Автор
                  13.05.2015 13:40

                  А вы знаете наказательную систему, в которой по определению нет ошибок и быть не может? Нет таких. И никто не спешит на этом основании отказываться от таких систем вообще — что-то же надо делать. Я даже название статьи поменял уже.


                  1. Greendq
                    13.05.2015 15:22

                    Нет, я такой системы не знаю (вернее есть одна, но как работает — неизвестно. Вселенная называется). Но я рад, что теперь вы тоже не заявляете безаппеляционно о 100% точности :)


                    1. CeBeP_2012 Автор
                      13.05.2015 15:43

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



  1. Yavanosta
    12.05.2015 17:17
    +1

    Повторюсь со многими вышеотписавшимися. Вам нехватает:
    1. Доказательства стопроцентного отсутствия ложных срабатываний
    2. Доказательства того, что вы можете усложнить жизнь читерам, т.е. что подделать ваш «цифровой подчерк» является серьезной проблемой.

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


  1. Shekeen
    12.05.2015 17:53

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


    1. alhimik45
      12.05.2015 19:02
      +2

      читы вообще никакого отношения к движениям мыши не имеют

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


      1. Greendq
        12.05.2015 19:09
        +1

        А зачем? Пусть покупает и его снова забанят. При том, что даже при вероятности ошибки 1 на миллион — можно и на иск нарваться.


        1. qw1
          12.05.2015 22:41
          +2

          А можно нарваться и на подставу. Например, читер вписывает свой почерк в базу, играя через китайский vpn и с другого компьютера.
          Покупает новую копию игры, публично на твиче распаковывает её, регистрируется и сразу получает бан.
          Раздувает скандал в сети, мол фирма банит новых, совсем не виноватых юзеров, чтобы они снова купили диск. Или продаёт диски, а свои ресурсы сервера на игрока не тратит. Отмыться будет сложно.


          1. CeBeP_2012 Автор
            12.05.2015 23:40
            -3

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


            1. qw1
              12.05.2015 23:46
              +1

              У нас будет обоснование, логи и прочее.


              И? Как вы докажете, что пользователь Лянь-Хуань, получивший бан вчера, тот же человек, что и известный школоблогер Иван Огуречкин, который на весь мир опозорил игровую контору якобы ложным баном.


              1. MrNobody
                13.05.2015 03:54
                +1

                Прошу прощения за оффтоп.
                Очень неожиданно читать такое имя, откуда вы его взяли?


                1. qw1
                  13.05.2015 08:38

                  Обычное китайское имя, загуглите, найдёте множество людей с этим именем. Например, главный герой фильма «Человек из железа» (1972)


                  1. MrNobody
                    13.05.2015 08:56

                    Вообще я не про китайское имя…


                    1. qw1
                      13.05.2015 10:30

                      Я вспомнил про ютюб летс-плеера «Помидорку», но подумал, что сочтут за рекламу, поэтому поменял.


            1. Monoroch
              12.05.2015 23:54
              +1

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


              1. qw1
                12.05.2015 23:58

                Сразу суда? Фейсбук и гугл могут блокировать аккаунты без объяснений, игровая контора тоже может вписать это в EULA.


                1. Monoroch
                  12.05.2015 23:59

                  Может, но кому они потом нужны будут. Когда они в прямом эфире забанили новую учётку, потому что посчитали.


                  1. CeBeP_2012 Автор
                    13.05.2015 00:21
                    -2

                    Честным игрокам. Да, мы забанили новую учетку в прямом эфире, потому что известный школоблогер Иван Огуречкин запалился с читами с китайского vpn. И когда нас попросят объяснить, что за дела такие, мы предложим этому школоблогеру авторизоваться с любого другого компьютера, с новой копии. Когда результатом будет бан с приветом все тому же Лянь-Хуаню, также известному как Иван Огуречкин, вопросы отпадут, а у школоблогера поубавится подписчиков.


                    1. qw1
                      13.05.2015 00:24
                      +1

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


                      1. CeBeP_2012 Автор
                        13.05.2015 00:58

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


                        1. qw1
                          13.05.2015 02:31
                          +1

                          Ваша метрика — хеш от биометрических данных. Совпадение метрик аналогично коллизии хеша. Одинаковые данные всегда дадут одинаковый хеш, сколько раз ни хешируй. Это же очевидно.


                          1. CeBeP_2012 Автор
                            13.05.2015 03:15

                            А Вам не кажется, что коллизия хеша — событие чрезвычайно маловероятное? А если мы говорим о ситуации, когда хеш совпадает постоянно, то это означает не совпадение метрик, а совпадение биометрических данных у двух разных человек — это к вопросу об «одинаковые данные всегда дадут одинаковый хеш».


                            1. qw1
                              13.05.2015 08:39

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


                            1. Greendq
                              13.05.2015 10:19
                              +2

                              «Чрезвычайно маловероятное» — не значит, что «строго равно нулю».


                    1. Monoroch
                      13.05.2015 00:28
                      +2

                      А из обоснований только — мы так подумали.


      1. Shekeen
        12.05.2015 19:39

        Да, виноват, невнимательно прочитал. Показалось, что предлагается этот цифровой почерк еще и для первичного определения читеров использовать.
        Тогда вообще не решена самая главная проблема: как этих читеров обнаруживать? Если мы не можем его обнаружить, все схемы банов становятся бессмысленными.


        1. Alexeyslav
          13.05.2015 13:54

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


  1. Psychopompe
    12.05.2015 17:58

    А если я попеременно играю на тачпаде/мышке/трекболе?


    1. Alexeyslav
      13.05.2015 13:55

      Значит, у вас в лучшем случае будет три попытки…
      Потом можно будет поломать палец и через пол года(когда заживёт) пробовать снова.


      1. Psychopompe
        13.05.2015 14:09

        Проще девайс менять, от него тоже сильно зависит.


  1. fshp
    12.05.2015 18:20
    +1

    Самый лучший античит (применительно к шутерам) реализован в Torque 3d. Камера не видит объект — данные об объекте клиенту не передаются. Всякие wallhack`и становятся бесполезны. Интересно, что это не было целью, это лишь следствие оптимизации сетевой части.


    1. Shekeen
      12.05.2015 19:36

      Насчет «лучший» я бы поспорил, аим- и триггер- боты так не побороть вообще. Да и оптимизация спорная, получается нужен рендер на сервере.
      Интересно было бы посмотреть подробнее, у вас есть какие-то ссылки на эту тему?


      1. Alexeyslav
        13.05.2015 13:59

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


        1. Monoroch
          13.05.2015 14:01
          +2

          Вы правда считаете, что добавить рандомизацию прицела, и пути к нужной точке, что это сложно?


        1. qw1
          13.05.2015 14:03

          -


        1. Shekeen
          13.05.2015 16:56

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

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


  1. ilvar
    12.05.2015 20:18
    +5

    А если человек исправился и не использует больше читы?


    1. CeBeP_2012 Автор
      13.05.2015 00:30
      -3

      А если Евсюков исправился и больше не убивает людей? Давайте его выпустим, просто чтобы проверить.
      Возможно, слишком бестактное и некорректное сравнение, но оно выражает нужную мысль: вечный бан является еще и наказанием, помимо изоляции читера от честных игроков. К тому же никто не мешает ему играть в другие игры, не защищенные цифровым почерком, тем более что он встал на путь исправления.


      1. qw1
        13.05.2015 00:38

        Либо менять почерк. Честно говоря, при сознательном подходе не думаю, что это будет большой проблемой. Хотя была бы демка — легко было бы проверить.


      1. ilvar
        13.05.2015 01:29

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

        Вы в любом случае делаете сложную систему с машинным обучением и эвристиками — так почему бы не ловить этой системой сразу то, от чего вы хотите избавиться (использование читов), а не выдумывать хитрую систему вечного бана?


        1. CeBeP_2012 Автор
          13.05.2015 02:08
          -2

          Разумеется, мы будем делать и это. Хитрая система вечного бана поможет закрепить результат, вот и все.


  1. ov7a
    12.05.2015 22:01

    1. Не все игры шлют движения мыши. Не все сервера смогут пережевать этот объем данных (можно вложить бабки на апгрейд, но это сомнительное вложение имхо)
    2. Что делать с afk? Почерк у них идентичный.
    3. Кемперы
    4. 3-5 минут (или сколько там вашему алгоритму надо набирать образцы) afk, потом включаем читы — profit
    5. Не использовать мышь вообще (привет от квакеров) (или эмулировать такое поведение)
    6. Эмуляция белого шума (случайных подрагиваний, например)
    7. Уже выше упоминалось про чувствительность мыши и смену мыши.
    8. Эмуляция потери пакетов (пропустить промежуточные фреймы, посылать, например, только начало и конец)
    9. Думаю, что при должном уровне задротства можно после бана попросить поиграть бабулю, записать ее «почерк» и сделать чит, мимикрирующий под этот почерк.


    1. CeBeP_2012 Автор
      12.05.2015 22:42

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


      1. ZyXI
        12.05.2015 23:16
        +1

        9) Нужно побеждать не теорию вероятностей, а ваш алгоритм. Если он утечёт, а на том конце понимающий человек — можно, но маловероятно: человеку нужно знать матаппарат, которым вы руководствовались и суметь написать программу для компенсации программы подделки чужого почерка «с точки зрения игрока» (даже если мышь сама будет немного дёргается для подделки почерка, то удовольствие от игры уже будет маленьким, а т.к. в почерке наверняка и «длинные» движения учитываются…). Первое возможно, но зачем такому человеку читы? Второе может быть невозможно, но это кого?то волнует только если играет сам читер, а не его бот.

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

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

        7) Но всё гораздо хуже, если станут понятны физические параметры, искажающие почерк. Протезирование сейчас двигается вперёд, 3D печать тоже: читеры?киборги, меняющие руку после каждого бана не за горами :) А если серьёзно, то помимо мыши надо проверять положение руки относительно мыши, почерк без/в перчатках (меняется чувствительность и, главное, сцепление руки с поверхностью мыши и коврика), почерк с пластилином в неожиданных местах (на мыши, на пальцах, на коврике для ограничения движения мыши), смену руки (одноразовый приём, но, чувствую, имеет хороший шанс на прохождение), смену наклона поверхности коврика (можно тоже делать пластилином). Не знаю, что из этого вы уже проверили, но, надеюсь, я подсказал интересные идеи.


        1. CeBeP_2012 Автор
          12.05.2015 23:48

          Идея с пластилином меня люто восторгнула, честно.
          Однако все возможные реализации изменения почерка (из прозвучавших в данном обсуждении и в наших собственных поисках) разбиваются об одно условие: просто изменить почерк мало, надо сделать его стабильным (т.е. чтобы при разных полученных кривых идентификатор оставался прежним), иначе система будет принимать вас за нового игрока при каждой идентификации. Как это сделать, особенно не зная алгоритма преобразования параметров в итоговый идентификатор?


          1. qw1
            12.05.2015 23:59

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


            1. CeBeP_2012 Автор
              13.05.2015 00:37
              -2

              В том, что это придется делать между каждыми идентификациями, а они будут раз в 5 минут, например. Каждые 5 минут создавать новый акк? Что ж, пожалуйста. Можно даже раз в десять минут. Правда, если вы хоть раз заиграетесь и забудете сделать это — цифровая копия игры ухоит в бан за передачу управления аккаунтом другому лицу. Еще раз подчеркиваю: аккаунта, не перепутайте с цифровой копией.


              1. qw1
                13.05.2015 00:41

                Школота, которая играет в компании ради фана, не поймёт всю эту заумную фигню.
                В итоге, маловероятно что какой-то издатель рискнёт поставить у себя эту систему.
                Поэтому лучше сразу разрабатывать игру своей мечты и на ней проверять ))


                1. CeBeP_2012 Автор
                  13.05.2015 00:45
                  +1

                  Да, именно это мы и хотели сделать. И слишком поздно поняли, что без работающей системы цифрового почерка, доказавшей свою эффективность, обречены на провал. Теперь мы готовим следующую попытку, попутно выискивая другие свои ошибки — в том числе и с вашей помощью.


              1. SunX
                13.05.2015 19:26
                +5

                Подождите, ЧТО? т.е. если во время игры меня укусила кошка и пришлось срочно играть другой рукой\по каким-то другим причинам сменить «почерк», то меня выкинет и заставит заново регистрироваться?


          1. ZyXI
            13.05.2015 00:05

            Это же вы проверяете. Я не знаю, будет ли надевание перчатки с пластилином давать стабильный результат. Но если оно будет давать нестабильный результат из?за пластичности пластилина (IMHO наиболее вероятная причина), то читеры будут пользоваться воском. Главное, пластилином можно проверить идею. После проверки можно подумать и о стабилизации.

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

            Т.е. проверяем пластилином, изменился ли от него почерк. Если да — рисуем себе галочку и заменяем пластилин чем?то более стабильным. Не прошло из?за нестабильности? Пытаемся дальше. Поэтому нужно убедиться, что все более?менее очевидные многоразовые методы не работают (конечноразовые вроде смены руки не слишком опасны).


            1. CeBeP_2012 Автор
              13.05.2015 00:52

              Пожалуй, будет уместна небольшая аналогия с Вашим методом поиска «обходных путей».
              Вы предлагаете искать иголку в стоге сена, не зная размеров стога, не зная размера и вида иголки и рискуя при каждом поиске нарваться на «растяжку со спичкой», которая сожжет стог и придется начать по новой. В этой аналогии стог — все возможные способы «обхода», иголка — «стабильный обход», а растяжка — ситуация, когда исследуемый способ дал нестабильный результат и очередная копия игры ушла в бан.


              1. ZyXI
                13.05.2015 08:55

                Брутфорс — не такой уж и редкий метод решения подобных проблем. Что?то более приличное, скорее всего, возникнет во время его применения на основании полученных данных.

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

                Размер стога, кстати, явно ограничен: проверять, не изменится ли почерк от изменения формы кривой на выходе ИБП не будут, будут только то, от чего может измениться то, как человек возит мышкой.


                1. CeBeP_2012 Автор
                  13.05.2015 14:43

                  Размер стога ограничен, и это нам на руку, т.к. неизвестно, есть ли в нем вообще эта иголка.


      1. 0xd34df00d
        13.05.2015 02:51

        5. Предпочитаю управлять техникой в BF с клавиатуры. В DCS:World так вообще только с клавиатуры и летал, пока джойстик себе не купил (то ещё извращение, кстати).


      1. ov7a
        13.05.2015 10:40

        1. За какое время? 3-5 минут? ок, тогда пережует
        3. А я и не говорил, что это чит. Просто если я буду кемперить, то с учетом того, что вы сказали насчет afk, для сбора идентификатора понадобится больше времени и если я читер, могут дольше отравлять всем жизнь. Изначально я имел в виду, что у кемперов почерк должен быть схож из-за малого числа измерений
        5. Вон в комментариях ответили, что вполне реально. А насчет эмулированого поведения что ответите? Не так уж и сложно перевести движения мыши в нажатие стрелок.
        6. Т.е. на ваш взгляд все случайные шумы одинаковые? Ну тогда и все хэши одинаковые, чо.
        7, 8. Стабильность чего? Если не имеет значения ни скорость передвижения (чувствительность), ни промежуточные измерения (потери пакетов), то что, черт побери, имеет? Конечная точка? Если для читеров это фраг, то тогда фиг вы отличите читеров от задротов.


        1. CeBeP_2012 Автор
          13.05.2015 12:08

          1) Одна-две минуты.
          3) Если ваш почерк в бане, в влетите в новый бан еще до того, как займете позицию. Минута-две нужны на это, правда?
          5) Несложно, однако что это поменяет? Вы просто ставите мжду мышью и игрой прослойку, фильтр, коорая саму кривую не изменит, а если изменит — то вопрос, стабильно ли, и вопрос, возможно ли будет так играть вообще.
          6) Нет, в этом случае хеш мы уже не получим. Однко белый шум очень сильно влияет на ряд параметров (увеличивает сумму расхождений с аппроксимированными, смещает вправо вершину графика распределения углов и т.д.). Мы не сможем идентифицировать такого игрока, однако сможем с уверенностью утверждать, что игрок маскируется, используя белый шум => бан.
          7,8) Стабильность итогового идентификатора, хеша. Имеет значение кривая, которую вы проводите своей рукой. Так же, как буква, которую вы нарисуете на бумаге, имеет значение для верификации почерковедческой экспертизы.


          1. 0xd34df00d
            13.05.2015 12:52

            3. Прикинул по той же BF4 и некоторым картам в ней. В худшем случае получается десяток-другой секунд, из которых почти всё время вы будете бежать, зажав Shift+W, смотря в одном направлении и вообще не трогая мышку. Какой уж тут уникальный почерк?


            1. CeBeP_2012 Автор
              13.05.2015 13:46

              Ок. Если вы получили бан, то такой геймплей (добежать за 10 секунд до точки и сидеть не шевелясь) — все, что вам доступно. И останется призрачная надежда на то, что мы не сканируем кривую, пока вы еще в меню. Что мы, разумеется, будем делать.
              К тому же при прицеливании вы все равно будете шевелить мышью, так что еще вопрос.


              1. 0xd34df00d
                13.05.2015 13:57

                Меню у Battlefield — страница battlelog в любимом браузере. Будете сниффать активность пользователя в браузерах?

                Степеней свободы при прицеливании куда меньше, имхо, шанс забанить нечитящих кемперов повыше уже.


              1. qw1
                13.05.2015 14:04
                +1

                И останется призрачная надежда на то, что мы не сканируем кривую, пока вы еще в меню

                О как! По-другому выбрал пункт меню, или зашёл в «настройки», чего никогда не делал раньше — БАН!


                1. CeBeP_2012 Автор
                  13.05.2015 14:22

                  Ну не так, разумеется. Почерк-то ваш останется, куда бы вы ни пожелали зайти в меню.


          1. ov7a
            13.05.2015 13:56

            5) так как вы эту кривую соберете, если я вам движение мышью слать не буду?
            6) Тогда у вас не 100% точность (ну вам в комментах это уже много писали). Люди с Паркинсоном и грязным столом у вас будут определяться как читеры
            7,8) А как вы эту кривую получите, если я не буду вам посылать перомежуточные точки, а только начало и конец? Что мне мешает изменить промежуточные точки?


            1. CeBeP_2012 Автор
              13.05.2015 14:32

              5) Выключу управление обзором с клавиатуры, например.
              6) Люди с Паркинсоном и грязным столом теоретически могут определяться как новые игроки. Новые, а не уже существующие и запалившиеся с читами.
              7,8) Скорее всего мы это определим как признак, к тому же геймплей вы себе просто похороните — для прицеливания необходимо будет «замереть», а о попадании в движущуюся цель вообще забудьте.


              1. 0xd34df00d
                13.05.2015 14:48

                Так если игроки у вас новые всё время, вы же их тоже баните, разве нет?


                1. CeBeP_2012 Автор
                  13.05.2015 14:59

                  Зачем?! Новый игрок? Добро пожаловать!


                  1. 0xd34df00d
                    13.05.2015 15:22

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


            1. Alexeyslav
              13.05.2015 15:03

              Я полагаю, с мелким шумом до бана дело не дойдет, а с тем с которым забанят — просто играть будет невозможно в реальной ситуации.
              Разве что… любители поиграть в шутеры в машине несущейся по бездорожью, да… развлечение еще то!


  1. pushthebutton
    12.05.2015 22:23
    +1

    Как вы собираете нажатия кнопок: используете win api или реализовали драйвер-фильтр?
    Можете не отвечать, это риторический вопрос. Нужно понимать, что если вы подписались на апи, ничто не запрещает снять установленный делегат через тот же апи.
    Если собственный драйвер, то тут тоже все далеко не однозначно и несет больше проблем для честных игроков, чем для читеров.
    «win api» намекает на то, что нужно ориентироваться на самые популярные ос, не только майкрософт.

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

    Вобще круто было бы посмотореть пример.
    Создайте простенькую веб морду, где подвигал мышой и понажимал клаву, отправил собранные данные на сервер. Далее магия, после нее включается режим «соври, если сможешь». В итоге никто не увидит все кухни алгоритма, а у вас будет хабраэффект и куча данных для анализа. Здорово ведь!


    1. CeBeP_2012 Автор
      12.05.2015 22:33

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


      1. pushthebutton
        12.05.2015 23:02

        Тогда не понятно, зачем вы говорили про стопроцентный кейлоггер.

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

        Последний абзац не понятен. Почему вы не можете начать сбор вопросов на прототипе. И что есть вопрос и ответ? Неужели, если человек застыл за стеной это плохо, а если побежал назад это хорошо? FAR & FRR, отпечатки? поясните.


        1. CeBeP_2012 Автор
          12.05.2015 23:32

          Стопроцентный кейлоггер мы используем для сбора статистики, необходимой нам для запуска «рабочего прототипа».
          Строго на сервере реализуется лишь обработка данных, а соответсвие полученных данных истинным проверяется как соответствие полученной кривой движениям персонажа в игре.
          Поясняю по последнему абзацу: мы запустили сбор статистики и начали продвигать свою идею в соцсетях. Однако при этом совершили фатальную, видимо, ошибку — одновременно вылезли на краудфандинг с заведомо завышенными запросами. Из-за этого градус недоверия и возрос, скорее всего.
          Я намеренно не дал здесь ни ссылок, ни названий, чтобы получить объективное обсуждение самой идеи. Мне хотелось, чтобы меня с разных точек зрения ткнули носом в возможные недочеты. Пока что ситуации «да, я этого не учел, ничего не выйдет» нет.
          Простите за то, что не сразу отвечаю, но я могу писать комментарии не чаще, чем раз в пять минут, как я понимаю — особенность данного ресурса.
          Думаю перепилить пост в статью с учетом вопросов, возникших в этом обсуждении, и выложить на Гиктаймс.


  1. qw1
    12.05.2015 22:28

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


    1. CeBeP_2012 Автор
      12.05.2015 22:51

      И заготовленная кривая, и случайная не будут соответствовать движениям персонажа в игре. Мы именно поэтому и не переживаем за «свободу в интернете» — гарантированная идентификация возможна только при наличии «обратной связи», т.е. соответствующих внутриигровых данных.
      «Округление» или добавление случайных движений не сработает — во-первых, сразу определяется как один из признаков, во-вторых рушит геймплей.


      1. qw1
        12.05.2015 23:01
        +1

        Тут ещё интересно, какие частоты сигнала важны для идентификации игрока. Явно, низкие частоты менее важны, т.к. отражают игровую ситуацию, а не рефлексы. Читер может согласиться на снижение отзывчивости игры до 50, а то и 100 мс. Т.е. он направляет игру в общем, а мелкие движения осуществляет бот по заданному почерку. Причём теоретически можно сделать так, что лагов не будет видно — движок будет рендерить то, как двигается игрок, а на сервер уходить то, как двигается бот. Все расхождения в пределах 50 мс «рукава». Возможно, что игрок видит, что попал, а игра попадание не засчитала. И наоборот. Но это редкие и напряженные моменты, где решают десятки мс. В целом, для игроков с низким скилом, лаги будут не существенны и окажут малое влияние на игру.

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


        1. CeBeP_2012 Автор
          12.05.2015 23:23

          Да, в этом случае мы не сможем идентифицировать игрока. Однако мы совершенно точно увидим, что неизвестный игрок использует «систему маскировки», после чего последует бан копии игры. Увидим кстати сразу, в первом же образце. Если даже у человека есть пресловутый динамический стереотип, что уж говорить о боте?


          1. qw1
            12.05.2015 23:35

            Почему бы боту не менять профили. Их можно копировать с реальных людей и миксовать в случайных пропорциях.


            1. CeBeP_2012 Автор
              12.05.2015 23:55
              -1

              И при каждой идентификации система увидит кого-то нового. Стабильности идентификатора вообще не будет при таком подходе, а она необходима, а то ведь будет очередной бан.


              1. qw1
                13.05.2015 00:01

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


                1. CeBeP_2012 Автор
                  13.05.2015 00:15
                  -1

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


                  1. qw1
                    13.05.2015 00:26

                    Если я зайду в PlayStation под другим аккаунтом, то игры, купленные с основного акка, будут недоступны. И как прикажете играть? Если контора сотрудничала с PSN или Steam, ей надо свой стор делать, со своими правилами, где доступны чужие игры?


                    1. CeBeP_2012 Автор
                      13.05.2015 01:08

                      И в Playstation, и в Steam игрок может иметь сколько угодно аккаунтов, у нас — только один, если не заведет себе еще один мозг и еще две руки. А по поводу возможности для двух человек создавать каждому аккаунт на одной цифровой копии — да пожалуйста, нам же необязательно свои внутриигровые акки привязывать к стимовским.


                      1. qw1
                        13.05.2015 02:37

                        Иметь отдельно акк в магазине, отдельно в игре — не user-friendly, сложно будет это продать. Грубо, 99% юзеров не читают инструкций и не будут париться, если кто-то поиграет их персонажем. Это внезапно приведёт к бану, у игроков будут претензии к игре, а у игры маленькая аудитория. Возможно, какое-то небольшое сообщество соберётся, где все будут хорошо понимать суть системы, но разве это успех.


                        1. CeBeP_2012 Автор
                          13.05.2015 03:07
                          -5

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


                  1. 0xd34df00d
                    13.05.2015 12:55

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


                    1. ZyXI
                      13.05.2015 22:45

                      А вы уверены, что он действительно изменился? Здесь есть только один человек, который может ответить на данный вопрос и это не вы. Так что я бы спросил CeBeP_2012, проверялась ли и будет ли проверяться такая ситуация?

                      Особенно в свете намёков, что с аккаунтом при изменении почерка предполагается что?то делать.


                      1. 0xd34df00d
                        14.05.2015 16:51

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


                        1. ZyXI
                          14.05.2015 19:51

                          Биометрический метод нужен для идентификации людей, а не пары «человек, его состояние». Если почерк после травмы остался неизменным, но при этом алгоритм хорошо отличает вас от других людей, то это хороший, годный алгоритм.

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


              1. ZyXI
                13.05.2015 00:11

                Так менять будут только после бана очередного профиля.

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


                1. qw1
                  13.05.2015 00:27

                  Да это кстати идея — воровать подписи ))


              1. alexxprg
                13.05.2015 16:02
                +3

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

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


      1. qw1
        12.05.2015 23:32

        Какие есть реальные перспективы… Прийти к владельцам серверов (например, quake) вы не можете, потому что у них нет исходников сервера и клиента, либо исходники есть, если open-source, но они не контролируют клиентов.

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

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

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

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

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


        1. ZyXI
          12.05.2015 23:45

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

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

          Просто теперь вместо удобного доступа к объектам нужно распознавать изображение. Что с каждым днём становится всё легче и легче.


  1. SONce
    13.05.2015 01:32
    +3

    Во всем этом непонятном алгоритме не хватает одного. Запилите сайтик где можно потестить ваш алгоритм. Пусть он реально покажет что он умеет различать какой человек дергает мышкой в данный момент.


  1. d1Mm
    13.05.2015 05:37

    Единственная 100% защита от читерства — это облачный гейминг.
    До тех пор пока процесс игры запущен на клиенте — читеры никуда не исчезнут.


    1. qw1
      13.05.2015 08:41

      см. выше geektimes.ru/post/250244/#comment_8366654 о читах, использующих системы компьютерного зрения


  1. Vindicar
    13.05.2015 11:36

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


    1. Xazzzi
      13.05.2015 13:13
      +1

      Как я понял, смена хвата вполне может привести к изменению «подписи», но пока такой подписи нет в базе читеров — вас не збанят.
      Сама подпись — что-то сродни перцептивного хеша, алгоритм автора по идее должен обеспечивать достаточную стабильность хеша, в рамках «похожести» хешей одного человека друг на друга, и достаточную уникальность, чтобы отличать подписи разных людей. Иными словами, пока из 64 бит хеша-идентификатора 48, к примеру, не меняются — система сможет выделить вас из списка других игроков.


      1. CeBeP_2012 Автор
        13.05.2015 14:02

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


      1. Vindicar
        13.05.2015 14:45

        Вот, вопрос похожести-то как раз в статье и не раскрыт (или я это не увидел). Только утверждается что «система работает».
        А хотелось бы увидеть в цифрах, с доверительными интервалами — в какой степени изменится хэш при изменении посадки (купил новый монитор/кресло), при смене контроллера, и при тому подобных помехах, и в какой — при замене человека.


        1. CeBeP_2012 Автор
          13.05.2015 15:06

          Ох, а нам-то как хочется, не представляете. Не получим статистическую базу — не получим возможности исследования.
          Пока что просто собираем объективную критику, ищем подводные камни, с вашей помощью.


          1. Vindicar
            13.05.2015 15:18

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


            1. CeBeP_2012 Автор
              13.05.2015 15:21

              Нет-нет, на малой выборке проведены, мы определим одного из 32 (максимум), потому что стабилизировали 5 признаков. А надо-то минимум 64 признака для означенного в статье числа возможных вариантов, а для этого надо собрать хотя бы 10000 образцов.


      1. SunX
        13.05.2015 21:44

        Как я понял из комментариев я понял, смена «подписи» говорит о том, что это другой человек и как следствие бан ну или настойчивая просьба войти под своим аккаунтом.


  1. Hoshi
    14.05.2015 05:58
    +2

    А как быть с тачскринами, одного игрока так забанили в одной игре(osu!) ибо курсор просто телепортировался вместо движения, пришлось общаться с техподдержкой(разбанили).

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

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

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


  1. eugzol
    14.05.2015 13:33

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


    1. Alexeyslav
      14.05.2015 15:29

      Это врятли… 15 минут водить мышкой чтобы войти в онлайн-банкинг? Замечательная идея…


      1. CeBeP_2012 Автор
        14.05.2015 18:18

        1 минута. Вы же не вводите свой e-mail и пароль при каждом входе в игру или стим.
        Сситемы верификации по такому почерку давно существует, просто мы пошли немного дальше, создав систему идентификации.


        1. Alexeyslav
          14.05.2015 21:23

          для игры может и 1 минута, а банкинг — нужна защита посильнее, а значит и уверенность.
          О! придумал… пока ждешь когда дадут доступ к банкингу — играешь в мини-шутер типа спаси деньги от огня или от вора.