Всем привет. Я работаю техническим специалистом в одной многим знакомой компании, которая с переменным успехом бороздит просторы отечественного и не очень киберспорта. Данный блог-пост будет посвящен теме DoS/DDoS-атак в киберспорте. Казалось бы, что тема уже давно раскрыта и в каком-то смысле себя изжила, однако атаки продолжают колбасить все новые и новые ивенты, портить новые и новые коэфиценты на сервисах ставок и результаты в групповых таблицах, а еще появляются новые и новые стены текста от некомпетентных в вопросе людей, в которых очень часто можно услышать упреки и обвинения в бездействии в адрес организаторов, причем в случаях, когда игроки играют онлайн (из дома).
Самое обидное, что основная тема всех этих информационных выбросов сводится к тому "кто же виноват", но никто ничего не пишет на тему "что делать". В своей писанине я постараюсь по-новому, более или менее понятно раскрыть важные аспекты такого явления как DDoS в киберспорте, не углубляясь в техническую анатоминю (это все же киберспортивный портал), а так же дать ряд советов по защите от DDoS для игроков.
Как и почему это происходит?
На мой взгляд есть 3 портрета типичного недоброжелателя, который стоит за ботнетом или сетью с широким интернет-каналом, посредством которой осуществляется атака на игрока или сеть турнира:
- Школьник, поставивший денег, а так же рарок или азимовых на ту или иную команду, не желающий смириться с возможным ее поражением.
- Команда, которая заинтересована как выиграть, так и просто поставить не против себя, а на себя, как правило обращается к организатору атаки из п.1.
- Компания, которая заинтересована в устранении конкурента и по идее обращается к кому-нибудь серьезнее, чем организатор атаки из п.1.
Стоимость атаки в киберспорте, которая приводит к последствиям для атакуемой стороны может стоить заказчику от 40-50 USD в сутки (когда речь идет о конкретном матче или нескольких, можно говорить о нескольких часах атаки), а непосредственному организатору - и того меньше. Учитывая беззащитность среднестатистического игрока - это совсем не сложно, чего не скажешь о веб-ресурсах, атаки на которые стали не эффективны, потому что появились шаблонные рецепты защиты и фильтрации подобного рода атак с привлечением множества компаний, которые на этом успешно специализируются.
При этом стоимость оперативного подключения и эффективной защиты (речь именно о фильтрации трафика во время продолжающейся атаки, а не мерах по предотвращению и скрытия ай-пи адреса, что на больших мероприятиях тоже не очень просто и порой сопряжено с драконовскими методами типа блокирования определенных портов, использования нескольких провайдеров и попросту запрета некоторых программ и приложений, например Skype) в киберспорте под продолжающейся атакой обойдется в десятки раз дороже. Даже если эффект защиты будет достигнут, скорее всего душевное здоровье к этому моменту будет уже подорвано)))
Основные проблемы и сложности борьбы с DDoS в киберспорте заключаются в том, что:
- Атака приходит, когда ты ее совсем не ждешь. Насколько глупым сейчас кажется многим думать о том, что нужно принимать какие-то меры защиты, пользоваться какими-либо сервисами, соблюдать повышенные меры безопасности, пользуясь интернетом. Зачем вся эта паранойя? У тебя ведь все нормально. Тебя никто никогда не DDoS-ил) Ты спишь спокойно, пока это не произошло с тобой.
- Когда атака происходит в случае с игроком - очень часто можно считать, что матч команды будет проигран или перенесен. Игроку нужно время на то, чтобы сменить IP-адрес (хотя если он динамический, не обязательно звонить провайдеру, достаточно будет перезагрузить нужное оборудование или подключение). Нужно время на то, чтобы выяснить, каким образом злоумышленник узнал твой предыдущий IP-адрес, чтобы лишить его возможности успешно продолжить свою грязную активность.
- В случае с игроками - это очень часто техническая неграмотность оных. "IP-адрес? А что это такое? Зачем мне все это?".
- Высокий % DDoS-атак связан с использованием несложных технологий (доступных даже школоло), кототрые направлены на переполнение пропускной способности интернет-соединения (в некоторых случаях - в десятки раз), поэтому не важно, какое оборудование стоит у вас на площадке/дома, как оно настроено и стоит ли вообще - само по себе оно не панацея, как и любые телодвижения с вашей стороны, которые не связаны с привлечением нужных специалистов и компаний.
Кто виноват?
Тут все понятно. Атакующий, в 100% случаях, эксклюзивно. Однако существует еще один очень важный вопрос...
Кто несет ответственность?
Тут все зависит от конкретного кейса, несколько которых я рассмотрю детально. Резюме по каждому из них является исключительно моим ИМХО:
- Игрок, который участвует в турнире, играя дома. В 99% случаев это он не соблюдает должным образом правила безопасности в сети, что приводит к установлению его местонахождения (IP-адреса) и последующим проблемам с атакой. В случае атаки он несет полную ответственность за то, что не может участвовать в матче и поэтому должен страдать, а организатор турнира в сложившейся ситуации не несет никакой ответственности (равно как он не должен ее нести из-за водителя маршрутки Ашота или машиниста метро Ивана, из-за которого игрок опаздывает на матч) и волен поступать по своему усмотрению.
- Игрок, который участвует в турнире, играя на сцене или геймзоне на лан-турнире. В случае атаки ответственность несет организатор турнира, который должен обеспечить бесперебойную и стабильную работу геймзоны. При этом, тут тоже проблемы в 99% случаев возникют из-за игроков, благодаря беспечности которых в 99% случаев сливается соответствующий IP-адрес, но учитывая реалии, организатор должен быть ко всему готов и обязан принять меры по противодействию (фильтрация трафика, несколько провайдеров и профилактическая предварительная работа с их специалистами, привлечение отдельных специалистов по информационной безопасностти, блокировку конкретных портов и прочее), в т.ч. в случае необходимости драконовские правила (запрет использования конкретных програм и даже браузера), которым игроки обязаны следовать (а организатор - контролировать выполнение этих правил). Ведь именно организатор несет ответственность за работу всех ПеКа и сетевой инфраструктуры на ЛАН-турнире, и больше никто.
Интернет-провайдер не несет никакой ответственности за проблемы, которые возникают из-за атаки, за исключением случаев, когда он предупрежден и эту ответственность на себя берет сознательно, по договоренности, желательно письменной. Дело в том, что подобная ответственность нигде не прописана и никакими законами в странах снг так точно не регулируется, а по умолчанию атака злоумышленника является непреодолимым обстоятельством, возникшим по вине третьей стороны. По телефону будет примерно так: "Вам интернет-канал предоставляется? Предоставляется и работает как положено. И что, что его на 100% забивает злоумышленник? Мы не обязаны, да и не имеем права фильтровать ваш трафик. Всего вам доброго!". На моей памяти никто из доступных на площадках для проведения турниров провайдеров в странах снг не соглашался брать на себя подобную ответственность ни за какие деньги даже устно. У малых компаний - нет соответствующих ресурсов. У крупных компаний - желания и мотивации. Им проще отказаться от проблемного клиента. Если речь об атаке игрока, который играет из дому с каналом до 100мбит/с, то через шлюз провайдера во время атаки порой проходят десятки гбит/с (что значительно превышает пропускную способность такого подключения к интернет по тарифу и наносит вред шлюзу провайдера), после чего иногда и DDoS-ить никого не надо. Со словами "что это тут у нас за х**ня на шлюзе 100500!?" техподдержка несознательного провайдера просто отключит соответствующий линк на время разбирательства, и игрок останется без интернета на какое-то время. В прочем, попадаются и лояльные, сознательные по отношению к клиентам интернет-провайдеры, которые могут хотя бы попытаться помочь, но это скорее исключение из правила.
В некоторых случаях имеют место уязвимости отдельных игр и сервисов. В этом случае ответственность ложится уже на компанию разработчика/издателя (ведь игрок не может и не должен отвечать за атаку, которая проходит на сервер игры из-за его уязвимости), но случаи применения подобных уязвимостей (очевидные) уместились у меня на пальцах одной руки.
Вопрос ответственности на самом деле второстепенен, но ответ на него является необходимостью. Я рекомендую некоторым игрокам, которые неоднократно подвергались атакам играя дома, но после очередной из них все еще брызжут слюной в сторону организаторов, а так же их фанатам, произвести ряд следующих действий:
- Быть скромнее и проще.
- Читать дальше и не останавливаться на прочтенном.
Что делать?
Фильтровать и отбивать атаку - дело не простое и очень накладное в плане трудозатрат, а порой и денег, к тому же требует в десятки раз больше технических знаний, нежели довольно простые меры, которые позволяют эту атаку предотвратить и сделать практически невозможной. Если речь об организаторах, то пожалуй, кроме привлечения соответствующих специалистов и компаний, лучшим решением будет обмен имеющимся опытом и совместная выработка нужных рецептов, что, к сожалению, в виду конкуренции и нежелания многих делиться нужной информацией в данный момент не особо возможно. Если речь об игроках, то выход один, и он заключается не в перекладывании ответственности на кого-либо (и надеждах, что кто-то решит проблемы игроков), он заключается в повышении технической грамотности этих самых игроков, направленой на соблюдение необходимых мер предосторожности в интернете. Сервисы по противодействию DDoS-атакам для конечных пользователей, где защиту от DDoS для игроков будут продавать в виде готового решения, как пирожки, если и будут доступны, то очень не скоро, и на сегодняшний день самым эффективным будет спасение утопающих руками самих утопающих.
Десять советов по предотвращению атаки.
Каждый из которых направлен на то, чтобы сделать установления вашего местоположения невозможным для 99.99% недоброжелателей:
- Откажитесь от простых паролей в социальных сервисах, на сайтах, аккаунтах игр и не давайте их кому попало (лучше вообще никому не давайте). Конкретный пример: получив (взломав, подобрав) пароль к аккаунту того же VK, злоумышленник может посмотреть историю активности в настройках, где указаны последние IP-адреса входа с аккаунта. Используйте разные пароли для разных аккаунтов. Пароль от аккаунта, не имеющего для вас никакой важности, попавший в руки злоумышленнику, совпадающий с паролем того же VK, скоре всего позволит ему установить ваше местоположение. Пароль вида 322322 можно иногда выяснить методом програмного подбора в течении нескольких часов.
- Не посещайте сомнительные сайты, которые принадлежат сомнительным людям, которые с легкостью могут установить ваш IP-адрес по этому посещению. Не открывайте сомнительные ссылки, ведующие на непонятные интернет-ресурсы. Не устанавливайте программы от неизвестных разработчиков и Васей Пупкиных (различные бары, downloader-ы и т.д.). Даже если это не приведет к попаданию информации о вашем местоположении в руки злоумышленника, то это может привести к тому, что ваш компьютер станет частью ботнета, используемого для проведения DDoS-атаки против кого-нибудь из ваших друзей :)
- Программы, игры и приложения, функционирующие по принципу p2p. Peer-to-peer, от клиента к клиенту - это не уязвимость, а принцип работы, по которому злоумышленник может легко и просто установить ваше местоположение при использовании таких программ, как Skype, uTorrent и даже частично Steam, потому что при использовании того же Skype, компьютеры собеседников обмениваются данными напрямую, а не по технологии клиент-сервер, которая скрывает реальное местоположение пользователя. То, что я перечислил - это всего лишь несколько примеров, а програм (и даже игр), которые позволят вычислить ваше местоположение в виду своих особенностей или уязвимостей - сотни и тысячи. При этом необязательно отказываться от использования того же Skype дома, достаточно использовать прокси-сервер (к примеру, как описано вот тут, но лучше не пожалеть денег на платный и более качественный прокси), в результате чего злоумышленник выяснит местоположение прокси-сервера вместо вашего. Steam тоже использует p2p, причем не только для скачивания игр, но и для функции Voice chat, в котором заключается основная проблема (и возможность узнать ваш IP, если злоумышленник у вас в друзьях). Для того, чтобы решить эту проблему наверняка, необходимо заблокировать нужные порты фаерволом. В целом, нужно знать особенности функционирования не только p2p программ, которыми вы пользуетесь, но и даже сервисов. К примеру использование Gmail-чата в браузере тоже позволит установить ваш IP-адрес (во всяком случае с месяц назад точно позволял), если вы напишете злоумышленнику "привет!" в ответ.
- Никогда не добавляйте незнакомых людей в контакты в тех же Steam, Skype и аналогичных сервисах. Не оставляйте ID в доступных местах. Даже если это не приведет к установлению местоположения, любой Skype, оставленный в комментариях, на форуме или в профиле в соц. сети всегда можно заблокировать за пару десятков USD, заказав сотню-другую жалоб на аккаунт (после чего ни одна бабка этот аккаунт уже не отшепчет))
- В случае необходимости, используйте анонимайзер-плагины в браузере (к примеру такой, хотя я предпочитаю Tor-браузер на основе Firefox). Даже если кто-то спровоцирует ваш переход на нужную веб-страницу, ваше реальное местоположение у него узнать не получится. Вместо этого он узнает местоположения сервера разработчика плагина)
- Программы типа Wireshark используется злоумышленниками, а вы изучИте и используйте их для того, чтобы понять, сколько трафика проходит через вашу сетевую карту и анализировать его. Это позволит узнать, кто сломал интернет в случае его неработоспособности, провайдер или злоумышленник) Это позволит узнать, в каком виде и посредством каких протоколов и куда передаются данные програмами, которые вы используете.
- Позвоните в техподдержку вашего провайдера, узнайте, что такое динамический IP-адрес и спросите, могут ли вам его предоставить. При наличии динамического IP-адреса в случае атаки вам достаточно будет перезагрузить модем (в отдельных случаях даже интернет-соединение), чтобы сменить ваш IP-адрес.
- Не используйте VPN-сервисы. Это не решение проблемы DDoS, особенно после начала атаки, без смены IP-адреса. Это как использование дешевого презерватива после полового акта.
- Не слушайте диванных знатоков из комьюнити, которые несмотря на свой авторитет не могут ответить на вопрос, чем отличается TCP от IP.
- Если не удается решить проблему, обратитесь за консультацией в компании, занимающиеся сетевой безопасностью, типа qrator или stormwall. Даже если вы не получите бесплатную консультацию от специалистов компании, вы напомните им, что такие как вы - есть, а разработка решений защиты от DDoS ориентированных на конечных пользователей не лишена смысла.
Если у вас возникли какие-либо вопросы относительно DDoS - пишите в комментариях (я постараюсь на них ответить). Если вы можете и хотели бы поделиться опытом, связанным с DDoS, пишите мне в ЛС на этом сайте. Вы поможете, потому что я провожу небольшое исследование по теме и периодически общаюсь со специалистами по сетевой безопасности разных компаний. Репост советов по предотвращению атаки на различные ресурсы и группы в соц. сетях приветствуется в любом виде. Буду рад, если у кого-то получится эти советы качественно дополнить, особенно по части распространенных уязвимых мест в програмах и сервисах, которые используют игроки.