背景 本篇文章会从系统架构设计的角度,分享在对业务安全风控相关基础安全产品进行系统设计时遇到的问题难点及其解决方案。 内容包括三部分:(1)风控业务架构;(2)基础安全产品的职责;(3)基础安全产品相关系统架构的设计要点。 文章会以总-分的形式进行阐述。懂的不多,做的太少。欢迎批评、指正。 风控业务架构我把风控业务架构的分层分为6层,分别是组件层、业务层、决策层、能力层、计算层、可视层。 以下基建为基础安全产品的简称。 组件层组件层的职责是:数据收集与行为反制。 从接口、设备、行为三个维度进行数据收集,接收决策层的指令进行行为反制。为了保证数据的收集数据的可靠性,就衍生出了壳、混淆、反调试等加固策略。 业务层业务层的职责是:风控数据透传与风控决策结果处理。 将风控所需要的数据透传至决策层,业务层获取到决策层数据后,根据决策层结果选择执行风险反制或业务逻辑。 透传数据一般包括:风控数据和业务补充数据。 决策层决策层的职责是:风控能力应用。 决策层是整个风控业务的核心,将风控能力高效连接起来,有效、合理地应用能力层、计算层所具备的能力。这一层的难点在于工程而非安全领域,例如:如何设计调用链路(降低计算时长)、如何处理超高并发流量、如何保护下游风控内部系统等。 其中包括:风控参数预处理、风控能力应用(组件/名单/模型等)、风险决策(规则引擎)、反制决策(观测/登录/验证码/行为验证/封禁)。 能力层能力层的职责是:识别基础安全风险。 该层包括:设备指纹、环境检测、接口防护、验证码、IP风险、手机号风险、链路风险等。 能力层是风控系统的基石,它的能力决定了一个风控系统识别风险能力的下限。会从资源、接口、设备、链路、行为等维度进行系统性风险扫描。 计算层能力层的职责是:补充风险识别能力。 该层包括:数据引擎、规则引擎、风险名单、识别模型、风险预警。 计算层是对基础安全风险识别能力的补充,它的能力决定了一个风控系统识别风险能力的上限。从频率统计、策略规则、风险名单、模型识别、风险预警等维度对能力层进行能力补充。 可视层可视层的职责是:提升运维效率。 该层包括:运维报表、引擎配置、流量监控、事件追踪。 可视层能够在事前能够分析风险潜在风险,事中有效执行并降低配置错误概率,事后观察风控效果。满足运营策略调整与风险管理的需求。 因为目前主要深入了解与实践的是组件层和能力层的建设,所以文章后续会从基建(基础安全产品)的视角进行系统性总结。 基础安全组件落地难点 防护组件(指纹、环境检测、接口防护等)、验证码组件、登录组件等。 架构特性在进行架构设计时,我会重点关注架构的这三大特性,分别是:安全性、易用性、稳定性。 全性因为是安全组件,其识别能力和组件自身安全性是首先要保证的。 稳定性组件会应用在各个场景,所以要尽可能降低由安全组件造成故障的概率。 易用性尽可能降低业务接入的成本。 具体案例以接口防护组件设计来举例。 问题分析攻击场景(以ip138查询网举例,不代表本人对该网站进行过攻击)
|