基础安全产品相关系统设计的一些思考

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

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

原创文章,转载请标注。https://www.cnblogs.com/boycelee/p/17324600.html

背景

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

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

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

风控业务架构

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

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

基础安全产品相关系统设计的一些思考

组件层

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

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

基础安全产品相关系统设计的一些思考

更详细的思考在我的《风控安全产品的探索之路》这篇文章中,感兴趣可跳转阅读,这里就不再赘述。https://www.cnblogs.com/boycelee/p/15948323.html

业务层

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

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

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

决策层

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

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

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

能力层

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

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

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

计算层

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

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

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

可视层

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

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

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

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

基础安全组件

落地难点

  1. 接入场景多

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

  2. 接入终端多

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

  3. 接入组件多

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

待解决问题

基础安全产品相关系统设计的一些思考

架构特性

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

基础安全产品相关系统设计的一些思考

安全性

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

稳定性

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

易用性

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

具体案例

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

问题分析

攻击场景

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

基础安全产品相关系统设计的一些思考

攻击还原

思路描述

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

基础安全产品相关系统设计的一些思考

攻击步骤

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

攻击步骤防御可行性分析

基础安全产品相关系统设计的一些思考

防止抓包

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

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

(3)防御性价比不高。

防止解析

解决方案是加密。

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

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

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

系统设计

系统架构

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

基础安全产品相关系统设计的一些思考

组件层

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

透传层

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

决策层

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

能力层

提供接口检测能力等。

架构特性

安全性

关于安全性另一篇文章《业务安全相关安全产品的反思》中已经详细阐述,这篇文章就不过多赘述。https://www.cnblogs.com/boycelee/p/16223114.html

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

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

基础安全产品相关系统设计的一些思考

稳定性

基础安全产品相关系统设计的一些思考

易用性

(1)组件化

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

基础安全产品相关系统设计的一些思考

(2)易用性提升

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

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

基础安全产品相关系统设计的一些思考

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

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

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

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

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

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

基础安全产品相关系统设计的一些思考

最后

软件工程没有银弹,逆向工程永远胜利。

懂的不多,做的太少。欢迎批评、指正。文章来源地址https://www.toymoban.com/news/detail-415861.html

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

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

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

相关文章

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

    本篇文章会从系统架构设计的角度,分享在对 业务安全风控相关基础安全产品 进行 系统设计 时遇到的 问题难点 及其 解决方案 。 内容包括三部分:(1)风控业务架构;(2)基础安全产品的职责;(3)基础安全产品相关系统架构的设计要点。 文章会以总-分的形式进行阐

    2024年02月16日
    浏览(43)
  • 产品设计思考:如何平衡用户习惯和用户体验

    在产品设计领域,平衡用户习惯与用户体验之间的关系是一个重要而复杂的任务。 用户习惯是指用户在长期使用产品过程中逐渐形成的一种行为模式,而用户体验则是用户在与产品交互时所感受到的整体感受。 在追求良好的用户体验的同时,还需要考虑用户的习惯,以满足

    2024年02月15日
    浏览(39)
  • 关于接口测试用例设计的一些思考

    传入参数处理不当,引起程序错误 类型溢出,导致数据读取和写入不一致 对象权限校验出错,可获取其他角色信息 状态出错,导致逻辑处理出现问题 逻辑校验不完善 定时任务执行出错 接口测试用例设计主要针对输入、处理、输出进行考虑 针对输入进行设计 对于接口来说

    2024年02月14日
    浏览(44)
  • 【设计模式】单例模式、“多例模式”的实现以及对单例的一些思考

    单例模式是设计模式中最简单的一种,对于很多人来说,单例模式也是其接触的第一种设计模式,当然,我也不例外。这种设计模式在学习、面试、工作的过程中广泛传播,相信不少人在面试时遇到过这样的问题:“说说你最熟悉的集中设计模式”,第一个脱口而出的就是单

    2024年02月07日
    浏览(50)
  • Kafka相关的一些基础概念

            在上一篇《HBase相关的一些基础概念》中就提到,星环的那次面试,面试官把我问懵了。除了HBase就是kafka了,所以今天总结下kafka的相关知识。         Kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用于大数据实时处理领域。 1.点对点模式

    2024年02月15日
    浏览(34)
  • 安全基础——常见网络安全产品

    安全产品: 端点安全:恶意软件防护、终端安全管理 网络安全:安全网关、入侵检测与防御、网络监控与审计 应用安全:web安全、数据库安全、邮件安全 数据安全:数据治理、文件管理与加密、数据备份与恢复 身份与访问管理:认证与权限管理、高级认证 安全管理:安全

    2024年02月08日
    浏览(48)
  • 汽车电子之功能安全产品设计过程

    汽车电子之功能安全产品设计过程 内容来自 驱动视界 学习为主。 1.概念阶段 2.系统阶段 3.硬件层面 4.软件层面 5.3“V” 6.大追溯关系 随着电动化、智能化的发展,越来越多的汽车配备了电子电气系统,如电传动系统、助力转向系统、自动驾驶系统等,原有的机械部件被电子

    2024年02月15日
    浏览(38)
  • 蜜罐系统(安全产品)

    蜜罐 是一种安全威胁的主动防御技术,它通过模拟一个或多个易受攻击的主机或服务器来吸引攻击者,捕获攻击流量与样本,发现网络威胁、提取威胁特征。蜜罐的价值在于被探测、攻陷。其在本质上来说,是一个与攻击者进行攻防博弈的过程。 蜜罐提供服务,攻击者提供

    2024年01月25日
    浏览(31)
  • 如何学会从产品经理角度去思考问题?

    从产品经理的角度思考问题意味着你需要关注产品从构思到上市全过程中的各个方面,包括用户需求、市场趋势、设计、开发、测试、上市后的用户反馈等。以下是一些策略和方法,帮助你培养从产品经理角度思考问题的能力: 1. 用户至上 深入了解用户 :定期与用户交流,

    2024年02月08日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包