Старая, но непотерявшая актуальности статья Эда Миллера, посвященная угрозам, которые поджидают каждого из нас во время игры в онлайн покер.
Атака на честность игры
Речь пойдет о подтасовке карт, игроках способных видеть руки соперников и взломе ГСЧ.
Для того чтобы все вышеперечисленное стало реальностью необходимы: покерный клиент с низким уровнем защиты, злоупотребление положением кого-либо из сотрудников рума или использование шпионского ПО.
Покер-рум с высокими стандартами должен использовать аппаратный ГСЧ, чтобы гарантировать настоящую, а не “псевдо” случайность. Часто компьютеры генерируют случайные числа, используя начальное число (например, текущее время) и применяя к нему очень непредсказуемую функцию. Это делает данные на выходе якобы случайными, но если вы знаете начальное число, то можете снова применить ту же функцию и предсказать, каким будет “случайное” число.
Аппаратный ГСЧ является по-настоящему рандомным. Хорошим примером подобного генератора случайных чисел могут стать источник радиоактивного излучения и счетчик Гейгера. Невозможно предсказать время распада следующего атома, момента, когда счетчик Гейгера подаст сигнал. Этот процесс протекает по законам природы. Следовательно, можно использовать сигналы счетчика Гейгера для генерирования действительно случайных, непредсказуемых чисел.
Покерное ПО должно генерировать карманные карты с помощью аппаратного ГСЧ и посылать их игроку по зашифрованному каналу. Этот процесс работает так же как и шифрование данных в интернете. Ваш компьютер случайно или псевдослучайно выбирает секретный ключ (пароль). Он кодирует его, используя открытый ключ покер-рума, и посылает его на сервер. Сервер расшифровывает ключ и посылает вам подтверждение того, что вы и сервер используете один и тот же ключ. Затем сервер посылает вам карты, на основе соглашения о секретном ключе.
Если этот процесс реализован как следует, никто не может “перехватить” ваши карты. Они остаются секретом между вами и покерным сайтом. Таким образом должен функционировать покер-рум. Для компетентного разработчика все это довольно базовые понятия, но не все разработчики компетентны и многие из них могут допускать ошибки. Покер-рум может сэкономить на аппаратном ГСЧ, полагаясь на псевдослучайные числа. Но так как эти числа могут быть предсказаны, злоумышленник может “взломать” код и видеть карты игроков.
Также в покер-руме может быть неверно реализован алгоритм шифрования и тем самым создана еще одна уязвимость. К счастью зачастую покер-румы используют определенное покерное программное обеспечение, а не разрабатывается новое для каждого небольшого сайта.
Как правило, в клиентах крупных сайтов отсутствуют проблемы с шифрованием, подобные уязвимости скорее могут иметь место в малоизвестных покер-румах, где софт сделан “на коленке”.
Как мы отметили ранее, карманные карты являются секретом между вами и покер-румом или скорее между вашим компьютером и покерным сервером. Тем не менее, эти два компонента являются хорошей мишенью для атак. Если сотрудник рума, имеющий доступ к программному коду сервера захочет увидеть ваши карты, то он с легкостью сделает это, и ничего не поделаешь.
Еще одной актуальной проблемой (в случае которой мы имеем хоть какой-то контроль над ситуацией) является шпионское ПО. Вашему компьютеру известны секретный ключ и ваши карты. Если вы случайно скачаете и установите шпионский софт, который может перехватывать данные – ваша песенка спета. Программа будет работать в фоновом режиме, и вы далеко не сразу узнаете о ее существовании. Она считает ваш секретный ключ или карты и передаст их на сервер злоумышленника. Таким образом, последний сможет видеть ваши карты во время игры.
Создать такое шпионское ПО без “помощи” со стороны покерного клиента является далеко не простой задачей, так как в Windows есть встроенная защита доступа к исполняемой программе.
Другими словами нельзя написать программу, которая заглянет в память, где хранятся ваши карты, так как это память другой программы. Windows ответит: “Нет. Вы не имеете права на чтение этих данных”. (С другой стороны не трудно написать программу, которая будет видеть ваши карты, делая снимки экрана, и передавать их третьему лицу).
Еще хуже если уязвимость находится в покерном клиенте. Тогда шпионский софт может проникнуть в нее и стать частью клиента. В этом случае не составляет никакого труда считывать и передавать данные. Программный код клиента должен писаться очень ответственно во имя избегания подобных уязвимостей.
Вот вам простой пример, скажем, клиент состоит из нескольких модулей: первый передает данные через интернет, второй показывает карты на экране монитора, а третий отвечает за шифрование и расшифровку данных. Шпионское ПО может взломать модуль, показывающий карты и вставить в него программный код, который будет передавать информацию о картах злоумышленникам. Чтобы препятствовать этому разработчику клиента следует проверить модуль, отвечающий за показ карт, в процессе работы. То есть, прежде чем модуль начнет передавать данные, нужно удостовериться, что его аутентичность не нарушена.
В большинстве покерных клиентов такая проверка предусмотрена. Но не исключено, что следует проводить тысячи дополнительных проверок и верификаций, чтобы быть уверенным, что ни один вредоносный код не проник внутрь.
Я не пытаюсь навести панику, шпионский софт довольно сложно написать. Но в сфере компьютерной безопасности, как и везде, действует правило: “Было бы желание, а возможность найдется”.
В покерной индустрии крутятся большие дeньги, и вы можете быть на сто процентов уверенны, что прямо сейчас, пока вы читаете эту статью, кто-то работает над созданием подобных взломов.
Хакер найдет брешь, заставит людей установить свое ПО и будет использовать его некоторое время для воровства дeнeг. Рано или поздно покер-рум обнаружит дыру и разработчик пофиксит ее. Но до этого момента произойдет много плохого.
По правде говоря, я думаю, что обсуждаемая проблема представляет небольшую угрозу для большинства игроков. Гораздо проще узнать ваш пароль, используя кейлоггер, залогиниться в ваш счет и забрать все дeньги. Будьте очень внимательны во время установки новых программ и старайтесь избегать автоматических установок программ без вашего ведома. И не играйте на ненадежных сайтах. Чем менее надежен сайт, тем больше вероятность, что кто-то из его сотрудников увидит возможность поживиться и использует ее.
Командная игра
Командная игра представляет собой более явную угрозу. По своей сути она тривиальна - сообщники переговариваются между собой. Однако нужно еще уметь играть: два ничего не понимающих в покере идиота не доставят много проблем. Два сильных игрока, освоивших сговор, станут практически непобедимыми.
Обнаружить сговор очень непросто. Конечно, есть методы, которые покер-румы могут использовать для обнаружения командной игры, но многие из них косвенны и нуждаются в перепроверке людьми. Когда проблема находится на уровне сети, а решения принимаются человеком, то последний может проглядеть взлом, особенно, если злоумышленники анонимны, могу изменить IP адрес, банковский счет, имя пользователя и начать все сначала.
Покер-румы заинтересованы в том, чтобы умолчать о факте взлома, так как это может отпугнуть игроков от их сайта. Но если вы пытаетесь постоянно скрывать что-либо, то проблема еще больше усугубляется. Эти слова не являются обвинительным актом в адрес покер-румов, а просто представляют реальное положение дел.
Мне кажется, что самую большую угрозу для онлайн покера представляют боты, играющие в сговоре. Боты опасны сами по себе и в наше время подобное ПО доступно по довольно демократичной цене. Причиной почему они являются опасными состоит в том, что нетрудно написать бота, который будет выигрывать на микроставках как в лимите так и в НЛ.
Невысокие ставки – основа покерной экосистемы, $100 проигранные на $2-$4 затем “кормят” игроков на $1000-$2000 на вершине пирамиды. В обычной игре по низким ставкам большую часть пула составляют некомпетентные игроки, а несколько регуляров “стрегут овец”, оставляя основную часть дeнeг, циркулирующей на лимите.
Боты же могут сидеть за "сотней" столов одновременно. В конце концов они “сдерут шкуру с овцы”, а затем продолжат свое черное дело, пока их кто-то не остановит или игра не перестанет быть прибыльной. В то время как боты делают дeньги, рум зарабатывает рейк, немного остается хорошим игрокам, а плохих игроков просто уничтожают. Как следствие любители перестают играть, а без их дeнeг рушится вся покерная пирамида.
Боты в буквальном смысле слова – рак онлайн покера. Они “размножаются” пока не уничтожат свою жертву или что-либо не остановит их. Некоторое программное обеспечение позволяет создавать свой собственный AI (Artificial Intelligence - искусственный интеллект) и встраивать его в шаблон бота. Сотни покерных умов прямо сейчас пытаются создать лучший покерный AI. Если вы хотите поподробнее узнать об этом, ищите информацию на специализированных форумах.
Сговор ботов – еще более сильная угроза. Представьте себе, боты, взаимодействующие друг с другом и обменивающиеся информацией о карманных картах. Допустим, такие боты занимают три места за столом. Они знают карты друг друга и моментально адаптируют свою стратегию на основе этих данных. Хорошо написанные боты такого типа будут опасны даже для сильных игроков.
Если покер-румы хотят выжить и сохранить текущее положение дел в следующем десятилетии,
то им следует вплотную заняться проблемой ботов прямо сейчас. Уже приняты некоторые меры, например, PartyPoker и PokerStars используют технологию капча (от англ. CAPTCHA) для противостояния ботам. Она представляет собой картинку с искаженными буквами и цифрами.
Для человека не составляет труда прочитать и напечатать эти символы, для компьютера же такое действие является сложной задачей. Если рум использует капчу, то боты не могут избежать обнаружения.
Но капча перестает работать, если за компьютером сидит человек и наблюдает за игрой бота. Предположим, у ботовода три компьютера и на каждом есть бот, все они играют в сговоре. Боты играют, а человек вводит капчу по необходимости. Конечно, таким способом много не заработаешь на низких ставках, но если за столом разыгрываются приличные дeньги, то ботоводы будут готовы сидеть и вводить символы в капчу, или наймут для этого людей. Многие будут рады зарабатывать $8 в час, сидя за компьютером и вводя буквы и цифры во всплывающее окно.
Боты – крепкий орешек, но чтобы сохранить свой бизнес, сайты должны начать на них агрессивную атаку. В конце концов, карты раздали не в пользу покер-румов, нет идеального решения этой злободневной проблемы. Боты могут быть запущены удаленно, и будет невозможно их отследить на компьютере, где установлен клиент. Придется запретить использование макросов и других автоматизированных программ ввода данных совместно с покерным клиентом, но “высокотехнологичные” ботоводы всегда будут на шаг впереди.
При желании ботоводы могут вообще не оставлять следов на клиентском компьютере. Они могут запускать бота на отдельной машине. Бот может просто советовать, как сыграть, а нанятый человек будет просто нажимать кнопки. Человек может отвечать в чат, вводить капчу и создавать видимость человека за компьютером. Все это может быть реализовано в больших масштабах, скажем, создав своего рода офисы в Восточной Европе, где можно нанять дешевую рабочую силу.
Единственным козырем покер-румов является трудоемкий процесс обнаружения сговора. Если же ботоводы грамотно организуют сговор (не будут использовать его постоянно, будут миксовать игру), то у них выйдет избежать обнаружения на некоторое время. Если вы думаете, что мысль про масштабность подобных явлений надуманна, то уже есть примеры офисов в Китае, где играют в онлайн игры с целью продажи виртуальных вещей за реальные дeньги.
К сожалению, если я загляну в свой хрустальный шар, то боюсь увидеть, что благодаря ботам к 2010 году от сегодняшнего покера останется лишь его жалкое подобие. Для человека, у которого покер представляет основу дохода, такая перспектива ужасна. Но проблема не исчезнет просто по нашему с вами желанию. Каждый честный покерный игрок, должен знать о потенциальных угрозах, о том, с чем он может столкнуться, играя в покер.
- Источник: notedpokerauthority