黑白灰名单的定义与应用
简单介绍
- 黑名单主要阻止已知的高风险实体(IP,设备,身份证号等),命中就阻止。这部分主要是根据历史数据清洗出来或者来自客户反馈之类的恶意用户,设备等。
- 白名单是允许部分无风险用户进入,属于受信任的客户,通过这种名单为用户创建良好的体验。也有可能是合规的高价值客户。
- 灰名单,介于黑名单和白名单之间,会出现状态转换,需要进一步观察和控制。你也可以理解成,这一部分名单需要额外的加验,如果加验成功,那么可能转成白名单,如果失败或者一直不解除,那可能就进入黑名单中。
为什么要用这些名单
- 策略冷启动需要,比较容易建立。刚开始没有数据,没办法建立模型,规则也需要通过对数据的观察与验证才能慢慢建立。
- 性能考虑。一般命中名单类的,不需要再跑后面的规则引擎(这种动不动成百上千条的,一个字:重)和机器学习模型。如果对每一个用户都跑一变规则引擎和机器学习,对服务器资源的消耗是巨大的。
- 可解释性好,客户投诉的时候,有清晰的依据。虽然一般不会直接告诉客户命中了黑名单和白名单这种。因为有些用户加入白名单会觉得过于简略不够安全,要来投诉。
名单的管理与优化
名单的增删改查
增加
- 多级审核:添加到名单中,需要有完整的添加原因,审核记录,及生效时间,添加人与审核人不应为同一人。
- 信息记录:对于名单增加的日志记录,及更新的基本数据,同步给相关的业务部门,做到信息互通。
删除
- 被动失效:如果一段时间都没有命中,且时间较长,比如IP这种时效性较高的,可以在较短的时间后释放出来
- 主动审批:如果是主动进行名单的删除,需要有相应的审批记录。注意,这种删除最好不做物理删除,做逻辑删除即可。即增加一个是否有效的字段,删除的时候将该条记录修改为失效状态。
修改
- 状态手工翻转审批,如果是手工翻转需要有人审核相关信息,确认是否达到翻转条件。
- 自动翻转要确保验证的要素要有足够的置信度,确保流程上没有漏洞。
- 更新记录:所有的变更均应有相关的记录,记录下变更时间,变更操作人,变更事由等。
查询
- 高可用性:确保查询服务的高可用性。
- 缓存机制:可采用redis等缓存,对频繁查询的数据放入redis减少数据库压力,降低查询速度。