27

最近在一个大型扑克网站上发现,一些玩家可能通过利用一个被发现的安全漏洞在玩牌时看到所有对手的牌。

一个天真的作弊者会以极快的速度获胜,而且这些作弊通常很快就会被抓住,如果不迅速被抓住,他们很容易通过快速扫描他们的手牌历史来发现。

更难的问题出现在作弊者表现出智慧,在他们必然会被跟注的场合诈唬,用最差的牌跟注河牌圈下注,基本前提是他们故意输底池以掩饰他们看到其他玩家牌的能力,他们以合理的现实速度获胜。

鉴于:

  • 数百万个经过验证且完整的信息手历史数据集
  • 理论上无限计算能力
  • 假设游戏是无限注德州扑克,尽管关于奥马哈或限注扑克的建议可能是有益的

我们如何合理准确地对这些作弊者进行分类?最初的 2+2 线程呼吁想法,我认为 SO 社区可能会有一些有用的建议。

这也是一个有趣的问题,因为它是最新的,如果有人找到创造性的解决方案,它在改善世界方面具有真正的应用,因为当发现被识别的作弊者时,真正的玩家很有可能会退还给他们的资金。

4

11 回答 11

7

绘制具有统计显着性#hands 的所有玩家的 V$PIP 与胜率。你应该用肉眼看到异常值。我认为这是首先要做的基本事情。

然后你可以绘制 WTSD 与胜率、摊牌时的胜率与不摊牌的胜率、摊牌时的胜率与 VPIP。

您选择的统计数据必须具有统计意义。如果您了解扑克,那么上述选择是有道理的。

这不是机器的工作,异常值是通过肉眼检测的。

编辑:奥马哈更难,因为它真的很变种。有一些没有作弊的弱玩家创造了令人难以置信的连胜纪录。

于 2010-09-03T11:57:57.040 回答
6

我不想这么直率,但是除了@Erwin Smout 之外,此页面上的所有答案都是毫无价值的。

Statistical analysis is a joke for identifying poker cheats
我意识到这个问题允许系统可以使用数百万手的历史记录。我敢肯定有些牌手的牌局历史如此之大,见鬼,我可能玩过这么多在线牌局。但我也已经在网上玩了 10 多年了。那不是很短的时间,而且我的理解是,在识别在线扑克作弊者时,有两件相互矛盾的事情是正确的:它需要在很短的时间内发生,并且像任何优秀的小偷一样,在线扑克作弊是拿走后立即将他的藏匿处带到别处。

本文中有一个很好的扑克差异示例,它是通过匹配一个总是加注的玩家和一个总是跟注的玩家来产生的(PDF 第 13 页)。在 100,000 手牌的过程中,比我认为大多数人更愿意与能看到他们牌的人对战,总是跟注的玩家平均每手赢得 0.026 个小盲注。我知道这听起来并不多,但假设赌注为 5-10 美元,则为 6,500 美元。也许有人可以帮我找到链接,但测得的专业胜率比这大不了多少。请注意,这些玩家都没有作弊,并且在这一手数上的统计预期差异明显小于实际发生的差异。

What online poker players need to understand
扑克是赌博。这是一个技巧游戏,因为一些玩家能够从对手那里获得比他们的对手能够收集到的更多的信息,而这些额外的信息通常与查看其他人的牌一样有用。即使是比他们的典型对手更好的球员,最终也会成为长期的失败者。如果您不理解这一点,那么您只是在与任何对手比赛的任意少数手牌中寻找具有统计数据的女巫。

What can be done?
请记住问题指出作弊者能够看到其他玩家的牌,您不需要统计分析来识别它们。只有三种方式可以做到这一点。

首先是服务器故意将信息发送给客户端,这是一个明显的安全问题,不应实施(IMO,即使对于版主也是如此)。如果发现允许这种情况发生的网站,则玩家有责任将资金转移到其他地方,或者拒绝在该网站上玩,直到该糟糕的设计决定得到纠正。网站还应该有责任告知他们的玩家在网站上玩牌期间发生的确切步骤,以便他们在选择网站时首先做出决定。默默无闻的安全是不允许的。至于抓到小偷,这些信息应该放在他们服务器上的日志文件中,应该定期对这类行为进行审计。

其次是用户入侵了扑克服务器,他们很快就会知道这一点,否则一旦暴露,玩家再次有责任确定在哪里玩。在这种情况下,作弊者可以在大多数国家被起诉。

最后,交易算法可能已被破解。这在过去是使用幼稚方法处理手牌的公司的一个主要问题,但大多数主要商店通过从登录到他们系统的玩家那里获取随机输入以及使用熵生成硬件来播种他们的随机数来解决这个问题发电机。这并不是说它不能被破解。如果是这种情况,公司唯一的选择是设计一个新的随机数生成器。

于 2010-09-03T15:11:41.400 回答
5

出色地。IT 人员对各种错误的问题着迷。

一个更好的问题是“怎么可能作弊?”。在摊牌之前,没有必要让对手的手越过电线。如果这些数据没有发送给客户,那么他们怎么能作弊呢?

他们需要闯入服务器。不要告诉我这是无法预防的。

于 2010-09-03T12:13:24.003 回答
2

我认为,如果他们聪明地作弊,那么在没有赢得太多回合的情况下,就不会被发现。我不相信你可以在这里看到运气和作弊之间的区别。

但我想知道在哪家在线扑克提供商处作弊是可能的。因为如果扑克软件编码正确,我无法想象如何做到这一点。如果我被要求编写一个在线扑克软件,用户将无法看到对手的牌,因为他无法获得这些信息。我就是这样做的。

  1. 用户和服务器之间的每个连接都是加密的
  2. 用户之间没有通信,用户只能与服务器通信。
  3. 服务器只告诉每个用户用户应该看到的牌,而不告诉其他牌,除非回合结束并且用户打开他们的牌。

用户可以在这里作弊的唯一方法是,你与其他玩家聚在一起,或者冒充多个具有不同帐户和访问IP的玩家,并打开另一个渠道与玩家之间进行交流。这样一来,这群人就占了很大的优势,因为他们知道的比自己的牌还多,但还是看不到其他的牌。而且因为现在是一个在作弊的群体,所以更难发现它,因为他们可以与多个玩家分享他们的收益,而这个群体甚至可能有一个玩家输得比他得的多,但总体上仍然获胜。

于 2010-09-03T11:36:09.193 回答
1

For all of you expressing disbelief that this is even possible: the community on the poker forums linked in OP were similarly awestruck, but the site in question has confirmed that such a security vulnerability was present. Quite simply, the site was using very basic and insecure crypto to transmit hole card data to its players. Theoretically, it would have been possible for anyone aware of this to intercept transmissions from the site to a specific victim (eg. by being physically nearby and intercepting wireless data), and to cheat that player using the intercepted knowledge.

The question is about how to detect whether this vulnerability was actually exploited (before it was fixed), and if so by whom, given the resources outlined.

Oh, and also some of you seem to be assuming we're talking about a hypothetical scenario, and/or play-money poker; we're not. The site is real, the vulnerability was real, the investigation is really happening (see link in OP), and the games under investigation are real-money games with normal buyins of $200 and above.

于 2010-09-04T16:54:19.517 回答
1

我怀疑你是否可以肯定地说某人是否在作弊,或者他们是否只是擅长扑克,超过了某个点。

但是,您可以通过查看在您的时间段内总体受益的用户来缩小您认为可能作弊的候选人。这将删除绝大多数用户,让您更好地集中资源。(这当然包括精通扑克的用户。)。

完成此操作后,您可以比较可能作弊时的游戏历史与之后或之前的历史,并查看用户成功率是降低还是增加。这应该为您提供需要更仔细调查的用户列表,可能通过分析特定游戏。

享受,这是一个很好的问题。

于 2010-09-03T11:30:39.430 回答
0

在尝试做任何太复杂的事情之前,你能不能不先寻找简单的指标?

IE。PreFlop : 玩家弃牌前没有加注的口袋 K,而其他人持有口袋 A。

这可能表明玩家知道他的起始 KINGS(相当不错)不如其他人的口袋 ACES 好.. 但是这是假设他在翻牌前而不是翻牌后做出决定.. 真的..

忽略这个,只是大声思考..

于 2010-11-24T14:36:00.427 回答
0

我绝不是数据挖掘专家,而且我对大数据集的统计分析的掌握也很薄弱(而且我不太擅长扑克,尽管我喜欢它)所以听我说的一切一粒盐。

  1. 清除垃圾数据。你只会真正关心属于两类的玩家:(1) 赢的牌比输的多,(2) 赢的比输的多。谁在乎一个输了很多的骗子?呵呵。

  2. 有了这个配对的球员名单来实际分析,我会看看他们的比赛风格。假设你有很多历史数据,我会建立一个玩家技能档案并尝试规范他们的投注策略。作为一个糟糕的扑克玩家,我通常会支持较弱的牌,而没有像样的玩家会仅仅因为他们感觉良好而支持。例如,每当我收到一张面牌和另一张低牌(2、3、4、5)时,如果它们同花,我通常会在转牌前跟注其他玩家的任何下注,尽管这策略不是很成功。转牌前加注高于大盲注通常表明玩家有口袋对子,但我对游戏的热爱不会让我在翻牌前弃掉同花牌。

所以对我来说,你对我打法的分析会说,当我有任何同花牌时,我在翻牌前跟注激进的跟注是正常的。但是一个不同的玩家只是偶尔跟注翻牌前的大赌注,这表明有些事情可能不正常。

我不知道你需要建立什么样的系统来制作不同用户游戏风格的档案,但我想你可以使用一些计算机学习算法以相当准确的方式“学习”一个人的游戏风格。

  1. 你提到一个聪明的用户会举手以尽量减少他作为骗子的形象。我认为这是进行更多分析的绝佳机会。一个经验丰富的赢家会玩一手糟糕的牌吗?可能永远不会。如果我拿到 4S、7H,然后在翻牌圈看到 9D、JC、AH,我就会知道我获胜的机会非常非常小。它还告诉我们,翻牌上的牌对任何人来说都不是很强,所以牌桌上的任何人都可能拿着 J 或 A 对子、两对或三对。既然你知道你的 4S、7H 毫无价值,你要么努力下注以诈唬底池,要么直接弃牌。没有多少优秀的牌手(他们会在你的获胜牌手缩短名单中找到)会坚持这样的手牌。

不管怎样,这些都是我想到的。现在实际实施它们,我什至不知道从哪里开始,所以恐怕我在那里帮不上什么忙。不过,这是一个非常有趣的学术问题,所以请帮我们一个忙,让我们知道你最终会做什么。如果您想离线进行此对话,请随时通过 stackoverflow@ericharison.info 给我发送电子邮件。

于 2010-09-03T15:15:11.980 回答
-1

老实说,我非常怀疑能看到对手牌的玩家是随机的。在生成选择某些用户但不选择其他用户的卡片视图的代码中必须存在某种交叉。我建议对此代码运行测试并尝试在“查看者”和“非查看者”中找到趋势。如果您发现一个强烈的趋势,那么该趋势可以应用于实际数据集,也可以查看哪些用户、哪些手或哪些东西导致了代码错误。

于 2010-09-03T11:52:33.437 回答
-1

你的问题的答案很简单。仅凭手牌历史无法检测到这种类型的作弊者。您需要不公开的信息才能关联多个特征以找到可疑的作弊者。

哦,是的,显然,提供这些游戏的公司尽一切可能在低税收、不受监管的国家开设商店。在他们受到监管并执行严格的代码合规性和测试之前,这将继续发生。

于 2010-09-22T01:44:06.793 回答
-2

最可能的作弊情况似乎是人们一起工作。同桌的三个人知道彼此的牌应该能够进行一些投注调整,从而让更好的人池领先。

有哪些措施可以防止串通?

于 2010-09-03T22:19:13.230 回答