高危名单

我们给我们的业务加上一条限制:每天登录失败超过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、城市、国家等。

第三方威胁情报

在安全领域中,我们将这些高危名单、黑名单进行整理,称作威胁信息或者威胁情报。如果你还未积累起足够的威胁情报,又急需补足这个短板,你可以选择向第三方公司购买。

国内比较有名气的第三方情报公司有(排名不分先后):

微步在线 同盾科技 邦盛科技 蚂蚁金服 蚁盾 威胁猎人 因为微步的在线查询较为方便,且免费。

参考资料

https://github.com/WalterInSH/risk-management-note/blob/master/%E9%AB%98%E5%8D%B1%E5%90%8D%E5%8D%95.md