本文最初发布在 Kongregate的Developer Blog上 。
成为一个相互联系,始终在线的世界而要进行的众多文化转变之一是,消费者的声音很大,对销售产生了重大影响。 例如,当您在亚马逊上购买Anker产品时,您会得到一张友好的卡片,要求您发表评论:
您同样会在移动游戏中看到要求他们给予5星级评分的请求(如果没有,他们会巧妙地将您定向到其支持页面而不是应用商店评分页面):
用户评分至关重要,我们作为客户倾向于信任我们的其他消费者。 我对柠檬榨汁器一无所知,但是如果我需要一个柠檬榨汁器,我将毫不犹豫地购买这款柠檬榨汁器:
但是,一旦赋予人民权力,您就会发现有些人是混蛋,可以破坏每个人的乐趣:
亚马逊对一家提供虚假评级的公司提起诉讼非常重要。 该诉讼说:“尽管这些评论数量很少,但有可能破坏顾客以及绝大多数卖家和制造商对亚马逊的信任,从而损害亚马逊的品牌。” “亚马逊严格禁止任何操纵客户评论的尝试,并积极监管其网站,以消除虚假,误导和不真实的评论。”
介绍之后,让我告诉您有关Kongregate.com的故事…
我们拥有悠久的玩家历史,他们通过对1到5星的游戏进行评级来帮助他们找到精彩的内容。 我们还使用该数据根据相似玩家的评分(使用commendo服务)展示推荐的游戏。 该系统已经运行了好几年,但是在2016年5月左右,事情有点……欺诈。
我们承认我们并没有马上去接。 有些游戏似乎在以我们未曾想到的方式进行挣扎,但我们并未发生过犯规行为。 但是,几个月后,我们收到了开发人员的报告,说有些不对劲。 我们开始调查,哦,天哪,出了点问题。
正如最近Gamasutra文章所指出的那样,在Kongregate游戏中定期进行协同攻击。 动机很明显:他们使用成千上万的帐户来对某些游戏进行降级,而对另一些游戏进行评分,以使他们的游戏赢得每周和每月的游戏竞赛奖。 这些奖品(每月总计约7500美元)完全由用户评级决定,这意味着这些欺诈者对结果具有极大的控制权。
大约在这个时候,有一些开发人员与我们联系,以让我们了解他们发现的一种俄语语言,该线程证实了我们所看到的模式:有人为开发人员提供了将其游戏推到最高评分的服务。
我们对此保持沉默了很长时间,因此我们可以继续收集数据和行为模式。 我们开发了一系列算法来从多个角度检测这种类型的行为,并且能够高度准确地测试结果。 一旦对算法有信心,我们便开始追溯处理评级,以尝试纠正欺诈行为。
更正过程显示,该欺诈案在几个月内成功窃取了大约8,000美元的奖金。 我们很可能永远也不会从盗贼那里得到钱,但是发生这肯定不是开发商的错,也不应因此而受到惩罚。 即使我们对此保持沉默一段时间,我们还是回去给应该在5月到9月间赢得这些奖项的开发人员付款。
尽管我很高兴Kongregate管理层决定将开发人员放在第一位,但本文的重点并不是反击自己,而是讨论我们的方法以及我们已经并将继续采取的一些措施。 希望共享此内容将有助于其他平台和开发人员继续完善保持评分准确的过程。
攻击:
曾经有位智者建议你“认识你的敌人”:《对抗机器的愤怒》的Zack de la Rocha。 因此,让我们从那里开始。 这些攻击的来源似乎主要是俄罗斯和乌克兰。 这些国家的平均月薪在200美元到600美元之间。 因此,1500美元的奖金可能是几个月的薪水,这显然是一个巨大的动力,即使是250美元的小额奖金也很可观。
已经使用多种方法来提高有效性并试图隐藏其活动。 如果我不承认有些聪明的话,我会撒谎。 我只是希望他们能利用这些技能来提高生产力。 以下是其中一些(但不是全部):
- 我们的比赛在最后提交日期后的第三天午夜结束(这三天为迟到的参赛者留出了时间来获得选票)。 因此,我们会在午夜之前看到收视率飙升,然后任何人都可以尝试与之战斗或举报的情况。
- 假设我们正在寻找1和5的峰值,他们使用了2s,4s甚至3s来缓慢但有效地改变评级。
- 午夜的闪电战后来变得更加复杂。 我们会看到游戏等级的快速变化,但是随后午夜过后,它们就会以相反的等级淹没游戏。 为什么? 因为它涵盖了他们的足迹! 午夜之后的评分将与午夜之前的评分相匹配,但是我们的竞赛系统将在午夜恰好获得该评分。
- 为了掩盖曲目,他们在午夜之前创建了一系列虚假的评分,然后使用相同的帐户重新评估了游戏,希望我们只追踪最终评分,而不是每个单独的评分事件。
- 最近,他们通过弄乱游戏上的标签(也通过投票众包)来设计我们自己的玩家来对抗我们。 因此,我们将看到一款标有“ Idle”和“ RPG”的动作游戏。玩家会生气并给予较低的评分,因为这不是他们期望的,或者因为他们认为开发人员不诚实。
注意:这不是对这些玩家的批评。 我们自己都去过那里。 您喝了一杯水,发现它实际上是啤酒。 啤酒是 普林尼(Pliny The Younger) 都没关系 ,它的味道很浓。 我可以写一篇关于管理期望的单独博客文章。
什么是行不通的(或不是一种选择):
我们花了很长时间在内部与一些值得信赖的开发人员讨论此事,并提出了许多想法。 不幸的是,他们大多数都有严重的问题。
知识产权禁令 。 您可能会猜到,IP地址在这里没有用。 欺诈者到处弹跳,使得任何企图通过IP进行跟踪或阻止的尝试都是不可能的(并增加了意外阻止无辜IP组的风险)。
要求帐户必须有X天的历史才能进行投票 。 事实证明,这些帐户的年龄也无济于事。 其中一些帐户已有数年历史(?!)。 我们有信心知道当前的,相对大规模的欺诈行为何时开始发生,但是欺诈者很有可能从很小的规模开始,只有在对结果感到满意后才扩大规模。 也许他们只是用不安全的密码抢了一大堆旧帐户,但这两种方式都是死胡同。
按帐户级别加权投票 。 Newgrounds会这样做,并且这里可能有一些价值,但是我认为主要是为了提高准确性,而不是阻止欺诈。 由于两个原因,这不太可能对我们的特定案件有所帮助。 如果我们设置陡峭的曲线以高度青睐高级帐户,则欺诈者将能够手动升级一些帐户以产生重大影响。 如果我们走一条浅曲线,那么大量的被盗帐户仍然可以完成操作。
新客户的摩擦增加 。 我们业务的中心部分是帮助客人尽可能轻松地进行注册。 通过增加难度,我们将使我们的业务面临风险,其潜在危害可能远远超过这些评级所造成的损失。 我们稍后可能会考虑添加类似CAPTCHA的内容,但目前我们希望尽可能避免使用它。
我们的方法:
正如任何尝试打击黑客的人所知道的那样,您最终将陷入升级,昂贵且经常失败的战斗。 因此,我们将用柴火代替柴火。 特别是,我们将使ROI(投资回报率)计算不那么有利。 该计算涉及将奖励除以工作量,因此理想情况下,我们希望减少奖励并增加工作量。
我不会在这里列出所有方法,并且会避免一些细节,因此我们不会全力以赴。 但是,我们的策略示例应有助于说明我们的方法的理念和实施。 我们的主要目标是动机,PITA和混淆。
动机:金钱当然是首要条件,但也有赢得比赛和在Kongregate上获得高度评价的曝光度和声誉。 首先,我们禁用了自动确定奖金和付款的功能。 取而代之的是,我们开始使用细齿梳进行手动操作。 这很耗时,但是直到我们对结果有足够的信心后我们才开始付款。 如果开发人员要为这些欺诈性的评级服务付费,那么我们的举动可能会损害服务提供商的声誉。
我们辩论了召集从欺诈中受益的游戏和开发商。 公众的耻辱感将是巨大的,但始终存在这样的风险,其中一些只是切线相关,并且不知道这种情况正在发生。 我们可能不会这样做,但是您可以根据自己的情况使用它。
我们还将从“每周+每月”竞赛改为“每月”竞赛(并增加“每月奖赏”进行补偿)。 这将使我们能够更轻松地关注事物并简化奖品的验证。
皮塔饼:不,不是用来挖美味鹰嘴豆泥的面包,而是屁股痛。 换句话说,与其建立更高的墙,不如让我们用臭鼬的本质遮盖当前的墙,以使其真正令人不愉快。 通过增加一些烦恼,ROI分母会变得更大。
首先,我们确定了一堆明显与欺诈有关的帐户,并将其永久禁止。 骗子能赚更多吗? 可以,但是替换这4000个左右的帐户很烦人。
我们还正在评估将CAPTCHA添加回我们的注册表中。 几年前,我们就拥有了它,但是CAPTCHA并不那么复杂,因此不难编写程序,而且对合法注册也很烦人。 随着reCAPTCHA的推出,我们可能会重新添加它,再次使替换那些被禁止的帐户的过程变得更加繁琐。
混淆:进行此类工程化攻击的主要部分是信息收集。 首先,我们意识到我们的收视率是实时更新的,在小数点后5位数字可见。 这意味着您可以非常容易地*准确地*看到您的评分的影响。 这样一来,他们就可以绕开我们已经采取的一些保护措施,并且可以仔细地,几乎是通过手术将他们的比赛推向更高的位置。
显而易见的第一步是从公开可见的位置删除5位数精度,并可能将更新聚类以定期重新计算。 但是我们还能如何弄乱可用的信息呢?
当我们返回并更正评分时,实际上我们实际上是在故意不随机纠正某些游戏(我们知道有欺诈行为,但无论哪种方式都不会受到重大影响),这意味着我们没有透露我们现在和现在的情况。不知道。 同样,当我们禁止这些帐户时,我们随机没有禁止某些帐户,这又使得弄清楚我们用来识别它们的标准变得更加困难。
考虑到这种超级元数据,我曾经在本文中对一些细节进行了调整,以使他们猜测欺诈者是否已阅读它。 我能说什么,我致力于这个事业。
所以这是一个漫长而曲折的故事,但希望它是有用的,或者至少是有趣的。 我们将在接下来的几个月中看到所有这些方法的有效性,也许可以做一篇后续文章,不管是好是坏。 如果您对此有任何想法,我很乐意与您交谈-您可以直接通过anthony@kongregate.com向我发送电子邮件。