Чтобы выигрывать в покер, нужны умение и везение. Видеть карты соперников тоже не повредит. Сам я ужасно играю, но, объединив усилия с опытным экспертом по безопасности и коварным хакером, мы нашли способ взломать стандартную шафл-машинку, которая используется в большинстве казино США, придумали работающую схему жульничества и сорвали банк в Вегасе!



Я – Энди Гринберг, и я изучаю тёмную сторону современных технологий. Чтобы провести этот эксперимент, я отправился в Лас-Вегас, Невада, на Defcon – самую большую конференцию хакеров. Здесь я встречаюсь с Джозефом Тартаро, исследователем и консультантом компании IOActive, работающей в сфере кибербезопасности. Два года назад я написал для Wired статью о найденном им способе взломать шафл-машинку. Метод Джозефа позволял взять шафл под полный контроль. Очень скоро я использую его, чтобы обмануть двух ничего не подозревающих игроков в техасский холдем.

Но сначала давайте поговорим о том, как устроены шафл-машинки.
– Это – DeckMate2, шафл-машинка, которую ты взломал два года назад?
– Да. Самая популярная в американских казино. Её используют и на Мировой серии покера. Та самая коробка, которая располагается под столом рядом с нашими ногами.

– Как работает DeckMate2? Как мешает карты? Так же, как я сделал бы это вручную – делит колоду на две части и перемешивает их между собой?
– Нет. Сначала программа генерирует случайную колоду, а дальше раскладывает карты по позициям. Такой простой способ нужен, чтобы ускорить игру и разыгрывать как можно больше раздач в час. Технически шафл-машинка способна полностью отсортировать колоду по порядку, от туза до короля каждой масти.

– Раз машинка может отсортировать колоду по порядку, значит, у неё можно запросить любой расклад? Хакер, взломавший её, полностью контролирует положение любой карты в колоде?
– Всё так, 100%.
– Для этого нужен только соответствующий софт?
– Верно.
– Как работает сортировка колоды?
– Внутри шафл-машинки есть камера, которая распознаёт номиналы карт. Её добавили для безопасности: если один из игроков захочет подменить пикового туза в колоде на бубновую семёрку, например, шафл-машинка это заметит и предупредит дилера. Но мы будем использовать её для жульничества.

Вот какой будет наша стратегия. Воспользовавшись наличием камеры внутри шафл-машинки, мы получим к ней доступ, узнаем расположение карт в колоде и отправим его через Bluetooth в приложение на телефоне. Ведь лучший способ выигрывать, не привлекая внимание – это знать, когда у тебя будет сильнейшая рука на вскрытии.
– Почему ты решил взломать DeckMate2?
– Всё началось с очень подозрительной раздачи в одном из стримов дорогой кэш-игры. Она стала главной покерной новостью в сентябре 2022 года.

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


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

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

Оказывается, на корпусе DeckMate2, расположенном под столом, есть USB-порт, в который легко воткнуть своё устройство. Он расположен примерно на уровне коленей сидящих за столом игроков.

– У меня в руках, по сути, миниатюрный компьютер. Мы поключаем его к машинке, он переписывает её код и начинает передавать информацию на телефон. Можно сесть за стол, уронить что-нибудь на пол и, опустившись под стол, воткнуть устройство в USB-порт. А если получить доступ к шафл-машинке до игры, устройство можно спрятать внутри корпуса. Вместо платы в USB можно воткнуть обычный смартфон на Андроиде и сделать вид, что вы его заряжаете. Заряжать телефоны от устройств казино – довольно обычная практика.
– Как этот поможет нам жульничать?
– У устройства есть передатчик, работающий по Bluetooth, он связывается с моим телефоном и передаёт расклад колоды.
– Но ведь дилер сделает срезку перед тем, как раздавать карты?
– Да, но как только мы получим свои карты, мы будем точно знать, что на руках у остальных игроков и кто из них победит на ривере.

Копаться в телефоне во время раздачи обычно запрещено правилами казино. Поэтому в нашей схеме Джозеф будет проверять свои карты и фолдить. Выйдя из розыгрыша, он возьмёт в руки телефон, введёт свои карты и передаст мне информацию о том, как я должен играть.
Когда Джозеф с коллегами обнаружили эту уязвимость два года назад, я связался с производителем шафл-машинок – компанией Shuffle Master. Представитель компании Light&Wonder, владеющей Shuffle Master, ответил, что метод Джозефа нереалистичен, и его невозможно применять в регулируемых законом казино. В ответе не было ни слова о том, планируют ли они защищаться от найденной Джозефом уязвимости.
Через два года я снова связался с Light&Wonder. На сей раз мне сообщили, что компания пропатчила уязвимость в коде и бесплатно заменила прошивку на всех шафл-машинках практически во всех казино. Но Джозеф всё ещё сомневался. Поскольку у машинок нет возможности прямого апдейта через интернет, для замены прошивки нужно было посылать специалистов.
– Возможно, они действительно сделали это в казино по всей стране. Возможно, они просто отключили USB-порт, но получить доступ к софту машинки можно и через порт Ethernet, например. В любом случае, всё это не устраняет возможность мошенничества со стороны техника, работающего на компанию. Как только мы получаем доступ к внутренней программе, игра окончена.

Я поговорил на эту тему с Дагом Полком, ютюбером и владельцем покерного клуба из Остина, Техас.

– Такие шафл-машинки стоят повсюду, от крупнейших и самых уважаемых казино до домашних игр.
– Доверяешь ли ты DeckMate2?
– Установленных в настоящих казино DeckMate2 бояться не стоит. Казино заключают контракты с производителями, машинки регулярно проходят техобслуживание. Проблемы начинаются на вторичном рынке. Наладкой б/у-устройств занимаются не лицензированные техники, а неизвестно кто. Какой-то мужик копается в этой коробке и потом монтирует её под стол. Я слышал множество историй о мошенничестве, связанном с шафл-машинками за пределами казино. Я также слышал о проблемах, возникающих с DeckMate2 в самых крупных казино страны. Увы, когда есть камера с доступом к картам, угроза всегда существует. Клиенты казино отдают себя во власть технику, который настраивает шафл-машинки.
– Если ты приходишь играть к кому-то домой или в нерегулируемый клуб и видишь там DeckMate2 – твои действия?
– Закрытая игра с шафл-машинкой? Бегите, глупцы!
Мы не смогли получить разрешение провести эксперимент на территории лицензированных казино в Лас-Вегасе, поэтому устроили его за пределами Стрипа, в школе дилеров. Я буду играть против реальных игроков, которые не знают, что все шансы работают против них. Чтобы разработать план, мы обратились к Сэлу Пьясенте, консультанту по безопасности, который сотрудничает со многими казино Лас-Вегаса.

– Как люди обычно жульничают в казино?
– Зависит от игры. При игре в кости – подмена или скользящий бросок. В баккаре – ложный шафл. Есть множество способов жульничать в покере. Обычно они связаны с ловкостью рук человека, раздающего карты. Для умелого дилера проблему срезки колоды кем-то из других игроков решить очень просто. Именно поэтому казино начали использовать шафл-машинки.
– Известны ли вам случаи взлома DeckMate2?
– В закрытых играх – повсеместно. В казино – о таких случаях мне неизвестно. Но когда на кону стоят большие деньги, можно не сомневаться, что кто-то не спит ночами, размышляя, как ими завладеть.
– Что насчёт покерных клубов в штатах вроде Техаса, где можно играть в покер, но нет такого строгого регулирования, как в казино Невады?
– Может произойти что угодно.
– Если игроки хотят поделиться информацией о картах друг с другом, как лучше всего это сделать?
– Самое распространённое мошенничество за столом – это, конечно, обмен информацией о картах. Раньше любили применять тампер – устройство, принимающее сигналы, которое один из игроков размещает у себя на теле, на ноге, например. Другой игрок передаёт на него сигналы, нажимая на кнопку в ботинке большим пальцем, и мы ощущаем вибрацию. Примеры такого устройства часто можно встретить в кино, например, в «Казино» 1995 года.

Более современный вариант – передатчик с микронаушником. Забрасываем его в ухо, практически вплотную к барабанной перепонке, и слышим голоса в голове :)

– Ух ты! В детском саду нас учили не класть в уши маленькие предметы. А как его потом вынуть?
– Элементарно – с помощью магнита.
– Но мой напарник будет играть за тем же столом, поэтому голос в голове мне не подойдёт. Какую систему передачи сигналов в этом случае можно порекомендовать?
– Проще всего руководить вашими действиями, играясь с фишками. Скажем, ваш товарищ берёт в руки одну фишку – фолд. Две – колл. Три – бет или рэйз.

Именно так мы и решили. Я буду следовать приказам Джозефа, как робот, как компьютер. Сэл проследит за экспериментом по камерам в другой комнате, пытаясь определить, насколько прозрачны наши действия. Мы пригласили двух ничего не подозревающих местных игроков, Элли и Фернандо, которые не знали, что мы с Джозефом знакомы или что один из нас собирается жульничать.
Схема заработала с самого начала. В одной из первых раздач Джозеф сфолдил, посмотрел в телефон и начал вертеть в руке три фишки – сигнал для рэйза.

Элли заколлировала флоп и тёрн и сдалась на ривере, на котором я собрал стрит.
Хотя проиграть было невозможно, я ужасно нервничал. В одной из раздач я неправильно рассмотрел количество фишек в руке Джозефа и сфолдил руку, с которой нужно было коллировать. А потом мне перестали приходить выигрывающие карты.
Прошло больше часа из запланированных трёх часов, а я всё фолдил и фолдил. На моей стороне был хакер, но не удача. Фернандо на этом отрезке играл отлично и выиграл существенную часть фишек. А потом Джозеф забыл, что должен подавать сигналы левой рукой, а его правую руку я не видел. Пришлось напомнить ему об этом довольно прозрачным образом: «Джозеф, вы, случайно, не левша?»
Заметят ли наше жульничество другие игроки или Сэл? Или эксперимент закончится тем, что я проиграю, даже зная карты всех соперников?
Наконец, Джозеф подал мне нужный сигнал, и я в первый раз удвоился против Фернандо, который пробаррелил в меня с 10-хай. Увидев мою руку, он улыбнулся и прокомментировал раздачу в том духе, что я, видимо, решил не выкидывать А-хай с самого начала.

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

Через некоторое время Джозеф снова подал мне сигнал проявить активность.

Я сделал большие ставки на флопе, тёрне и, собрав стрит, на ривере.

Фернандо заколлировал с топ-парой.

Всю дорогу блефовал и доехал – ничего подозрительного!
Вскоре Фернандо проиграл последние фишки, пойдя олл-ин на флопе с против моих . Вполне логичный колл, и пара пятёрок ожидаемо устояла.
После этого мы вернули в комнату Элли и рассказали игрокам о сути эксперимента. Но догадаться, как именно я жульничал, они не смогли. Пришлось сдать им Джозефа.

– Потрясающе! – Сэл не пытался скрыть своего восхищения. – Великолепная работа. Я не увидел ничего подозрительного. Друг мой, вы – опасный человек! У меня нет никаких сомнений, что служба безопасности не смогла бы вас поймать.
Дело, конечно, не в шафл-машинке. Суть проблемы – не уязвимость отдельного продукта, а наше постоянно возрастающее доверие к технике. Мы добавляем компьютерные компоненты в бытовую технику, автомобили, медицинские устройства, делая их уязвимыми к взлому и манипуляциям. Если так легко взломать шафл-машинку в казино, где крутятся большие деньги, стоит спросить себя: какие ещё цифровые устройства в нашей жизни могут оказаться в зоне риска?
Не забывайте, что старый добрый аналоговый способ порой позволяет уравнять шансы!
Покер-самая большая афера 21 века
Так и не понял, как работает схема, если дилер перед раздачей делает срезку и по сути карты сразу лежат в другом порядке
check_behind, у тебя есть набор цифр от 1 до 52. Срезая ты начинаешь ряд не с 1 а с 20 например. Получая карты в руку например 29 и 30,ты вычисляешь число старта, так как до тебя раздали ровное количество карт.
PPL, всё так, только на руку ты получишь например 29 и 35, при 6 игроках за столом, если быть точным
И это даёт возможность узнать какие карты у всех игроков и какие будут выложены на флопе, тёрне и ривере
Играйте только в проверенных румах, например
Абсолют ПокерPokerOK!А то что один игрок (тот самый сообщник) фолдит все руки часами и постоянно сидит в телефоне не очень подозрительно? Или он играет нормально и только с мусором начинает помогать второму?
Не понимаю зачем изначально иметь уязвимость в машинке и приводить колоду к некоему выбранному порядку, а не к псевдослучайному
Cash_Magnetic, я так понял, что уязвимость в машинке дает большие возможности, но там достаточно (не вмешиваясь в процесс перемешивания карт) просто узнать, в каком порядке лежат 52 карты. Там камера стоит в машинке. Считыватель карт как бы стоит. Камера + распознаватель. Уже стоит в машинке. И у вас есть доступ к этому, допустим - ну флешку туда воткнули. И вам уже не надо генерировать ложную тасовку, заряженную колоду. У вас и так есть информация. И если грамотно пользоваться - не в каждой раздаче, а только в определенный момент, то никто ничего не поймет.