Dymeth
Пользователь
- Сообщения
- 63
- Решения
- 4
Хочу поведать о проблеме, с которой столкнулся сам. Обсудим возможные решения. Способ наверняка не новый, так что, может, у кого-то уже есть мысли на этот счёт.
Наиболее подходящего раздела на форуме не нашёл, извиняйте.
Теоретические возможности
Данный способ позволяет получить злоумышленнику доступ к сессии человека по айпи, поэтому в течение нескольких часов аккаунт донатера (или любого другого игрока) может быть использован как угодно - независимо от того, стоит ли там сложный пароль и включена ли двухфакторная авторизация. А если второй фактор авторизации не позволяет еще и восстановить утерянный пароль - аккаунт может быть утерян полностью: как для взломщика, так и для владельца.
Также данный способ позволяет получать перманентный доступ к аккаунтам, не имеющим другой защиты кроме пароля. Злоумышленник может входить в аккаунт в любое время дня и ночи, пока владелец не сменит пароль или пока аккаунт не забанят на сервере. А когда аккаунт нужно будет продать - взломщик сделает это по щелчку пальцев, что реальный владелец даже опомниться не успеет - теперь только восстанавливать через поддержку.
Суть способа
Внимание! В теме не привожу конкретных названий, ссылок и примеров, чтобы никого не мотивировать заниматься подобными вещами. Вся информация предоставлена исключительно для предостережения других администраторов о возможных проблемах.
1) Создаётся прокси-сервер и направляется на оригинальный сервер.
В качестве прокси-сервера выступает софт, полностью маскирующийся под обычный игровой клиент. Таким образом, на уровне игры нет ни единой возможности отличить подключение прокси-сервера от подключения реального игрока. Для тех, кто в танке - речь не BungeeCord, а про самостоятельный прокси-сервер. Особенностью этого сервера является лишь то, он подменяет передаваемый клиентом адрес, по которому происходит подключение. Сделано это по понятной причине - в первую очередь чтобы не выдавать себя. У меня нет названия подобного софта, но уверен, что он находится в открытом доступе и доступен любому желающему. К проблеме это значения не имеет.
2) Под "вкусным" предлогом на прокси-сервер заманиваются донатеры или даже модераторы/администраторы проекта.
Предлог может быть любым - всё от иммунитета от банов до бесплатного доната. Главное, чтобы игрок вошел и авторизовался через прокси-сервер. Как все мы понимаем, любопытство может оказаться сильнее всех предупреждений о небезопасности входов по сторонним адресам. Некоторые игроки и вовсе не догадываются, что таким образом могут получить доступ к их аккаунту.
Распространяться адрес прокси-сервера может где угодно - и в личной переписке ВКонтакте, и в различных тематических пабликах с ютуб-каналами, и даже на мониторингах. А про некоторые доступные способы продвижения вообще не стоит говорить - вы сами всё знаете.
3) Злоумышленник логирует все вводимые команды и благодаря IP-сессии получает доступ к аккаунту до тех пор, пока сессия не закончится или не переключится на другой IP-адрес.
Много ли игроков на вашем сервере используют двухфакторную авторизацию? А много ли хотя бы привязывают аккаунт ВКонтакте для получения уведомлений о входах? Что же, у меня плохие новости. По своему опыту скажу, что если хотя бы 5% игроков всего сервера используют эти примитивные меры безопасности - это уже хороший результат.
Варианты решения
Техническая сторона.
1) Тут всё довольно очевидно. Первое, что приходит в голову - использовать online-mode (а значит и собственный лаунчер). Ну, либо же пускать исключительно при наличии лицензии самой игры.
2) Второй вариант - это предотвращение заходов на оригинальный сервер с адресов прокси-серверов. Сюда входит и блокировка "не целевых" стран, и проверка адресов на наличие в спам-базах, и прочие средства диагностики анонимизации. Об этом рассказывать не буду, лишь задам
3) В большинстве случаев адреса прокси-серверов не совпадают с теми, с которых выполняется подключение на оригинальный сервер. Таким образом, нет простого способа определить, что подключение выполнено с адреса злоумышленника. Лично я в качестве "входных нод" видел публичные адреса Ng**k. Но опять же, это вопрос вкуса и серьезности подхода к делу.
4) Ещё один способ капельку обезопасить сервер - ограничить членам команды доступ на вход лишь с конкретных адресов и подсетей. Тут всё и так понятно. К сожалению, это не всегда удобно и в целом не всегда возможно.
5) Очередная моя мысль - это принудительное усложнение процесса авторизации. Можно всех поголовно обязать привязывать почту или аккаунт ВКонтакте. А можно пойти ещё дальше - и вместо авторизации через чат реализовать авторизацию в инвентаре/в мире. Да, это не даёт полной гарантии безопасности от утечки пароля, но по крайней мере усложнит взломщикам задачу. Да и вряд ли кто-то будет заниматься переписыванием логгера конкретно под ваш сервер, пока этот сервер не является хотя бы топ-10 по СНГ по онлайну. Но, к сожалению, данный способ не всегда применим из-за специфики аудитории.
6) Ещё одна небольшая идея - это отслеживание источников распространения информации о сторонних прокси-серверах с последующим их устранением. Не знаю, насколько эффективно писать в поддержку различных сервисов с просьбой удаления/блокировки, но сам вариант исключать нельзя. Естественно, это потребует значительных временных затрат (на индексацию информации в поисковиках, на общение с поддержкой и т.д.).
7) И последняя мысль, довольно очевидная - это не выдавать донатерам прав, которые могут ощутимо навредить серверу. Взлом не всегда можно предотвратить, но всегда можно профилактически минимизировать возможные последствия.
Психология.
Вот этим уже сложнее, т.к. запретный плот сладок. Пока у меня есть лишь такие идеи:
1) Всему админ-составу категорически запрещать заходить на сервер по сторонним адресам. А от игроков, сообщающих о "вкусностях" требовать хотя бы видеодоказательств. Если всё же приходится входить на сервер через сторонние адреса - для этого стоит использовать отдельный аккаунт без каких-либо специальных прав.
2) Активно информировать игроков о необходимости использования дополнительных средств защиты, и также о серьёзной опасности входа на сервер через сторонние адреса.
Послесловие
На этом список моих идей подошёл к концу. Проблема кажется мне как никогда актуальной и острой, поэтому жду ваших мыслей и предложений. А пока остаётся надеяться, что действительно серьёзных игроков в этой "сфере обмана" в ближайшее время не появится.
Появилась более конкретная техническая идея.
Можно анализировать предыдущие входы игрока и сравнивать с новыми входами. В частности сверять геолокацию или даже проверять принадлежность адреса к "стандартной" подсети игрока. Также можно обратить внимание на наличие или отсутствие статичности у "стандартных" входов.
Также для идентификации можно использовать версию игры и список модов, если такие имеются.
Помимо этого, для идентификации игроков можно использовать информацию, передаваемую клиентом при скачивании ресурспака - в частности версию джавы.
Это всё поможет выявить подозрительные сессии для игроков, для которых уже собрана какая-либо статистика.
На самом деле, скачивание ресурспака можно использовать для гораздо более эффективной проверки - сравнение IP-адреса подключенного игрока и адреса, с которого поступил запрос на скачивание пака по вебу.
Веб - это еще один мощный друг в борьбе за безопасность аккаунтов. Так, например, можно обязать игроков просто открывать ссылку для завершения авторизации. Суть та же - сравнение IP браузера и IP клиента в игре. Помимо этого, при подозрительной активности можно отображать капчу - так можно будет частично избавиться от ботов для подбора пароля.
Но одно дело реализовать подобную защиту и принудительно подключить игрокам, и совсем другое - донести до игроков, зачем это нужно и как это использовать. Тут всё те же психологические моменты, о которых писал выше.
Немного отклоняясь от темы - для повышения безопасности аккаунтов можно также проверять наличие пароля игрока в различных "слитых" базах других серверов. Естественно, что делать это можно только при регистрации и авторизации, когда пароль приходит в открытом виде.
Где взять такие "базы" - уже другой вопрос. Хотя поиск баз - это необязательный пункт для подобного рода защиты. Существуют различные сервисы, но о них я рассказывать не буду - найдёте сами при желании.
Наиболее подходящего раздела на форуме не нашёл, извиняйте.
Теоретические возможности
Данный способ позволяет получить злоумышленнику доступ к сессии человека по айпи, поэтому в течение нескольких часов аккаунт донатера (или любого другого игрока) может быть использован как угодно - независимо от того, стоит ли там сложный пароль и включена ли двухфакторная авторизация. А если второй фактор авторизации не позволяет еще и восстановить утерянный пароль - аккаунт может быть утерян полностью: как для взломщика, так и для владельца.
Также данный способ позволяет получать перманентный доступ к аккаунтам, не имеющим другой защиты кроме пароля. Злоумышленник может входить в аккаунт в любое время дня и ночи, пока владелец не сменит пароль или пока аккаунт не забанят на сервере. А когда аккаунт нужно будет продать - взломщик сделает это по щелчку пальцев, что реальный владелец даже опомниться не успеет - теперь только восстанавливать через поддержку.
Суть способа
Внимание! В теме не привожу конкретных названий, ссылок и примеров, чтобы никого не мотивировать заниматься подобными вещами. Вся информация предоставлена исключительно для предостережения других администраторов о возможных проблемах.
1) Создаётся прокси-сервер и направляется на оригинальный сервер.
В качестве прокси-сервера выступает софт, полностью маскирующийся под обычный игровой клиент. Таким образом, на уровне игры нет ни единой возможности отличить подключение прокси-сервера от подключения реального игрока. Для тех, кто в танке - речь не BungeeCord, а про самостоятельный прокси-сервер. Особенностью этого сервера является лишь то, он подменяет передаваемый клиентом адрес, по которому происходит подключение. Сделано это по понятной причине - в первую очередь чтобы не выдавать себя. У меня нет названия подобного софта, но уверен, что он находится в открытом доступе и доступен любому желающему. К проблеме это значения не имеет.
2) Под "вкусным" предлогом на прокси-сервер заманиваются донатеры или даже модераторы/администраторы проекта.
Предлог может быть любым - всё от иммунитета от банов до бесплатного доната. Главное, чтобы игрок вошел и авторизовался через прокси-сервер. Как все мы понимаем, любопытство может оказаться сильнее всех предупреждений о небезопасности входов по сторонним адресам. Некоторые игроки и вовсе не догадываются, что таким образом могут получить доступ к их аккаунту.
Распространяться адрес прокси-сервера может где угодно - и в личной переписке ВКонтакте, и в различных тематических пабликах с ютуб-каналами, и даже на мониторингах. А про некоторые доступные способы продвижения вообще не стоит говорить - вы сами всё знаете.
3) Злоумышленник логирует все вводимые команды и благодаря IP-сессии получает доступ к аккаунту до тех пор, пока сессия не закончится или не переключится на другой IP-адрес.
Много ли игроков на вашем сервере используют двухфакторную авторизацию? А много ли хотя бы привязывают аккаунт ВКонтакте для получения уведомлений о входах? Что же, у меня плохие новости. По своему опыту скажу, что если хотя бы 5% игроков всего сервера используют эти примитивные меры безопасности - это уже хороший результат.
Варианты решения
Техническая сторона.
1) Тут всё довольно очевидно. Первое, что приходит в голову - использовать online-mode (а значит и собственный лаунчер). Ну, либо же пускать исключительно при наличии лицензии самой игры.
2) Второй вариант - это предотвращение заходов на оригинальный сервер с адресов прокси-серверов. Сюда входит и блокировка "не целевых" стран, и проверка адресов на наличие в спам-базах, и прочие средства диагностики анонимизации. Об этом рассказывать не буду, лишь задам
Авторизуйтесь для просмотра ссылок.
. Конечно, это не даст стопроцентной защиты, однако ограничит поток хитрецов, жаждущих лёгкой и быстрой наживы. На данный момент бесплатные прокси-сервера - это бич данного обмана. Однако не исключаю, что кто-то подошел к вопросу более серьёзно и использует что-то менее очевидное.3) В большинстве случаев адреса прокси-серверов не совпадают с теми, с которых выполняется подключение на оригинальный сервер. Таким образом, нет простого способа определить, что подключение выполнено с адреса злоумышленника. Лично я в качестве "входных нод" видел публичные адреса Ng**k. Но опять же, это вопрос вкуса и серьезности подхода к делу.
4) Ещё один способ капельку обезопасить сервер - ограничить членам команды доступ на вход лишь с конкретных адресов и подсетей. Тут всё и так понятно. К сожалению, это не всегда удобно и в целом не всегда возможно.
5) Очередная моя мысль - это принудительное усложнение процесса авторизации. Можно всех поголовно обязать привязывать почту или аккаунт ВКонтакте. А можно пойти ещё дальше - и вместо авторизации через чат реализовать авторизацию в инвентаре/в мире. Да, это не даёт полной гарантии безопасности от утечки пароля, но по крайней мере усложнит взломщикам задачу. Да и вряд ли кто-то будет заниматься переписыванием логгера конкретно под ваш сервер, пока этот сервер не является хотя бы топ-10 по СНГ по онлайну. Но, к сожалению, данный способ не всегда применим из-за специфики аудитории.
6) Ещё одна небольшая идея - это отслеживание источников распространения информации о сторонних прокси-серверах с последующим их устранением. Не знаю, насколько эффективно писать в поддержку различных сервисов с просьбой удаления/блокировки, но сам вариант исключать нельзя. Естественно, это потребует значительных временных затрат (на индексацию информации в поисковиках, на общение с поддержкой и т.д.).
7) И последняя мысль, довольно очевидная - это не выдавать донатерам прав, которые могут ощутимо навредить серверу. Взлом не всегда можно предотвратить, но всегда можно профилактически минимизировать возможные последствия.
Психология.
Вот этим уже сложнее, т.к. запретный плот сладок. Пока у меня есть лишь такие идеи:
1) Всему админ-составу категорически запрещать заходить на сервер по сторонним адресам. А от игроков, сообщающих о "вкусностях" требовать хотя бы видеодоказательств. Если всё же приходится входить на сервер через сторонние адреса - для этого стоит использовать отдельный аккаунт без каких-либо специальных прав.
2) Активно информировать игроков о необходимости использования дополнительных средств защиты, и также о серьёзной опасности входа на сервер через сторонние адреса.
Послесловие
На этом список моих идей подошёл к концу. Проблема кажется мне как никогда актуальной и острой, поэтому жду ваших мыслей и предложений. А пока остаётся надеяться, что действительно серьёзных игроков в этой "сфере обмана" в ближайшее время не появится.
Объединено
Появилась более конкретная техническая идея.
Можно анализировать предыдущие входы игрока и сравнивать с новыми входами. В частности сверять геолокацию или даже проверять принадлежность адреса к "стандартной" подсети игрока. Также можно обратить внимание на наличие или отсутствие статичности у "стандартных" входов.
Также для идентификации можно использовать версию игры и список модов, если такие имеются.
Помимо этого, для идентификации игроков можно использовать информацию, передаваемую клиентом при скачивании ресурспака - в частности версию джавы.
Это всё поможет выявить подозрительные сессии для игроков, для которых уже собрана какая-либо статистика.
На самом деле, скачивание ресурспака можно использовать для гораздо более эффективной проверки - сравнение IP-адреса подключенного игрока и адреса, с которого поступил запрос на скачивание пака по вебу.
Веб - это еще один мощный друг в борьбе за безопасность аккаунтов. Так, например, можно обязать игроков просто открывать ссылку для завершения авторизации. Суть та же - сравнение IP браузера и IP клиента в игре. Помимо этого, при подозрительной активности можно отображать капчу - так можно будет частично избавиться от ботов для подбора пароля.
Но одно дело реализовать подобную защиту и принудительно подключить игрокам, и совсем другое - донести до игроков, зачем это нужно и как это использовать. Тут всё те же психологические моменты, о которых писал выше.
Объединено
Немного отклоняясь от темы - для повышения безопасности аккаунтов можно также проверять наличие пароля игрока в различных "слитых" базах других серверов. Естественно, что делать это можно только при регистрации и авторизации, когда пароль приходит в открытом виде.
Где взять такие "базы" - уже другой вопрос. Хотя поиск баз - это необязательный пункт для подобного рода защиты. Существуют различные сервисы, но о них я рассказывать не буду - найдёте сами при желании.
Последнее редактирование: