我们给我们的业务加上一条限制:每天登录失败超过100次,阻止登录。这个限制已经运行了好几天了,让我们看看过去三天每天拦下了谁
第一天
用户名 | 密码错误次数 |
---|---|
Jim | 100 |
Tom | 90 |
Lily | 10 |
第二天
用户名 | 密码错误次数 |
---|---|
Jim | 100 |
Kate | 90 |
Lily | 10 |
第三天
用户名 | 密码错误次数 |
---|---|
Jim | 100 |
Jane | 20 |
Pete | 5 |
发现什么了吗?
我们的Jim这个用户要么是不知道怎么找回密码,要么就是被黑客盯上了。
还有Lily这个用户,已经连续两天尝试了10次登录。虽然很可疑,但是比起Jim还是好很多。
我们通过整理数据,经常会发现一些用户、手机号、银行卡号长期多次有可疑行为,但是我们不能100%确定,我们可以将这些数据整理到单独的表中,根据其出现频率和行为严重程度整理为一个高危名单(有时称作灰名单)。
例如我们将上文中的数据整理为如下的高危名单,并假设星级越高,越可疑。
用户名 | 可疑程度 |
---|---|
Lily | ★★★ |
Jim | ★★★★★★★★★★ |
Lily似乎做了一点不好的事情,但是我们并不能确定她是不是真的有问题,我们给她标记为3星,有待观察。
Jim做了很多坏事,我们几乎可以确定他就是一个坏人,我们标记为10星。等Jim明天访问我们的网站的时候,我们立刻阻止他登录,并进入全面的身份认证流程,即便他当天还没有登录失败过。
当我们100%确定某条数据有问题的时候,我们给将它加入我们的黑名单库,也可以将这条数据相关的数据也都加入黑名单。当请求来自黑名单时,我们可以不进行更多的判定,直接让它尝尝最严格的认证,甚至完全阻止请求。
常见的黑名单有用户ID、设备号、手机号码、地址、银行卡号、IP、城市、国家等。
在安全领域中,我们将这些高危名单、黑名单进行整理,称作威胁信息或者威胁情报。如果你还未积累起足够的威胁情报,又急需补足这个短板,你可以选择向第三方公司购买。
国内比较有名气的第三方情报公司有(排名不分先后):
因为微步的在线查询较为方便,且免费。下面以微步为例进行简单介绍。
在Threatbook上,你可以查询到一个IP的威胁信息,例如所属位置、运营商这类基础信息,还有我们更关心的安全相关的信息。上图可以看到36.81.184.88这个IP最近一次在2016年12月被标记为代理IP。
我们除了从自己公司的数据中统计高危名单,也会参考其他公司开放的数据。因为黑产通常会在不同网站重复使用一个手机号、IP、银行卡,使用开放数据意味着你不需要从头开始。
例如: