风控安全产品系统设计的个人感悟

这篇具有很好参考价值的文章主要介绍了风控安全产品系统设计的个人感悟。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景

本篇文章会从系统架构设计的角度,分享在对业务安全风控相关基础安全产品进行系统设计时遇到的问题难点及其解决方案

内容包括三部分:(1)风控业务架构;(2)基础安全产品的职责;(3)基础安全产品相关系统架构的设计要点。

文章会以总-分的形式进行阐述。懂的不多,做的太少。欢迎批评、指正。

风控业务架构

我把风控业务架构的分层分为6层,分别是组件层、业务层、决策层、能力层、计算层、可视层。

以下基建基础安全产品的简称。

风控安全产品系统设计的个人感悟,安全,数据库,系统架构,java

组件层

组件层的职责是:数据收集与行为反制

从接口、设备、行为三个维度进行数据收集,接收决策层的指令进行行为反制。为了保证数据的收集数据的可靠性,就衍生出了壳、混淆、反调试等加固策略。

风控安全产品系统设计的个人感悟,安全,数据库,系统架构,java

更详细的思考在我的《风控安全产品的探索之路》这篇文章中,感兴趣可跳转阅读,这里就不再赘述。

业务层

业务层的职责是:风控数据透传与风控决策结果处理

将风控所需要的数据透传至决策层,业务层获取到决策层数据后,根据决策层结果选择执行风险反制或业务逻辑。

透传数据一般包括:风控数据和业务补充数据。

决策层

决策层的职责是:风控能力应用

决策层是整个风控业务的核心,将风控能力高效连接起来,有效、合理地应用能力层、计算层所具备的能力。这一层的难点在于工程而非安全领域,例如:如何设计调用链路(降低计算时长)、如何处理超高并发流量、如何保护下游风控内部系统等。

其中包括:风控参数预处理、风控能力应用(组件/名单/模型等)、风险决策(规则引擎)、反制决策(观测/登录/验证码/行为验证/封禁)。

能力层

能力层的职责是:识别基础安全风险

该层包括:设备指纹、环境检测、接口防护、验证码、IP风险、手机号风险、链路风险等。

能力层是风控系统的基石,它的能力决定了一个风控系统识别风险能力的下限。会从资源、接口、设备、链路、行为等维度进行系统性风险扫描。

计算层

能力层的职责是:补充风险识别能力

该层包括:数据引擎、规则引擎、风险名单、识别模型、风险预警。

计算层是对基础安全风险识别能力的补充,它的能力决定了一个风控系统识别风险能力的上限。从频率统计、策略规则、风险名单、模型识别、风险预警等维度对能力层进行能力补充。

可视层

可视层的职责是:提升运维效率

该层包括:运维报表、引擎配置、流量监控、事件追踪。

可视层能够在事前能够分析风险潜在风险,事中有效执行并降低配置错误概率,事后观察风控效果。满足运营策略调整与风险管理的需求。

因为目前主要深入了解与实践的是组件层和能力层的建设,所以文章后续会从基建(基础安全产品)的视角进行系统性总结。

基础安全组件

落地难点

  1. 接入场景多

    拉新激活、账号、反爬(多业务线)、交易(多业务线)、营销(多业务线)。

  2. 接入终端多

    ADR(多技术栈)、IOS(多技术栈)、WX(原生、非原生)、WEB、TOUCH。

  3. 接入组件多

​ 防护组件(指纹、环境检测、接口防护等)、验证码组件、登录组件等。

待解决问题

风控安全产品系统设计的个人感悟,安全,数据库,系统架构,java

架构特性

在进行架构设计时,我会重点关注架构的这三大特性,分别是:安全性、易用性、稳定性

风控安全产品系统设计的个人感悟,安全,数据库,系统架构,java

安全性

因为是安全组件,其识别能力和组件自身安全性是首先要保证的。

稳定性

组件会应用在各个场景,所以要尽可能降低由安全组件造成故障的概率。

易用性

尽可能降低业务接入的成本。

具体案例

以接口防护组件设计来举例。

问题分析

攻击场景

(以ip138查询网举例,不代表本人对该网站进行过攻击)

风控安全产品系统设计的个人感悟,安全,数据库,系统架构,java

攻击还原

思路描述

请求离开容器后,通过抓包的方式,获取并解析数据,然后进行数据篡改、伪造鉴权,最后重新构造数据并发送请求。

风控安全产品系统设计的个人感悟,安全,数据库,系统架构,java

攻击步骤

(1)抓包;(2)解析数据;(3)数据篡改;(4)伪造鉴权;(5)构造数据;(6)发送请求。

攻击步骤防御可行性分析

风控安全产品系统设计的个人感悟,安全,数据库,系统架构,java

防止抓包

(1)抓包在应用外进行;

(2)除App,其他端防抓包基本不可防;

(3)防御性价比不高。

防止解析

解决方案是加密。

(1)入侵性较强、强依赖;

(2)加解密服务稳定性要求高;

(3)业务响应时长上升。

系统设计

系统架构

描述系统分层、职责、关系以及运行规则。

风控安全产品系统设计的个人感悟,安全,数据库,系统架构,java

组件层

提供接口防护组件、验证组码件和登录组件。

透传层

通过数据共享或业务系统透传方式透传风控参数。

决策层

进行入参校验、版控、能力使用以及反制决策等。

能力层

提供接口检测能力等。

架构特性

安全性这篇文章就不过多赘述。

安全性的难点除了风险识别上的难点,还有就是面对多个终端(Android、iOS、小程序、PC、Touch),其底层逻辑完全不一样。我们如何总结出统一的设计思想(方法论)这样的类工程问题。

如防容器脱离,我总结的思想就是:上层与业务逻辑建立联系,中层多个组件间建立联系,下层与操作系统(WX容器、浏览器)建立联系。

风控安全产品系统设计的个人感悟,安全,数据库,系统架构,java

稳定性

风控安全产品系统设计的个人感悟,安全,数据库,系统架构,java

易用性

(1)组件化

关于前端组件的易用性,不能与业务过于耦合,需要根据业务特性进行适当地解耦。如果与业务系统过于耦合,首先是在对防护逻辑进行升级时势必会影响业务,就需要投入测试人力进行业务逻辑回归,其次是防护能力往其他场景迁移也会有代码重复冗余的问题。

风控安全产品系统设计的个人感悟,安全,数据库,系统架构,java

(2)易用性提升

如何在组件化的前提下进行易用性提升?我坚持的原则是尽量在不入侵业务的前提下,降低接入成本

我的解决方案是,结合项目前端技术栈特点进行如下选择:

风控安全产品系统设计的个人感悟,安全,数据库,系统架构,java

a)方式一:是否有统一的网络框架?

​ 如使用安卓原生技术开发苹果原生技术开发一般企业都有统一的网络框架进行网络出口管理,这时组件就可以从中找一个切面进行组件接入

b)方式二:是否有统一组件?

​ 如小程序(或Android Hybird等)没有封装统一的网络库,而是页面直接使用HTTP协议发送请求,但有统一的工具库,此时可以帮业务提前做好组件引入工 作,业务使用时 直接本地调用即可。这也可以一定程度地提升易用性。

c)方式三:是否可以引入三方组件?

​ 如网页端(WWW、TOUCH)提供好完整的风控.js文件,业务方使用时直接调用即可,虽然不如以上a、b两种方式更友好,但要强于代码拷贝的方案。

风控安全产品系统设计的个人感悟,安全,数据库,系统架构,java文章来源地址https://www.toymoban.com/news/detail-597398.html

到了这里,关于风控安全产品系统设计的个人感悟的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 去哪儿风控安全产品的探索之路

    原创文章,转载请标注。https://blog.csdn.net/leeboyce/article/details/135468055 李建威。2017年7月以春招暑期实习生的身份加入去哪儿网,毕业后一直在从事抓取与反抓取相关工作,先后负责搭建过智能打码、设备指纹以及环境检测等服务。目前主要负责反爬风控的基础安全产品建设。

    2024年02月02日
    浏览(39)
  • 【领域专家系列】去哪儿风控安全产品的探索之路

    原创文章,转载请标注。https://blog.csdn.net/leeboyce/article/details/135468055 李建威。2017年7月以春招暑期实习生的身份加入去哪儿网,毕业后一直在从事抓取与反抓取相关工作,先后负责搭建过智能打码、设备指纹以及环境检测等服务。目前主要负责反爬风控的基础安全产品建设。

    2024年01月25日
    浏览(50)
  • UI设计师个人工作感悟5篇

      UI设计师个人工作感悟一 工作一年了,结合我自身谈谈UI设计的重要性。现在主流的论坛建站程序有两种 Phpwind 和Discuz(Phpwind被阿里巴巴收购 Discuz被腾讯收购这两个论坛程序都是开源免费的),利用这两种程序我都分别建立过论坛,我第一次用的是Phpwind 后来我转用了Discuz(当

    2024年02月13日
    浏览(48)
  • 数据库系统头歌实验八 数据库完整性、安全设计

    第1关:执行 CREATE USER 创建以2022100904为用户名的用户,同时设置其密码为root1234 第2关:给予创建的用户2022100904在mydata数据库中授予\\\"J\\\" 表 SELECT 权限(注意创建权限时的用户名为\\\'用户名\\\'@\\\'localhost\\\'),不允许转授此权限给其它用户。 第3关:给予创建的用户2022100904、2022100908在

    2024年02月05日
    浏览(103)
  • 基础安全产品相关系统设计的一些思考

    目录 背景 风控业务架构 组件层 业务层 决策层 能力层 计算层 可视层 基础安全组件 落地难点 接入场景多 接入终端多 接入组件多 待解决问题 架构特性 安全性 稳定性 易用性 具体案例 问题分析 攻击场景 攻击还原 攻击步骤防御可行性分析 系统设计 系统架构 组件层 透传层

    2023年04月17日
    浏览(48)
  • 验证码,让风控系统更安全

    风控系统指通过识别、评估、管理风险,可以帮助企业和个人降低风险,提高安全性。在金融领域,风控可以帮助金融机构识别和评估信用风险、市场风险、操作风险等,从而降低金融机构的损失。在保险领域,风控可以帮助保险公司识别和评估保险风险,从而提高保险公司

    2024年02月03日
    浏览(48)
  • SpringBoot个人博客系统(含源码+数据库)

    个人博客系统是一个让个人可以通过互联网自由表达、交流和分享的平台,是个人展示自己思想、感受和经验的品牌。设计理念对于任何一个个人博客系统来说都非常重要,它直接影响到用户的使用体验和网站的整体感觉。 好的设计理念应该着眼于用户。必须设计一款应用程

    2024年02月08日
    浏览(47)
  • 风控系统就该这么设计(万能通用),那是相当稳定

    一、背景 1.为什么要做风控? 2.为什么要自己写风控? 3.其它要求 二、思路 1.风控规则的实现 2.调用方式的实现 三、具体实现 1.风控计数规则实现 2.注解的实现 四、测试一下 1.写法 2.Debug看看 1.为什么要做风控?   这不得拜产品大佬所赐,我们的业务目前广泛使用了各种人工智

    2024年02月03日
    浏览(35)
  • Linux与Windows:个人使用体验的差异与感悟

             目录 一、开放性与自由度 二、软件管理和安装方式 三、命令行的强大性         在长期使用Linux和Windows两种常见的操作系统后,我发现它们之间存在着一些差异,使得在切换使用时会出现一些让我费解的情况。在这篇文章中,我将分享我个人对于Linux和Win

    2024年02月11日
    浏览(60)
  • 中国电子云-隐私计算-云原生安全可信计算,物理-硬件-系统-云产品-云平台,数据安全防护

    目录 联邦学习的架构思想 中国电子云-隐私计算-云原生安全

    2024年02月06日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包