我有一个网站,它包含一个安全区域,可以通过使用帐户信息登录来访问。在安全区域内,我有一些昂贵的IP。我发现人们正在与其他人共享他们的密码。我是否可以实施任何现有的技术/解决方案/方法来检测欺诈模式?
提前感谢您的帮助。
-
检查地理区域。如果在某个时间段内,来自地理位置遥远的地区的多个登录登录,则您知道这些凭据已被共享。
周五早上从纽约登录,周五晚上从中国登录
-
带宽消耗:如果您的网站提供了大量内容,如果用户超过了某个高限制,则意味着其凭据已被共享
最大带宽5MB/s;那么在一天内,每个用户每天的上限为60*60*24*5MB
-
保留一个实时会话的计数器,这样你就可以看到有多少人同时登录。这是不精确的,因为同一个人可以从同一个IP通过多个浏览器登录,并且在每个浏览器上都有一个会话。
如果他们有100个会话(4次/小时),这似乎不止一个人能做,除非你的网站预计会有这种行为
有几种方法可以解决这个问题。但这实际上要归结为内容的类型,以及特定用户真正获取新内容的频率。对于成人网站来说,登录的主要目的显然是下载新内容。我不确定你的网站。
一种方法,也许也是最简单的方法,就是简单地限制同时下载的次数和/或每次下载的速率限制。
如果文件足够大,则可以对数据传输的速度进行速率限制。选择一些稍微慢一点,但又不至于慢到让人发疯的东西。我想花30秒下载一个文件还不错。
然后,每个登录id一次只允许他们下载1或2个文档。如果人们知道他们可能无法下载某些内容,因为其他人无法下载,那么他们将不太可能共享密码。
另一种方法是在用户登录时捕获IP地址。是的,我知道这会改变,但它给了你一个起点。如果多个用户使用相同的登录id但使用不同的IP进行活动,则您可以向他们发送警报,说明他们的帐户已被"黑客入侵";)并且您正在更改密码。更改密码,将所有人踢出,并将密码发送到您存档的电子邮件地址。
请记住,你不想阻止用户在工作时访问它,然后回家访问它。因此,你必须确保他们基本上同时在线。这意味着在一两分钟内收到来自不同IP的请求。
这方面的一个转折点是检测是否有多个会话ID与同一登录名相关联。例如,当他们登录时,将当前会话id保存到一个表中。在他们注销或达到超时后,清除该会话id。
当另一个会话id处于活动状态时,不要让他们再次登录。通知他们必须等待xx分钟,直到会话被清除,或者其他用户当前已使用其帐户登录。
询问他们是否要重置会话。这允许出现有人意外关闭浏览器并返回您的网站的情况。如果他们选择"是",则停止当前活动会话,更改密码并将其发送到文件中的电子邮件地址。
我保证最后一个会让人们停止共享他们的密码。毕竟,如果我无法登录,因为我提供密码的人目前在线,那么这是我想停止的痛点。此外,如果我借用了密码,只是因为密码更改而把自己锁在门外,那么我要么得到自己的账户,要么去其他地方:这两种情况通常都是可以接受的。
https://softwareengineering.stackexchange.com/a/442073/422609对此主题有一些详细的建议。
可能有用的信号:
- IP
- 设备标识符(通过指纹识别或其他方式,具体取决于平台)
- 位置
- 用户行为
您还可以考虑其他方式,例如使用链接让人们登录或多因素身份验证,这会给共享增加一些摩擦。
我会更多地考虑一旦你发现有人分享它,你打算怎么做。结果是让他们按用户还是按组织付费?
这是一个相当棘手的问题:
如果你的用户一天改变几次位置,他们的IP就会改变,但仍然是同一个人
如果你的用户一整天都在同一个位置,但连接了好几次,那么很可能是不同的用户,比如网吧里的用户
您必须使用这些方法的组合:如果用户频繁更改IP,请查看该IP的地图位置,并查看是否有可能在2个连接之间的时间内移动距离。如果不是,那就是欺诈。