检测人们共享登录/账户信息的网站

11

我有一个网站,其中包含通过使用帐户信息登录后才能访问的安全区域。在安全区域内,我拥有一些昂贵的知识产权。但我发现人们正在与他人共享密码。是否有任何现有的技术/解决方案/方法可以实施以检测欺诈模式?

先感谢您的帮助。


我认为唯一可能的选择是将用户与IP绑定(这会产生反作用,因为有效用户无法从其他机器登录)或者仅限单个登录。 - kosa
@thinksteep:我认为防止一个有效用户同时登录到不同的机器上恰恰是所需求的。这归结为时间问题。相同的用户,多台机器,相同的时间=糟糕。相同的用户,多台机器,不同的时间=没问题。 - NotMe
4个回答

8
  • 检查地理区域。如果在一定时间内来自地理上相距较远的地区有多个登录,则可以知道这些凭据已被共享。

    周五早上从纽约登录,周五晚上从中国登录

  • 带宽消耗:如果您的站点提供大量内容,如果用户超过某个高限制,那么它的凭据就已被共享。

    最大带宽5MB/s;然后一天内每个用户的上限为60*60*24*5MB

  • 保持实时会话计数器,以便您可以看到同时有多少人登录。这是不精确的,因为同一个人可以通过多个浏览器从同一个IP登录,并在每个浏览器上都有一个会话。

    如果他们有100个会话(每小时4次),那似乎不是一个人可以做到的,除非您的站点预期此行为


第一种情况可能发生在客户端在多个代理和VPN之间切换时。 - AlexITC

5
有几种方法可以解决这个问题。但实际上,这将取决于内容的类型以及一个给定用户抓取新内容的频率。对于成人网站,显然登录的主要目的是下载新内容。我不确定你的网站。
一种方式,也许是最简单的方式,就是限制同时下载的数量和/或每个下载的速度。
如果文件足够大,您可以对数据传输的速度施加速率限制。选择稍微慢一点的速度,但不要慢到使人们生气。我猜下载一个文件需要30秒不会太糟糕。
然后,只允许他们使用每个登录ID同时下载1或2个文档。如果人们知道他们可能无法下载某些内容,因为其他人正在下载,他们会更不愿意共享密码。
另一种方法是在用户登录时捕获IP地址。是的,我知道这会改变,但它给了你一个起点。如果多个用户使用相同的登录ID但具有不同的IP,则可以向他们发送警报,说明他们的帐户已被“黑客”;)并且您正在更改密码。更改密码,将所有人都踢出去,并将密码发送到您记录的电子邮件地址。
请记住,您不希望阻止用户从工作场所访问,然后回家再访问。因此,您必须确保他们基本上在同一时间在线。这意味着在一两分钟内从不同的IP获取请求。
对此的另一个看法是检测是否将多个会话ID与相同的登录关联起来。例如,当他们登录时,将当前会话ID保存到表中。在他们注销或达到超时时清除该会话ID。
不要让他们在另一个会话ID处于活动状态时再次登录。告诉他们必须等待xx分钟,直到会话被清除,或者另一个用户正在使用他们的帐户登录。
询问他们是否要重置会话。这允许出现情况,例如有人意外关闭浏览器并返回您的网站。如果他们选择是,则停止当前活动的会话,更改密码并将其发送到记录的电子邮件地址。
我保证最后一个方法会让人们停止共享密码。毕竟,如果我无法登录,因为我给我的密码的人当前在线,那么这是一个我想要停止的痛点。此外,如果我是借用密码的人,并且由于密码已更改而被锁定,则我要么获得自己的帐户,要么去其他地方:这两种情况通常都是可以接受的情况。

第三点是一些提供者所做的,但风险很大;这可能会激怒合法用户,尽管它是一个好方法。 - Adrian
如果你把它作为一项安全措施来保护用户呈现出来,我认为你可以成功地完成第三步。积极尝试阻止安全问题的公司很难让人生气。 - NotMe

1

https://softwareengineering.stackexchange.com/a/442073/422609提供了一些关于此主题的详细建议。

可能有用的信号:

  • IP地址
  • 设备标识符(通过指纹识别或其他平台相关方式)
  • 位置
  • 用户行为

您还可以考虑使用链接来让人们登录或使用多因素身份验证来增加共享的摩擦。

我认为更应该考虑一旦检测到有人分享后,你打算做什么。结果是让他们按用户或组织支付费用吗?


0

这是一个相当棘手的问题:
如果您的用户一天更改多次位置,他们的IP地址将会更改,但仍然是同一个人。
如果您的用户在一天中保持相同的位置,但连接了几次,那么很可能是不同的用户,比如在网吧里。

您将需要使用这些方法的组合:如果用户频繁更改IP地址,请检查该IP地址的地图位置,并查看在两个连接之间的时间内是否有可能行驶这段距离。 如果不行,那就是欺诈。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接