Rust news
SOCIAL:
В категориях: Rust комьюнити

Игроки используют DDoS против других игроков

Недавно пользователь reddit throwawaise8942 написал пост про то, как игроки устраивают DDoS друг против друга. Вольный перевод статьи.


Для голосового чата в игре Rust использует Voice P2P от Steam.

Это простой метод, и многие люди в настоящее время им пользуются. При использовании программы с названием Wireshark вы можете посмотреть IP игроков в параметрах голосового диапазона их персонажей.

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

Получив ваш IP-адрес, они используют специальные программы «бутеры» (booters), которые вызывают DDoS-атаку на любой IP, установленный в качестве их цели. Некоторые из этих сервисов являются бесплатными, а при желании для достижения цели можно даже взять в аренду целую бот-сеть.

Вы будете отключены в течение нескольких секунд, ваш интернет просто упадёт. Меня держали в оффлайне более получаса, вместе с ещё двумя членами клана. Мне даже пришлось связаться с провайдером ISP, который подтвердил, что мой IP подвергся DDoS-атаке, мощностью более 10gbps и причинившего вред маршрутизатору, заставив их изменить мой IP-адрес.

Это на самом деле является серьёзной проблемой, поскольку сейчас этим занимается всё больше и больше людей. С программой Wireshark всё понятно. Бесплатные бутеры или даже бутеры/бот-сети, за которые вы заплатили, являются одинаково простыми в использовании. Пятилетний ребёнок может легко с ними справиться.

Я пишу это по двум причинам. Масштаб проблемы постоянно растёт. Ситуация постоянно ухудшается, так как всё больше и больше людей начинают этим заниматься, и, наверное, есть какой-нибудь способ не позволить им получить ваш IP-адрес. Вполне возможно.

Я не уверен, может ли Wireshark захватить ваш IP каким-либо другим путём, но полагаю, что они используют голосовые услуги Steam p2p для серверов Rust, поэтому блокировка этих портов может сделать получение вашего IP не таким уж лёгким делом.

Сеть Steamworks P2P и голосовой чат Steam использует следующие порты.
UDP 3478 (Исходящий)
UDP 4379 (Исходящий)
UDP 4380 (Исходящий)


Через день, пользователь xan1th написал более развернутую статью. Вольный перевод.

Статья под названием «Players now using DDoS against players [Please Read, its bad, and serious]» привлекла мое внимание в эти выходные. В ней подробно рассказывается история игрока, который был выброшен из сети вместе с двумя своими товарищами по клану. Похожий инцидент недавно случился со мной и моей группой, из-за чего во время рейда мы потеряли 5 членов.

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

  • Скачайте и установите Wireshark
  • Запустите Wireshark
  • Выберите интерфейс захвата Ethernet (или любой ваш интерфейс из перечисленных)
  • Установите фильтр захвата udp[8:4]==0x00010024
  • Дополнительные параметры фильтра для очистки вывода можно посмотреть на скриншоте 
  • Активируйте запись
  • Примеры результатов 
  • Говорите с использованием голосовой связи в игре
  • Все IP пользователей на расстоянии примерно в 98 метров остаются открытыми в течение примерно 2 минут (с момента последней передачи голоса).

Технические подробности

Итак, что здесь происходит? Мы ищем пакеты UDP, передающиеся по протоколу CLASSIC-STUN. Фильтры, используемые в Wireshark настроены на захват наименьшего количества возможных пакетов.

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

Для фильтра UDP, тип сообщения запрос на соединение (0x0001) и длина сообщения (0x0024) используются для определения фактического трафика от игроков. Трафик STUN отправляется Valve и в других направлениях. В моём случае захваченные пакеты показали длину сообщения отличную от 24.

Следует отметить, что несколько игроков могут делить один и тот же IP-адрес. Например, если несколько игроков находятся в одном и том же доме, или подключаются из университетской сети, они все могут иметь общий публичный IP-адрес. По этой причине 1 IP-адрес не обязательно означает одного игрока.


Значения столбцов

  • No. — Номер пакета
  • Time — Время с начала захвата
  • Source — Источник пакета. В данном примере это будет IP-адрес вашего локального компьютера
  • Destination — Назначение пакета. В данном примере это будут другие игроки, находящиеся рядом с вами
  • Protocol — Протокол трафика. В данном случае это CLASSIC-STUN
  • Length — Размер пакета
  • Info — Сообщение: Запрос на соединение (Binding Request) – то, что должно здесь показываться.

Столбцы, которым вы должны уделять больше всего внимания – это Time и Destination (IP-адреса других игроков).

Я считаю, что до тех пор, пока этот вопрос не будет решен, копания Facepunch должна позволить игрокам отключать голосовой чат в их клиенте. Таким образом, пользователи смогут отказаться от этой функции и защитить свои IP-адреса.

Источники:

https://www.reddit.com/r/playrust/comments/5tkjh0/players_now_using_ddos_against_players_please/
https://www.reddit.com/r/playrust/comments/5tpzt9/your_public_ip_address_is_visible_to_anyone/